sysml-v2-lsp 0.21.0 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/dist/server/browserServerMain.js +21 -45
- package/dist/server/server.js +3 -3
- package/package.json +2 -2
|
@@ -1,38 +1,14 @@
|
|
|
1
|
-
"use strict";(()=>{var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __esm=(fn,res)=>function(){return fn&&(res=(0,fn[__getOwnPropNames(fn)[0]])(fn=0)),res};var __commonJS=(cb,mod)=>function(){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:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__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:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var require_is=__commonJS({"node_modules/vscode-jsonrpc/lib/common/is.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.stringArray=exports.array=exports.func=exports.error=exports.number=exports.string=exports.boolean=void 0;function boolean(value){return value===!0||value===!1}exports.boolean=boolean;function string(value){return typeof value=="string"||value instanceof String}exports.string=string;function number(value){return typeof value=="number"||value instanceof Number}exports.number=number;function error(value){return value instanceof Error}exports.error=error;function func(value){return typeof value=="function"}exports.func=func;function array(value){return Array.isArray(value)}exports.array=array;function stringArray(value){return array(value)&&value.every(elem=>string(elem))}exports.stringArray=stringArray}});var require_messages=__commonJS({"node_modules/vscode-jsonrpc/lib/common/messages.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.Message=exports.NotificationType9=exports.NotificationType8=exports.NotificationType7=exports.NotificationType6=exports.NotificationType5=exports.NotificationType4=exports.NotificationType3=exports.NotificationType2=exports.NotificationType1=exports.NotificationType0=exports.NotificationType=exports.RequestType9=exports.RequestType8=exports.RequestType7=exports.RequestType6=exports.RequestType5=exports.RequestType4=exports.RequestType3=exports.RequestType2=exports.RequestType1=exports.RequestType=exports.RequestType0=exports.AbstractMessageSignature=exports.ParameterStructures=exports.ResponseError=exports.ErrorCodes=void 0;var is=require_is(),ErrorCodes;(function(ErrorCodes2){ErrorCodes2.ParseError=-32700,ErrorCodes2.InvalidRequest=-32600,ErrorCodes2.MethodNotFound=-32601,ErrorCodes2.InvalidParams=-32602,ErrorCodes2.InternalError=-32603,ErrorCodes2.jsonrpcReservedErrorRangeStart=-32099,ErrorCodes2.serverErrorStart=-32099,ErrorCodes2.MessageWriteError=-32099,ErrorCodes2.MessageReadError=-32098,ErrorCodes2.PendingResponseRejected=-32097,ErrorCodes2.ConnectionInactive=-32096,ErrorCodes2.ServerNotInitialized=-32002,ErrorCodes2.UnknownErrorCode=-32001,ErrorCodes2.jsonrpcReservedErrorRangeEnd=-32e3,ErrorCodes2.serverErrorEnd=-32e3})(ErrorCodes||(exports.ErrorCodes=ErrorCodes={}));var ResponseError=class _ResponseError extends Error{constructor(code,message,data){super(message),this.code=is.number(code)?code:ErrorCodes.UnknownErrorCode,this.data=data,Object.setPrototypeOf(this,_ResponseError.prototype)}toJson(){let result={code:this.code,message:this.message};return this.data!==void 0&&(result.data=this.data),result}};exports.ResponseError=ResponseError;var ParameterStructures=class _ParameterStructures{constructor(kind){this.kind=kind}static is(value){return value===_ParameterStructures.auto||value===_ParameterStructures.byName||value===_ParameterStructures.byPosition}toString(){return this.kind}};exports.ParameterStructures=ParameterStructures;ParameterStructures.auto=new ParameterStructures("auto");ParameterStructures.byPosition=new ParameterStructures("byPosition");ParameterStructures.byName=new ParameterStructures("byName");var AbstractMessageSignature=class{constructor(method,numberOfParams){this.method=method,this.numberOfParams=numberOfParams}get parameterStructures(){return ParameterStructures.auto}};exports.AbstractMessageSignature=AbstractMessageSignature;var RequestType0=class extends AbstractMessageSignature{constructor(method){super(method,0)}};exports.RequestType0=RequestType0;var RequestType=class extends AbstractMessageSignature{constructor(method,_parameterStructures=ParameterStructures.auto){super(method,1),this._parameterStructures=_parameterStructures}get parameterStructures(){return this._parameterStructures}};exports.RequestType=RequestType;var RequestType1=class extends AbstractMessageSignature{constructor(method,_parameterStructures=ParameterStructures.auto){super(method,1),this._parameterStructures=_parameterStructures}get parameterStructures(){return this._parameterStructures}};exports.RequestType1=RequestType1;var RequestType2=class extends AbstractMessageSignature{constructor(method){super(method,2)}};exports.RequestType2=RequestType2;var RequestType3=class extends AbstractMessageSignature{constructor(method){super(method,3)}};exports.RequestType3=RequestType3;var RequestType4=class extends AbstractMessageSignature{constructor(method){super(method,4)}};exports.RequestType4=RequestType4;var RequestType5=class extends AbstractMessageSignature{constructor(method){super(method,5)}};exports.RequestType5=RequestType5;var RequestType6=class extends AbstractMessageSignature{constructor(method){super(method,6)}};exports.RequestType6=RequestType6;var RequestType7=class extends AbstractMessageSignature{constructor(method){super(method,7)}};exports.RequestType7=RequestType7;var RequestType8=class extends AbstractMessageSignature{constructor(method){super(method,8)}};exports.RequestType8=RequestType8;var RequestType9=class extends AbstractMessageSignature{constructor(method){super(method,9)}};exports.RequestType9=RequestType9;var NotificationType=class extends AbstractMessageSignature{constructor(method,_parameterStructures=ParameterStructures.auto){super(method,1),this._parameterStructures=_parameterStructures}get parameterStructures(){return this._parameterStructures}};exports.NotificationType=NotificationType;var NotificationType0=class extends AbstractMessageSignature{constructor(method){super(method,0)}};exports.NotificationType0=NotificationType0;var NotificationType1=class extends AbstractMessageSignature{constructor(method,_parameterStructures=ParameterStructures.auto){super(method,1),this._parameterStructures=_parameterStructures}get parameterStructures(){return this._parameterStructures}};exports.NotificationType1=NotificationType1;var NotificationType2=class extends AbstractMessageSignature{constructor(method){super(method,2)}};exports.NotificationType2=NotificationType2;var NotificationType3=class extends AbstractMessageSignature{constructor(method){super(method,3)}};exports.NotificationType3=NotificationType3;var NotificationType4=class extends AbstractMessageSignature{constructor(method){super(method,4)}};exports.NotificationType4=NotificationType4;var NotificationType5=class extends AbstractMessageSignature{constructor(method){super(method,5)}};exports.NotificationType5=NotificationType5;var NotificationType6=class extends AbstractMessageSignature{constructor(method){super(method,6)}};exports.NotificationType6=NotificationType6;var NotificationType7=class extends AbstractMessageSignature{constructor(method){super(method,7)}};exports.NotificationType7=NotificationType7;var NotificationType8=class extends AbstractMessageSignature{constructor(method){super(method,8)}};exports.NotificationType8=NotificationType8;var NotificationType9=class extends AbstractMessageSignature{constructor(method){super(method,9)}};exports.NotificationType9=NotificationType9;var Message;(function(Message2){function isRequest(message){let candidate=message;return candidate&&is.string(candidate.method)&&(is.string(candidate.id)||is.number(candidate.id))}Message2.isRequest=isRequest;function isNotification(message){let candidate=message;return candidate&&is.string(candidate.method)&&message.id===void 0}Message2.isNotification=isNotification;function isResponse(message){let candidate=message;return candidate&&(candidate.result!==void 0||!!candidate.error)&&(is.string(candidate.id)||is.number(candidate.id)||candidate.id===null)}Message2.isResponse=isResponse})(Message||(exports.Message=Message={}))}});var require_linkedMap=__commonJS({"node_modules/vscode-jsonrpc/lib/common/linkedMap.js"(exports){"use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0});exports.LRUCache=exports.LinkedMap=exports.Touch=void 0;var Touch;(function(Touch2){Touch2.None=0,Touch2.First=1,Touch2.AsOld=Touch2.First,Touch2.Last=2,Touch2.AsNew=Touch2.Last})(Touch||(exports.Touch=Touch={}));var LinkedMap=class{constructor(){this[_a]="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(){return this._head?.value}get last(){return this._tail?.value}has(key){return this._map.has(key)}get(key,touch=Touch.None){let item=this._map.get(key);if(item)return touch!==Touch.None&&this.touch(item,touch),item.value}set(key,value,touch=Touch.None){let item=this._map.get(key);if(item)item.value=value,touch!==Touch.None&&this.touch(item,touch);else{switch(item={key,value,next:void 0,previous:void 0},touch){case Touch.None:this.addItemLast(item);break;case Touch.First:this.addItemFirst(item);break;case Touch.Last: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){let item=this._map.get(key);if(item)return this._map.delete(key),this.removeItem(item),this._size--,item.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let item=this._head;return this._map.delete(item.key),this.removeItem(item),this._size--,item.value}forEach(callbackfn,thisArg){let state=this._state,current=this._head;for(;current;){if(thisArg?callbackfn.bind(thisArg)(current.value,current.key,this):callbackfn(current.value,current.key,this),this._state!==state)throw new Error("LinkedMap got modified during iteration.");current=current.next}}keys(){let state=this._state,current=this._head,iterator={[Symbol.iterator]:()=>iterator,next:()=>{if(this._state!==state)throw new Error("LinkedMap got modified during iteration.");if(current){let result={value:current.key,done:!1};return current=current.next,result}else return{value:void 0,done:!0}}};return iterator}values(){let state=this._state,current=this._head,iterator={[Symbol.iterator]:()=>iterator,next:()=>{if(this._state!==state)throw new Error("LinkedMap got modified during iteration.");if(current){let result={value:current.value,done:!1};return current=current.next,result}else return{value:void 0,done:!0}}};return iterator}entries(){let state=this._state,current=this._head,iterator={[Symbol.iterator]:()=>iterator,next:()=>{if(this._state!==state)throw new Error("LinkedMap got modified during iteration.");if(current){let result={value:[current.key,current.value],done:!1};return current=current.next,result}else return{value:void 0,done:!0}}};return iterator}[(_a=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(newSize){if(newSize>=this.size)return;if(newSize===0){this.clear();return}let current=this._head,currentSize=this.size;for(;current&¤tSize>newSize;)this._map.delete(current.key),current=current.next,currentSize--;this._head=current,this._size=currentSize,current&&(current.previous=void 0),this._state++}addItemFirst(item){if(!this._head&&!this._tail)this._tail=item;else if(this._head)item.next=this._head,this._head.previous=item;else throw new Error("Invalid list");this._head=item,this._state++}addItemLast(item){if(!this._head&&!this._tail)this._head=item;else if(this._tail)item.previous=this._tail,this._tail.next=item;else throw new Error("Invalid list");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{let next=item.next,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!==Touch.First&&touch!==Touch.Last)){if(touch===Touch.First){if(item===this._head)return;let next=item.next,previous=item.previous;item===this._tail?(previous.next=void 0,this._tail=previous):(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===Touch.Last){if(item===this._tail)return;let next=item.next,previous=item.previous;item===this._head?(next.previous=void 0,this._head=next):(next.previous=previous,previous.next=next),item.next=void 0,item.previous=this._tail,this._tail.next=item,this._tail=item,this._state++}}}toJSON(){let data=[];return this.forEach((value,key)=>{data.push([key,value])}),data}fromJSON(data){this.clear();for(let[key,value]of data)this.set(key,value)}};exports.LinkedMap=LinkedMap;var 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 ratio(){return this._ratio}set ratio(ratio){this._ratio=Math.min(Math.max(0,ratio),1),this.checkTrim()}get(key,touch=Touch.AsNew){return super.get(key,touch)}peek(key){return super.get(key,Touch.None)}set(key,value){return super.set(key,value,Touch.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};exports.LRUCache=LRUCache}});var require_disposable=__commonJS({"node_modules/vscode-jsonrpc/lib/common/disposable.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.Disposable=void 0;var Disposable;(function(Disposable2){function create(func){return{dispose:func}}Disposable2.create=create})(Disposable||(exports.Disposable=Disposable={}))}});var require_ral=__commonJS({"node_modules/vscode-jsonrpc/lib/common/ral.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _ral;function RAL(){if(_ral===void 0)throw new Error("No runtime abstraction layer installed");return _ral}(function(RAL2){function install(ral){if(ral===void 0)throw new Error("No runtime abstraction layer provided");_ral=ral}RAL2.install=install})(RAL||(RAL={}));exports.default=RAL}});var require_events=__commonJS({"node_modules/vscode-jsonrpc/lib/common/events.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.Emitter=exports.Event=void 0;var ral_1=require_ral(),Event;(function(Event2){let _disposable={dispose(){}};Event2.None=function(){return _disposable}})(Event||(exports.Event=Event={}));var CallbackList=class{add(callback,context=null,bucket){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(callback),this._contexts.push(context),Array.isArray(bucket)&&bucket.push({dispose:()=>this.remove(callback,context)})}remove(callback,context=null){if(!this._callbacks)return;let foundCallbackWithDifferentContext=!1;for(let i=0,len=this._callbacks.length;i<len;i++)if(this._callbacks[i]===callback)if(this._contexts[i]===context){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else foundCallbackWithDifferentContext=!0;if(foundCallbackWithDifferentContext)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...args){if(!this._callbacks)return[];let ret=[],callbacks=this._callbacks.slice(0),contexts=this._contexts.slice(0);for(let i=0,len=callbacks.length;i<len;i++)try{ret.push(callbacks[i].apply(contexts[i],args))}catch(e){(0,ral_1.default)().console.error(e)}return ret}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},Emitter=class _Emitter{constructor(_options){this._options=_options}get event(){return this._event||(this._event=(listener,thisArgs,disposables)=>{this._callbacks||(this._callbacks=new CallbackList),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(listener,thisArgs);let result={dispose:()=>{this._callbacks&&(this._callbacks.remove(listener,thisArgs),result.dispose=_Emitter._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(disposables)&&disposables.push(result),result}),this._event}fire(event){this._callbacks&&this._callbacks.invoke.call(this._callbacks,event)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};exports.Emitter=Emitter;Emitter._noop=function(){}}});var require_cancellation=__commonJS({"node_modules/vscode-jsonrpc/lib/common/cancellation.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.CancellationTokenSource=exports.CancellationToken=void 0;var ral_1=require_ral(),Is3=require_is(),events_1=require_events(),CancellationToken;(function(CancellationToken2){CancellationToken2.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:events_1.Event.None}),CancellationToken2.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:events_1.Event.None});function is(value){let candidate=value;return candidate&&(candidate===CancellationToken2.None||candidate===CancellationToken2.Cancelled||Is3.boolean(candidate.isCancellationRequested)&&!!candidate.onCancellationRequested)}CancellationToken2.is=is})(CancellationToken||(exports.CancellationToken=CancellationToken={}));var shortcutEvent=Object.freeze(function(callback,context){let handle=(0,ral_1.default)().timer.setTimeout(callback.bind(context),0);return{dispose(){handle.dispose()}}}),MutableToken=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?shortcutEvent:(this._emitter||(this._emitter=new events_1.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},CancellationTokenSource=class{get token(){return this._token||(this._token=new MutableToken),this._token}cancel(){this._token?this._token.cancel():this._token=CancellationToken.Cancelled}dispose(){this._token?this._token instanceof MutableToken&&this._token.dispose():this._token=CancellationToken.None}};exports.CancellationTokenSource=CancellationTokenSource}});var require_sharedArrayCancellation=__commonJS({"node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.SharedArrayReceiverStrategy=exports.SharedArraySenderStrategy=void 0;var cancellation_1=require_cancellation(),CancellationState;(function(CancellationState2){CancellationState2.Continue=0,CancellationState2.Cancelled=1})(CancellationState||(CancellationState={}));var SharedArraySenderStrategy=class{constructor(){this.buffers=new Map}enableCancellation(request){if(request.id===null)return;let buffer=new SharedArrayBuffer(4),data=new Int32Array(buffer,0,1);data[0]=CancellationState.Continue,this.buffers.set(request.id,buffer),request.$cancellationData=buffer}async sendCancellation(_conn,id){let buffer=this.buffers.get(id);if(buffer===void 0)return;let data=new Int32Array(buffer,0,1);Atomics.store(data,0,CancellationState.Cancelled)}cleanup(id){this.buffers.delete(id)}dispose(){this.buffers.clear()}};exports.SharedArraySenderStrategy=SharedArraySenderStrategy;var SharedArrayBufferCancellationToken=class{constructor(buffer){this.data=new Int32Array(buffer,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===CancellationState.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},SharedArrayBufferCancellationTokenSource=class{constructor(buffer){this.token=new SharedArrayBufferCancellationToken(buffer)}cancel(){}dispose(){}},SharedArrayReceiverStrategy=class{constructor(){this.kind="request"}createCancellationTokenSource(request){let buffer=request.$cancellationData;return buffer===void 0?new cancellation_1.CancellationTokenSource:new SharedArrayBufferCancellationTokenSource(buffer)}};exports.SharedArrayReceiverStrategy=SharedArrayReceiverStrategy}});var require_semaphore=__commonJS({"node_modules/vscode-jsonrpc/lib/common/semaphore.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.Semaphore=void 0;var ral_1=require_ral(),Semaphore=class{constructor(capacity=1){if(capacity<=0)throw new Error("Capacity must be greater than 0");this._capacity=capacity,this._active=0,this._waiting=[]}lock(thunk){return new Promise((resolve,reject)=>{this._waiting.push({thunk,resolve,reject}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,ral_1.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let next=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let result=next.thunk();result instanceof Promise?result.then(value=>{this._active--,next.resolve(value),this.runNext()},err=>{this._active--,next.reject(err),this.runNext()}):(this._active--,next.resolve(result),this.runNext())}catch(err){this._active--,next.reject(err),this.runNext()}}};exports.Semaphore=Semaphore}});var require_messageReader=__commonJS({"node_modules/vscode-jsonrpc/lib/common/messageReader.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ReadableStreamMessageReader=exports.AbstractMessageReader=exports.MessageReader=void 0;var ral_1=require_ral(),Is3=require_is(),events_1=require_events(),semaphore_1=require_semaphore(),MessageReader;(function(MessageReader2){function is(value){let candidate=value;return candidate&&Is3.func(candidate.listen)&&Is3.func(candidate.dispose)&&Is3.func(candidate.onError)&&Is3.func(candidate.onClose)&&Is3.func(candidate.onPartialMessage)}MessageReader2.is=is})(MessageReader||(exports.MessageReader=MessageReader={}));var AbstractMessageReader=class{constructor(){this.errorEmitter=new events_1.Emitter,this.closeEmitter=new events_1.Emitter,this.partialMessageEmitter=new events_1.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(error){this.errorEmitter.fire(this.asError(error))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(info){this.partialMessageEmitter.fire(info)}asError(error){return error instanceof Error?error:new Error(`Reader received error. Reason: ${Is3.string(error.message)?error.message:"unknown"}`)}};exports.AbstractMessageReader=AbstractMessageReader;var ResolvedMessageReaderOptions;(function(ResolvedMessageReaderOptions2){function fromOptions(options){let charset,result,contentDecoder,contentDecoders=new Map,contentTypeDecoder,contentTypeDecoders=new Map;if(options===void 0||typeof options=="string")charset=options??"utf-8";else{if(charset=options.charset??"utf-8",options.contentDecoder!==void 0&&(contentDecoder=options.contentDecoder,contentDecoders.set(contentDecoder.name,contentDecoder)),options.contentDecoders!==void 0)for(let decoder of options.contentDecoders)contentDecoders.set(decoder.name,decoder);if(options.contentTypeDecoder!==void 0&&(contentTypeDecoder=options.contentTypeDecoder,contentTypeDecoders.set(contentTypeDecoder.name,contentTypeDecoder)),options.contentTypeDecoders!==void 0)for(let decoder of options.contentTypeDecoders)contentTypeDecoders.set(decoder.name,decoder)}return contentTypeDecoder===void 0&&(contentTypeDecoder=(0,ral_1.default)().applicationJson.decoder,contentTypeDecoders.set(contentTypeDecoder.name,contentTypeDecoder)),{charset,contentDecoder,contentDecoders,contentTypeDecoder,contentTypeDecoders}}ResolvedMessageReaderOptions2.fromOptions=fromOptions})(ResolvedMessageReaderOptions||(ResolvedMessageReaderOptions={}));var ReadableStreamMessageReader=class extends AbstractMessageReader{constructor(readable,options){super(),this.readable=readable,this.options=ResolvedMessageReaderOptions.fromOptions(options),this.buffer=(0,ral_1.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new semaphore_1.Semaphore(1)}set partialMessageTimeout(timeout){this._partialMessageTimeout=timeout}get partialMessageTimeout(){return this._partialMessageTimeout}listen(callback){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=callback;let result=this.readable.onData(data=>{this.onData(data)});return this.readable.onError(error=>this.fireError(error)),this.readable.onClose(()=>this.fireClose()),result}onData(data){try{for(this.buffer.append(data);;){if(this.nextMessageLength===-1){let headers=this.buffer.tryReadHeaders(!0);if(!headers)return;let contentLength=headers.get("content-length");if(!contentLength){this.fireError(new Error(`Header must provide a Content-Length property.
|
|
2
|
-
${JSON.stringify(Object.fromEntries(headers))}`));return}let length=parseInt(contentLength);if(isNaN(length)){this.fireError(new Error(`Content-Length value must be a number. Got ${contentLength}`));return}this.nextMessageLength=length}let body=this.buffer.tryReadBody(this.nextMessageLength);if(body===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let bytes=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(body):body,message=await this.options.contentTypeDecoder.decode(bytes,this.options);this.callback(message)}).catch(error=>{this.fireError(error)})}}catch(error){this.fireError(error)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,ral_1.default)().timer.setTimeout((token,timeout)=>{this.partialMessageTimer=void 0,token===this.messageToken&&(this.firePartialMessage({messageToken:token,waitingTime:timeout}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};exports.ReadableStreamMessageReader=ReadableStreamMessageReader}});var require_messageWriter=__commonJS({"node_modules/vscode-jsonrpc/lib/common/messageWriter.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.WriteableStreamMessageWriter=exports.AbstractMessageWriter=exports.MessageWriter=void 0;var ral_1=require_ral(),Is3=require_is(),semaphore_1=require_semaphore(),events_1=require_events(),ContentLength="Content-Length: ",CRLF=`\r
|
|
3
|
-
`,MessageWriter;(function(MessageWriter2){function is(value){let candidate=value;return candidate&&Is3.func(candidate.dispose)&&Is3.func(candidate.onClose)&&Is3.func(candidate.onError)&&Is3.func(candidate.write)}MessageWriter2.is=is})(MessageWriter||(exports.MessageWriter=MessageWriter={}));var AbstractMessageWriter=class{constructor(){this.errorEmitter=new events_1.Emitter,this.closeEmitter=new events_1.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(error,message,count){this.errorEmitter.fire([this.asError(error),message,count])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(error){return error instanceof Error?error:new Error(`Writer received error. Reason: ${Is3.string(error.message)?error.message:"unknown"}`)}};exports.AbstractMessageWriter=AbstractMessageWriter;var ResolvedMessageWriterOptions;(function(ResolvedMessageWriterOptions2){function fromOptions(options){return options===void 0||typeof options=="string"?{charset:options??"utf-8",contentTypeEncoder:(0,ral_1.default)().applicationJson.encoder}:{charset:options.charset??"utf-8",contentEncoder:options.contentEncoder,contentTypeEncoder:options.contentTypeEncoder??(0,ral_1.default)().applicationJson.encoder}}ResolvedMessageWriterOptions2.fromOptions=fromOptions})(ResolvedMessageWriterOptions||(ResolvedMessageWriterOptions={}));var WriteableStreamMessageWriter=class extends AbstractMessageWriter{constructor(writable,options){super(),this.writable=writable,this.options=ResolvedMessageWriterOptions.fromOptions(options),this.errorCount=0,this.writeSemaphore=new semaphore_1.Semaphore(1),this.writable.onError(error=>this.fireError(error)),this.writable.onClose(()=>this.fireClose())}async write(msg){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(msg,this.options).then(buffer=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(buffer):buffer).then(buffer=>{let headers=[];return headers.push(ContentLength,buffer.byteLength.toString(),CRLF),headers.push(CRLF),this.doWrite(msg,headers,buffer)},error=>{throw this.fireError(error),error}))}async doWrite(msg,headers,data){try{return await this.writable.write(headers.join(""),"ascii"),this.writable.write(data)}catch(error){return this.handleError(error,msg),Promise.reject(error)}}handleError(error,msg){this.errorCount++,this.fireError(error,msg,this.errorCount)}end(){this.writable.end()}};exports.WriteableStreamMessageWriter=WriteableStreamMessageWriter}});var require_messageBuffer=__commonJS({"node_modules/vscode-jsonrpc/lib/common/messageBuffer.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.AbstractMessageBuffer=void 0;var CR=13,LF=10,CRLF=`\r
|
|
4
|
-
`,AbstractMessageBuffer=class{constructor(encoding="utf-8"){this._encoding=encoding,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(chunk){let toAppend=typeof chunk=="string"?this.fromString(chunk,this._encoding):chunk;this._chunks.push(toAppend),this._totalLength+=toAppend.byteLength}tryReadHeaders(lowerCaseKeys=!1){if(this._chunks.length===0)return;let state=0,chunkIndex=0,offset=0,chunkBytesRead=0;row:for(;chunkIndex<this._chunks.length;){let chunk=this._chunks[chunkIndex];for(offset=0;offset<chunk.length;){switch(chunk[offset]){case CR:switch(state){case 0:state=1;break;case 2:state=3;break;default:state=0}break;case LF:switch(state){case 1:state=2;break;case 3:state=4,offset++;break row;default:state=0}break;default:state=0}offset++}chunkBytesRead+=chunk.byteLength,chunkIndex++}if(state!==4)return;let buffer=this._read(chunkBytesRead+offset),result=new Map,headers=this.toString(buffer,"ascii").split(CRLF);if(headers.length<2)return result;for(let i=0;i<headers.length-2;i++){let header=headers[i],index2=header.indexOf(":");if(index2===-1)throw new Error(`Message header must separate key and value using ':'
|
|
5
|
-
${header}`);let key=header.substr(0,index2),value=header.substr(index2+1).trim();result.set(lowerCaseKeys?key.toLowerCase():key,value)}return result}tryReadBody(length){if(!(this._totalLength<length))return this._read(length)}get numberOfBytes(){return this._totalLength}_read(byteCount){if(byteCount===0)return this.emptyBuffer();if(byteCount>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===byteCount){let chunk=this._chunks[0];return this._chunks.shift(),this._totalLength-=byteCount,this.asNative(chunk)}if(this._chunks[0].byteLength>byteCount){let chunk=this._chunks[0],result2=this.asNative(chunk,byteCount);return this._chunks[0]=chunk.slice(byteCount),this._totalLength-=byteCount,result2}let result=this.allocNative(byteCount),resultOffset=0,chunkIndex=0;for(;byteCount>0;){let chunk=this._chunks[chunkIndex];if(chunk.byteLength>byteCount){let chunkPart=chunk.slice(0,byteCount);result.set(chunkPart,resultOffset),resultOffset+=byteCount,this._chunks[chunkIndex]=chunk.slice(byteCount),this._totalLength-=byteCount,byteCount-=byteCount}else result.set(chunk,resultOffset),resultOffset+=chunk.byteLength,this._chunks.shift(),this._totalLength-=chunk.byteLength,byteCount-=chunk.byteLength}return result}};exports.AbstractMessageBuffer=AbstractMessageBuffer}});var require_connection=__commonJS({"node_modules/vscode-jsonrpc/lib/common/connection.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.createMessageConnection=exports.ConnectionOptions=exports.MessageStrategy=exports.CancellationStrategy=exports.CancellationSenderStrategy=exports.CancellationReceiverStrategy=exports.RequestCancellationReceiverStrategy=exports.IdCancellationReceiverStrategy=exports.ConnectionStrategy=exports.ConnectionError=exports.ConnectionErrors=exports.LogTraceNotification=exports.SetTraceNotification=exports.TraceFormat=exports.TraceValues=exports.Trace=exports.NullLogger=exports.ProgressType=exports.ProgressToken=void 0;var ral_1=require_ral(),Is3=require_is(),messages_1=require_messages(),linkedMap_1=require_linkedMap(),events_1=require_events(),cancellation_1=require_cancellation(),CancelNotification;(function(CancelNotification2){CancelNotification2.type=new messages_1.NotificationType("$/cancelRequest")})(CancelNotification||(CancelNotification={}));var ProgressToken;(function(ProgressToken2){function is(value){return typeof value=="string"||typeof value=="number"}ProgressToken2.is=is})(ProgressToken||(exports.ProgressToken=ProgressToken={}));var ProgressNotification;(function(ProgressNotification2){ProgressNotification2.type=new messages_1.NotificationType("$/progress")})(ProgressNotification||(ProgressNotification={}));var ProgressType=class{constructor(){}};exports.ProgressType=ProgressType;var StarRequestHandler;(function(StarRequestHandler2){function is(value){return Is3.func(value)}StarRequestHandler2.is=is})(StarRequestHandler||(StarRequestHandler={}));exports.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var Trace;(function(Trace2){Trace2[Trace2.Off=0]="Off",Trace2[Trace2.Messages=1]="Messages",Trace2[Trace2.Compact=2]="Compact",Trace2[Trace2.Verbose=3]="Verbose"})(Trace||(exports.Trace=Trace={}));var TraceValues;(function(TraceValues2){TraceValues2.Off="off",TraceValues2.Messages="messages",TraceValues2.Compact="compact",TraceValues2.Verbose="verbose"})(TraceValues||(exports.TraceValues=TraceValues={}));(function(Trace2){function fromString(value){if(!Is3.string(value))return Trace2.Off;switch(value=value.toLowerCase(),value){case"off":return Trace2.Off;case"messages":return Trace2.Messages;case"compact":return Trace2.Compact;case"verbose":return Trace2.Verbose;default:return Trace2.Off}}Trace2.fromString=fromString;function toString(value){switch(value){case Trace2.Off:return"off";case Trace2.Messages:return"messages";case Trace2.Compact:return"compact";case Trace2.Verbose:return"verbose";default:return"off"}}Trace2.toString=toString})(Trace||(exports.Trace=Trace={}));var TraceFormat;(function(TraceFormat2){TraceFormat2.Text="text",TraceFormat2.JSON="json"})(TraceFormat||(exports.TraceFormat=TraceFormat={}));(function(TraceFormat2){function fromString(value){return Is3.string(value)?(value=value.toLowerCase(),value==="json"?TraceFormat2.JSON:TraceFormat2.Text):TraceFormat2.Text}TraceFormat2.fromString=fromString})(TraceFormat||(exports.TraceFormat=TraceFormat={}));var SetTraceNotification;(function(SetTraceNotification2){SetTraceNotification2.type=new messages_1.NotificationType("$/setTrace")})(SetTraceNotification||(exports.SetTraceNotification=SetTraceNotification={}));var LogTraceNotification;(function(LogTraceNotification2){LogTraceNotification2.type=new messages_1.NotificationType("$/logTrace")})(LogTraceNotification||(exports.LogTraceNotification=LogTraceNotification={}));var ConnectionErrors;(function(ConnectionErrors2){ConnectionErrors2[ConnectionErrors2.Closed=1]="Closed",ConnectionErrors2[ConnectionErrors2.Disposed=2]="Disposed",ConnectionErrors2[ConnectionErrors2.AlreadyListening=3]="AlreadyListening"})(ConnectionErrors||(exports.ConnectionErrors=ConnectionErrors={}));var ConnectionError=class _ConnectionError extends Error{constructor(code,message){super(message),this.code=code,Object.setPrototypeOf(this,_ConnectionError.prototype)}};exports.ConnectionError=ConnectionError;var ConnectionStrategy;(function(ConnectionStrategy2){function is(value){let candidate=value;return candidate&&Is3.func(candidate.cancelUndispatched)}ConnectionStrategy2.is=is})(ConnectionStrategy||(exports.ConnectionStrategy=ConnectionStrategy={}));var IdCancellationReceiverStrategy;(function(IdCancellationReceiverStrategy2){function is(value){let candidate=value;return candidate&&(candidate.kind===void 0||candidate.kind==="id")&&Is3.func(candidate.createCancellationTokenSource)&&(candidate.dispose===void 0||Is3.func(candidate.dispose))}IdCancellationReceiverStrategy2.is=is})(IdCancellationReceiverStrategy||(exports.IdCancellationReceiverStrategy=IdCancellationReceiverStrategy={}));var RequestCancellationReceiverStrategy;(function(RequestCancellationReceiverStrategy2){function is(value){let candidate=value;return candidate&&candidate.kind==="request"&&Is3.func(candidate.createCancellationTokenSource)&&(candidate.dispose===void 0||Is3.func(candidate.dispose))}RequestCancellationReceiverStrategy2.is=is})(RequestCancellationReceiverStrategy||(exports.RequestCancellationReceiverStrategy=RequestCancellationReceiverStrategy={}));var CancellationReceiverStrategy;(function(CancellationReceiverStrategy2){CancellationReceiverStrategy2.Message=Object.freeze({createCancellationTokenSource(_){return new cancellation_1.CancellationTokenSource}});function is(value){return IdCancellationReceiverStrategy.is(value)||RequestCancellationReceiverStrategy.is(value)}CancellationReceiverStrategy2.is=is})(CancellationReceiverStrategy||(exports.CancellationReceiverStrategy=CancellationReceiverStrategy={}));var CancellationSenderStrategy;(function(CancellationSenderStrategy2){CancellationSenderStrategy2.Message=Object.freeze({sendCancellation(conn,id){return conn.sendNotification(CancelNotification.type,{id})},cleanup(_){}});function is(value){let candidate=value;return candidate&&Is3.func(candidate.sendCancellation)&&Is3.func(candidate.cleanup)}CancellationSenderStrategy2.is=is})(CancellationSenderStrategy||(exports.CancellationSenderStrategy=CancellationSenderStrategy={}));var CancellationStrategy;(function(CancellationStrategy2){CancellationStrategy2.Message=Object.freeze({receiver:CancellationReceiverStrategy.Message,sender:CancellationSenderStrategy.Message});function is(value){let candidate=value;return candidate&&CancellationReceiverStrategy.is(candidate.receiver)&&CancellationSenderStrategy.is(candidate.sender)}CancellationStrategy2.is=is})(CancellationStrategy||(exports.CancellationStrategy=CancellationStrategy={}));var MessageStrategy;(function(MessageStrategy2){function is(value){let candidate=value;return candidate&&Is3.func(candidate.handleMessage)}MessageStrategy2.is=is})(MessageStrategy||(exports.MessageStrategy=MessageStrategy={}));var ConnectionOptions;(function(ConnectionOptions2){function is(value){let candidate=value;return candidate&&(CancellationStrategy.is(candidate.cancellationStrategy)||ConnectionStrategy.is(candidate.connectionStrategy)||MessageStrategy.is(candidate.messageStrategy))}ConnectionOptions2.is=is})(ConnectionOptions||(exports.ConnectionOptions=ConnectionOptions={}));var ConnectionState;(function(ConnectionState2){ConnectionState2[ConnectionState2.New=1]="New",ConnectionState2[ConnectionState2.Listening=2]="Listening",ConnectionState2[ConnectionState2.Closed=3]="Closed",ConnectionState2[ConnectionState2.Disposed=4]="Disposed"})(ConnectionState||(ConnectionState={}));function createMessageConnection(messageReader,messageWriter,_logger,options){let logger=_logger!==void 0?_logger:exports.NullLogger,sequenceNumber=0,notificationSequenceNumber=0,unknownResponseSequenceNumber=0,version="2.0",starRequestHandler,requestHandlers=new Map,starNotificationHandler,notificationHandlers=new Map,progressHandlers=new Map,timer,messageQueue=new linkedMap_1.LinkedMap,responsePromises=new Map,knownCanceledRequests=new Set,requestTokens=new Map,trace=Trace.Off,traceFormat=TraceFormat.Text,tracer,state=ConnectionState.New,errorEmitter=new events_1.Emitter,closeEmitter=new events_1.Emitter,unhandledNotificationEmitter=new events_1.Emitter,unhandledProgressEmitter=new events_1.Emitter,disposeEmitter=new events_1.Emitter,cancellationStrategy=options&&options.cancellationStrategy?options.cancellationStrategy:CancellationStrategy.Message;function createRequestQueueKey(id){if(id===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+id.toString()}function createResponseQueueKey(id){return id===null?"res-unknown-"+(++unknownResponseSequenceNumber).toString():"res-"+id.toString()}function createNotificationQueueKey(){return"not-"+(++notificationSequenceNumber).toString()}function addMessageToQueue(queue,message){messages_1.Message.isRequest(message)?queue.set(createRequestQueueKey(message.id),message):messages_1.Message.isResponse(message)?queue.set(createResponseQueueKey(message.id),message):queue.set(createNotificationQueueKey(),message)}function cancelUndispatched(_message){}function isListening(){return state===ConnectionState.Listening}function isClosed(){return state===ConnectionState.Closed}function isDisposed(){return state===ConnectionState.Disposed}function closeHandler(){(state===ConnectionState.New||state===ConnectionState.Listening)&&(state=ConnectionState.Closed,closeEmitter.fire(void 0))}function readErrorHandler(error){errorEmitter.fire([error,void 0,void 0])}function writeErrorHandler(data){errorEmitter.fire(data)}messageReader.onClose(closeHandler),messageReader.onError(readErrorHandler),messageWriter.onClose(closeHandler),messageWriter.onError(writeErrorHandler);function triggerMessageQueue(){timer||messageQueue.size===0||(timer=(0,ral_1.default)().timer.setImmediate(()=>{timer=void 0,processMessageQueue()}))}function handleMessage(message){messages_1.Message.isRequest(message)?handleRequest(message):messages_1.Message.isNotification(message)?handleNotification(message):messages_1.Message.isResponse(message)?handleResponse(message):handleInvalidMessage(message)}function processMessageQueue(){if(messageQueue.size===0)return;let message=messageQueue.shift();try{let messageStrategy=options?.messageStrategy;MessageStrategy.is(messageStrategy)?messageStrategy.handleMessage(message,handleMessage):handleMessage(message)}finally{triggerMessageQueue()}}let callback=message=>{try{if(messages_1.Message.isNotification(message)&&message.method===CancelNotification.type.method){let cancelId=message.params.id,key=createRequestQueueKey(cancelId),toCancel=messageQueue.get(key);if(messages_1.Message.isRequest(toCancel)){let strategy=options?.connectionStrategy,response=strategy&&strategy.cancelUndispatched?strategy.cancelUndispatched(toCancel,cancelUndispatched):void 0;if(response&&(response.error!==void 0||response.result!==void 0)){messageQueue.delete(key),requestTokens.delete(cancelId),response.id=toCancel.id,traceSendingResponse(response,message.method,Date.now()),messageWriter.write(response).catch(()=>logger.error("Sending response for canceled message failed."));return}}let cancellationToken=requestTokens.get(cancelId);if(cancellationToken!==void 0){cancellationToken.cancel(),traceReceivedNotification(message);return}else knownCanceledRequests.add(cancelId)}addMessageToQueue(messageQueue,message)}finally{triggerMessageQueue()}};function handleRequest(requestMessage){if(isDisposed())return;function reply(resultOrError,method,startTime2){let message={jsonrpc:version,id:requestMessage.id};resultOrError instanceof messages_1.ResponseError?message.error=resultOrError.toJson():message.result=resultOrError===void 0?null:resultOrError,traceSendingResponse(message,method,startTime2),messageWriter.write(message).catch(()=>logger.error("Sending response failed."))}function replyError(error,method,startTime2){let message={jsonrpc:version,id:requestMessage.id,error:error.toJson()};traceSendingResponse(message,method,startTime2),messageWriter.write(message).catch(()=>logger.error("Sending response failed."))}function replySuccess(result,method,startTime2){result===void 0&&(result=null);let message={jsonrpc:version,id:requestMessage.id,result};traceSendingResponse(message,method,startTime2),messageWriter.write(message).catch(()=>logger.error("Sending response failed."))}traceReceivedRequest(requestMessage);let element=requestHandlers.get(requestMessage.method),type,requestHandler;element&&(type=element.type,requestHandler=element.handler);let startTime=Date.now();if(requestHandler||starRequestHandler){let tokenKey=requestMessage.id??String(Date.now()),cancellationSource=IdCancellationReceiverStrategy.is(cancellationStrategy.receiver)?cancellationStrategy.receiver.createCancellationTokenSource(tokenKey):cancellationStrategy.receiver.createCancellationTokenSource(requestMessage);requestMessage.id!==null&&knownCanceledRequests.has(requestMessage.id)&&cancellationSource.cancel(),requestMessage.id!==null&&requestTokens.set(tokenKey,cancellationSource);try{let handlerResult;if(requestHandler)if(requestMessage.params===void 0){if(type!==void 0&&type.numberOfParams!==0){replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InvalidParams,`Request ${requestMessage.method} defines ${type.numberOfParams} params but received none.`),requestMessage.method,startTime);return}handlerResult=requestHandler(cancellationSource.token)}else if(Array.isArray(requestMessage.params)){if(type!==void 0&&type.parameterStructures===messages_1.ParameterStructures.byName){replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InvalidParams,`Request ${requestMessage.method} defines parameters by name but received parameters by position`),requestMessage.method,startTime);return}handlerResult=requestHandler(...requestMessage.params,cancellationSource.token)}else{if(type!==void 0&&type.parameterStructures===messages_1.ParameterStructures.byPosition){replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InvalidParams,`Request ${requestMessage.method} defines parameters by position but received parameters by name`),requestMessage.method,startTime);return}handlerResult=requestHandler(requestMessage.params,cancellationSource.token)}else starRequestHandler&&(handlerResult=starRequestHandler(requestMessage.method,requestMessage.params,cancellationSource.token));let promise=handlerResult;handlerResult?promise.then?promise.then(resultOrError=>{requestTokens.delete(tokenKey),reply(resultOrError,requestMessage.method,startTime)},error=>{requestTokens.delete(tokenKey),error instanceof messages_1.ResponseError?replyError(error,requestMessage.method,startTime):error&&Is3.string(error.message)?replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InternalError,`Request ${requestMessage.method} failed with message: ${error.message}`),requestMessage.method,startTime):replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InternalError,`Request ${requestMessage.method} failed unexpectedly without providing any details.`),requestMessage.method,startTime)}):(requestTokens.delete(tokenKey),reply(handlerResult,requestMessage.method,startTime)):(requestTokens.delete(tokenKey),replySuccess(handlerResult,requestMessage.method,startTime))}catch(error){requestTokens.delete(tokenKey),error instanceof messages_1.ResponseError?reply(error,requestMessage.method,startTime):error&&Is3.string(error.message)?replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InternalError,`Request ${requestMessage.method} failed with message: ${error.message}`),requestMessage.method,startTime):replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InternalError,`Request ${requestMessage.method} failed unexpectedly without providing any details.`),requestMessage.method,startTime)}}else replyError(new messages_1.ResponseError(messages_1.ErrorCodes.MethodNotFound,`Unhandled method ${requestMessage.method}`),requestMessage.method,startTime)}function handleResponse(responseMessage){if(!isDisposed())if(responseMessage.id===null)responseMessage.error?logger.error(`Received response message without id: Error is:
|
|
6
|
-
${JSON.stringify(responseMessage.error,void 0,4)}`):logger.error("Received response message without id. No further error information provided.");else{let key=responseMessage.id,responsePromise=responsePromises.get(key);if(traceReceivedResponse(responseMessage,responsePromise),responsePromise!==void 0){responsePromises.delete(key);try{if(responseMessage.error){let error=responseMessage.error;responsePromise.reject(new messages_1.ResponseError(error.code,error.message,error.data))}else if(responseMessage.result!==void 0)responsePromise.resolve(responseMessage.result);else throw new Error("Should never happen.")}catch(error){error.message?logger.error(`Response handler '${responsePromise.method}' failed with message: ${error.message}`):logger.error(`Response handler '${responsePromise.method}' failed unexpectedly.`)}}}}function handleNotification(message){if(isDisposed())return;let type,notificationHandler;if(message.method===CancelNotification.type.method){let cancelId=message.params.id;knownCanceledRequests.delete(cancelId),traceReceivedNotification(message);return}else{let element=notificationHandlers.get(message.method);element&&(notificationHandler=element.handler,type=element.type)}if(notificationHandler||starNotificationHandler)try{if(traceReceivedNotification(message),notificationHandler)if(message.params===void 0)type!==void 0&&type.numberOfParams!==0&&type.parameterStructures!==messages_1.ParameterStructures.byName&&logger.error(`Notification ${message.method} defines ${type.numberOfParams} params but received none.`),notificationHandler();else if(Array.isArray(message.params)){let params=message.params;message.method===ProgressNotification.type.method&¶ms.length===2&&ProgressToken.is(params[0])?notificationHandler({token:params[0],value:params[1]}):(type!==void 0&&(type.parameterStructures===messages_1.ParameterStructures.byName&&logger.error(`Notification ${message.method} defines parameters by name but received parameters by position`),type.numberOfParams!==message.params.length&&logger.error(`Notification ${message.method} defines ${type.numberOfParams} params but received ${params.length} arguments`)),notificationHandler(...params))}else type!==void 0&&type.parameterStructures===messages_1.ParameterStructures.byPosition&&logger.error(`Notification ${message.method} defines parameters by position but received parameters by name`),notificationHandler(message.params);else starNotificationHandler&&starNotificationHandler(message.method,message.params)}catch(error){error.message?logger.error(`Notification handler '${message.method}' failed with message: ${error.message}`):logger.error(`Notification handler '${message.method}' failed unexpectedly.`)}else unhandledNotificationEmitter.fire(message)}function handleInvalidMessage(message){if(!message){logger.error("Received empty message.");return}logger.error(`Received message which is neither a response nor a notification message:
|
|
7
|
-
${JSON.stringify(message,null,4)}`);let responseMessage=message;if(Is3.string(responseMessage.id)||Is3.number(responseMessage.id)){let key=responseMessage.id,responseHandler=responsePromises.get(key);responseHandler&&responseHandler.reject(new Error("The received response has neither a result nor an error property."))}}function stringifyTrace(params){if(params!=null)switch(trace){case Trace.Verbose:return JSON.stringify(params,null,4);case Trace.Compact:return JSON.stringify(params);default:return}}function traceSendingRequest(message){if(!(trace===Trace.Off||!tracer))if(traceFormat===TraceFormat.Text){let data;(trace===Trace.Verbose||trace===Trace.Compact)&&message.params&&(data=`Params: ${stringifyTrace(message.params)}
|
|
8
|
-
|
|
9
|
-
`),tracer.log(`Sending request '${message.method} - (${message.id})'.`,data)}else logLSPMessage("send-request",message)}function traceSendingNotification(message){if(!(trace===Trace.Off||!tracer))if(traceFormat===TraceFormat.Text){let data;(trace===Trace.Verbose||trace===Trace.Compact)&&(message.params?data=`Params: ${stringifyTrace(message.params)}
|
|
10
|
-
|
|
11
|
-
`:data=`No parameters provided.
|
|
12
|
-
|
|
13
|
-
`),tracer.log(`Sending notification '${message.method}'.`,data)}else logLSPMessage("send-notification",message)}function traceSendingResponse(message,method,startTime){if(!(trace===Trace.Off||!tracer))if(traceFormat===TraceFormat.Text){let data;(trace===Trace.Verbose||trace===Trace.Compact)&&(message.error&&message.error.data?data=`Error data: ${stringifyTrace(message.error.data)}
|
|
14
|
-
|
|
15
|
-
`:message.result?data=`Result: ${stringifyTrace(message.result)}
|
|
16
|
-
|
|
17
|
-
`:message.error===void 0&&(data=`No result returned.
|
|
18
|
-
|
|
19
|
-
`)),tracer.log(`Sending response '${method} - (${message.id})'. Processing request took ${Date.now()-startTime}ms`,data)}else logLSPMessage("send-response",message)}function traceReceivedRequest(message){if(!(trace===Trace.Off||!tracer))if(traceFormat===TraceFormat.Text){let data;(trace===Trace.Verbose||trace===Trace.Compact)&&message.params&&(data=`Params: ${stringifyTrace(message.params)}
|
|
20
|
-
|
|
21
|
-
`),tracer.log(`Received request '${message.method} - (${message.id})'.`,data)}else logLSPMessage("receive-request",message)}function traceReceivedNotification(message){if(!(trace===Trace.Off||!tracer||message.method===LogTraceNotification.type.method))if(traceFormat===TraceFormat.Text){let data;(trace===Trace.Verbose||trace===Trace.Compact)&&(message.params?data=`Params: ${stringifyTrace(message.params)}
|
|
22
|
-
|
|
23
|
-
`:data=`No parameters provided.
|
|
24
|
-
|
|
25
|
-
`),tracer.log(`Received notification '${message.method}'.`,data)}else logLSPMessage("receive-notification",message)}function traceReceivedResponse(message,responsePromise){if(!(trace===Trace.Off||!tracer))if(traceFormat===TraceFormat.Text){let data;if((trace===Trace.Verbose||trace===Trace.Compact)&&(message.error&&message.error.data?data=`Error data: ${stringifyTrace(message.error.data)}
|
|
26
|
-
|
|
27
|
-
`:message.result?data=`Result: ${stringifyTrace(message.result)}
|
|
28
|
-
|
|
29
|
-
`:message.error===void 0&&(data=`No result returned.
|
|
30
|
-
|
|
31
|
-
`)),responsePromise){let error=message.error?` Request failed: ${message.error.message} (${message.error.code}).`:"";tracer.log(`Received response '${responsePromise.method} - (${message.id})' in ${Date.now()-responsePromise.timerStart}ms.${error}`,data)}else tracer.log(`Received response ${message.id} without active response promise.`,data)}else logLSPMessage("receive-response",message)}function logLSPMessage(type,message){if(!tracer||trace===Trace.Off)return;let lspMessage={isLSPMessage:!0,type,message,timestamp:Date.now()};tracer.log(lspMessage)}function throwIfClosedOrDisposed(){if(isClosed())throw new ConnectionError(ConnectionErrors.Closed,"Connection is closed.");if(isDisposed())throw new ConnectionError(ConnectionErrors.Disposed,"Connection is disposed.")}function throwIfListening(){if(isListening())throw new ConnectionError(ConnectionErrors.AlreadyListening,"Connection is already listening")}function throwIfNotListening(){if(!isListening())throw new Error("Call listen() first.")}function undefinedToNull(param){return param===void 0?null:param}function nullToUndefined(param){if(param!==null)return param}function isNamedParam(param){return param!=null&&!Array.isArray(param)&&typeof param=="object"}function computeSingleParam(parameterStructures,param){switch(parameterStructures){case messages_1.ParameterStructures.auto:return isNamedParam(param)?nullToUndefined(param):[undefinedToNull(param)];case messages_1.ParameterStructures.byName:if(!isNamedParam(param))throw new Error("Received parameters by name but param is not an object literal.");return nullToUndefined(param);case messages_1.ParameterStructures.byPosition:return[undefinedToNull(param)];default:throw new Error(`Unknown parameter structure ${parameterStructures.toString()}`)}}function computeMessageParams(type,params){let result,numberOfParams=type.numberOfParams;switch(numberOfParams){case 0:result=void 0;break;case 1:result=computeSingleParam(type.parameterStructures,params[0]);break;default:result=[];for(let i=0;i<params.length&&i<numberOfParams;i++)result.push(undefinedToNull(params[i]));if(params.length<numberOfParams)for(let i=params.length;i<numberOfParams;i++)result.push(null);break}return result}let connection2={sendNotification:(type,...args)=>{throwIfClosedOrDisposed();let method,messageParams;if(Is3.string(type)){method=type;let first=args[0],paramStart=0,parameterStructures=messages_1.ParameterStructures.auto;messages_1.ParameterStructures.is(first)&&(paramStart=1,parameterStructures=first);let paramEnd=args.length,numberOfParams=paramEnd-paramStart;switch(numberOfParams){case 0:messageParams=void 0;break;case 1:messageParams=computeSingleParam(parameterStructures,args[paramStart]);break;default:if(parameterStructures===messages_1.ParameterStructures.byName)throw new Error(`Received ${numberOfParams} parameters for 'by Name' notification parameter structure.`);messageParams=args.slice(paramStart,paramEnd).map(value=>undefinedToNull(value));break}}else{let params=args;method=type.method,messageParams=computeMessageParams(type,params)}let notificationMessage={jsonrpc:version,method,params:messageParams};return traceSendingNotification(notificationMessage),messageWriter.write(notificationMessage).catch(error=>{throw logger.error("Sending notification failed."),error})},onNotification:(type,handler)=>{throwIfClosedOrDisposed();let method;return Is3.func(type)?starNotificationHandler=type:handler&&(Is3.string(type)?(method=type,notificationHandlers.set(type,{type:void 0,handler})):(method=type.method,notificationHandlers.set(type.method,{type,handler}))),{dispose:()=>{method!==void 0?notificationHandlers.delete(method):starNotificationHandler=void 0}}},onProgress:(_type,token,handler)=>{if(progressHandlers.has(token))throw new Error(`Progress handler for token ${token} already registered`);return progressHandlers.set(token,handler),{dispose:()=>{progressHandlers.delete(token)}}},sendProgress:(_type,token,value)=>connection2.sendNotification(ProgressNotification.type,{token,value}),onUnhandledProgress:unhandledProgressEmitter.event,sendRequest:(type,...args)=>{throwIfClosedOrDisposed(),throwIfNotListening();let method,messageParams,token;if(Is3.string(type)){method=type;let first=args[0],last=args[args.length-1],paramStart=0,parameterStructures=messages_1.ParameterStructures.auto;messages_1.ParameterStructures.is(first)&&(paramStart=1,parameterStructures=first);let paramEnd=args.length;cancellation_1.CancellationToken.is(last)&&(paramEnd=paramEnd-1,token=last);let numberOfParams=paramEnd-paramStart;switch(numberOfParams){case 0:messageParams=void 0;break;case 1:messageParams=computeSingleParam(parameterStructures,args[paramStart]);break;default:if(parameterStructures===messages_1.ParameterStructures.byName)throw new Error(`Received ${numberOfParams} parameters for 'by Name' request parameter structure.`);messageParams=args.slice(paramStart,paramEnd).map(value=>undefinedToNull(value));break}}else{let params=args;method=type.method,messageParams=computeMessageParams(type,params);let numberOfParams=type.numberOfParams;token=cancellation_1.CancellationToken.is(params[numberOfParams])?params[numberOfParams]:void 0}let id=sequenceNumber++,disposable;token&&(disposable=token.onCancellationRequested(()=>{let p=cancellationStrategy.sender.sendCancellation(connection2,id);return p===void 0?(logger.log(`Received no promise from cancellation strategy when cancelling id ${id}`),Promise.resolve()):p.catch(()=>{logger.log(`Sending cancellation messages for id ${id} failed`)})}));let requestMessage={jsonrpc:version,id,method,params:messageParams};return traceSendingRequest(requestMessage),typeof cancellationStrategy.sender.enableCancellation=="function"&&cancellationStrategy.sender.enableCancellation(requestMessage),new Promise(async(resolve,reject)=>{let resolveWithCleanup=r=>{resolve(r),cancellationStrategy.sender.cleanup(id),disposable?.dispose()},rejectWithCleanup=r=>{reject(r),cancellationStrategy.sender.cleanup(id),disposable?.dispose()},responsePromise={method,timerStart:Date.now(),resolve:resolveWithCleanup,reject:rejectWithCleanup};try{await messageWriter.write(requestMessage),responsePromises.set(id,responsePromise)}catch(error){throw logger.error("Sending request failed."),responsePromise.reject(new messages_1.ResponseError(messages_1.ErrorCodes.MessageWriteError,error.message?error.message:"Unknown reason")),error}})},onRequest:(type,handler)=>{throwIfClosedOrDisposed();let method=null;return StarRequestHandler.is(type)?(method=void 0,starRequestHandler=type):Is3.string(type)?(method=null,handler!==void 0&&(method=type,requestHandlers.set(type,{handler,type:void 0}))):handler!==void 0&&(method=type.method,requestHandlers.set(type.method,{type,handler})),{dispose:()=>{method!==null&&(method!==void 0?requestHandlers.delete(method):starRequestHandler=void 0)}}},hasPendingResponse:()=>responsePromises.size>0,trace:async(_value,_tracer,sendNotificationOrTraceOptions)=>{let _sendNotification=!1,_traceFormat=TraceFormat.Text;sendNotificationOrTraceOptions!==void 0&&(Is3.boolean(sendNotificationOrTraceOptions)?_sendNotification=sendNotificationOrTraceOptions:(_sendNotification=sendNotificationOrTraceOptions.sendNotification||!1,_traceFormat=sendNotificationOrTraceOptions.traceFormat||TraceFormat.Text)),trace=_value,traceFormat=_traceFormat,trace===Trace.Off?tracer=void 0:tracer=_tracer,_sendNotification&&!isClosed()&&!isDisposed()&&await connection2.sendNotification(SetTraceNotification.type,{value:Trace.toString(_value)})},onError:errorEmitter.event,onClose:closeEmitter.event,onUnhandledNotification:unhandledNotificationEmitter.event,onDispose:disposeEmitter.event,end:()=>{messageWriter.end()},dispose:()=>{if(isDisposed())return;state=ConnectionState.Disposed,disposeEmitter.fire(void 0);let error=new messages_1.ResponseError(messages_1.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let promise of responsePromises.values())promise.reject(error);responsePromises=new Map,requestTokens=new Map,knownCanceledRequests=new Set,messageQueue=new linkedMap_1.LinkedMap,Is3.func(messageWriter.dispose)&&messageWriter.dispose(),Is3.func(messageReader.dispose)&&messageReader.dispose()},listen:()=>{throwIfClosedOrDisposed(),throwIfListening(),state=ConnectionState.Listening,messageReader.listen(callback)},inspect:()=>{(0,ral_1.default)().console.log("inspect")}};return connection2.onNotification(LogTraceNotification.type,params=>{if(trace===Trace.Off||!tracer)return;let verbose=trace===Trace.Verbose||trace===Trace.Compact;tracer.log(params.message,verbose?params.verbose:void 0)}),connection2.onNotification(ProgressNotification.type,params=>{let handler=progressHandlers.get(params.token);handler?handler(params.value):unhandledProgressEmitter.fire(params)}),connection2}exports.createMessageConnection=createMessageConnection}});var require_api=__commonJS({"node_modules/vscode-jsonrpc/lib/common/api.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ProgressType=exports.ProgressToken=exports.createMessageConnection=exports.NullLogger=exports.ConnectionOptions=exports.ConnectionStrategy=exports.AbstractMessageBuffer=exports.WriteableStreamMessageWriter=exports.AbstractMessageWriter=exports.MessageWriter=exports.ReadableStreamMessageReader=exports.AbstractMessageReader=exports.MessageReader=exports.SharedArrayReceiverStrategy=exports.SharedArraySenderStrategy=exports.CancellationToken=exports.CancellationTokenSource=exports.Emitter=exports.Event=exports.Disposable=exports.LRUCache=exports.Touch=exports.LinkedMap=exports.ParameterStructures=exports.NotificationType9=exports.NotificationType8=exports.NotificationType7=exports.NotificationType6=exports.NotificationType5=exports.NotificationType4=exports.NotificationType3=exports.NotificationType2=exports.NotificationType1=exports.NotificationType0=exports.NotificationType=exports.ErrorCodes=exports.ResponseError=exports.RequestType9=exports.RequestType8=exports.RequestType7=exports.RequestType6=exports.RequestType5=exports.RequestType4=exports.RequestType3=exports.RequestType2=exports.RequestType1=exports.RequestType0=exports.RequestType=exports.Message=exports.RAL=void 0;exports.MessageStrategy=exports.CancellationStrategy=exports.CancellationSenderStrategy=exports.CancellationReceiverStrategy=exports.ConnectionError=exports.ConnectionErrors=exports.LogTraceNotification=exports.SetTraceNotification=exports.TraceFormat=exports.TraceValues=exports.Trace=void 0;var messages_1=require_messages();Object.defineProperty(exports,"Message",{enumerable:!0,get:function(){return messages_1.Message}});Object.defineProperty(exports,"RequestType",{enumerable:!0,get:function(){return messages_1.RequestType}});Object.defineProperty(exports,"RequestType0",{enumerable:!0,get:function(){return messages_1.RequestType0}});Object.defineProperty(exports,"RequestType1",{enumerable:!0,get:function(){return messages_1.RequestType1}});Object.defineProperty(exports,"RequestType2",{enumerable:!0,get:function(){return messages_1.RequestType2}});Object.defineProperty(exports,"RequestType3",{enumerable:!0,get:function(){return messages_1.RequestType3}});Object.defineProperty(exports,"RequestType4",{enumerable:!0,get:function(){return messages_1.RequestType4}});Object.defineProperty(exports,"RequestType5",{enumerable:!0,get:function(){return messages_1.RequestType5}});Object.defineProperty(exports,"RequestType6",{enumerable:!0,get:function(){return messages_1.RequestType6}});Object.defineProperty(exports,"RequestType7",{enumerable:!0,get:function(){return messages_1.RequestType7}});Object.defineProperty(exports,"RequestType8",{enumerable:!0,get:function(){return messages_1.RequestType8}});Object.defineProperty(exports,"RequestType9",{enumerable:!0,get:function(){return messages_1.RequestType9}});Object.defineProperty(exports,"ResponseError",{enumerable:!0,get:function(){return messages_1.ResponseError}});Object.defineProperty(exports,"ErrorCodes",{enumerable:!0,get:function(){return messages_1.ErrorCodes}});Object.defineProperty(exports,"NotificationType",{enumerable:!0,get:function(){return messages_1.NotificationType}});Object.defineProperty(exports,"NotificationType0",{enumerable:!0,get:function(){return messages_1.NotificationType0}});Object.defineProperty(exports,"NotificationType1",{enumerable:!0,get:function(){return messages_1.NotificationType1}});Object.defineProperty(exports,"NotificationType2",{enumerable:!0,get:function(){return messages_1.NotificationType2}});Object.defineProperty(exports,"NotificationType3",{enumerable:!0,get:function(){return messages_1.NotificationType3}});Object.defineProperty(exports,"NotificationType4",{enumerable:!0,get:function(){return messages_1.NotificationType4}});Object.defineProperty(exports,"NotificationType5",{enumerable:!0,get:function(){return messages_1.NotificationType5}});Object.defineProperty(exports,"NotificationType6",{enumerable:!0,get:function(){return messages_1.NotificationType6}});Object.defineProperty(exports,"NotificationType7",{enumerable:!0,get:function(){return messages_1.NotificationType7}});Object.defineProperty(exports,"NotificationType8",{enumerable:!0,get:function(){return messages_1.NotificationType8}});Object.defineProperty(exports,"NotificationType9",{enumerable:!0,get:function(){return messages_1.NotificationType9}});Object.defineProperty(exports,"ParameterStructures",{enumerable:!0,get:function(){return messages_1.ParameterStructures}});var linkedMap_1=require_linkedMap();Object.defineProperty(exports,"LinkedMap",{enumerable:!0,get:function(){return linkedMap_1.LinkedMap}});Object.defineProperty(exports,"LRUCache",{enumerable:!0,get:function(){return linkedMap_1.LRUCache}});Object.defineProperty(exports,"Touch",{enumerable:!0,get:function(){return linkedMap_1.Touch}});var disposable_1=require_disposable();Object.defineProperty(exports,"Disposable",{enumerable:!0,get:function(){return disposable_1.Disposable}});var events_1=require_events();Object.defineProperty(exports,"Event",{enumerable:!0,get:function(){return events_1.Event}});Object.defineProperty(exports,"Emitter",{enumerable:!0,get:function(){return events_1.Emitter}});var cancellation_1=require_cancellation();Object.defineProperty(exports,"CancellationTokenSource",{enumerable:!0,get:function(){return cancellation_1.CancellationTokenSource}});Object.defineProperty(exports,"CancellationToken",{enumerable:!0,get:function(){return cancellation_1.CancellationToken}});var sharedArrayCancellation_1=require_sharedArrayCancellation();Object.defineProperty(exports,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return sharedArrayCancellation_1.SharedArraySenderStrategy}});Object.defineProperty(exports,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return sharedArrayCancellation_1.SharedArrayReceiverStrategy}});var messageReader_1=require_messageReader();Object.defineProperty(exports,"MessageReader",{enumerable:!0,get:function(){return messageReader_1.MessageReader}});Object.defineProperty(exports,"AbstractMessageReader",{enumerable:!0,get:function(){return messageReader_1.AbstractMessageReader}});Object.defineProperty(exports,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return messageReader_1.ReadableStreamMessageReader}});var messageWriter_1=require_messageWriter();Object.defineProperty(exports,"MessageWriter",{enumerable:!0,get:function(){return messageWriter_1.MessageWriter}});Object.defineProperty(exports,"AbstractMessageWriter",{enumerable:!0,get:function(){return messageWriter_1.AbstractMessageWriter}});Object.defineProperty(exports,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return messageWriter_1.WriteableStreamMessageWriter}});var messageBuffer_1=require_messageBuffer();Object.defineProperty(exports,"AbstractMessageBuffer",{enumerable:!0,get:function(){return messageBuffer_1.AbstractMessageBuffer}});var connection_1=require_connection();Object.defineProperty(exports,"ConnectionStrategy",{enumerable:!0,get:function(){return connection_1.ConnectionStrategy}});Object.defineProperty(exports,"ConnectionOptions",{enumerable:!0,get:function(){return connection_1.ConnectionOptions}});Object.defineProperty(exports,"NullLogger",{enumerable:!0,get:function(){return connection_1.NullLogger}});Object.defineProperty(exports,"createMessageConnection",{enumerable:!0,get:function(){return connection_1.createMessageConnection}});Object.defineProperty(exports,"ProgressToken",{enumerable:!0,get:function(){return connection_1.ProgressToken}});Object.defineProperty(exports,"ProgressType",{enumerable:!0,get:function(){return connection_1.ProgressType}});Object.defineProperty(exports,"Trace",{enumerable:!0,get:function(){return connection_1.Trace}});Object.defineProperty(exports,"TraceValues",{enumerable:!0,get:function(){return connection_1.TraceValues}});Object.defineProperty(exports,"TraceFormat",{enumerable:!0,get:function(){return connection_1.TraceFormat}});Object.defineProperty(exports,"SetTraceNotification",{enumerable:!0,get:function(){return connection_1.SetTraceNotification}});Object.defineProperty(exports,"LogTraceNotification",{enumerable:!0,get:function(){return connection_1.LogTraceNotification}});Object.defineProperty(exports,"ConnectionErrors",{enumerable:!0,get:function(){return connection_1.ConnectionErrors}});Object.defineProperty(exports,"ConnectionError",{enumerable:!0,get:function(){return connection_1.ConnectionError}});Object.defineProperty(exports,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return connection_1.CancellationReceiverStrategy}});Object.defineProperty(exports,"CancellationSenderStrategy",{enumerable:!0,get:function(){return connection_1.CancellationSenderStrategy}});Object.defineProperty(exports,"CancellationStrategy",{enumerable:!0,get:function(){return connection_1.CancellationStrategy}});Object.defineProperty(exports,"MessageStrategy",{enumerable:!0,get:function(){return connection_1.MessageStrategy}});var ral_1=require_ral();exports.RAL=ral_1.default}});var require_ril=__commonJS({"node_modules/vscode-jsonrpc/lib/browser/ril.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var api_1=require_api(),MessageBuffer=class _MessageBuffer extends api_1.AbstractMessageBuffer{constructor(encoding="utf-8"){super(encoding),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return _MessageBuffer.emptyBuffer}fromString(value,_encoding){return new TextEncoder().encode(value)}toString(value,encoding){return encoding==="ascii"?this.asciiDecoder.decode(value):new TextDecoder(encoding).decode(value)}asNative(buffer,length){return length===void 0?buffer:buffer.slice(0,length)}allocNative(length){return new Uint8Array(length)}};MessageBuffer.emptyBuffer=new Uint8Array(0);var ReadableStreamWrapper=class{constructor(socket){this.socket=socket,this._onData=new api_1.Emitter,this._messageListener=event=>{event.data.arrayBuffer().then(buffer=>{this._onData.fire(new Uint8Array(buffer))},()=>{(0,api_1.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(listener){return this.socket.addEventListener("close",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("close",listener))}onError(listener){return this.socket.addEventListener("error",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("error",listener))}onEnd(listener){return this.socket.addEventListener("end",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("end",listener))}onData(listener){return this._onData.event(listener)}},WritableStreamWrapper=class{constructor(socket){this.socket=socket}onClose(listener){return this.socket.addEventListener("close",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("close",listener))}onError(listener){return this.socket.addEventListener("error",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("error",listener))}onEnd(listener){return this.socket.addEventListener("end",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("end",listener))}write(data,encoding){if(typeof data=="string"){if(encoding!==void 0&&encoding!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${encoding}`);this.socket.send(data)}else this.socket.send(data);return Promise.resolve()}end(){this.socket.close()}},_textEncoder=new TextEncoder,_ril=Object.freeze({messageBuffer:Object.freeze({create:encoding=>new MessageBuffer(encoding)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(msg,options)=>{if(options.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${options.charset}`);return Promise.resolve(_textEncoder.encode(JSON.stringify(msg,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(buffer,options)=>{if(!(buffer instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(options.charset).decode(buffer)))}})}),stream:Object.freeze({asReadableStream:socket=>new ReadableStreamWrapper(socket),asWritableStream:socket=>new WritableStreamWrapper(socket)}),console,timer:Object.freeze({setTimeout(callback,ms,...args){let handle=setTimeout(callback,ms,...args);return{dispose:()=>clearTimeout(handle)}},setImmediate(callback,...args){let handle=setTimeout(callback,0,...args);return{dispose:()=>clearTimeout(handle)}},setInterval(callback,ms,...args){let handle=setInterval(callback,ms,...args);return{dispose:()=>clearInterval(handle)}}})});function RIL(){return _ril}(function(RIL2){function install(){api_1.RAL.install(_ril)}RIL2.install=install})(RIL||(RIL={}));exports.default=RIL}});var require_main=__commonJS({"node_modules/vscode-jsonrpc/lib/browser/main.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__exportStar=exports&&exports.__exportStar||function(m2,exports2){for(var p in m2)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m2,p)};Object.defineProperty(exports,"__esModule",{value:!0});exports.createMessageConnection=exports.BrowserMessageWriter=exports.BrowserMessageReader=void 0;var ril_1=require_ril();ril_1.default.install();var api_1=require_api();__exportStar(require_api(),exports);var BrowserMessageReader2=class extends api_1.AbstractMessageReader{constructor(port){super(),this._onData=new api_1.Emitter,this._messageListener=event=>{this._onData.fire(event.data)},port.addEventListener("error",event=>this.fireError(event)),port.onmessage=this._messageListener}listen(callback){return this._onData.event(callback)}};exports.BrowserMessageReader=BrowserMessageReader2;var BrowserMessageWriter2=class extends api_1.AbstractMessageWriter{constructor(port){super(),this.port=port,this.errorCount=0,port.addEventListener("error",event=>this.fireError(event))}write(msg){try{return this.port.postMessage(msg),Promise.resolve()}catch(error){return this.handleError(error,msg),Promise.reject(error)}}handleError(error,msg){this.errorCount++,this.fireError(error,msg,this.errorCount)}end(){}};exports.BrowserMessageWriter=BrowserMessageWriter2;function createMessageConnection(reader,writer,logger,options){return logger===void 0&&(logger=api_1.NullLogger),api_1.ConnectionStrategy.is(options)&&(options={connectionStrategy:options}),(0,api_1.createMessageConnection)(reader,writer,logger,options)}exports.createMessageConnection=createMessageConnection}});var require_browser=__commonJS({"node_modules/vscode-jsonrpc/browser.js"(exports,module){"use strict";module.exports=require_main()}});var main_exports={};__export(main_exports,{AnnotatedTextEdit:()=>AnnotatedTextEdit,ChangeAnnotation:()=>ChangeAnnotation,ChangeAnnotationIdentifier:()=>ChangeAnnotationIdentifier,CodeAction:()=>CodeAction,CodeActionContext:()=>CodeActionContext,CodeActionKind:()=>CodeActionKind,CodeActionTriggerKind:()=>CodeActionTriggerKind,CodeDescription:()=>CodeDescription,CodeLens:()=>CodeLens,Color:()=>Color,ColorInformation:()=>ColorInformation,ColorPresentation:()=>ColorPresentation,Command:()=>Command,CompletionItem:()=>CompletionItem,CompletionItemKind:()=>CompletionItemKind,CompletionItemLabelDetails:()=>CompletionItemLabelDetails,CompletionItemTag:()=>CompletionItemTag,CompletionList:()=>CompletionList,CreateFile:()=>CreateFile,DeleteFile:()=>DeleteFile,Diagnostic:()=>Diagnostic,DiagnosticRelatedInformation:()=>DiagnosticRelatedInformation,DiagnosticSeverity:()=>DiagnosticSeverity,DiagnosticTag:()=>DiagnosticTag,DocumentHighlight:()=>DocumentHighlight,DocumentHighlightKind:()=>DocumentHighlightKind,DocumentLink:()=>DocumentLink,DocumentSymbol:()=>DocumentSymbol,DocumentUri:()=>DocumentUri,EOL:()=>EOL,FoldingRange:()=>FoldingRange,FoldingRangeKind:()=>FoldingRangeKind,FormattingOptions:()=>FormattingOptions,Hover:()=>Hover,InlayHint:()=>InlayHint,InlayHintKind:()=>InlayHintKind,InlayHintLabelPart:()=>InlayHintLabelPart,InlineCompletionContext:()=>InlineCompletionContext,InlineCompletionItem:()=>InlineCompletionItem,InlineCompletionList:()=>InlineCompletionList,InlineCompletionTriggerKind:()=>InlineCompletionTriggerKind,InlineValueContext:()=>InlineValueContext,InlineValueEvaluatableExpression:()=>InlineValueEvaluatableExpression,InlineValueText:()=>InlineValueText,InlineValueVariableLookup:()=>InlineValueVariableLookup,InsertReplaceEdit:()=>InsertReplaceEdit,InsertTextFormat:()=>InsertTextFormat,InsertTextMode:()=>InsertTextMode,Location:()=>Location,LocationLink:()=>LocationLink,MarkedString:()=>MarkedString,MarkupContent:()=>MarkupContent,MarkupKind:()=>MarkupKind,OptionalVersionedTextDocumentIdentifier:()=>OptionalVersionedTextDocumentIdentifier,ParameterInformation:()=>ParameterInformation,Position:()=>Position,Range:()=>Range,RenameFile:()=>RenameFile,SelectedCompletionInfo:()=>SelectedCompletionInfo,SelectionRange:()=>SelectionRange,SemanticTokenModifiers:()=>SemanticTokenModifiers,SemanticTokenTypes:()=>SemanticTokenTypes,SemanticTokens:()=>SemanticTokens,SignatureInformation:()=>SignatureInformation,StringValue:()=>StringValue,SymbolInformation:()=>SymbolInformation,SymbolKind:()=>SymbolKind,SymbolTag:()=>SymbolTag,TextDocument:()=>TextDocument,TextDocumentEdit:()=>TextDocumentEdit,TextDocumentIdentifier:()=>TextDocumentIdentifier,TextDocumentItem:()=>TextDocumentItem,TextEdit:()=>TextEdit,URI:()=>URI,VersionedTextDocumentIdentifier:()=>VersionedTextDocumentIdentifier,WorkspaceChange:()=>WorkspaceChange,WorkspaceEdit:()=>WorkspaceEdit,WorkspaceFolder:()=>WorkspaceFolder,WorkspaceSymbol:()=>WorkspaceSymbol,integer:()=>integer,uinteger:()=>uinteger});var DocumentUri,URI,integer,uinteger,Position,Range,Location,LocationLink,Color,ColorInformation,ColorPresentation,FoldingRangeKind,FoldingRange,DiagnosticRelatedInformation,DiagnosticSeverity,DiagnosticTag,CodeDescription,Diagnostic,Command,TextEdit,ChangeAnnotation,ChangeAnnotationIdentifier,AnnotatedTextEdit,TextDocumentEdit,CreateFile,RenameFile,DeleteFile,WorkspaceEdit,TextEditChangeImpl,ChangeAnnotations,WorkspaceChange,TextDocumentIdentifier,VersionedTextDocumentIdentifier,OptionalVersionedTextDocumentIdentifier,TextDocumentItem,MarkupKind,MarkupContent,CompletionItemKind,InsertTextFormat,CompletionItemTag,InsertReplaceEdit,InsertTextMode,CompletionItemLabelDetails,CompletionItem,CompletionList,MarkedString,Hover,ParameterInformation,SignatureInformation,DocumentHighlightKind,DocumentHighlight,SymbolKind,SymbolTag,SymbolInformation,WorkspaceSymbol,DocumentSymbol,CodeActionKind,CodeActionTriggerKind,CodeActionContext,CodeAction,CodeLens,FormattingOptions,DocumentLink,SelectionRange,SemanticTokenTypes,SemanticTokenModifiers,SemanticTokens,InlineValueText,InlineValueVariableLookup,InlineValueEvaluatableExpression,InlineValueContext,InlayHintKind,InlayHintLabelPart,InlayHint,StringValue,InlineCompletionItem,InlineCompletionList,InlineCompletionTriggerKind,SelectedCompletionInfo,InlineCompletionContext,WorkspaceFolder,EOL,TextDocument,FullTextDocument,Is,init_main=__esm({"node_modules/vscode-languageserver-types/lib/esm/main.js"(){"use strict";(function(DocumentUri3){function is(value){return typeof value=="string"}DocumentUri3.is=is})(DocumentUri||(DocumentUri={}));(function(URI3){function is(value){return typeof value=="string"}URI3.is=is})(URI||(URI={}));(function(integer3){integer3.MIN_VALUE=-2147483648,integer3.MAX_VALUE=2147483647;function is(value){return typeof value=="number"&&integer3.MIN_VALUE<=value&&value<=integer3.MAX_VALUE}integer3.is=is})(integer||(integer={}));(function(uinteger3){uinteger3.MIN_VALUE=0,uinteger3.MAX_VALUE=2147483647;function is(value){return typeof value=="number"&&uinteger3.MIN_VALUE<=value&&value<=uinteger3.MAX_VALUE}uinteger3.is=is})(uinteger||(uinteger={}));(function(Position4){function create(line,character){return line===Number.MAX_VALUE&&(line=uinteger.MAX_VALUE),character===Number.MAX_VALUE&&(character=uinteger.MAX_VALUE),{line,character}}Position4.create=create;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Is.uinteger(candidate.line)&&Is.uinteger(candidate.character)}Position4.is=is})(Position||(Position={}));(function(Range4){function create(one,two,three,four){if(Is.uinteger(one)&&Is.uinteger(two)&&Is.uinteger(three)&&Is.uinteger(four))return{start:Position.create(one,two),end:Position.create(three,four)};if(Position.is(one)&&Position.is(two))return{start:one,end:two};throw new Error(`Range#create called with invalid arguments[${one}, ${two}, ${three}, ${four}]`)}Range4.create=create;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Position.is(candidate.start)&&Position.is(candidate.end)}Range4.is=is})(Range||(Range={}));(function(Location4){function create(uri,range){return{uri,range}}Location4.create=create;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Range.is(candidate.range)&&(Is.string(candidate.uri)||Is.undefined(candidate.uri))}Location4.is=is})(Location||(Location={}));(function(LocationLink3){function create(targetUri,targetRange,targetSelectionRange,originSelectionRange){return{targetUri,targetRange,targetSelectionRange,originSelectionRange}}LocationLink3.create=create;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Range.is(candidate.targetRange)&&Is.string(candidate.targetUri)&&Range.is(candidate.targetSelectionRange)&&(Range.is(candidate.originSelectionRange)||Is.undefined(candidate.originSelectionRange))}LocationLink3.is=is})(LocationLink||(LocationLink={}));(function(Color3){function create(red,green,blue,alpha){return{red,green,blue,alpha}}Color3.create=create;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Is.numberRange(candidate.red,0,1)&&Is.numberRange(candidate.green,0,1)&&Is.numberRange(candidate.blue,0,1)&&Is.numberRange(candidate.alpha,0,1)}Color3.is=is})(Color||(Color={}));(function(ColorInformation3){function create(range,color){return{range,color}}ColorInformation3.create=create;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Range.is(candidate.range)&&Color.is(candidate.color)}ColorInformation3.is=is})(ColorInformation||(ColorInformation={}));(function(ColorPresentation3){function create(label,textEdit,additionalTextEdits){return{label,textEdit,additionalTextEdits}}ColorPresentation3.create=create;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Is.string(candidate.label)&&(Is.undefined(candidate.textEdit)||TextEdit.is(candidate))&&(Is.undefined(candidate.additionalTextEdits)||Is.typedArray(candidate.additionalTextEdits,TextEdit.is))}ColorPresentation3.is=is})(ColorPresentation||(ColorPresentation={}));(function(FoldingRangeKind4){FoldingRangeKind4.Comment="comment",FoldingRangeKind4.Imports="imports",FoldingRangeKind4.Region="region"})(FoldingRangeKind||(FoldingRangeKind={}));(function(FoldingRange5){function create(startLine,endLine,startCharacter,endCharacter,kind,collapsedText){let result={startLine,endLine};return Is.defined(startCharacter)&&(result.startCharacter=startCharacter),Is.defined(endCharacter)&&(result.endCharacter=endCharacter),Is.defined(kind)&&(result.kind=kind),Is.defined(collapsedText)&&(result.collapsedText=collapsedText),result}FoldingRange5.create=create;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&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))}FoldingRange5.is=is})(FoldingRange||(FoldingRange={}));(function(DiagnosticRelatedInformation3){function create(location,message){return{location,message}}DiagnosticRelatedInformation3.create=create;function is(value){let candidate=value;return Is.defined(candidate)&&Location.is(candidate.location)&&Is.string(candidate.message)}DiagnosticRelatedInformation3.is=is})(DiagnosticRelatedInformation||(DiagnosticRelatedInformation={}));(function(DiagnosticSeverity7){DiagnosticSeverity7.Error=1,DiagnosticSeverity7.Warning=2,DiagnosticSeverity7.Information=3,DiagnosticSeverity7.Hint=4})(DiagnosticSeverity||(DiagnosticSeverity={}));(function(DiagnosticTag3){DiagnosticTag3.Unnecessary=1,DiagnosticTag3.Deprecated=2})(DiagnosticTag||(DiagnosticTag={}));(function(CodeDescription3){function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Is.string(candidate.href)}CodeDescription3.is=is})(CodeDescription||(CodeDescription={}));(function(Diagnostic7){function create(range,message,severity,code,source,relatedInformation){let result={range,message};return Is.defined(severity)&&(result.severity=severity),Is.defined(code)&&(result.code=code),Is.defined(source)&&(result.source=source),Is.defined(relatedInformation)&&(result.relatedInformation=relatedInformation),result}Diagnostic7.create=create;function is(value){var _a;let candidate=value;return Is.defined(candidate)&&Range.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((_a=candidate.codeDescription)===null||_a===void 0?void 0:_a.href))&&(Is.string(candidate.source)||Is.undefined(candidate.source))&&(Is.undefined(candidate.relatedInformation)||Is.typedArray(candidate.relatedInformation,DiagnosticRelatedInformation.is))}Diagnostic7.is=is})(Diagnostic||(Diagnostic={}));(function(Command3){function create(title,command,...args){let result={title,command};return Is.defined(args)&&args.length>0&&(result.arguments=args),result}Command3.create=create;function is(value){let candidate=value;return Is.defined(candidate)&&Is.string(candidate.title)&&Is.string(candidate.command)}Command3.is=is})(Command||(Command={}));(function(TextEdit6){function replace(range,newText){return{range,newText}}TextEdit6.replace=replace;function insert(position,newText){return{range:{start:position,end:position},newText}}TextEdit6.insert=insert;function del(range){return{range,newText:""}}TextEdit6.del=del;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Is.string(candidate.newText)&&Range.is(candidate.range)}TextEdit6.is=is})(TextEdit||(TextEdit={}));(function(ChangeAnnotation3){function create(label,needsConfirmation,description){let result={label};return needsConfirmation!==void 0&&(result.needsConfirmation=needsConfirmation),description!==void 0&&(result.description=description),result}ChangeAnnotation3.create=create;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Is.string(candidate.label)&&(Is.boolean(candidate.needsConfirmation)||candidate.needsConfirmation===void 0)&&(Is.string(candidate.description)||candidate.description===void 0)}ChangeAnnotation3.is=is})(ChangeAnnotation||(ChangeAnnotation={}));(function(ChangeAnnotationIdentifier3){function is(value){let candidate=value;return Is.string(candidate)}ChangeAnnotationIdentifier3.is=is})(ChangeAnnotationIdentifier||(ChangeAnnotationIdentifier={}));(function(AnnotatedTextEdit3){function replace(range,newText,annotation){return{range,newText,annotationId:annotation}}AnnotatedTextEdit3.replace=replace;function insert(position,newText,annotation){return{range:{start:position,end:position},newText,annotationId:annotation}}AnnotatedTextEdit3.insert=insert;function del(range,annotation){return{range,newText:"",annotationId:annotation}}AnnotatedTextEdit3.del=del;function is(value){let candidate=value;return TextEdit.is(candidate)&&(ChangeAnnotation.is(candidate.annotationId)||ChangeAnnotationIdentifier.is(candidate.annotationId))}AnnotatedTextEdit3.is=is})(AnnotatedTextEdit||(AnnotatedTextEdit={}));(function(TextDocumentEdit3){function create(textDocument,edits){return{textDocument,edits}}TextDocumentEdit3.create=create;function is(value){let candidate=value;return Is.defined(candidate)&&OptionalVersionedTextDocumentIdentifier.is(candidate.textDocument)&&Array.isArray(candidate.edits)}TextDocumentEdit3.is=is})(TextDocumentEdit||(TextDocumentEdit={}));(function(CreateFile3){function create(uri,options,annotation){let result={kind:"create",uri};return options!==void 0&&(options.overwrite!==void 0||options.ignoreIfExists!==void 0)&&(result.options=options),annotation!==void 0&&(result.annotationId=annotation),result}CreateFile3.create=create;function is(value){let 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))}CreateFile3.is=is})(CreateFile||(CreateFile={}));(function(RenameFile3){function create(oldUri,newUri,options,annotation){let result={kind:"rename",oldUri,newUri};return options!==void 0&&(options.overwrite!==void 0||options.ignoreIfExists!==void 0)&&(result.options=options),annotation!==void 0&&(result.annotationId=annotation),result}RenameFile3.create=create;function is(value){let 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))}RenameFile3.is=is})(RenameFile||(RenameFile={}));(function(DeleteFile3){function create(uri,options,annotation){let result={kind:"delete",uri};return options!==void 0&&(options.recursive!==void 0||options.ignoreIfNotExists!==void 0)&&(result.options=options),annotation!==void 0&&(result.annotationId=annotation),result}DeleteFile3.create=create;function is(value){let 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))}DeleteFile3.is=is})(DeleteFile||(DeleteFile={}));(function(WorkspaceEdit5){function is(value){let candidate=value;return candidate&&(candidate.changes!==void 0||candidate.documentChanges!==void 0)&&(candidate.documentChanges===void 0||candidate.documentChanges.every(change=>Is.string(change.kind)?CreateFile.is(change)||RenameFile.is(change)||DeleteFile.is(change):TextDocumentEdit.is(change)))}WorkspaceEdit5.is=is})(WorkspaceEdit||(WorkspaceEdit={}));TextEditChangeImpl=class{constructor(edits,changeAnnotations){this.edits=edits,this.changeAnnotations=changeAnnotations}insert(position,newText,annotation){let edit,id;if(annotation===void 0?edit=TextEdit.insert(position,newText):ChangeAnnotationIdentifier.is(annotation)?(id=annotation,edit=AnnotatedTextEdit.insert(position,newText,annotation)):(this.assertChangeAnnotations(this.changeAnnotations),id=this.changeAnnotations.manage(annotation),edit=AnnotatedTextEdit.insert(position,newText,id)),this.edits.push(edit),id!==void 0)return id}replace(range,newText,annotation){let edit,id;if(annotation===void 0?edit=TextEdit.replace(range,newText):ChangeAnnotationIdentifier.is(annotation)?(id=annotation,edit=AnnotatedTextEdit.replace(range,newText,annotation)):(this.assertChangeAnnotations(this.changeAnnotations),id=this.changeAnnotations.manage(annotation),edit=AnnotatedTextEdit.replace(range,newText,id)),this.edits.push(edit),id!==void 0)return id}delete(range,annotation){let edit,id;if(annotation===void 0?edit=TextEdit.del(range):ChangeAnnotationIdentifier.is(annotation)?(id=annotation,edit=AnnotatedTextEdit.del(range,annotation)):(this.assertChangeAnnotations(this.changeAnnotations),id=this.changeAnnotations.manage(annotation),edit=AnnotatedTextEdit.del(range,id)),this.edits.push(edit),id!==void 0)return id}add(edit){this.edits.push(edit)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(value){if(value===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}},ChangeAnnotations=class{constructor(annotations){this._annotations=annotations===void 0?Object.create(null):annotations,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(idOrAnnotation,annotation){let id;if(ChangeAnnotationIdentifier.is(idOrAnnotation)?id=idOrAnnotation:(id=this.nextId(),annotation=idOrAnnotation),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}`);return this._annotations[id]=annotation,this._size++,id}nextId(){return this._counter++,this._counter.toString()}},WorkspaceChange=class{constructor(workspaceEdit){this._textEditChanges=Object.create(null),workspaceEdit!==void 0?(this._workspaceEdit=workspaceEdit,workspaceEdit.documentChanges?(this._changeAnnotations=new ChangeAnnotations(workspaceEdit.changeAnnotations),workspaceEdit.changeAnnotations=this._changeAnnotations.all(),workspaceEdit.documentChanges.forEach(change=>{if(TextDocumentEdit.is(change)){let textEditChange=new TextEditChangeImpl(change.edits,this._changeAnnotations);this._textEditChanges[change.textDocument.uri]=textEditChange}})):workspaceEdit.changes&&Object.keys(workspaceEdit.changes).forEach(key=>{let textEditChange=new TextEditChangeImpl(workspaceEdit.changes[key]);this._textEditChanges[key]=textEditChange})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(key){if(OptionalVersionedTextDocumentIdentifier.is(key)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let textDocument={uri:key.uri,version:key.version},result=this._textEditChanges[textDocument.uri];if(!result){let edits=[],textDocumentEdit={textDocument,edits};this._workspaceEdit.documentChanges.push(textDocumentEdit),result=new TextEditChangeImpl(edits,this._changeAnnotations),this._textEditChanges[textDocument.uri]=result}return result}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let result=this._textEditChanges[key];if(!result){let edits=[];this._workspaceEdit.changes[key]=edits,result=new TextEditChangeImpl(edits),this._textEditChanges[key]=result}return result}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new ChangeAnnotations,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(uri,optionsOrAnnotation,options){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let annotation;ChangeAnnotation.is(optionsOrAnnotation)||ChangeAnnotationIdentifier.is(optionsOrAnnotation)?annotation=optionsOrAnnotation:options=optionsOrAnnotation;let operation,id;if(annotation===void 0?operation=CreateFile.create(uri,options):(id=ChangeAnnotationIdentifier.is(annotation)?annotation:this._changeAnnotations.manage(annotation),operation=CreateFile.create(uri,options,id)),this._workspaceEdit.documentChanges.push(operation),id!==void 0)return id}renameFile(oldUri,newUri,optionsOrAnnotation,options){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let annotation;ChangeAnnotation.is(optionsOrAnnotation)||ChangeAnnotationIdentifier.is(optionsOrAnnotation)?annotation=optionsOrAnnotation:options=optionsOrAnnotation;let operation,id;if(annotation===void 0?operation=RenameFile.create(oldUri,newUri,options):(id=ChangeAnnotationIdentifier.is(annotation)?annotation:this._changeAnnotations.manage(annotation),operation=RenameFile.create(oldUri,newUri,options,id)),this._workspaceEdit.documentChanges.push(operation),id!==void 0)return id}deleteFile(uri,optionsOrAnnotation,options){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let annotation;ChangeAnnotation.is(optionsOrAnnotation)||ChangeAnnotationIdentifier.is(optionsOrAnnotation)?annotation=optionsOrAnnotation:options=optionsOrAnnotation;let operation,id;if(annotation===void 0?operation=DeleteFile.create(uri,options):(id=ChangeAnnotationIdentifier.is(annotation)?annotation:this._changeAnnotations.manage(annotation),operation=DeleteFile.create(uri,options,id)),this._workspaceEdit.documentChanges.push(operation),id!==void 0)return id}};(function(TextDocumentIdentifier3){function create(uri){return{uri}}TextDocumentIdentifier3.create=create;function is(value){let candidate=value;return Is.defined(candidate)&&Is.string(candidate.uri)}TextDocumentIdentifier3.is=is})(TextDocumentIdentifier||(TextDocumentIdentifier={}));(function(VersionedTextDocumentIdentifier3){function create(uri,version){return{uri,version}}VersionedTextDocumentIdentifier3.create=create;function is(value){let candidate=value;return Is.defined(candidate)&&Is.string(candidate.uri)&&Is.integer(candidate.version)}VersionedTextDocumentIdentifier3.is=is})(VersionedTextDocumentIdentifier||(VersionedTextDocumentIdentifier={}));(function(OptionalVersionedTextDocumentIdentifier3){function create(uri,version){return{uri,version}}OptionalVersionedTextDocumentIdentifier3.create=create;function is(value){let candidate=value;return Is.defined(candidate)&&Is.string(candidate.uri)&&(candidate.version===null||Is.integer(candidate.version))}OptionalVersionedTextDocumentIdentifier3.is=is})(OptionalVersionedTextDocumentIdentifier||(OptionalVersionedTextDocumentIdentifier={}));(function(TextDocumentItem3){function create(uri,languageId,version,text){return{uri,languageId,version,text}}TextDocumentItem3.create=create;function is(value){let candidate=value;return Is.defined(candidate)&&Is.string(candidate.uri)&&Is.string(candidate.languageId)&&Is.integer(candidate.version)&&Is.string(candidate.text)}TextDocumentItem3.is=is})(TextDocumentItem||(TextDocumentItem={}));(function(MarkupKind4){MarkupKind4.PlainText="plaintext",MarkupKind4.Markdown="markdown";function is(value){let candidate=value;return candidate===MarkupKind4.PlainText||candidate===MarkupKind4.Markdown}MarkupKind4.is=is})(MarkupKind||(MarkupKind={}));(function(MarkupContent4){function is(value){let candidate=value;return Is.objectLiteral(value)&&MarkupKind.is(candidate.kind)&&Is.string(candidate.value)}MarkupContent4.is=is})(MarkupContent||(MarkupContent={}));(function(CompletionItemKind4){CompletionItemKind4.Text=1,CompletionItemKind4.Method=2,CompletionItemKind4.Function=3,CompletionItemKind4.Constructor=4,CompletionItemKind4.Field=5,CompletionItemKind4.Variable=6,CompletionItemKind4.Class=7,CompletionItemKind4.Interface=8,CompletionItemKind4.Module=9,CompletionItemKind4.Property=10,CompletionItemKind4.Unit=11,CompletionItemKind4.Value=12,CompletionItemKind4.Enum=13,CompletionItemKind4.Keyword=14,CompletionItemKind4.Snippet=15,CompletionItemKind4.Color=16,CompletionItemKind4.File=17,CompletionItemKind4.Reference=18,CompletionItemKind4.Folder=19,CompletionItemKind4.EnumMember=20,CompletionItemKind4.Constant=21,CompletionItemKind4.Struct=22,CompletionItemKind4.Event=23,CompletionItemKind4.Operator=24,CompletionItemKind4.TypeParameter=25})(CompletionItemKind||(CompletionItemKind={}));(function(InsertTextFormat4){InsertTextFormat4.PlainText=1,InsertTextFormat4.Snippet=2})(InsertTextFormat||(InsertTextFormat={}));(function(CompletionItemTag3){CompletionItemTag3.Deprecated=1})(CompletionItemTag||(CompletionItemTag={}));(function(InsertReplaceEdit3){function create(newText,insert,replace){return{newText,insert,replace}}InsertReplaceEdit3.create=create;function is(value){let candidate=value;return candidate&&Is.string(candidate.newText)&&Range.is(candidate.insert)&&Range.is(candidate.replace)}InsertReplaceEdit3.is=is})(InsertReplaceEdit||(InsertReplaceEdit={}));(function(InsertTextMode3){InsertTextMode3.asIs=1,InsertTextMode3.adjustIndentation=2})(InsertTextMode||(InsertTextMode={}));(function(CompletionItemLabelDetails3){function is(value){let candidate=value;return candidate&&(Is.string(candidate.detail)||candidate.detail===void 0)&&(Is.string(candidate.description)||candidate.description===void 0)}CompletionItemLabelDetails3.is=is})(CompletionItemLabelDetails||(CompletionItemLabelDetails={}));(function(CompletionItem5){function create(label){return{label}}CompletionItem5.create=create})(CompletionItem||(CompletionItem={}));(function(CompletionList3){function create(items,isIncomplete){return{items:items||[],isIncomplete:!!isIncomplete}}CompletionList3.create=create})(CompletionList||(CompletionList={}));(function(MarkedString3){function fromPlainText(plainText){return plainText.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}MarkedString3.fromPlainText=fromPlainText;function is(value){let candidate=value;return Is.string(candidate)||Is.objectLiteral(candidate)&&Is.string(candidate.language)&&Is.string(candidate.value)}MarkedString3.is=is})(MarkedString||(MarkedString={}));(function(Hover5){function is(value){let 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||Range.is(value.range))}Hover5.is=is})(Hover||(Hover={}));(function(ParameterInformation3){function create(label,documentation){return documentation?{label,documentation}:{label}}ParameterInformation3.create=create})(ParameterInformation||(ParameterInformation={}));(function(SignatureInformation3){function create(label,documentation,...parameters){let result={label};return Is.defined(documentation)&&(result.documentation=documentation),Is.defined(parameters)?result.parameters=parameters:result.parameters=[],result}SignatureInformation3.create=create})(SignatureInformation||(SignatureInformation={}));(function(DocumentHighlightKind3){DocumentHighlightKind3.Text=1,DocumentHighlightKind3.Read=2,DocumentHighlightKind3.Write=3})(DocumentHighlightKind||(DocumentHighlightKind={}));(function(DocumentHighlight3){function create(range,kind){let result={range};return Is.number(kind)&&(result.kind=kind),result}DocumentHighlight3.create=create})(DocumentHighlight||(DocumentHighlight={}));(function(SymbolKind4){SymbolKind4.File=1,SymbolKind4.Module=2,SymbolKind4.Namespace=3,SymbolKind4.Package=4,SymbolKind4.Class=5,SymbolKind4.Method=6,SymbolKind4.Property=7,SymbolKind4.Field=8,SymbolKind4.Constructor=9,SymbolKind4.Enum=10,SymbolKind4.Interface=11,SymbolKind4.Function=12,SymbolKind4.Variable=13,SymbolKind4.Constant=14,SymbolKind4.String=15,SymbolKind4.Number=16,SymbolKind4.Boolean=17,SymbolKind4.Array=18,SymbolKind4.Object=19,SymbolKind4.Key=20,SymbolKind4.Null=21,SymbolKind4.EnumMember=22,SymbolKind4.Struct=23,SymbolKind4.Event=24,SymbolKind4.Operator=25,SymbolKind4.TypeParameter=26})(SymbolKind||(SymbolKind={}));(function(SymbolTag3){SymbolTag3.Deprecated=1})(SymbolTag||(SymbolTag={}));(function(SymbolInformation3){function create(name,kind,range,uri,containerName){let result={name,kind,location:{uri,range}};return containerName&&(result.containerName=containerName),result}SymbolInformation3.create=create})(SymbolInformation||(SymbolInformation={}));(function(WorkspaceSymbol3){function create(name,kind,uri,range){return range!==void 0?{name,kind,location:{uri,range}}:{name,kind,location:{uri}}}WorkspaceSymbol3.create=create})(WorkspaceSymbol||(WorkspaceSymbol={}));(function(DocumentSymbol4){function create(name,detail,kind,range,selectionRange,children){let result={name,detail,kind,range,selectionRange};return children!==void 0&&(result.children=children),result}DocumentSymbol4.create=create;function is(value){let candidate=value;return candidate&&Is.string(candidate.name)&&Is.number(candidate.kind)&&Range.is(candidate.range)&&Range.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))}DocumentSymbol4.is=is})(DocumentSymbol||(DocumentSymbol={}));(function(CodeActionKind5){CodeActionKind5.Empty="",CodeActionKind5.QuickFix="quickfix",CodeActionKind5.Refactor="refactor",CodeActionKind5.RefactorExtract="refactor.extract",CodeActionKind5.RefactorInline="refactor.inline",CodeActionKind5.RefactorRewrite="refactor.rewrite",CodeActionKind5.Source="source",CodeActionKind5.SourceOrganizeImports="source.organizeImports",CodeActionKind5.SourceFixAll="source.fixAll"})(CodeActionKind||(CodeActionKind={}));(function(CodeActionTriggerKind3){CodeActionTriggerKind3.Invoked=1,CodeActionTriggerKind3.Automatic=2})(CodeActionTriggerKind||(CodeActionTriggerKind={}));(function(CodeActionContext3){function create(diagnostics,only,triggerKind){let result={diagnostics};return only!=null&&(result.only=only),triggerKind!=null&&(result.triggerKind=triggerKind),result}CodeActionContext3.create=create;function is(value){let candidate=value;return Is.defined(candidate)&&Is.typedArray(candidate.diagnostics,Diagnostic.is)&&(candidate.only===void 0||Is.typedArray(candidate.only,Is.string))&&(candidate.triggerKind===void 0||candidate.triggerKind===CodeActionTriggerKind.Invoked||candidate.triggerKind===CodeActionTriggerKind.Automatic)}CodeActionContext3.is=is})(CodeActionContext||(CodeActionContext={}));(function(CodeAction4){function create(title,kindOrCommandOrEdit,kind){let result={title},checkKind=!0;return typeof kindOrCommandOrEdit=="string"?(checkKind=!1,result.kind=kindOrCommandOrEdit):Command.is(kindOrCommandOrEdit)?result.command=kindOrCommandOrEdit:result.edit=kindOrCommandOrEdit,checkKind&&kind!==void 0&&(result.kind=kind),result}CodeAction4.create=create;function is(value){let 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||Command.is(candidate.command))&&(candidate.isPreferred===void 0||Is.boolean(candidate.isPreferred))&&(candidate.edit===void 0||WorkspaceEdit.is(candidate.edit))}CodeAction4.is=is})(CodeAction||(CodeAction={}));(function(CodeLens3){function create(range,data){let result={range};return Is.defined(data)&&(result.data=data),result}CodeLens3.create=create;function is(value){let candidate=value;return Is.defined(candidate)&&Range.is(candidate.range)&&(Is.undefined(candidate.command)||Command.is(candidate.command))}CodeLens3.is=is})(CodeLens||(CodeLens={}));(function(FormattingOptions3){function create(tabSize,insertSpaces){return{tabSize,insertSpaces}}FormattingOptions3.create=create;function is(value){let candidate=value;return Is.defined(candidate)&&Is.uinteger(candidate.tabSize)&&Is.boolean(candidate.insertSpaces)}FormattingOptions3.is=is})(FormattingOptions||(FormattingOptions={}));(function(DocumentLink3){function create(range,target,data){return{range,target,data}}DocumentLink3.create=create;function is(value){let candidate=value;return Is.defined(candidate)&&Range.is(candidate.range)&&(Is.undefined(candidate.target)||Is.string(candidate.target))}DocumentLink3.is=is})(DocumentLink||(DocumentLink={}));(function(SelectionRange3){function create(range,parent){return{range,parent}}SelectionRange3.create=create;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Range.is(candidate.range)&&(candidate.parent===void 0||SelectionRange3.is(candidate.parent))}SelectionRange3.is=is})(SelectionRange||(SelectionRange={}));(function(SemanticTokenTypes3){SemanticTokenTypes3.namespace="namespace",SemanticTokenTypes3.type="type",SemanticTokenTypes3.class="class",SemanticTokenTypes3.enum="enum",SemanticTokenTypes3.interface="interface",SemanticTokenTypes3.struct="struct",SemanticTokenTypes3.typeParameter="typeParameter",SemanticTokenTypes3.parameter="parameter",SemanticTokenTypes3.variable="variable",SemanticTokenTypes3.property="property",SemanticTokenTypes3.enumMember="enumMember",SemanticTokenTypes3.event="event",SemanticTokenTypes3.function="function",SemanticTokenTypes3.method="method",SemanticTokenTypes3.macro="macro",SemanticTokenTypes3.keyword="keyword",SemanticTokenTypes3.modifier="modifier",SemanticTokenTypes3.comment="comment",SemanticTokenTypes3.string="string",SemanticTokenTypes3.number="number",SemanticTokenTypes3.regexp="regexp",SemanticTokenTypes3.operator="operator",SemanticTokenTypes3.decorator="decorator"})(SemanticTokenTypes||(SemanticTokenTypes={}));(function(SemanticTokenModifiers3){SemanticTokenModifiers3.declaration="declaration",SemanticTokenModifiers3.definition="definition",SemanticTokenModifiers3.readonly="readonly",SemanticTokenModifiers3.static="static",SemanticTokenModifiers3.deprecated="deprecated",SemanticTokenModifiers3.abstract="abstract",SemanticTokenModifiers3.async="async",SemanticTokenModifiers3.modification="modification",SemanticTokenModifiers3.documentation="documentation",SemanticTokenModifiers3.defaultLibrary="defaultLibrary"})(SemanticTokenModifiers||(SemanticTokenModifiers={}));(function(SemanticTokens5){function is(value){let candidate=value;return Is.objectLiteral(candidate)&&(candidate.resultId===void 0||typeof candidate.resultId=="string")&&Array.isArray(candidate.data)&&(candidate.data.length===0||typeof candidate.data[0]=="number")}SemanticTokens5.is=is})(SemanticTokens||(SemanticTokens={}));(function(InlineValueText3){function create(range,text){return{range,text}}InlineValueText3.create=create;function is(value){let candidate=value;return candidate!=null&&Range.is(candidate.range)&&Is.string(candidate.text)}InlineValueText3.is=is})(InlineValueText||(InlineValueText={}));(function(InlineValueVariableLookup3){function create(range,variableName,caseSensitiveLookup){return{range,variableName,caseSensitiveLookup}}InlineValueVariableLookup3.create=create;function is(value){let candidate=value;return candidate!=null&&Range.is(candidate.range)&&Is.boolean(candidate.caseSensitiveLookup)&&(Is.string(candidate.variableName)||candidate.variableName===void 0)}InlineValueVariableLookup3.is=is})(InlineValueVariableLookup||(InlineValueVariableLookup={}));(function(InlineValueEvaluatableExpression3){function create(range,expression){return{range,expression}}InlineValueEvaluatableExpression3.create=create;function is(value){let candidate=value;return candidate!=null&&Range.is(candidate.range)&&(Is.string(candidate.expression)||candidate.expression===void 0)}InlineValueEvaluatableExpression3.is=is})(InlineValueEvaluatableExpression||(InlineValueEvaluatableExpression={}));(function(InlineValueContext3){function create(frameId,stoppedLocation){return{frameId,stoppedLocation}}InlineValueContext3.create=create;function is(value){let candidate=value;return Is.defined(candidate)&&Range.is(value.stoppedLocation)}InlineValueContext3.is=is})(InlineValueContext||(InlineValueContext={}));(function(InlayHintKind3){InlayHintKind3.Type=1,InlayHintKind3.Parameter=2;function is(value){return value===1||value===2}InlayHintKind3.is=is})(InlayHintKind||(InlayHintKind={}));(function(InlayHintLabelPart3){function create(value){return{value}}InlayHintLabelPart3.create=create;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&(candidate.tooltip===void 0||Is.string(candidate.tooltip)||MarkupContent.is(candidate.tooltip))&&(candidate.location===void 0||Location.is(candidate.location))&&(candidate.command===void 0||Command.is(candidate.command))}InlayHintLabelPart3.is=is})(InlayHintLabelPart||(InlayHintLabelPart={}));(function(InlayHint3){function create(position,label,kind){let result={position,label};return kind!==void 0&&(result.kind=kind),result}InlayHint3.create=create;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Position.is(candidate.position)&&(Is.string(candidate.label)||Is.typedArray(candidate.label,InlayHintLabelPart.is))&&(candidate.kind===void 0||InlayHintKind.is(candidate.kind))&&candidate.textEdits===void 0||Is.typedArray(candidate.textEdits,TextEdit.is)&&(candidate.tooltip===void 0||Is.string(candidate.tooltip)||MarkupContent.is(candidate.tooltip))&&(candidate.paddingLeft===void 0||Is.boolean(candidate.paddingLeft))&&(candidate.paddingRight===void 0||Is.boolean(candidate.paddingRight))}InlayHint3.is=is})(InlayHint||(InlayHint={}));(function(StringValue3){function createSnippet(value){return{kind:"snippet",value}}StringValue3.createSnippet=createSnippet})(StringValue||(StringValue={}));(function(InlineCompletionItem3){function create(insertText,filterText,range,command){return{insertText,filterText,range,command}}InlineCompletionItem3.create=create})(InlineCompletionItem||(InlineCompletionItem={}));(function(InlineCompletionList3){function create(items){return{items}}InlineCompletionList3.create=create})(InlineCompletionList||(InlineCompletionList={}));(function(InlineCompletionTriggerKind3){InlineCompletionTriggerKind3.Invoked=0,InlineCompletionTriggerKind3.Automatic=1})(InlineCompletionTriggerKind||(InlineCompletionTriggerKind={}));(function(SelectedCompletionInfo3){function create(range,text){return{range,text}}SelectedCompletionInfo3.create=create})(SelectedCompletionInfo||(SelectedCompletionInfo={}));(function(InlineCompletionContext3){function create(triggerKind,selectedCompletionInfo){return{triggerKind,selectedCompletionInfo}}InlineCompletionContext3.create=create})(InlineCompletionContext||(InlineCompletionContext={}));(function(WorkspaceFolder3){function is(value){let candidate=value;return Is.objectLiteral(candidate)&&URI.is(candidate.uri)&&Is.string(candidate.name)}WorkspaceFolder3.is=is})(WorkspaceFolder||(WorkspaceFolder={}));EOL=[`
|
|
1
|
+
"use strict";(()=>{var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __esm=(fn,res)=>function(){return fn&&(res=(0,fn[__getOwnPropNames(fn)[0]])(fn=0)),res};var __commonJS=(cb,mod)=>function(){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:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__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:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var require_is=__commonJS({"node_modules/vscode-jsonrpc/lib/common/is.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.boolean=boolean;exports.string=string;exports.number=number;exports.error=error;exports.func=func;exports.array=array;exports.stringArray=stringArray;function boolean(value){return value===!0||value===!1}function string(value){return typeof value=="string"||value instanceof String}function number(value){return typeof value=="number"||value instanceof Number}function error(value){return value instanceof Error}function func(value){return typeof value=="function"}function array(value){return Array.isArray(value)}function stringArray(value){return array(value)&&value.every(elem=>string(elem))}}});var require_messages=__commonJS({"node_modules/vscode-jsonrpc/lib/common/messages.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}):function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||(function(){var ownKeys=function(o){return ownKeys=Object.getOwnPropertyNames||function(o2){var ar=[];for(var k in o2)Object.prototype.hasOwnProperty.call(o2,k)&&(ar[ar.length]=k);return ar},ownKeys(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k=ownKeys(mod),i=0;i<k.length;i++)k[i]!=="default"&&__createBinding(result,mod,k[i]);return __setModuleDefault(result,mod),result}})();Object.defineProperty(exports,"__esModule",{value:!0});exports.Message=exports.NotificationType9=exports.NotificationType8=exports.NotificationType7=exports.NotificationType6=exports.NotificationType5=exports.NotificationType4=exports.NotificationType3=exports.NotificationType2=exports.NotificationType1=exports.NotificationType0=exports.NotificationType=exports.RequestType9=exports.RequestType8=exports.RequestType7=exports.RequestType6=exports.RequestType5=exports.RequestType4=exports.RequestType3=exports.RequestType2=exports.RequestType1=exports.RequestType=exports.RequestType0=exports.AbstractMessageSignature=exports.ParameterStructures=exports.ResponseError=exports.ErrorCodes=void 0;var is=__importStar(require_is()),ErrorCodes;(function(ErrorCodes2){ErrorCodes2.ParseError=-32700,ErrorCodes2.InvalidRequest=-32600,ErrorCodes2.MethodNotFound=-32601,ErrorCodes2.InvalidParams=-32602,ErrorCodes2.InternalError=-32603,ErrorCodes2.jsonrpcReservedErrorRangeStart=-32099,ErrorCodes2.serverErrorStart=-32099,ErrorCodes2.MessageWriteError=-32099,ErrorCodes2.MessageReadError=-32098,ErrorCodes2.PendingResponseRejected=-32097,ErrorCodes2.ConnectionInactive=-32096,ErrorCodes2.ServerNotInitialized=-32002,ErrorCodes2.UnknownErrorCode=-32001,ErrorCodes2.jsonrpcReservedErrorRangeEnd=-32e3,ErrorCodes2.serverErrorEnd=-32e3})(ErrorCodes||(exports.ErrorCodes=ErrorCodes={}));var ResponseError=class _ResponseError extends Error{code;data;constructor(code,message,data){super(message),this.code=is.number(code)?code:ErrorCodes.UnknownErrorCode,this.data=data,Object.setPrototypeOf(this,_ResponseError.prototype)}toJson(){let result={code:this.code,message:this.message};return this.data!==void 0&&(result.data=this.data),result}};exports.ResponseError=ResponseError;var ParameterStructures=class _ParameterStructures{kind;static auto=new _ParameterStructures("auto");static byPosition=new _ParameterStructures("byPosition");static byName=new _ParameterStructures("byName");constructor(kind){this.kind=kind}static is(value){return value===_ParameterStructures.auto||value===_ParameterStructures.byName||value===_ParameterStructures.byPosition}toString(){return this.kind}};exports.ParameterStructures=ParameterStructures;var AbstractMessageSignature=class{method;numberOfParams;constructor(method,numberOfParams){this.method=method,this.numberOfParams=numberOfParams}get parameterStructures(){return ParameterStructures.auto}};exports.AbstractMessageSignature=AbstractMessageSignature;var RequestType0=class extends AbstractMessageSignature{_;constructor(method){super(method,0)}};exports.RequestType0=RequestType0;var RequestType=class extends AbstractMessageSignature{_parameterStructures;_;constructor(method,_parameterStructures=ParameterStructures.auto){super(method,1),this._parameterStructures=_parameterStructures}get parameterStructures(){return this._parameterStructures}};exports.RequestType=RequestType;var RequestType1=class extends AbstractMessageSignature{_parameterStructures;_;constructor(method,_parameterStructures=ParameterStructures.auto){super(method,1),this._parameterStructures=_parameterStructures}get parameterStructures(){return this._parameterStructures}};exports.RequestType1=RequestType1;var RequestType2=class extends AbstractMessageSignature{_;constructor(method){super(method,2)}};exports.RequestType2=RequestType2;var RequestType3=class extends AbstractMessageSignature{_;constructor(method){super(method,3)}};exports.RequestType3=RequestType3;var RequestType4=class extends AbstractMessageSignature{_;constructor(method){super(method,4)}};exports.RequestType4=RequestType4;var RequestType5=class extends AbstractMessageSignature{_;constructor(method){super(method,5)}};exports.RequestType5=RequestType5;var RequestType6=class extends AbstractMessageSignature{_;constructor(method){super(method,6)}};exports.RequestType6=RequestType6;var RequestType7=class extends AbstractMessageSignature{_;constructor(method){super(method,7)}};exports.RequestType7=RequestType7;var RequestType8=class extends AbstractMessageSignature{_;constructor(method){super(method,8)}};exports.RequestType8=RequestType8;var RequestType9=class extends AbstractMessageSignature{_;constructor(method){super(method,9)}};exports.RequestType9=RequestType9;var NotificationType=class extends AbstractMessageSignature{_parameterStructures;_;constructor(method,_parameterStructures=ParameterStructures.auto){super(method,1),this._parameterStructures=_parameterStructures}get parameterStructures(){return this._parameterStructures}};exports.NotificationType=NotificationType;var NotificationType0=class extends AbstractMessageSignature{_;constructor(method){super(method,0)}};exports.NotificationType0=NotificationType0;var NotificationType1=class extends AbstractMessageSignature{_parameterStructures;_;constructor(method,_parameterStructures=ParameterStructures.auto){super(method,1),this._parameterStructures=_parameterStructures}get parameterStructures(){return this._parameterStructures}};exports.NotificationType1=NotificationType1;var NotificationType2=class extends AbstractMessageSignature{_;constructor(method){super(method,2)}};exports.NotificationType2=NotificationType2;var NotificationType3=class extends AbstractMessageSignature{_;constructor(method){super(method,3)}};exports.NotificationType3=NotificationType3;var NotificationType4=class extends AbstractMessageSignature{_;constructor(method){super(method,4)}};exports.NotificationType4=NotificationType4;var NotificationType5=class extends AbstractMessageSignature{_;constructor(method){super(method,5)}};exports.NotificationType5=NotificationType5;var NotificationType6=class extends AbstractMessageSignature{_;constructor(method){super(method,6)}};exports.NotificationType6=NotificationType6;var NotificationType7=class extends AbstractMessageSignature{_;constructor(method){super(method,7)}};exports.NotificationType7=NotificationType7;var NotificationType8=class extends AbstractMessageSignature{_;constructor(method){super(method,8)}};exports.NotificationType8=NotificationType8;var NotificationType9=class extends AbstractMessageSignature{_;constructor(method){super(method,9)}};exports.NotificationType9=NotificationType9;var Message;(function(Message2){function isRequest(message){let candidate=message;return candidate&&is.string(candidate.method)&&(is.string(candidate.id)||is.number(candidate.id))}Message2.isRequest=isRequest;function isNotification(message){let candidate=message;return candidate&&is.string(candidate.method)&&message.id===void 0}Message2.isNotification=isNotification;function isResponse(message){let candidate=message;return candidate&&(candidate.result!==void 0||!!candidate.error)&&(is.string(candidate.id)||is.number(candidate.id)||candidate.id===null)}Message2.isResponse=isResponse})(Message||(exports.Message=Message={}))}});var require_linkedMap=__commonJS({"node_modules/vscode-jsonrpc/lib/common/linkedMap.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.LRUCache=exports.LinkedMap=exports.Touch=void 0;var Touch;(function(Touch2){Touch2.None=0,Touch2.First=1,Touch2.AsOld=Touch2.First,Touch2.Last=2,Touch2.AsNew=Touch2.Last})(Touch||(exports.Touch=Touch={}));var LinkedMap=class{[Symbol.toStringTag]="LinkedMap";_map;_head;_tail;_size;_state;constructor(){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(){return this._head?.value}get last(){return this._tail?.value}before(key){let item=this._map.get(key);return item?item.previous?.value:void 0}after(key){let item=this._map.get(key);return item?item.next?.value:void 0}has(key){return this._map.has(key)}get(key,touch=Touch.None){let item=this._map.get(key);if(item)return touch!==Touch.None&&this.touch(item,touch),item.value}set(key,value,touch=Touch.None){let item=this._map.get(key);if(item)item.value=value,touch!==Touch.None&&this.touch(item,touch);else{switch(item={key,value,next:void 0,previous:void 0},touch){case Touch.None:this.addItemLast(item);break;case Touch.First:this.addItemFirst(item);break;case Touch.Last: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){let item=this._map.get(key);if(item)return this._map.delete(key),this.removeItem(item),this._size--,item.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let item=this._head;return this._map.delete(item.key),this.removeItem(item),this._size--,item.value}forEach(callbackfn,thisArg){let state=this._state,current=this._head;for(;current;){if(thisArg?callbackfn.bind(thisArg)(current.value,current.key,this):callbackfn(current.value,current.key,this),this._state!==state)throw new Error("LinkedMap got modified during iteration.");current=current.next}}keys(){let state=this._state,current=this._head,iterator={[Symbol.iterator]:()=>iterator,next:()=>{if(this._state!==state)throw new Error("LinkedMap got modified during iteration.");if(current){let result={value:current.key,done:!1};return current=current.next,result}else return{value:void 0,done:!0}}};return iterator}values(){let state=this._state,current=this._head,iterator={[Symbol.iterator]:()=>iterator,next:()=>{if(this._state!==state)throw new Error("LinkedMap got modified during iteration.");if(current){let result={value:current.value,done:!1};return current=current.next,result}else return{value:void 0,done:!0}}};return iterator}entries(){let state=this._state,current=this._head,iterator={[Symbol.iterator]:()=>iterator,next:()=>{if(this._state!==state)throw new Error("LinkedMap got modified during iteration.");if(current){let result={value:[current.key,current.value],done:!1};return current=current.next,result}else return{value:void 0,done:!0}}};return iterator}[Symbol.iterator](){return this.entries()}trimOld(newSize){if(newSize>=this.size)return;if(newSize===0){this.clear();return}let current=this._head,currentSize=this.size;for(;current&¤tSize>newSize;)this._map.delete(current.key),current=current.next,currentSize--;this._head=current,this._size=currentSize,current&&(current.previous=void 0),this._state++}addItemFirst(item){if(!this._head&&!this._tail)this._tail=item;else if(this._head)item.next=this._head,this._head.previous=item;else throw new Error("Invalid list");this._head=item,this._state++}addItemLast(item){if(!this._head&&!this._tail)this._head=item;else if(this._tail)item.previous=this._tail,this._tail.next=item;else throw new Error("Invalid list");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{let next=item.next,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!==Touch.First&&touch!==Touch.Last)){if(touch===Touch.First){if(item===this._head)return;let next=item.next,previous=item.previous;item===this._tail?(previous.next=void 0,this._tail=previous):(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===Touch.Last){if(item===this._tail)return;let next=item.next,previous=item.previous;item===this._head?(next.previous=void 0,this._head=next):(next.previous=previous,previous.next=next),item.next=void 0,item.previous=this._tail,this._tail.next=item,this._tail=item,this._state++}}}toJSON(){let data=[];return this.forEach((value,key)=>{data.push([key,value])}),data}fromJSON(data){this.clear();for(let[key,value]of data)this.set(key,value)}};exports.LinkedMap=LinkedMap;var LRUCache=class extends LinkedMap{_limit;_ratio;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 ratio(){return this._ratio}set ratio(ratio){this._ratio=Math.min(Math.max(0,ratio),1),this.checkTrim()}get(key,touch=Touch.AsNew){return super.get(key,touch)}peek(key){return super.get(key,Touch.None)}set(key,value){return super.set(key,value,Touch.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};exports.LRUCache=LRUCache}});var require_disposable=__commonJS({"node_modules/vscode-jsonrpc/lib/common/disposable.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.Disposable=void 0;var Disposable;(function(Disposable2){function create(func){return{dispose:func}}Disposable2.create=create})(Disposable||(exports.Disposable=Disposable={}))}});var require_ral=__commonJS({"node_modules/vscode-jsonrpc/lib/common/ral.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _ral;function RAL(){if(_ral===void 0)throw new Error("No runtime abstraction layer installed");return _ral}(function(RAL2){function install(ral){if(ral===void 0)throw new Error("No runtime abstraction layer provided");_ral=ral}RAL2.install=install})(RAL||(RAL={}));exports.default=RAL}});var require_events=__commonJS({"node_modules/vscode-jsonrpc/lib/common/events.js"(exports){"use strict";var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});exports.Emitter=exports.Event=void 0;var ral_1=__importDefault(require_ral()),Event;(function(Event2){let _disposable={dispose(){}};Event2.None=function(){return _disposable}})(Event||(exports.Event=Event={}));var CallbackList=class{_callbacks;_contexts;add(callback,context=null,bucket){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(callback),this._contexts.push(context),Array.isArray(bucket)&&bucket.push({dispose:()=>this.remove(callback,context)})}remove(callback,context=null){if(!this._callbacks)return;let foundCallbackWithDifferentContext=!1;for(let i=0,len=this._callbacks.length;i<len;i++)if(this._callbacks[i]===callback)if(this._contexts[i]===context){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else foundCallbackWithDifferentContext=!0;if(foundCallbackWithDifferentContext)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...args){if(!this._callbacks)return[];let ret=[],callbacks=this._callbacks.slice(0),contexts=this._contexts.slice(0);for(let i=0,len=callbacks.length;i<len;i++)try{ret.push(callbacks[i].apply(contexts[i],args))}catch(e){(0,ral_1.default)().console.error(e)}return ret}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},Emitter=class _Emitter{_options;static _noop=function(){};_event;_callbacks;constructor(_options){this._options=_options}get event(){return this._event||(this._event=(listener,thisArgs,disposables)=>{this._callbacks||(this._callbacks=new CallbackList),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(listener,thisArgs);let result={dispose:()=>{this._callbacks&&(this._callbacks.remove(listener,thisArgs),result.dispose=_Emitter._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(disposables)&&disposables.push(result),result}),this._event}fire(event){this._callbacks&&this._callbacks.invoke.call(this._callbacks,event)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};exports.Emitter=Emitter}});var require_cancellation=__commonJS({"node_modules/vscode-jsonrpc/lib/common/cancellation.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}):function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||(function(){var ownKeys=function(o){return ownKeys=Object.getOwnPropertyNames||function(o2){var ar=[];for(var k in o2)Object.prototype.hasOwnProperty.call(o2,k)&&(ar[ar.length]=k);return ar},ownKeys(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k=ownKeys(mod),i=0;i<k.length;i++)k[i]!=="default"&&__createBinding(result,mod,k[i]);return __setModuleDefault(result,mod),result}})(),__importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});exports.CancellationTokenSource=exports.CancellationToken=void 0;var ral_1=__importDefault(require_ral()),Is3=__importStar(require_is()),events_1=require_events(),CancellationToken;(function(CancellationToken2){CancellationToken2.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:events_1.Event.None}),CancellationToken2.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:events_1.Event.None});function is(value){let candidate=value;return candidate&&(candidate===CancellationToken2.None||candidate===CancellationToken2.Cancelled||Is3.boolean(candidate.isCancellationRequested)&&!!candidate.onCancellationRequested)}CancellationToken2.is=is})(CancellationToken||(exports.CancellationToken=CancellationToken={}));var shortcutEvent=Object.freeze(function(callback,context){let handle=(0,ral_1.default)().timer.setTimeout(callback.bind(context),0);return{dispose(){handle.dispose()}}}),MutableToken=class{_isCancelled=!1;_emitter;cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?shortcutEvent:(this._emitter||(this._emitter=new events_1.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},CancellationTokenSource=class{_token;get token(){return this._token||(this._token=new MutableToken),this._token}cancel(){this._token?this._token.cancel():this._token=CancellationToken.Cancelled}dispose(){this._token?this._token instanceof MutableToken&&this._token.dispose():this._token=CancellationToken.None}};exports.CancellationTokenSource=CancellationTokenSource}});var require_sharedArrayCancellation=__commonJS({"node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.SharedArrayReceiverStrategy=exports.SharedArraySenderStrategy=void 0;var cancellation_1=require_cancellation(),CancellationState;(function(CancellationState2){CancellationState2.Continue=0,CancellationState2.Cancelled=1})(CancellationState||(CancellationState={}));var SharedArraySenderStrategy=class{buffers;constructor(){this.buffers=new Map}enableCancellation(request){if(request.id===null)return;let buffer=new SharedArrayBuffer(4),data=new Int32Array(buffer,0,1);data[0]=CancellationState.Continue,this.buffers.set(request.id,buffer),request.$cancellationData=buffer}async sendCancellation(_conn,id){let buffer=this.buffers.get(id);if(buffer===void 0)return;let data=new Int32Array(buffer,0,1);Atomics.store(data,0,CancellationState.Cancelled)}cleanup(id){this.buffers.delete(id)}dispose(){this.buffers.clear()}};exports.SharedArraySenderStrategy=SharedArraySenderStrategy;var SharedArrayBufferCancellationToken=class{data;constructor(buffer){this.data=new Int32Array(buffer,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===CancellationState.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},SharedArrayBufferCancellationTokenSource=class{token;constructor(buffer){this.token=new SharedArrayBufferCancellationToken(buffer)}cancel(){}dispose(){}},SharedArrayReceiverStrategy=class{kind="request";createCancellationTokenSource(request){let buffer=request.$cancellationData;return buffer===void 0?new cancellation_1.CancellationTokenSource:new SharedArrayBufferCancellationTokenSource(buffer)}};exports.SharedArrayReceiverStrategy=SharedArrayReceiverStrategy}});var require_semaphore=__commonJS({"node_modules/vscode-jsonrpc/lib/common/semaphore.js"(exports){"use strict";var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});exports.Semaphore=void 0;var ral_1=__importDefault(require_ral()),Semaphore=class{_capacity;_active;_waiting;constructor(capacity=1){if(capacity<=0)throw new Error("Capacity must be greater than 0");this._capacity=capacity,this._active=0,this._waiting=[]}lock(thunk){return new Promise((resolve,reject)=>{this._waiting.push({thunk,resolve,reject}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,ral_1.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let next=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("Too many thunks active");try{let result=next.thunk();result instanceof Promise?result.then(value=>{this._active--,next.resolve(value),this.runNext()},err=>{this._active--,next.reject(err),this.runNext()}):(this._active--,next.resolve(result),this.runNext())}catch(err){this._active--,next.reject(err),this.runNext()}}};exports.Semaphore=Semaphore}});var require_messageReader=__commonJS({"node_modules/vscode-jsonrpc/lib/common/messageReader.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}):function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||(function(){var ownKeys=function(o){return ownKeys=Object.getOwnPropertyNames||function(o2){var ar=[];for(var k in o2)Object.prototype.hasOwnProperty.call(o2,k)&&(ar[ar.length]=k);return ar},ownKeys(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k=ownKeys(mod),i=0;i<k.length;i++)k[i]!=="default"&&__createBinding(result,mod,k[i]);return __setModuleDefault(result,mod),result}})(),__importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});exports.ReadableStreamMessageReader=exports.AbstractMessageReader=exports.MessageReader=void 0;var ral_1=__importDefault(require_ral()),Is3=__importStar(require_is()),events_1=require_events(),semaphore_1=require_semaphore(),MessageReader;(function(MessageReader2){function is(value){let candidate=value;return candidate&&Is3.func(candidate.listen)&&Is3.func(candidate.dispose)&&Is3.func(candidate.onError)&&Is3.func(candidate.onClose)&&Is3.func(candidate.onPartialMessage)}MessageReader2.is=is})(MessageReader||(exports.MessageReader=MessageReader={}));var AbstractMessageReader=class{errorEmitter;closeEmitter;partialMessageEmitter;constructor(){this.errorEmitter=new events_1.Emitter,this.closeEmitter=new events_1.Emitter,this.partialMessageEmitter=new events_1.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose(),this.partialMessageEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(error){this.errorEmitter.fire(this.asError(error))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(info){this.partialMessageEmitter.fire(info)}asError(error){return error instanceof Error?error:new Error(`Reader received error. Reason: ${Is3.string(error.message)?error.message:"unknown"}`)}};exports.AbstractMessageReader=AbstractMessageReader;var ResolvedMessageReaderOptions;(function(ResolvedMessageReaderOptions2){function fromOptions(options){let charset,result,contentDecoder,contentDecoders=new Map,contentTypeDecoder,contentTypeDecoders=new Map;if(options===void 0||typeof options=="string")charset=options??"utf-8";else{if(charset=options.charset??"utf-8",options.contentDecoder!==void 0&&(contentDecoder=options.contentDecoder,contentDecoders.set(contentDecoder.name,contentDecoder)),options.contentDecoders!==void 0)for(let decoder of options.contentDecoders)contentDecoders.set(decoder.name,decoder);if(options.contentTypeDecoder!==void 0&&(contentTypeDecoder=options.contentTypeDecoder,contentTypeDecoders.set(contentTypeDecoder.name,contentTypeDecoder)),options.contentTypeDecoders!==void 0)for(let decoder of options.contentTypeDecoders)contentTypeDecoders.set(decoder.name,decoder)}return contentTypeDecoder===void 0&&(contentTypeDecoder=(0,ral_1.default)().applicationJson.decoder,contentTypeDecoders.set(contentTypeDecoder.name,contentTypeDecoder)),{charset,contentDecoder,contentDecoders,contentTypeDecoder,contentTypeDecoders}}ResolvedMessageReaderOptions2.fromOptions=fromOptions})(ResolvedMessageReaderOptions||(ResolvedMessageReaderOptions={}));var ReadableStreamMessageReader=class extends AbstractMessageReader{readable;options;callback;nextMessageLength;messageToken;buffer;partialMessageTimer;_partialMessageTimeout;readSemaphore;constructor(readable,options){super(),this.readable=readable,this.options=ResolvedMessageReaderOptions.fromOptions(options),this.buffer=(0,ral_1.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new semaphore_1.Semaphore(1)}set partialMessageTimeout(timeout){this._partialMessageTimeout=timeout}get partialMessageTimeout(){return this._partialMessageTimeout}listen(callback){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=callback;let result=this.readable.onData(data=>{this.onData(data)});return this.readable.onError(error=>this.fireError(error)),this.readable.onClose(()=>this.fireClose()),result}onData(data){try{for(this.buffer.append(data);;){if(this.nextMessageLength===-1){let headers=this.buffer.tryReadHeaders(!0);if(!headers)return;let contentLength=headers.get("content-length");if(!contentLength){this.fireError(new Error(`Header must provide a Content-Length property.
|
|
2
|
+
${JSON.stringify(Object.fromEntries(headers))}`));return}let length=parseInt(contentLength);if(isNaN(length)){this.fireError(new Error(`Content-Length value must be a number. Got ${contentLength}`));return}this.nextMessageLength=length}let body=this.buffer.tryReadBody(this.nextMessageLength);if(body===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let bytes=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(body):body,message=await this.options.contentTypeDecoder.decode(bytes,this.options);this.callback(message)}).catch(error=>{this.fireError(error)})}}catch(error){this.fireError(error)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,ral_1.default)().timer.setTimeout((token,timeout)=>{this.partialMessageTimer=void 0,token===this.messageToken&&(this.firePartialMessage({messageToken:token,waitingTime:timeout}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};exports.ReadableStreamMessageReader=ReadableStreamMessageReader}});var require_messageWriter=__commonJS({"node_modules/vscode-jsonrpc/lib/common/messageWriter.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}):function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||(function(){var ownKeys=function(o){return ownKeys=Object.getOwnPropertyNames||function(o2){var ar=[];for(var k in o2)Object.prototype.hasOwnProperty.call(o2,k)&&(ar[ar.length]=k);return ar},ownKeys(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k=ownKeys(mod),i=0;i<k.length;i++)k[i]!=="default"&&__createBinding(result,mod,k[i]);return __setModuleDefault(result,mod),result}})(),__importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});exports.WriteableStreamMessageWriter=exports.AbstractMessageWriter=exports.MessageWriter=void 0;var ral_1=__importDefault(require_ral()),Is3=__importStar(require_is()),semaphore_1=require_semaphore(),events_1=require_events(),ContentLength="Content-Length: ",CRLF=`\r
|
|
3
|
+
`,MessageWriter;(function(MessageWriter2){function is(value){let candidate=value;return candidate&&Is3.func(candidate.dispose)&&Is3.func(candidate.onClose)&&Is3.func(candidate.onError)&&Is3.func(candidate.write)}MessageWriter2.is=is})(MessageWriter||(exports.MessageWriter=MessageWriter={}));var AbstractMessageWriter=class{errorEmitter;closeEmitter;constructor(){this.errorEmitter=new events_1.Emitter,this.closeEmitter=new events_1.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(error,message,count){this.errorEmitter.fire([this.asError(error),message,count])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(error){return error instanceof Error?error:new Error(`Writer received error. Reason: ${Is3.string(error.message)?error.message:"unknown"}`)}};exports.AbstractMessageWriter=AbstractMessageWriter;var ResolvedMessageWriterOptions;(function(ResolvedMessageWriterOptions2){function fromOptions(options){return options===void 0||typeof options=="string"?{charset:options??"utf-8",contentTypeEncoder:(0,ral_1.default)().applicationJson.encoder}:{charset:options.charset??"utf-8",contentEncoder:options.contentEncoder,contentTypeEncoder:options.contentTypeEncoder??(0,ral_1.default)().applicationJson.encoder}}ResolvedMessageWriterOptions2.fromOptions=fromOptions})(ResolvedMessageWriterOptions||(ResolvedMessageWriterOptions={}));var WriteableStreamMessageWriter=class extends AbstractMessageWriter{writable;options;errorCount;writeSemaphore;constructor(writable,options){super(),this.writable=writable,this.options=ResolvedMessageWriterOptions.fromOptions(options),this.errorCount=0,this.writeSemaphore=new semaphore_1.Semaphore(1),this.writable.onError(error=>this.fireError(error)),this.writable.onClose(()=>this.fireClose())}async write(msg){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(msg,this.options).then(buffer=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(buffer):buffer).then(buffer=>{let headers=[];return headers.push(ContentLength,buffer.byteLength.toString(),CRLF),headers.push(CRLF),this.doWrite(msg,headers,buffer)},error=>{throw this.fireError(error),error}))}async doWrite(msg,headers,data){try{return await this.writable.write(headers.join(""),"ascii"),this.writable.write(data)}catch(error){return this.handleError(error,msg),Promise.reject(error)}}handleError(error,msg){this.errorCount++,this.fireError(error,msg,this.errorCount)}end(){this.writable.end()}};exports.WriteableStreamMessageWriter=WriteableStreamMessageWriter}});var require_messageBuffer=__commonJS({"node_modules/vscode-jsonrpc/lib/common/messageBuffer.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.AbstractMessageBuffer=void 0;var CR=13,LF=10,CRLF=`\r
|
|
4
|
+
`,AbstractMessageBuffer=class{_encoding;_chunks;_totalLength;constructor(encoding="utf-8"){this._encoding=encoding,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(chunk){let toAppend=typeof chunk=="string"?this.fromString(chunk,this._encoding):chunk;this._chunks.push(toAppend),this._totalLength+=toAppend.byteLength}tryReadHeaders(lowerCaseKeys=!1){if(this._chunks.length===0)return;let state=0,chunkIndex=0,offset=0,chunkBytesRead=0;row:for(;chunkIndex<this._chunks.length;){let chunk=this._chunks[chunkIndex];for(offset=0;offset<chunk.length;){switch(chunk[offset]){case CR:switch(state){case 0:state=1;break;case 2:state=3;break;default:state=0}break;case LF:switch(state){case 1:state=2;break;case 3:state=4,offset++;break row;default:state=0}break;default:state=0}offset++}chunkBytesRead+=chunk.byteLength,chunkIndex++}if(state!==4)return;let buffer=this._read(chunkBytesRead+offset),result=new Map,headers=this.toString(buffer,"ascii").split(CRLF);if(headers.length<2)return result;for(let i=0;i<headers.length-2;i++){let header=headers[i],index2=header.indexOf(":");if(index2===-1)throw new Error(`Message header must separate key and value using ':'
|
|
5
|
+
${header}`);let key=header.substr(0,index2),value=header.substr(index2+1).trim();result.set(lowerCaseKeys?key.toLowerCase():key,value)}return result}tryReadBody(length){if(!(this._totalLength<length))return this._read(length)}get numberOfBytes(){return this._totalLength}_read(byteCount){if(byteCount===0)return this.emptyBuffer();if(byteCount>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===byteCount){let chunk=this._chunks[0];return this._chunks.shift(),this._totalLength-=byteCount,this.asNative(chunk)}if(this._chunks[0].byteLength>byteCount){let chunk=this._chunks[0],result2=this.asNative(chunk,byteCount);return this._chunks[0]=chunk.slice(byteCount),this._totalLength-=byteCount,result2}let result=this.allocNative(byteCount),resultOffset=0,chunkIndex=0;for(;byteCount>0;){let chunk=this._chunks[chunkIndex];if(chunk.byteLength>byteCount){let chunkPart=chunk.slice(0,byteCount);result.set(chunkPart,resultOffset),resultOffset+=byteCount,this._chunks[chunkIndex]=chunk.slice(byteCount),this._totalLength-=byteCount,byteCount-=byteCount}else result.set(chunk,resultOffset),resultOffset+=chunk.byteLength,this._chunks.shift(),this._totalLength-=chunk.byteLength,byteCount-=chunk.byteLength}return result}};exports.AbstractMessageBuffer=AbstractMessageBuffer}});var require_connection=__commonJS({"node_modules/vscode-jsonrpc/lib/common/connection.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}):function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||(function(){var ownKeys=function(o){return ownKeys=Object.getOwnPropertyNames||function(o2){var ar=[];for(var k in o2)Object.prototype.hasOwnProperty.call(o2,k)&&(ar[ar.length]=k);return ar},ownKeys(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k=ownKeys(mod),i=0;i<k.length;i++)k[i]!=="default"&&__createBinding(result,mod,k[i]);return __setModuleDefault(result,mod),result}})(),__importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});exports.ConnectionOptions=exports.MessageStrategy=exports.CancellationStrategy=exports.CancellationSenderStrategy=exports.CancellationReceiverStrategy=exports.RequestCancellationReceiverStrategy=exports.IdCancellationReceiverStrategy=exports.ConnectionStrategy=exports.ConnectionError=exports.ConnectionErrors=exports.LogTraceNotification=exports.SetTraceNotification=exports.TraceFormat=exports.TraceValues=exports.TraceValue=exports.Trace=exports.NullLogger=exports.ProgressType=exports.ProgressToken=void 0;exports.createMessageConnection=createMessageConnection;var ral_1=__importDefault(require_ral()),Is3=__importStar(require_is()),messages_1=require_messages(),linkedMap_1=require_linkedMap(),events_1=require_events(),cancellation_1=require_cancellation(),CancelNotification;(function(CancelNotification2){CancelNotification2.type=new messages_1.NotificationType("$/cancelRequest")})(CancelNotification||(CancelNotification={}));var ProgressToken;(function(ProgressToken2){function is(value){return typeof value=="string"||typeof value=="number"}ProgressToken2.is=is})(ProgressToken||(exports.ProgressToken=ProgressToken={}));var ProgressNotification;(function(ProgressNotification2){ProgressNotification2.type=new messages_1.NotificationType("$/progress")})(ProgressNotification||(ProgressNotification={}));var ProgressType=class{__;_pr;constructor(){}};exports.ProgressType=ProgressType;var StarRequestHandler;(function(StarRequestHandler2){function is(value){return Is3.func(value)}StarRequestHandler2.is=is})(StarRequestHandler||(StarRequestHandler={}));exports.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var Trace;(function(Trace2){Trace2[Trace2.Off=0]="Off",Trace2[Trace2.Messages=1]="Messages",Trace2[Trace2.Compact=2]="Compact",Trace2[Trace2.Verbose=3]="Verbose"})(Trace||(exports.Trace=Trace={}));var TraceValue;(function(TraceValue2){TraceValue2.Off="off",TraceValue2.Messages="messages",TraceValue2.Compact="compact",TraceValue2.Verbose="verbose"})(TraceValue||(exports.TraceValue=TraceValue={}));exports.TraceValues=TraceValue;(function(Trace2){function fromString(value){if(!Is3.string(value))return Trace2.Off;switch(value=value.toLowerCase(),value){case"off":return Trace2.Off;case"messages":return Trace2.Messages;case"compact":return Trace2.Compact;case"verbose":return Trace2.Verbose;default:return Trace2.Off}}Trace2.fromString=fromString;function toString(value){switch(value){case Trace2.Off:return"off";case Trace2.Messages:return"messages";case Trace2.Compact:return"compact";case Trace2.Verbose:return"verbose";default:return"off"}}Trace2.toString=toString})(Trace||(exports.Trace=Trace={}));var TraceFormat;(function(TraceFormat2){TraceFormat2.Text="text",TraceFormat2.JSON="json"})(TraceFormat||(exports.TraceFormat=TraceFormat={}));(function(TraceFormat2){function fromString(value){return Is3.string(value)?(value=value.toLowerCase(),value==="json"?TraceFormat2.JSON:TraceFormat2.Text):TraceFormat2.Text}TraceFormat2.fromString=fromString})(TraceFormat||(exports.TraceFormat=TraceFormat={}));var SetTraceNotification;(function(SetTraceNotification2){SetTraceNotification2.type=new messages_1.NotificationType("$/setTrace")})(SetTraceNotification||(exports.SetTraceNotification=SetTraceNotification={}));var LogTraceNotification;(function(LogTraceNotification2){LogTraceNotification2.type=new messages_1.NotificationType("$/logTrace")})(LogTraceNotification||(exports.LogTraceNotification=LogTraceNotification={}));var ConnectionErrors;(function(ConnectionErrors2){ConnectionErrors2[ConnectionErrors2.Closed=1]="Closed",ConnectionErrors2[ConnectionErrors2.Disposed=2]="Disposed",ConnectionErrors2[ConnectionErrors2.AlreadyListening=3]="AlreadyListening"})(ConnectionErrors||(exports.ConnectionErrors=ConnectionErrors={}));var ConnectionError=class _ConnectionError extends Error{code;constructor(code,message){super(message),this.code=code,Object.setPrototypeOf(this,_ConnectionError.prototype)}};exports.ConnectionError=ConnectionError;var ConnectionStrategy;(function(ConnectionStrategy2){function is(value){let candidate=value;return candidate&&Is3.func(candidate.cancelUndispatched)}ConnectionStrategy2.is=is})(ConnectionStrategy||(exports.ConnectionStrategy=ConnectionStrategy={}));var IdCancellationReceiverStrategy;(function(IdCancellationReceiverStrategy2){function is(value){let candidate=value;return candidate&&(candidate.kind===void 0||candidate.kind==="id")&&Is3.func(candidate.createCancellationTokenSource)&&(candidate.dispose===void 0||Is3.func(candidate.dispose))}IdCancellationReceiverStrategy2.is=is})(IdCancellationReceiverStrategy||(exports.IdCancellationReceiverStrategy=IdCancellationReceiverStrategy={}));var RequestCancellationReceiverStrategy;(function(RequestCancellationReceiverStrategy2){function is(value){let candidate=value;return candidate&&candidate.kind==="request"&&Is3.func(candidate.createCancellationTokenSource)&&(candidate.dispose===void 0||Is3.func(candidate.dispose))}RequestCancellationReceiverStrategy2.is=is})(RequestCancellationReceiverStrategy||(exports.RequestCancellationReceiverStrategy=RequestCancellationReceiverStrategy={}));var CancellationReceiverStrategy;(function(CancellationReceiverStrategy2){CancellationReceiverStrategy2.Message=Object.freeze({createCancellationTokenSource(_){return new cancellation_1.CancellationTokenSource}});function is(value){return IdCancellationReceiverStrategy.is(value)||RequestCancellationReceiverStrategy.is(value)}CancellationReceiverStrategy2.is=is})(CancellationReceiverStrategy||(exports.CancellationReceiverStrategy=CancellationReceiverStrategy={}));var CancellationSenderStrategy;(function(CancellationSenderStrategy2){CancellationSenderStrategy2.Message=Object.freeze({sendCancellation(conn,id){return conn.sendNotification(CancelNotification.type,{id})},cleanup(_){}});function is(value){let candidate=value;return candidate&&Is3.func(candidate.sendCancellation)&&Is3.func(candidate.cleanup)}CancellationSenderStrategy2.is=is})(CancellationSenderStrategy||(exports.CancellationSenderStrategy=CancellationSenderStrategy={}));var CancellationStrategy;(function(CancellationStrategy2){CancellationStrategy2.Message=Object.freeze({receiver:CancellationReceiverStrategy.Message,sender:CancellationSenderStrategy.Message});function is(value){let candidate=value;return candidate&&CancellationReceiverStrategy.is(candidate.receiver)&&CancellationSenderStrategy.is(candidate.sender)}CancellationStrategy2.is=is})(CancellationStrategy||(exports.CancellationStrategy=CancellationStrategy={}));var MessageStrategy;(function(MessageStrategy2){function is(value){let candidate=value;return candidate&&Is3.func(candidate.handleMessage)}MessageStrategy2.is=is})(MessageStrategy||(exports.MessageStrategy=MessageStrategy={}));var ConnectionOptions;(function(ConnectionOptions2){function is(value){let candidate=value;return candidate&&(CancellationStrategy.is(candidate.cancellationStrategy)||ConnectionStrategy.is(candidate.connectionStrategy)||MessageStrategy.is(candidate.messageStrategy)||Is3.number(candidate.maxParallelism))}ConnectionOptions2.is=is})(ConnectionOptions||(exports.ConnectionOptions=ConnectionOptions={}));var ConnectionState;(function(ConnectionState2){ConnectionState2[ConnectionState2.New=1]="New",ConnectionState2[ConnectionState2.Listening=2]="Listening",ConnectionState2[ConnectionState2.Closed=3]="Closed",ConnectionState2[ConnectionState2.Disposed=4]="Disposed"})(ConnectionState||(ConnectionState={}));function createMessageConnection(messageReader,messageWriter,_logger,options){let logger=_logger!==void 0?_logger:exports.NullLogger,sequenceNumber=0,notificationSequenceNumber=0,unknownResponseSequenceNumber=0,version="2.0",maxParallelism=options?.maxParallelism??-1,inFlight=0,starRequestHandler,requestHandlers=new Map,starNotificationHandler,notificationHandlers=new Map,progressHandlers=new Map,timer,messageQueue=new linkedMap_1.LinkedMap,responsePromises=new Map,knownCanceledRequests=new Set,requestTokens=new Map,trace=Trace.Off,traceFormat=TraceFormat.Text,tracer,state=ConnectionState.New,errorEmitter=new events_1.Emitter,closeEmitter=new events_1.Emitter,unhandledNotificationEmitter=new events_1.Emitter,unhandledProgressEmitter=new events_1.Emitter,disposeEmitter=new events_1.Emitter,cancellationStrategy=options&&options.cancellationStrategy?options.cancellationStrategy:CancellationStrategy.Message;function cancelUndispatched(_message){}function isListening(){return state===ConnectionState.Listening}function isClosed(){return state===ConnectionState.Closed}function isDisposed(){return state===ConnectionState.Disposed}function closeHandler(){(state===ConnectionState.New||state===ConnectionState.Listening)&&(state=ConnectionState.Closed,closeEmitter.fire(void 0))}function readErrorHandler(error){errorEmitter.fire([error,void 0,void 0])}function writeErrorHandler(data){errorEmitter.fire(data)}messageReader.onClose(closeHandler),messageReader.onError(readErrorHandler),messageWriter.onClose(closeHandler),messageWriter.onError(writeErrorHandler);function createRequestQueueKey(id){if(id===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+id.toString()}function createResponseQueueKey(id){return id===null?"res-unknown-"+(++unknownResponseSequenceNumber).toString():"res-"+id.toString()}function createNotificationQueueKey(){return"not-"+(++notificationSequenceNumber).toString()}function addMessageToQueue(queue,message){messages_1.Message.isRequest(message)?queue.set(createRequestQueueKey(message.id),message):messages_1.Message.isResponse(message)?maxParallelism===-1?queue.set(createResponseQueueKey(message.id),message):handleResponse(message):queue.set(createNotificationQueueKey(),message)}function triggerMessageQueue(){timer||messageQueue.size===0||maxParallelism!==-1&&inFlight>=maxParallelism||(timer=(0,ral_1.default)().timer.setImmediate(async()=>{if(timer=void 0,messageQueue.size===0||maxParallelism!==-1&&inFlight>=maxParallelism)return;let message=messageQueue.shift(),result;try{inFlight++;let messageStrategy=options?.messageStrategy;MessageStrategy.is(messageStrategy)?result=messageStrategy.handleMessage(message,handleMessage):result=handleMessage(message)}catch(error){logger.error(`Processing message queue failed: ${error.toString()}`)}finally{result instanceof Promise?result.then(()=>{inFlight--,triggerMessageQueue()}).catch(error=>{logger.error(`Processing message queue failed: ${error.toString()}`)}):inFlight--,triggerMessageQueue()}}))}async function handleMessage(message){return messages_1.Message.isRequest(message)?handleRequest(message):messages_1.Message.isNotification(message)?handleNotification(message):messages_1.Message.isResponse(message)?handleResponse(message):handleInvalidMessage(message)}let callback=message=>{try{if(messages_1.Message.isNotification(message)&&message.method===CancelNotification.type.method){let cancelId=message.params.id,key=createRequestQueueKey(cancelId),toCancel=messageQueue.get(key);if(messages_1.Message.isRequest(toCancel)){let strategy=options?.connectionStrategy,response=strategy&&strategy.cancelUndispatched?strategy.cancelUndispatched(toCancel,cancelUndispatched):void 0;if(response&&(response.error!==void 0||response.result!==void 0)){messageQueue.delete(key),requestTokens.delete(cancelId),response.id=toCancel.id,traceSendingResponse(response,message.method,Date.now()),messageWriter.write(response).catch(()=>logger.error("Sending response for canceled message failed."));return}}let cancellationToken=requestTokens.get(cancelId);if(cancellationToken!==void 0){cancellationToken.cancel(),traceReceivedNotification(message);return}else knownCanceledRequests.add(cancelId)}addMessageToQueue(messageQueue,message)}finally{triggerMessageQueue()}};async function handleRequest(requestMessage){if(isDisposed())return Promise.resolve();function reply(resultOrError,method,startTime2){let message={jsonrpc:version,id:requestMessage.id};return resultOrError instanceof messages_1.ResponseError?message.error=resultOrError.toJson():message.result=resultOrError===void 0?null:resultOrError,traceSendingResponse(message,method,startTime2),messageWriter.write(message)}function replyError(error,method,startTime2){let message={jsonrpc:version,id:requestMessage.id,error:error.toJson()};return traceSendingResponse(message,method,startTime2),messageWriter.write(message)}traceReceivedRequest(requestMessage);let element=requestHandlers.get(requestMessage.method),type,requestHandler;element&&(type=element.type,requestHandler=element.handler);let startTime=Date.now();if(requestHandler||starRequestHandler){let tokenKey=requestMessage.id??String(Date.now()),cancellationSource=IdCancellationReceiverStrategy.is(cancellationStrategy.receiver)?cancellationStrategy.receiver.createCancellationTokenSource(tokenKey):cancellationStrategy.receiver.createCancellationTokenSource(requestMessage);requestMessage.id!==null&&knownCanceledRequests.has(requestMessage.id)&&cancellationSource.cancel(),requestMessage.id!==null&&requestTokens.set(tokenKey,cancellationSource);try{let handlerResult;if(requestHandler)if(requestMessage.params===void 0){if(type!==void 0&&type.numberOfParams!==0)return replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InvalidParams,`Request ${requestMessage.method} defines ${type.numberOfParams} params but received none.`),requestMessage.method,startTime);handlerResult=requestHandler(cancellationSource.token)}else if(Array.isArray(requestMessage.params)){if(type!==void 0&&type.parameterStructures===messages_1.ParameterStructures.byName)return replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InvalidParams,`Request ${requestMessage.method} defines parameters by name but received parameters by position`),requestMessage.method,startTime);handlerResult=requestHandler(...requestMessage.params,cancellationSource.token)}else{if(type!==void 0&&type.parameterStructures===messages_1.ParameterStructures.byPosition)return replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InvalidParams,`Request ${requestMessage.method} defines parameters by position but received parameters by name`),requestMessage.method,startTime);handlerResult=requestHandler(requestMessage.params,cancellationSource.token)}else starRequestHandler&&(handlerResult=starRequestHandler(requestMessage.method,requestMessage.params,cancellationSource.token));let resultOrError=await handlerResult;await reply(resultOrError,requestMessage.method,startTime)}catch(error){error instanceof messages_1.ResponseError?await reply(error,requestMessage.method,startTime):error&&Is3.string(error.message)?await replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InternalError,`Request ${requestMessage.method} failed with message: ${error.message}`),requestMessage.method,startTime):await replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InternalError,`Request ${requestMessage.method} failed unexpectedly without providing any details.`),requestMessage.method,startTime)}finally{requestTokens.delete(tokenKey)}}else await replyError(new messages_1.ResponseError(messages_1.ErrorCodes.MethodNotFound,`Unhandled method ${requestMessage.method}`),requestMessage.method,startTime)}function handleResponse(responseMessage){if(!isDisposed())if(responseMessage.id===null)responseMessage.error?logger.error(`Received response message without id: Error is:
|
|
6
|
+
${JSON.stringify(responseMessage.error,void 0,4)}`):logger.error("Received response message without id. No further error information provided.");else{let key=responseMessage.id,responsePromise=responsePromises.get(key);if(traceReceivedResponse(responseMessage,responsePromise),responsePromise!==void 0){responsePromises.delete(key);try{if(responseMessage.error){let error=responseMessage.error;responsePromise.reject(new messages_1.ResponseError(error.code,error.message,error.data))}else if(responseMessage.result!==void 0)responsePromise.resolve(responseMessage.result);else throw new Error("Should never happen.")}catch(error){error.message?logger.error(`Response handler '${responsePromise.method}' failed with message: ${error.message}`):logger.error(`Response handler '${responsePromise.method}' failed unexpectedly.`)}}}}async function handleNotification(message){if(isDisposed())return;let type,notificationHandler;if(message.method===CancelNotification.type.method){let cancelId=message.params.id;knownCanceledRequests.delete(cancelId),traceReceivedNotification(message);return}else{let element=notificationHandlers.get(message.method);element&&(notificationHandler=element.handler,type=element.type)}if(notificationHandler||starNotificationHandler)try{if(traceReceivedNotification(message),notificationHandler)if(message.params===void 0)type!==void 0&&type.numberOfParams!==0&&type.parameterStructures!==messages_1.ParameterStructures.byName&&logger.error(`Notification ${message.method} defines ${type.numberOfParams} params but received none.`),await notificationHandler();else if(Array.isArray(message.params)){let params=message.params;message.method===ProgressNotification.type.method&¶ms.length===2&&ProgressToken.is(params[0])?await notificationHandler({token:params[0],value:params[1]}):(type!==void 0&&(type.parameterStructures===messages_1.ParameterStructures.byName&&logger.error(`Notification ${message.method} defines parameters by name but received parameters by position`),type.numberOfParams!==message.params.length&&logger.error(`Notification ${message.method} defines ${type.numberOfParams} params but received ${params.length} arguments`)),await notificationHandler(...params))}else type!==void 0&&type.parameterStructures===messages_1.ParameterStructures.byPosition&&logger.error(`Notification ${message.method} defines parameters by position but received parameters by name`),await notificationHandler(message.params);else starNotificationHandler&&await starNotificationHandler(message.method,message.params)}catch(error){error.message?logger.error(`Notification handler '${message.method}' failed with message: ${error.message}`):logger.error(`Notification handler '${message.method}' failed unexpectedly.`)}else unhandledNotificationEmitter.fire(message)}function handleInvalidMessage(message){if(!message){logger.error("Received empty message.");return}logger.error(`Received message which is neither a response nor a notification message:
|
|
7
|
+
${JSON.stringify(message,null,4)}`);let responseMessage=message;if(Is3.string(responseMessage.id)||Is3.number(responseMessage.id)){let key=responseMessage.id,responseHandler=responsePromises.get(key);responseHandler&&responseHandler.reject(new Error("The received response has neither a result nor an error property."))}}function stringifyTrace(params){if(params!=null)switch(trace){case Trace.Verbose:return JSON.stringify(params,null,4);case Trace.Compact:return JSON.stringify(params);default:return}}function traceSendingRequest(message){if(!(trace===Trace.Off||!tracer))if(traceFormat===TraceFormat.Text){let data;(trace===Trace.Verbose||trace===Trace.Compact)&&message.params&&(data=`Params: ${stringifyTrace(message.params)}`),tracer.log(`Sending request '${message.method} - (${message.id})'.`,data)}else logLSPMessage("send-request",message)}function traceSendingNotification(message){if(!(trace===Trace.Off||!tracer))if(traceFormat===TraceFormat.Text){let data;(trace===Trace.Verbose||trace===Trace.Compact)&&(message.params?data=`Params: ${stringifyTrace(message.params)}`:data="No parameters provided."),tracer.log(`Sending notification '${message.method}'.`,data)}else logLSPMessage("send-notification",message)}function traceSendingResponse(message,method,startTime){if(!(trace===Trace.Off||!tracer))if(traceFormat===TraceFormat.Text){let data;(trace===Trace.Verbose||trace===Trace.Compact)&&(message.error&&message.error.data?data=`Error data: ${stringifyTrace(message.error.data)}`:message.result?data=`Result: ${stringifyTrace(message.result)}`:message.error===void 0&&(data="No result returned.")),tracer.log(`Sending response '${method} - (${message.id})'. Processing request took ${Date.now()-startTime}ms`,data)}else logLSPMessage("send-response",message)}function traceReceivedRequest(message){if(!(trace===Trace.Off||!tracer))if(traceFormat===TraceFormat.Text){let data;(trace===Trace.Verbose||trace===Trace.Compact)&&message.params&&(data=`Params: ${stringifyTrace(message.params)}`),tracer.log(`Received request '${message.method} - (${message.id})'.`,data)}else logLSPMessage("receive-request",message)}function traceReceivedNotification(message){if(!(trace===Trace.Off||!tracer||message.method===LogTraceNotification.type.method))if(traceFormat===TraceFormat.Text){let data;(trace===Trace.Verbose||trace===Trace.Compact)&&(message.params?data=`Params: ${stringifyTrace(message.params)}`:data="No parameters provided."),tracer.log(`Received notification '${message.method}'.`,data)}else logLSPMessage("receive-notification",message)}function traceReceivedResponse(message,responsePromise){if(!(trace===Trace.Off||!tracer))if(traceFormat===TraceFormat.Text){let data;if((trace===Trace.Verbose||trace===Trace.Compact)&&(message.error&&message.error.data?data=`Error data: ${stringifyTrace(message.error.data)}`:message.result?data=`Result: ${stringifyTrace(message.result)}`:message.error===void 0&&(data="No result returned.")),responsePromise){let error=message.error?` Request failed: ${message.error.message} (${message.error.code}).`:"";tracer.log(`Received response '${responsePromise.method} - (${message.id})' in ${Date.now()-responsePromise.timerStart}ms.${error}`,data)}else tracer.log(`Received response ${message.id} without active response promise.`,data)}else logLSPMessage("receive-response",message)}function logLSPMessage(type,message){if(!tracer||trace===Trace.Off)return;let lspMessage={isLSPMessage:!0,type,message,timestamp:Date.now()};tracer.log(lspMessage)}function throwIfClosedOrDisposed(){if(isClosed())throw new ConnectionError(ConnectionErrors.Closed,"Connection is closed.");if(isDisposed())throw new ConnectionError(ConnectionErrors.Disposed,"Connection is disposed.")}function throwIfListening(){if(isListening())throw new ConnectionError(ConnectionErrors.AlreadyListening,"Connection is already listening")}function throwIfNotListening(){if(!isListening())throw new Error("Call listen() first.")}function undefinedToNull(param){return param===void 0?null:param}function nullToUndefined(param){if(param!==null)return param}function isNamedParam(param){return param!=null&&!Array.isArray(param)&&typeof param=="object"}function computeSingleParam(parameterStructures,param){switch(parameterStructures){case messages_1.ParameterStructures.auto:return isNamedParam(param)?nullToUndefined(param):[undefinedToNull(param)];case messages_1.ParameterStructures.byName:if(!isNamedParam(param))throw new Error("Received parameters by name but param is not an object literal.");return nullToUndefined(param);case messages_1.ParameterStructures.byPosition:return[undefinedToNull(param)];default:throw new Error(`Unknown parameter structure ${parameterStructures.toString()}`)}}function computeMessageParams(type,params){let result,numberOfParams=type.numberOfParams;switch(numberOfParams){case 0:result=void 0;break;case 1:result=computeSingleParam(type.parameterStructures,params[0]);break;default:result=[];for(let i=0;i<params.length&&i<numberOfParams;i++)result.push(undefinedToNull(params[i]));if(params.length<numberOfParams)for(let i=params.length;i<numberOfParams;i++)result.push(null);break}return result}let connection2={sendNotification:(type,...args)=>{throwIfClosedOrDisposed();let method,messageParams;if(Is3.string(type)){method=type;let first=args[0],paramStart=0,parameterStructures=messages_1.ParameterStructures.auto;messages_1.ParameterStructures.is(first)&&(paramStart=1,parameterStructures=first);let paramEnd=args.length,numberOfParams=paramEnd-paramStart;switch(numberOfParams){case 0:messageParams=void 0;break;case 1:messageParams=computeSingleParam(parameterStructures,args[paramStart]);break;default:if(parameterStructures===messages_1.ParameterStructures.byName)throw new Error(`Received ${numberOfParams} parameters for 'by Name' notification parameter structure.`);messageParams=args.slice(paramStart,paramEnd).map(value=>undefinedToNull(value));break}}else{let params=args;method=type.method,messageParams=computeMessageParams(type,params)}let notificationMessage={jsonrpc:version,method,params:messageParams};return traceSendingNotification(notificationMessage),messageWriter.write(notificationMessage).catch(error=>{throw logger.error("Sending notification failed."),error})},onNotification:(type,handler)=>{throwIfClosedOrDisposed();let method;return Is3.func(type)?starNotificationHandler=type:handler&&(Is3.string(type)?(method=type,notificationHandlers.set(type,{type:void 0,handler})):(method=type.method,notificationHandlers.set(type.method,{type,handler}))),{dispose:()=>{method!==void 0?notificationHandlers.get(method)?.handler===handler&¬ificationHandlers.delete(method):starNotificationHandler===type&&(starNotificationHandler=void 0)}}},onProgress:(_type,token,handler)=>{if(progressHandlers.has(token))throw new Error(`Progress handler for token ${token} already registered`);return progressHandlers.set(token,handler),{dispose:()=>{progressHandlers.get(token)===handler&&progressHandlers.delete(token)}}},sendProgress:(_type,token,value)=>connection2.sendNotification(ProgressNotification.type,{token,value}),onUnhandledProgress:unhandledProgressEmitter.event,sendRequest:(type,...args)=>{throwIfClosedOrDisposed(),throwIfNotListening();function sendCancellation(connection3,id2){let p=cancellationStrategy.sender.sendCancellation(connection3,id2);p===void 0?logger.log(`Received no promise from cancellation strategy when cancelling id ${id2}`):p.catch(()=>{logger.log(`Sending cancellation messages for id ${id2} failed.`)})}let method,messageParams,token;if(Is3.string(type)){method=type;let first=args[0],last=args[args.length-1],paramStart=0,parameterStructures=messages_1.ParameterStructures.auto;messages_1.ParameterStructures.is(first)&&(paramStart=1,parameterStructures=first);let paramEnd=args.length;cancellation_1.CancellationToken.is(last)&&(paramEnd=paramEnd-1,token=last);let numberOfParams=paramEnd-paramStart;switch(numberOfParams){case 0:messageParams=void 0;break;case 1:messageParams=computeSingleParam(parameterStructures,args[paramStart]);break;default:if(parameterStructures===messages_1.ParameterStructures.byName)throw new Error(`Received ${numberOfParams} parameters for 'by Name' request parameter structure.`);messageParams=args.slice(paramStart,paramEnd).map(value=>undefinedToNull(value));break}}else{let params=args;method=type.method,messageParams=computeMessageParams(type,params);let numberOfParams=type.numberOfParams;token=cancellation_1.CancellationToken.is(params[numberOfParams])?params[numberOfParams]:void 0}let id=sequenceNumber++,disposable,tokenWasCancelled=!1;token!==void 0&&(token.isCancellationRequested?tokenWasCancelled=!0:disposable=token.onCancellationRequested(()=>{sendCancellation(connection2,id)}));let requestMessage={jsonrpc:version,id,method,params:messageParams};return traceSendingRequest(requestMessage),typeof cancellationStrategy.sender.enableCancellation=="function"&&cancellationStrategy.sender.enableCancellation(requestMessage),new Promise(async(resolve,reject)=>{let resolveWithCleanup=r=>{resolve(r),cancellationStrategy.sender.cleanup(id),disposable?.dispose()},rejectWithCleanup=r=>{reject(r),cancellationStrategy.sender.cleanup(id),disposable?.dispose()},responsePromise={method,timerStart:Date.now(),resolve:resolveWithCleanup,reject:rejectWithCleanup};try{responsePromises.set(id,responsePromise),await messageWriter.write(requestMessage),tokenWasCancelled&&sendCancellation(connection2,id)}catch(error){throw responsePromises.delete(id),responsePromise.reject(new messages_1.ResponseError(messages_1.ErrorCodes.MessageWriteError,error.message?error.message:"Unknown reason")),logger.error("Sending request failed."),error}})},onRequest:(type,handler)=>{throwIfClosedOrDisposed();let method=null;return StarRequestHandler.is(type)?(method=void 0,starRequestHandler=type):Is3.string(type)?(method=null,handler!==void 0&&(method=type,requestHandlers.set(type,{handler,type:void 0}))):handler!==void 0&&(method=type.method,requestHandlers.set(type.method,{type,handler})),{dispose:()=>{method!==null&&(method!==void 0?requestHandlers.get(method)?.handler===handler&&requestHandlers.delete(method):starRequestHandler===type&&(starRequestHandler=void 0))}}},hasPendingResponse:()=>responsePromises.size>0,trace:async(_value,_tracer,sendNotificationOrTraceOptions)=>{let _sendNotification=!1,_traceFormat=TraceFormat.Text;sendNotificationOrTraceOptions!==void 0&&(Is3.boolean(sendNotificationOrTraceOptions)?_sendNotification=sendNotificationOrTraceOptions:(_sendNotification=sendNotificationOrTraceOptions.sendNotification||!1,_traceFormat=sendNotificationOrTraceOptions.traceFormat||TraceFormat.Text)),trace=_value,traceFormat=_traceFormat,trace===Trace.Off?tracer=void 0:tracer=_tracer,_sendNotification&&!isClosed()&&!isDisposed()&&await connection2.sendNotification(SetTraceNotification.type,{value:Trace.toString(_value)})},onError:errorEmitter.event,onClose:closeEmitter.event,onUnhandledNotification:unhandledNotificationEmitter.event,onDispose:disposeEmitter.event,end:()=>{messageWriter.end()},dispose:()=>{if(isDisposed())return;state=ConnectionState.Disposed,disposeEmitter.fire(void 0);let error=new messages_1.ResponseError(messages_1.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let promise of responsePromises.values())promise.reject(error);responsePromises=new Map,requestTokens=new Map,knownCanceledRequests=new Set,messageQueue=new linkedMap_1.LinkedMap,Is3.func(messageWriter.dispose)&&messageWriter.dispose(),Is3.func(messageReader.dispose)&&messageReader.dispose()},listen:()=>{throwIfClosedOrDisposed(),throwIfListening(),state=ConnectionState.Listening,messageReader.listen(callback)},inspect:()=>{(0,ral_1.default)().console.log("inspect")}};return connection2.onNotification(LogTraceNotification.type,params=>{if(trace===Trace.Off||!tracer)return;let verbose=trace===Trace.Verbose||trace===Trace.Compact;tracer.log(params.message,verbose?params.verbose:void 0)}),connection2.onNotification(ProgressNotification.type,async params=>{let handler=progressHandlers.get(params.token);handler?await handler(params.value):unhandledProgressEmitter.fire(params)}),connection2}}});var require_api=__commonJS({"node_modules/vscode-jsonrpc/lib/common/api.js"(exports){"use strict";var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});exports.ProgressType=exports.ProgressToken=exports.createMessageConnection=exports.NullLogger=exports.ConnectionOptions=exports.ConnectionStrategy=exports.AbstractMessageBuffer=exports.WriteableStreamMessageWriter=exports.AbstractMessageWriter=exports.MessageWriter=exports.ReadableStreamMessageReader=exports.AbstractMessageReader=exports.MessageReader=exports.SharedArrayReceiverStrategy=exports.SharedArraySenderStrategy=exports.CancellationToken=exports.CancellationTokenSource=exports.Emitter=exports.Event=exports.Disposable=exports.LRUCache=exports.Touch=exports.LinkedMap=exports.ParameterStructures=exports.NotificationType9=exports.NotificationType8=exports.NotificationType7=exports.NotificationType6=exports.NotificationType5=exports.NotificationType4=exports.NotificationType3=exports.NotificationType2=exports.NotificationType1=exports.NotificationType0=exports.NotificationType=exports.ErrorCodes=exports.ResponseError=exports.RequestType9=exports.RequestType8=exports.RequestType7=exports.RequestType6=exports.RequestType5=exports.RequestType4=exports.RequestType3=exports.RequestType2=exports.RequestType1=exports.RequestType0=exports.RequestType=exports.Message=exports.RAL=void 0;exports.MessageStrategy=exports.CancellationStrategy=exports.CancellationSenderStrategy=exports.RequestCancellationReceiverStrategy=exports.IdCancellationReceiverStrategy=exports.CancellationReceiverStrategy=exports.ConnectionError=exports.ConnectionErrors=exports.LogTraceNotification=exports.SetTraceNotification=exports.TraceFormat=exports.TraceValues=exports.TraceValue=exports.Trace=void 0;var messages_1=require_messages();Object.defineProperty(exports,"Message",{enumerable:!0,get:function(){return messages_1.Message}});Object.defineProperty(exports,"RequestType",{enumerable:!0,get:function(){return messages_1.RequestType}});Object.defineProperty(exports,"RequestType0",{enumerable:!0,get:function(){return messages_1.RequestType0}});Object.defineProperty(exports,"RequestType1",{enumerable:!0,get:function(){return messages_1.RequestType1}});Object.defineProperty(exports,"RequestType2",{enumerable:!0,get:function(){return messages_1.RequestType2}});Object.defineProperty(exports,"RequestType3",{enumerable:!0,get:function(){return messages_1.RequestType3}});Object.defineProperty(exports,"RequestType4",{enumerable:!0,get:function(){return messages_1.RequestType4}});Object.defineProperty(exports,"RequestType5",{enumerable:!0,get:function(){return messages_1.RequestType5}});Object.defineProperty(exports,"RequestType6",{enumerable:!0,get:function(){return messages_1.RequestType6}});Object.defineProperty(exports,"RequestType7",{enumerable:!0,get:function(){return messages_1.RequestType7}});Object.defineProperty(exports,"RequestType8",{enumerable:!0,get:function(){return messages_1.RequestType8}});Object.defineProperty(exports,"RequestType9",{enumerable:!0,get:function(){return messages_1.RequestType9}});Object.defineProperty(exports,"ResponseError",{enumerable:!0,get:function(){return messages_1.ResponseError}});Object.defineProperty(exports,"ErrorCodes",{enumerable:!0,get:function(){return messages_1.ErrorCodes}});Object.defineProperty(exports,"NotificationType",{enumerable:!0,get:function(){return messages_1.NotificationType}});Object.defineProperty(exports,"NotificationType0",{enumerable:!0,get:function(){return messages_1.NotificationType0}});Object.defineProperty(exports,"NotificationType1",{enumerable:!0,get:function(){return messages_1.NotificationType1}});Object.defineProperty(exports,"NotificationType2",{enumerable:!0,get:function(){return messages_1.NotificationType2}});Object.defineProperty(exports,"NotificationType3",{enumerable:!0,get:function(){return messages_1.NotificationType3}});Object.defineProperty(exports,"NotificationType4",{enumerable:!0,get:function(){return messages_1.NotificationType4}});Object.defineProperty(exports,"NotificationType5",{enumerable:!0,get:function(){return messages_1.NotificationType5}});Object.defineProperty(exports,"NotificationType6",{enumerable:!0,get:function(){return messages_1.NotificationType6}});Object.defineProperty(exports,"NotificationType7",{enumerable:!0,get:function(){return messages_1.NotificationType7}});Object.defineProperty(exports,"NotificationType8",{enumerable:!0,get:function(){return messages_1.NotificationType8}});Object.defineProperty(exports,"NotificationType9",{enumerable:!0,get:function(){return messages_1.NotificationType9}});Object.defineProperty(exports,"ParameterStructures",{enumerable:!0,get:function(){return messages_1.ParameterStructures}});var linkedMap_1=require_linkedMap();Object.defineProperty(exports,"LinkedMap",{enumerable:!0,get:function(){return linkedMap_1.LinkedMap}});Object.defineProperty(exports,"LRUCache",{enumerable:!0,get:function(){return linkedMap_1.LRUCache}});Object.defineProperty(exports,"Touch",{enumerable:!0,get:function(){return linkedMap_1.Touch}});var disposable_1=require_disposable();Object.defineProperty(exports,"Disposable",{enumerable:!0,get:function(){return disposable_1.Disposable}});var events_1=require_events();Object.defineProperty(exports,"Event",{enumerable:!0,get:function(){return events_1.Event}});Object.defineProperty(exports,"Emitter",{enumerable:!0,get:function(){return events_1.Emitter}});var cancellation_1=require_cancellation();Object.defineProperty(exports,"CancellationTokenSource",{enumerable:!0,get:function(){return cancellation_1.CancellationTokenSource}});Object.defineProperty(exports,"CancellationToken",{enumerable:!0,get:function(){return cancellation_1.CancellationToken}});var sharedArrayCancellation_1=require_sharedArrayCancellation();Object.defineProperty(exports,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return sharedArrayCancellation_1.SharedArraySenderStrategy}});Object.defineProperty(exports,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return sharedArrayCancellation_1.SharedArrayReceiverStrategy}});var messageReader_1=require_messageReader();Object.defineProperty(exports,"MessageReader",{enumerable:!0,get:function(){return messageReader_1.MessageReader}});Object.defineProperty(exports,"AbstractMessageReader",{enumerable:!0,get:function(){return messageReader_1.AbstractMessageReader}});Object.defineProperty(exports,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return messageReader_1.ReadableStreamMessageReader}});var messageWriter_1=require_messageWriter();Object.defineProperty(exports,"MessageWriter",{enumerable:!0,get:function(){return messageWriter_1.MessageWriter}});Object.defineProperty(exports,"AbstractMessageWriter",{enumerable:!0,get:function(){return messageWriter_1.AbstractMessageWriter}});Object.defineProperty(exports,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return messageWriter_1.WriteableStreamMessageWriter}});var messageBuffer_1=require_messageBuffer();Object.defineProperty(exports,"AbstractMessageBuffer",{enumerable:!0,get:function(){return messageBuffer_1.AbstractMessageBuffer}});var connection_1=require_connection();Object.defineProperty(exports,"ConnectionStrategy",{enumerable:!0,get:function(){return connection_1.ConnectionStrategy}});Object.defineProperty(exports,"ConnectionOptions",{enumerable:!0,get:function(){return connection_1.ConnectionOptions}});Object.defineProperty(exports,"NullLogger",{enumerable:!0,get:function(){return connection_1.NullLogger}});Object.defineProperty(exports,"createMessageConnection",{enumerable:!0,get:function(){return connection_1.createMessageConnection}});Object.defineProperty(exports,"ProgressToken",{enumerable:!0,get:function(){return connection_1.ProgressToken}});Object.defineProperty(exports,"ProgressType",{enumerable:!0,get:function(){return connection_1.ProgressType}});Object.defineProperty(exports,"Trace",{enumerable:!0,get:function(){return connection_1.Trace}});Object.defineProperty(exports,"TraceValue",{enumerable:!0,get:function(){return connection_1.TraceValue}});Object.defineProperty(exports,"TraceFormat",{enumerable:!0,get:function(){return connection_1.TraceFormat}});Object.defineProperty(exports,"SetTraceNotification",{enumerable:!0,get:function(){return connection_1.SetTraceNotification}});Object.defineProperty(exports,"LogTraceNotification",{enumerable:!0,get:function(){return connection_1.LogTraceNotification}});Object.defineProperty(exports,"ConnectionErrors",{enumerable:!0,get:function(){return connection_1.ConnectionErrors}});Object.defineProperty(exports,"ConnectionError",{enumerable:!0,get:function(){return connection_1.ConnectionError}});Object.defineProperty(exports,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return connection_1.CancellationReceiverStrategy}});Object.defineProperty(exports,"IdCancellationReceiverStrategy",{enumerable:!0,get:function(){return connection_1.IdCancellationReceiverStrategy}});Object.defineProperty(exports,"RequestCancellationReceiverStrategy",{enumerable:!0,get:function(){return connection_1.RequestCancellationReceiverStrategy}});Object.defineProperty(exports,"CancellationSenderStrategy",{enumerable:!0,get:function(){return connection_1.CancellationSenderStrategy}});Object.defineProperty(exports,"CancellationStrategy",{enumerable:!0,get:function(){return connection_1.CancellationStrategy}});Object.defineProperty(exports,"MessageStrategy",{enumerable:!0,get:function(){return connection_1.MessageStrategy}});Object.defineProperty(exports,"TraceValues",{enumerable:!0,get:function(){return connection_1.TraceValues}});var ral_1=__importDefault(require_ral());exports.RAL=ral_1.default}});var main_exports={};__export(main_exports,{AnnotatedTextEdit:()=>AnnotatedTextEdit,ApplyKind:()=>ApplyKind,ChangeAnnotation:()=>ChangeAnnotation,ChangeAnnotationIdentifier:()=>ChangeAnnotationIdentifier,CodeAction:()=>CodeAction,CodeActionContext:()=>CodeActionContext,CodeActionKind:()=>CodeActionKind,CodeActionTag:()=>CodeActionTag,CodeActionTriggerKind:()=>CodeActionTriggerKind,CodeDescription:()=>CodeDescription,CodeLens:()=>CodeLens,Color:()=>Color,ColorInformation:()=>ColorInformation,ColorPresentation:()=>ColorPresentation,Command:()=>Command,CompletionItem:()=>CompletionItem,CompletionItemKind:()=>CompletionItemKind,CompletionItemLabelDetails:()=>CompletionItemLabelDetails,CompletionItemTag:()=>CompletionItemTag,CompletionList:()=>CompletionList,CreateFile:()=>CreateFile,DeleteFile:()=>DeleteFile,Diagnostic:()=>Diagnostic,DiagnosticRelatedInformation:()=>DiagnosticRelatedInformation,DiagnosticSeverity:()=>DiagnosticSeverity,DiagnosticTag:()=>DiagnosticTag,DocumentHighlight:()=>DocumentHighlight,DocumentHighlightKind:()=>DocumentHighlightKind,DocumentLink:()=>DocumentLink,DocumentSymbol:()=>DocumentSymbol,DocumentUri:()=>DocumentUri,EOL:()=>EOL,FoldingRange:()=>FoldingRange,FoldingRangeKind:()=>FoldingRangeKind,FormattingOptions:()=>FormattingOptions,Hover:()=>Hover,InlayHint:()=>InlayHint,InlayHintKind:()=>InlayHintKind,InlayHintLabelPart:()=>InlayHintLabelPart,InlineCompletionContext:()=>InlineCompletionContext,InlineCompletionItem:()=>InlineCompletionItem,InlineCompletionList:()=>InlineCompletionList,InlineCompletionTriggerKind:()=>InlineCompletionTriggerKind,InlineValueContext:()=>InlineValueContext,InlineValueEvaluatableExpression:()=>InlineValueEvaluatableExpression,InlineValueText:()=>InlineValueText,InlineValueVariableLookup:()=>InlineValueVariableLookup,InsertReplaceEdit:()=>InsertReplaceEdit,InsertTextFormat:()=>InsertTextFormat,InsertTextMode:()=>InsertTextMode,LanguageKind:()=>LanguageKind,Location:()=>Location,LocationLink:()=>LocationLink,MarkedString:()=>MarkedString,MarkupContent:()=>MarkupContent,MarkupKind:()=>MarkupKind,OptionalVersionedTextDocumentIdentifier:()=>OptionalVersionedTextDocumentIdentifier,ParameterInformation:()=>ParameterInformation,Position:()=>Position,Range:()=>Range,RenameFile:()=>RenameFile,SelectedCompletionInfo:()=>SelectedCompletionInfo,SelectionRange:()=>SelectionRange,SemanticTokenModifiers:()=>SemanticTokenModifiers,SemanticTokenTypes:()=>SemanticTokenTypes,SemanticTokens:()=>SemanticTokens,SignatureInformation:()=>SignatureInformation,SnippetTextEdit:()=>SnippetTextEdit,StringValue:()=>StringValue,SymbolInformation:()=>SymbolInformation,SymbolKind:()=>SymbolKind,SymbolTag:()=>SymbolTag,TextDocument:()=>TextDocument,TextDocumentEdit:()=>TextDocumentEdit,TextDocumentIdentifier:()=>TextDocumentIdentifier,TextDocumentItem:()=>TextDocumentItem,TextEdit:()=>TextEdit,URI:()=>URI,VersionedTextDocumentIdentifier:()=>VersionedTextDocumentIdentifier,WorkspaceChange:()=>WorkspaceChange,WorkspaceEdit:()=>WorkspaceEdit,WorkspaceFolder:()=>WorkspaceFolder,WorkspaceSymbol:()=>WorkspaceSymbol,integer:()=>integer,uinteger:()=>uinteger});var DocumentUri,URI,integer,uinteger,Position,Range,Location,LocationLink,Color,ColorInformation,ColorPresentation,FoldingRangeKind,FoldingRange,DiagnosticRelatedInformation,DiagnosticSeverity,DiagnosticTag,CodeDescription,Diagnostic,Command,TextEdit,ChangeAnnotation,ChangeAnnotationIdentifier,AnnotatedTextEdit,TextDocumentEdit,CreateFile,RenameFile,DeleteFile,WorkspaceEdit,TextEditChangeImpl,SnippetTextEdit,ChangeAnnotations,WorkspaceChange,TextDocumentIdentifier,VersionedTextDocumentIdentifier,OptionalVersionedTextDocumentIdentifier,LanguageKind,TextDocumentItem,MarkupKind,MarkupContent,CompletionItemKind,InsertTextFormat,CompletionItemTag,InsertReplaceEdit,InsertTextMode,ApplyKind,CompletionItemLabelDetails,CompletionItem,CompletionList,MarkedString,Hover,ParameterInformation,SignatureInformation,DocumentHighlightKind,DocumentHighlight,SymbolKind,SymbolTag,SymbolInformation,WorkspaceSymbol,DocumentSymbol,CodeActionKind,CodeActionTriggerKind,CodeActionContext,CodeActionTag,CodeAction,CodeLens,FormattingOptions,DocumentLink,SelectionRange,SemanticTokenTypes,SemanticTokenModifiers,SemanticTokens,InlineValueText,InlineValueVariableLookup,InlineValueEvaluatableExpression,InlineValueContext,InlayHintKind,InlayHintLabelPart,InlayHint,StringValue,InlineCompletionItem,InlineCompletionList,InlineCompletionTriggerKind,SelectedCompletionInfo,InlineCompletionContext,WorkspaceFolder,EOL,TextDocument,FullTextDocument,Is,init_main=__esm({"node_modules/vscode-languageserver-types/lib/esm/main.js"(){"use strict";(function(DocumentUri3){function is(value){return typeof value=="string"}DocumentUri3.is=is})(DocumentUri||(DocumentUri={}));(function(URI3){function is(value){return typeof value=="string"}URI3.is=is})(URI||(URI={}));(function(integer3){integer3.MIN_VALUE=-2147483648,integer3.MAX_VALUE=2147483647;function is(value){return typeof value=="number"&&integer3.MIN_VALUE<=value&&value<=integer3.MAX_VALUE}integer3.is=is})(integer||(integer={}));(function(uinteger3){uinteger3.MIN_VALUE=0,uinteger3.MAX_VALUE=2147483647;function is(value){return typeof value=="number"&&uinteger3.MIN_VALUE<=value&&value<=uinteger3.MAX_VALUE}uinteger3.is=is})(uinteger||(uinteger={}));(function(Position4){function create(line,character){return line===Number.MAX_VALUE&&(line=uinteger.MAX_VALUE),character===Number.MAX_VALUE&&(character=uinteger.MAX_VALUE),{line,character}}Position4.create=create;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Is.uinteger(candidate.line)&&Is.uinteger(candidate.character)}Position4.is=is})(Position||(Position={}));(function(Range4){function create(one,two,three,four){if(Is.uinteger(one)&&Is.uinteger(two)&&Is.uinteger(three)&&Is.uinteger(four))return{start:Position.create(one,two),end:Position.create(three,four)};if(Position.is(one)&&Position.is(two))return{start:one,end:two};throw new Error(`Range#create called with invalid arguments[${one}, ${two}, ${three}, ${four}]`)}Range4.create=create;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Position.is(candidate.start)&&Position.is(candidate.end)}Range4.is=is})(Range||(Range={}));(function(Location4){function create(uri,range){return{uri,range}}Location4.create=create;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Range.is(candidate.range)&&(Is.string(candidate.uri)||Is.undefined(candidate.uri))}Location4.is=is})(Location||(Location={}));(function(LocationLink3){function create(targetUri,targetRange,targetSelectionRange,originSelectionRange){return{targetUri,targetRange,targetSelectionRange,originSelectionRange}}LocationLink3.create=create;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Range.is(candidate.targetRange)&&Is.string(candidate.targetUri)&&Range.is(candidate.targetSelectionRange)&&(Range.is(candidate.originSelectionRange)||Is.undefined(candidate.originSelectionRange))}LocationLink3.is=is})(LocationLink||(LocationLink={}));(function(Color3){function create(red,green,blue,alpha){return{red,green,blue,alpha}}Color3.create=create;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Is.numberRange(candidate.red,0,1)&&Is.numberRange(candidate.green,0,1)&&Is.numberRange(candidate.blue,0,1)&&Is.numberRange(candidate.alpha,0,1)}Color3.is=is})(Color||(Color={}));(function(ColorInformation3){function create(range,color){return{range,color}}ColorInformation3.create=create;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Range.is(candidate.range)&&Color.is(candidate.color)}ColorInformation3.is=is})(ColorInformation||(ColorInformation={}));(function(ColorPresentation3){function create(label,textEdit,additionalTextEdits){return{label,textEdit,additionalTextEdits}}ColorPresentation3.create=create;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Is.string(candidate.label)&&(Is.undefined(candidate.textEdit)||TextEdit.is(candidate))&&(Is.undefined(candidate.additionalTextEdits)||Is.typedArray(candidate.additionalTextEdits,TextEdit.is))}ColorPresentation3.is=is})(ColorPresentation||(ColorPresentation={}));(function(FoldingRangeKind4){FoldingRangeKind4.Comment="comment",FoldingRangeKind4.Imports="imports",FoldingRangeKind4.Region="region"})(FoldingRangeKind||(FoldingRangeKind={}));(function(FoldingRange5){function create(startLine,endLine,startCharacter,endCharacter,kind,collapsedText){let result={startLine,endLine};return Is.defined(startCharacter)&&(result.startCharacter=startCharacter),Is.defined(endCharacter)&&(result.endCharacter=endCharacter),Is.defined(kind)&&(result.kind=kind),Is.defined(collapsedText)&&(result.collapsedText=collapsedText),result}FoldingRange5.create=create;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&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))}FoldingRange5.is=is})(FoldingRange||(FoldingRange={}));(function(DiagnosticRelatedInformation3){function create(location,message){return{location,message}}DiagnosticRelatedInformation3.create=create;function is(value){let candidate=value;return Is.defined(candidate)&&Location.is(candidate.location)&&Is.string(candidate.message)}DiagnosticRelatedInformation3.is=is})(DiagnosticRelatedInformation||(DiagnosticRelatedInformation={}));(function(DiagnosticSeverity7){DiagnosticSeverity7.Error=1,DiagnosticSeverity7.Warning=2,DiagnosticSeverity7.Information=3,DiagnosticSeverity7.Hint=4})(DiagnosticSeverity||(DiagnosticSeverity={}));(function(DiagnosticTag3){DiagnosticTag3.Unnecessary=1,DiagnosticTag3.Deprecated=2})(DiagnosticTag||(DiagnosticTag={}));(function(CodeDescription3){function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Is.string(candidate.href)}CodeDescription3.is=is})(CodeDescription||(CodeDescription={}));(function(Diagnostic7){function create(range,message,severity,code,source,relatedInformation){let result={range,message};return Is.defined(severity)&&(result.severity=severity),Is.defined(code)&&(result.code=code),Is.defined(source)&&(result.source=source),Is.defined(relatedInformation)&&(result.relatedInformation=relatedInformation),result}Diagnostic7.create=create;function is(value){var _a;let candidate=value;return Is.defined(candidate)&&Range.is(candidate.range)&&(Is.string(candidate.message)||MarkupContent.is(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((_a=candidate.codeDescription)===null||_a===void 0?void 0:_a.href))&&(Is.string(candidate.source)||Is.undefined(candidate.source))&&(Is.undefined(candidate.relatedInformation)||Is.typedArray(candidate.relatedInformation,DiagnosticRelatedInformation.is))}Diagnostic7.is=is;function is3_17(value){return Is.string(value.message)}Diagnostic7.is3_17=is3_17;function getMessageString(diagnostic){if(Is.string(diagnostic.message))return diagnostic.message;if(MarkupContent.is(diagnostic.message))return diagnostic.message.value;throw new Error(`Unknown message type ${typeof diagnostic.message}`)}Diagnostic7.getMessageString=getMessageString})(Diagnostic||(Diagnostic={}));(function(Command3){function create(title,command,...args){let result={title,command};return Is.defined(args)&&args.length>0&&(result.arguments=args),result}Command3.create=create;function is(value){let candidate=value;return Is.defined(candidate)&&Is.string(candidate.title)&&(candidate.tooltip===void 0||Is.string(candidate.tooltip))&&Is.string(candidate.command)}Command3.is=is})(Command||(Command={}));(function(TextEdit6){function replace(range,newText){return{range,newText}}TextEdit6.replace=replace;function insert(position,newText){return{range:{start:position,end:position},newText}}TextEdit6.insert=insert;function del(range){return{range,newText:""}}TextEdit6.del=del;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Is.string(candidate.newText)&&Range.is(candidate.range)}TextEdit6.is=is})(TextEdit||(TextEdit={}));(function(ChangeAnnotation3){function create(label,needsConfirmation,description){let result={label};return needsConfirmation!==void 0&&(result.needsConfirmation=needsConfirmation),description!==void 0&&(result.description=description),result}ChangeAnnotation3.create=create;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Is.string(candidate.label)&&(Is.boolean(candidate.needsConfirmation)||candidate.needsConfirmation===void 0)&&(Is.string(candidate.description)||candidate.description===void 0)}ChangeAnnotation3.is=is})(ChangeAnnotation||(ChangeAnnotation={}));(function(ChangeAnnotationIdentifier3){function is(value){let candidate=value;return Is.string(candidate)}ChangeAnnotationIdentifier3.is=is})(ChangeAnnotationIdentifier||(ChangeAnnotationIdentifier={}));(function(AnnotatedTextEdit3){function replace(range,newText,annotation){return{range,newText,annotationId:annotation}}AnnotatedTextEdit3.replace=replace;function insert(position,newText,annotation){return{range:{start:position,end:position},newText,annotationId:annotation}}AnnotatedTextEdit3.insert=insert;function del(range,annotation){return{range,newText:"",annotationId:annotation}}AnnotatedTextEdit3.del=del;function is(value){let candidate=value;return TextEdit.is(candidate)&&(ChangeAnnotation.is(candidate.annotationId)||ChangeAnnotationIdentifier.is(candidate.annotationId))}AnnotatedTextEdit3.is=is})(AnnotatedTextEdit||(AnnotatedTextEdit={}));(function(TextDocumentEdit3){function create(textDocument,edits){return{textDocument,edits}}TextDocumentEdit3.create=create;function is(value){let candidate=value;return Is.defined(candidate)&&OptionalVersionedTextDocumentIdentifier.is(candidate.textDocument)&&Array.isArray(candidate.edits)}TextDocumentEdit3.is=is})(TextDocumentEdit||(TextDocumentEdit={}));(function(CreateFile3){function create(uri,options,annotation){let result={kind:"create",uri};return options!==void 0&&(options.overwrite!==void 0||options.ignoreIfExists!==void 0)&&(result.options=options),annotation!==void 0&&(result.annotationId=annotation),result}CreateFile3.create=create;function is(value){let 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))}CreateFile3.is=is})(CreateFile||(CreateFile={}));(function(RenameFile3){function create(oldUri,newUri,options,annotation){let result={kind:"rename",oldUri,newUri};return options!==void 0&&(options.overwrite!==void 0||options.ignoreIfExists!==void 0)&&(result.options=options),annotation!==void 0&&(result.annotationId=annotation),result}RenameFile3.create=create;function is(value){let 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))}RenameFile3.is=is})(RenameFile||(RenameFile={}));(function(DeleteFile3){function create(uri,options,annotation){let result={kind:"delete",uri};return options!==void 0&&(options.recursive!==void 0||options.ignoreIfNotExists!==void 0)&&(result.options=options),annotation!==void 0&&(result.annotationId=annotation),result}DeleteFile3.create=create;function is(value){let 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))}DeleteFile3.is=is})(DeleteFile||(DeleteFile={}));(function(WorkspaceEdit5){function is(value){let candidate=value;return candidate&&(candidate.changes!==void 0||candidate.documentChanges!==void 0)&&(candidate.documentChanges===void 0||candidate.documentChanges.every(change=>Is.string(change.kind)?CreateFile.is(change)||RenameFile.is(change)||DeleteFile.is(change):TextDocumentEdit.is(change)))}WorkspaceEdit5.is=is})(WorkspaceEdit||(WorkspaceEdit={}));TextEditChangeImpl=class{constructor(edits,changeAnnotations){this.edits=edits,this.changeAnnotations=changeAnnotations}insert(position,newText,annotation){let edit,id;if(annotation===void 0?edit=TextEdit.insert(position,newText):ChangeAnnotationIdentifier.is(annotation)?(id=annotation,edit=AnnotatedTextEdit.insert(position,newText,annotation)):(this.assertChangeAnnotations(this.changeAnnotations),id=this.changeAnnotations.manage(annotation),edit=AnnotatedTextEdit.insert(position,newText,id)),this.edits.push(edit),id!==void 0)return id}replace(range,newText,annotation){let edit,id;if(annotation===void 0?edit=TextEdit.replace(range,newText):ChangeAnnotationIdentifier.is(annotation)?(id=annotation,edit=AnnotatedTextEdit.replace(range,newText,annotation)):(this.assertChangeAnnotations(this.changeAnnotations),id=this.changeAnnotations.manage(annotation),edit=AnnotatedTextEdit.replace(range,newText,id)),this.edits.push(edit),id!==void 0)return id}delete(range,annotation){let edit,id;if(annotation===void 0?edit=TextEdit.del(range):ChangeAnnotationIdentifier.is(annotation)?(id=annotation,edit=AnnotatedTextEdit.del(range,annotation)):(this.assertChangeAnnotations(this.changeAnnotations),id=this.changeAnnotations.manage(annotation),edit=AnnotatedTextEdit.del(range,id)),this.edits.push(edit),id!==void 0)return id}add(edit){this.edits.push(edit)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(value){if(value===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}};(function(SnippetTextEdit2){function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Range.is(candidate.range)&&StringValue.isSnippet(candidate.snippet)&&(candidate.annotationId===void 0||ChangeAnnotation.is(candidate.annotationId)||ChangeAnnotationIdentifier.is(candidate.annotationId))}SnippetTextEdit2.is=is})(SnippetTextEdit||(SnippetTextEdit={}));ChangeAnnotations=class{constructor(annotations){this._annotations=annotations===void 0?Object.create(null):annotations,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(idOrAnnotation,annotation){let id;if(ChangeAnnotationIdentifier.is(idOrAnnotation)?id=idOrAnnotation:(id=this.nextId(),annotation=idOrAnnotation),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}`);return this._annotations[id]=annotation,this._size++,id}nextId(){return this._counter++,this._counter.toString()}},WorkspaceChange=class{constructor(workspaceEdit){this._textEditChanges=Object.create(null),workspaceEdit!==void 0?(this._workspaceEdit=workspaceEdit,workspaceEdit.documentChanges?(this._changeAnnotations=new ChangeAnnotations(workspaceEdit.changeAnnotations),workspaceEdit.changeAnnotations=this._changeAnnotations.all(),workspaceEdit.documentChanges.forEach(change=>{if(TextDocumentEdit.is(change)){let textEditChange=new TextEditChangeImpl(change.edits,this._changeAnnotations);this._textEditChanges[change.textDocument.uri]=textEditChange}})):workspaceEdit.changes&&Object.keys(workspaceEdit.changes).forEach(key=>{let textEditChange=new TextEditChangeImpl(workspaceEdit.changes[key]);this._textEditChanges[key]=textEditChange})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(key){if(OptionalVersionedTextDocumentIdentifier.is(key)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let textDocument={uri:key.uri,version:key.version},result=this._textEditChanges[textDocument.uri];if(!result){let edits=[],textDocumentEdit={textDocument,edits};this._workspaceEdit.documentChanges.push(textDocumentEdit),result=new TextEditChangeImpl(edits,this._changeAnnotations),this._textEditChanges[textDocument.uri]=result}return result}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let result=this._textEditChanges[key];if(!result){let edits=[];this._workspaceEdit.changes[key]=edits,result=new TextEditChangeImpl(edits),this._textEditChanges[key]=result}return result}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new ChangeAnnotations,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(uri,optionsOrAnnotation,options){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let annotation;ChangeAnnotation.is(optionsOrAnnotation)||ChangeAnnotationIdentifier.is(optionsOrAnnotation)?annotation=optionsOrAnnotation:options=optionsOrAnnotation;let operation,id;if(annotation===void 0?operation=CreateFile.create(uri,options):(id=ChangeAnnotationIdentifier.is(annotation)?annotation:this._changeAnnotations.manage(annotation),operation=CreateFile.create(uri,options,id)),this._workspaceEdit.documentChanges.push(operation),id!==void 0)return id}renameFile(oldUri,newUri,optionsOrAnnotation,options){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let annotation;ChangeAnnotation.is(optionsOrAnnotation)||ChangeAnnotationIdentifier.is(optionsOrAnnotation)?annotation=optionsOrAnnotation:options=optionsOrAnnotation;let operation,id;if(annotation===void 0?operation=RenameFile.create(oldUri,newUri,options):(id=ChangeAnnotationIdentifier.is(annotation)?annotation:this._changeAnnotations.manage(annotation),operation=RenameFile.create(oldUri,newUri,options,id)),this._workspaceEdit.documentChanges.push(operation),id!==void 0)return id}deleteFile(uri,optionsOrAnnotation,options){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let annotation;ChangeAnnotation.is(optionsOrAnnotation)||ChangeAnnotationIdentifier.is(optionsOrAnnotation)?annotation=optionsOrAnnotation:options=optionsOrAnnotation;let operation,id;if(annotation===void 0?operation=DeleteFile.create(uri,options):(id=ChangeAnnotationIdentifier.is(annotation)?annotation:this._changeAnnotations.manage(annotation),operation=DeleteFile.create(uri,options,id)),this._workspaceEdit.documentChanges.push(operation),id!==void 0)return id}};(function(TextDocumentIdentifier3){function create(uri){return{uri}}TextDocumentIdentifier3.create=create;function is(value){let candidate=value;return Is.defined(candidate)&&Is.string(candidate.uri)}TextDocumentIdentifier3.is=is})(TextDocumentIdentifier||(TextDocumentIdentifier={}));(function(VersionedTextDocumentIdentifier3){function create(uri,version){return{uri,version}}VersionedTextDocumentIdentifier3.create=create;function is(value){let candidate=value;return Is.defined(candidate)&&Is.string(candidate.uri)&&Is.integer(candidate.version)}VersionedTextDocumentIdentifier3.is=is})(VersionedTextDocumentIdentifier||(VersionedTextDocumentIdentifier={}));(function(OptionalVersionedTextDocumentIdentifier3){function create(uri,version){return{uri,version}}OptionalVersionedTextDocumentIdentifier3.create=create;function is(value){let candidate=value;return Is.defined(candidate)&&Is.string(candidate.uri)&&(candidate.version===null||Is.integer(candidate.version))}OptionalVersionedTextDocumentIdentifier3.is=is})(OptionalVersionedTextDocumentIdentifier||(OptionalVersionedTextDocumentIdentifier={}));(function(LanguageKind2){LanguageKind2.ABAP="abap",LanguageKind2.WindowsBat="bat",LanguageKind2.BibTeX="bibtex",LanguageKind2.Clojure="clojure",LanguageKind2.Coffeescript="coffeescript",LanguageKind2.C="c",LanguageKind2.CPP="cpp",LanguageKind2.CSharp="csharp",LanguageKind2.CSS="css",LanguageKind2.D="d",LanguageKind2.Delphi="pascal",LanguageKind2.Diff="diff",LanguageKind2.Dart="dart",LanguageKind2.Dockerfile="dockerfile",LanguageKind2.Elixir="elixir",LanguageKind2.Erlang="erlang",LanguageKind2.FSharp="fsharp",LanguageKind2.GitCommit="git-commit",LanguageKind2.GitRebase="git-rebase",LanguageKind2.Go="go",LanguageKind2.Groovy="groovy",LanguageKind2.Handlebars="handlebars",LanguageKind2.Haskell="haskell",LanguageKind2.HTML="html",LanguageKind2.Ini="ini",LanguageKind2.Java="java",LanguageKind2.JavaScript="javascript",LanguageKind2.JavaScriptReact="javascriptreact",LanguageKind2.JSON="json",LanguageKind2.LaTeX="latex",LanguageKind2.Less="less",LanguageKind2.Lua="lua",LanguageKind2.Makefile="makefile",LanguageKind2.Markdown="markdown",LanguageKind2.ObjectiveC="objective-c",LanguageKind2.ObjectiveCPP="objective-cpp",LanguageKind2.Pascal="pascal",LanguageKind2.Perl="perl",LanguageKind2.Perl6="perl6",LanguageKind2.PHP="php",LanguageKind2.Plaintext="plaintext",LanguageKind2.Powershell="powershell",LanguageKind2.Pug="jade",LanguageKind2.Python="python",LanguageKind2.R="r",LanguageKind2.Razor="razor",LanguageKind2.Ruby="ruby",LanguageKind2.Rust="rust",LanguageKind2.SCSS="scss",LanguageKind2.SASS="sass",LanguageKind2.Scala="scala",LanguageKind2.ShaderLab="shaderlab",LanguageKind2.ShellScript="shellscript",LanguageKind2.SQL="sql",LanguageKind2.Swift="swift",LanguageKind2.TypeScript="typescript",LanguageKind2.TypeScriptReact="typescriptreact",LanguageKind2.TeX="tex",LanguageKind2.VisualBasic="vb",LanguageKind2.XML="xml",LanguageKind2.XSL="xsl",LanguageKind2.YAML="yaml"})(LanguageKind||(LanguageKind={}));(function(TextDocumentItem3){function create(uri,languageId,version,text){return{uri,languageId,version,text}}TextDocumentItem3.create=create;function is(value){let candidate=value;return Is.defined(candidate)&&Is.string(candidate.uri)&&Is.string(candidate.languageId)&&Is.integer(candidate.version)&&Is.string(candidate.text)}TextDocumentItem3.is=is})(TextDocumentItem||(TextDocumentItem={}));(function(MarkupKind4){MarkupKind4.PlainText="plaintext",MarkupKind4.Markdown="markdown";function is(value){let candidate=value;return candidate===MarkupKind4.PlainText||candidate===MarkupKind4.Markdown}MarkupKind4.is=is})(MarkupKind||(MarkupKind={}));(function(MarkupContent4){function is(value){let candidate=value;return Is.objectLiteral(value)&&MarkupKind.is(candidate.kind)&&Is.string(candidate.value)}MarkupContent4.is=is})(MarkupContent||(MarkupContent={}));(function(CompletionItemKind4){CompletionItemKind4.Text=1,CompletionItemKind4.Method=2,CompletionItemKind4.Function=3,CompletionItemKind4.Constructor=4,CompletionItemKind4.Field=5,CompletionItemKind4.Variable=6,CompletionItemKind4.Class=7,CompletionItemKind4.Interface=8,CompletionItemKind4.Module=9,CompletionItemKind4.Property=10,CompletionItemKind4.Unit=11,CompletionItemKind4.Value=12,CompletionItemKind4.Enum=13,CompletionItemKind4.Keyword=14,CompletionItemKind4.Snippet=15,CompletionItemKind4.Color=16,CompletionItemKind4.File=17,CompletionItemKind4.Reference=18,CompletionItemKind4.Folder=19,CompletionItemKind4.EnumMember=20,CompletionItemKind4.Constant=21,CompletionItemKind4.Struct=22,CompletionItemKind4.Event=23,CompletionItemKind4.Operator=24,CompletionItemKind4.TypeParameter=25})(CompletionItemKind||(CompletionItemKind={}));(function(InsertTextFormat4){InsertTextFormat4.PlainText=1,InsertTextFormat4.Snippet=2})(InsertTextFormat||(InsertTextFormat={}));(function(CompletionItemTag3){CompletionItemTag3.Deprecated=1})(CompletionItemTag||(CompletionItemTag={}));(function(InsertReplaceEdit3){function create(newText,insert,replace){return{newText,insert,replace}}InsertReplaceEdit3.create=create;function is(value){let candidate=value;return candidate&&Is.string(candidate.newText)&&Range.is(candidate.insert)&&Range.is(candidate.replace)}InsertReplaceEdit3.is=is})(InsertReplaceEdit||(InsertReplaceEdit={}));(function(InsertTextMode3){InsertTextMode3.asIs=1,InsertTextMode3.adjustIndentation=2})(InsertTextMode||(InsertTextMode={}));(function(ApplyKind2){ApplyKind2.Replace=1,ApplyKind2.Merge=2})(ApplyKind||(ApplyKind={}));(function(CompletionItemLabelDetails3){function is(value){let candidate=value;return candidate&&(Is.string(candidate.detail)||candidate.detail===void 0)&&(Is.string(candidate.description)||candidate.description===void 0)}CompletionItemLabelDetails3.is=is})(CompletionItemLabelDetails||(CompletionItemLabelDetails={}));(function(CompletionItem5){function create(label){return{label}}CompletionItem5.create=create})(CompletionItem||(CompletionItem={}));(function(CompletionList3){function create(items,isIncomplete){return{items:items||[],isIncomplete:!!isIncomplete}}CompletionList3.create=create})(CompletionList||(CompletionList={}));(function(MarkedString3){function fromPlainText(plainText){return plainText.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}MarkedString3.fromPlainText=fromPlainText;function is(value){let candidate=value;return Is.string(candidate)||Is.objectLiteral(candidate)&&Is.string(candidate.language)&&Is.string(candidate.value)}MarkedString3.is=is})(MarkedString||(MarkedString={}));(function(Hover5){function is(value){let 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||Range.is(value.range))}Hover5.is=is})(Hover||(Hover={}));(function(ParameterInformation3){function create(label,documentation){return documentation?{label,documentation}:{label}}ParameterInformation3.create=create})(ParameterInformation||(ParameterInformation={}));(function(SignatureInformation3){function create(label,documentation,...parameters){let result={label};return Is.defined(documentation)&&(result.documentation=documentation),Is.defined(parameters)?result.parameters=parameters:result.parameters=[],result}SignatureInformation3.create=create})(SignatureInformation||(SignatureInformation={}));(function(DocumentHighlightKind3){DocumentHighlightKind3.Text=1,DocumentHighlightKind3.Read=2,DocumentHighlightKind3.Write=3})(DocumentHighlightKind||(DocumentHighlightKind={}));(function(DocumentHighlight3){function create(range,kind){let result={range};return Is.number(kind)&&(result.kind=kind),result}DocumentHighlight3.create=create})(DocumentHighlight||(DocumentHighlight={}));(function(SymbolKind4){SymbolKind4.File=1,SymbolKind4.Module=2,SymbolKind4.Namespace=3,SymbolKind4.Package=4,SymbolKind4.Class=5,SymbolKind4.Method=6,SymbolKind4.Property=7,SymbolKind4.Field=8,SymbolKind4.Constructor=9,SymbolKind4.Enum=10,SymbolKind4.Interface=11,SymbolKind4.Function=12,SymbolKind4.Variable=13,SymbolKind4.Constant=14,SymbolKind4.String=15,SymbolKind4.Number=16,SymbolKind4.Boolean=17,SymbolKind4.Array=18,SymbolKind4.Object=19,SymbolKind4.Key=20,SymbolKind4.Null=21,SymbolKind4.EnumMember=22,SymbolKind4.Struct=23,SymbolKind4.Event=24,SymbolKind4.Operator=25,SymbolKind4.TypeParameter=26})(SymbolKind||(SymbolKind={}));(function(SymbolTag3){SymbolTag3.Deprecated=1})(SymbolTag||(SymbolTag={}));(function(SymbolInformation3){function create(name,kind,range,uri,containerName){let result={name,kind,location:{uri,range}};return containerName&&(result.containerName=containerName),result}SymbolInformation3.create=create})(SymbolInformation||(SymbolInformation={}));(function(WorkspaceSymbol3){function create(name,kind,uri,range){return range!==void 0?{name,kind,location:{uri,range}}:{name,kind,location:{uri}}}WorkspaceSymbol3.create=create})(WorkspaceSymbol||(WorkspaceSymbol={}));(function(DocumentSymbol4){function create(name,detail,kind,range,selectionRange,children){let result={name,detail,kind,range,selectionRange};return children!==void 0&&(result.children=children),result}DocumentSymbol4.create=create;function is(value){let candidate=value;return candidate&&Is.string(candidate.name)&&Is.number(candidate.kind)&&Range.is(candidate.range)&&Range.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))}DocumentSymbol4.is=is})(DocumentSymbol||(DocumentSymbol={}));(function(CodeActionKind5){CodeActionKind5.Empty="",CodeActionKind5.QuickFix="quickfix",CodeActionKind5.Refactor="refactor",CodeActionKind5.RefactorExtract="refactor.extract",CodeActionKind5.RefactorInline="refactor.inline",CodeActionKind5.RefactorMove="refactor.move",CodeActionKind5.RefactorRewrite="refactor.rewrite",CodeActionKind5.Source="source",CodeActionKind5.SourceOrganizeImports="source.organizeImports",CodeActionKind5.SourceFixAll="source.fixAll",CodeActionKind5.Notebook="notebook"})(CodeActionKind||(CodeActionKind={}));(function(CodeActionTriggerKind3){CodeActionTriggerKind3.Invoked=1,CodeActionTriggerKind3.Automatic=2})(CodeActionTriggerKind||(CodeActionTriggerKind={}));(function(CodeActionContext3){function create(diagnostics,only,triggerKind){let result={diagnostics};return only!=null&&(result.only=only),triggerKind!=null&&(result.triggerKind=triggerKind),result}CodeActionContext3.create=create;function is(value){let candidate=value;return Is.defined(candidate)&&Is.typedArray(candidate.diagnostics,Diagnostic.is)&&(candidate.only===void 0||Is.typedArray(candidate.only,Is.string))&&(candidate.triggerKind===void 0||candidate.triggerKind===CodeActionTriggerKind.Invoked||candidate.triggerKind===CodeActionTriggerKind.Automatic)}CodeActionContext3.is=is})(CodeActionContext||(CodeActionContext={}));(function(CodeActionTag2){CodeActionTag2.LLMGenerated=1;function is(value){return Is.defined(value)&&value===CodeActionTag2.LLMGenerated}CodeActionTag2.is=is})(CodeActionTag||(CodeActionTag={}));(function(CodeAction4){function create(title,kindOrCommandOrEdit,kind){let result={title},checkKind=!0;return typeof kindOrCommandOrEdit=="string"?(checkKind=!1,result.kind=kindOrCommandOrEdit):Command.is(kindOrCommandOrEdit)?result.command=kindOrCommandOrEdit:result.edit=kindOrCommandOrEdit,checkKind&&kind!==void 0&&(result.kind=kind),result}CodeAction4.create=create;function is(value){let 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||Command.is(candidate.command))&&(candidate.isPreferred===void 0||Is.boolean(candidate.isPreferred))&&(candidate.edit===void 0||WorkspaceEdit.is(candidate.edit))&&(candidate.tags===void 0||Is.typedArray(candidate.tags,CodeActionTag.is))}CodeAction4.is=is})(CodeAction||(CodeAction={}));(function(CodeLens3){function create(range,data){let result={range};return Is.defined(data)&&(result.data=data),result}CodeLens3.create=create;function is(value){let candidate=value;return Is.defined(candidate)&&Range.is(candidate.range)&&(Is.undefined(candidate.command)||Command.is(candidate.command))}CodeLens3.is=is})(CodeLens||(CodeLens={}));(function(FormattingOptions3){function create(tabSize,insertSpaces){return{tabSize,insertSpaces}}FormattingOptions3.create=create;function is(value){let candidate=value;return Is.defined(candidate)&&Is.uinteger(candidate.tabSize)&&Is.boolean(candidate.insertSpaces)}FormattingOptions3.is=is})(FormattingOptions||(FormattingOptions={}));(function(DocumentLink3){function create(range,target,data){return{range,target,data}}DocumentLink3.create=create;function is(value){let candidate=value;return Is.defined(candidate)&&Range.is(candidate.range)&&(Is.undefined(candidate.target)||Is.string(candidate.target))}DocumentLink3.is=is})(DocumentLink||(DocumentLink={}));(function(SelectionRange3){function create(range,parent){return{range,parent}}SelectionRange3.create=create;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Range.is(candidate.range)&&(candidate.parent===void 0||SelectionRange3.is(candidate.parent))}SelectionRange3.is=is})(SelectionRange||(SelectionRange={}));(function(SemanticTokenTypes3){SemanticTokenTypes3.namespace="namespace",SemanticTokenTypes3.type="type",SemanticTokenTypes3.class="class",SemanticTokenTypes3.enum="enum",SemanticTokenTypes3.interface="interface",SemanticTokenTypes3.struct="struct",SemanticTokenTypes3.typeParameter="typeParameter",SemanticTokenTypes3.parameter="parameter",SemanticTokenTypes3.variable="variable",SemanticTokenTypes3.property="property",SemanticTokenTypes3.enumMember="enumMember",SemanticTokenTypes3.event="event",SemanticTokenTypes3.function="function",SemanticTokenTypes3.method="method",SemanticTokenTypes3.macro="macro",SemanticTokenTypes3.keyword="keyword",SemanticTokenTypes3.modifier="modifier",SemanticTokenTypes3.comment="comment",SemanticTokenTypes3.string="string",SemanticTokenTypes3.number="number",SemanticTokenTypes3.regexp="regexp",SemanticTokenTypes3.operator="operator",SemanticTokenTypes3.decorator="decorator",SemanticTokenTypes3.label="label"})(SemanticTokenTypes||(SemanticTokenTypes={}));(function(SemanticTokenModifiers3){SemanticTokenModifiers3.declaration="declaration",SemanticTokenModifiers3.definition="definition",SemanticTokenModifiers3.readonly="readonly",SemanticTokenModifiers3.static="static",SemanticTokenModifiers3.deprecated="deprecated",SemanticTokenModifiers3.abstract="abstract",SemanticTokenModifiers3.async="async",SemanticTokenModifiers3.modification="modification",SemanticTokenModifiers3.documentation="documentation",SemanticTokenModifiers3.defaultLibrary="defaultLibrary"})(SemanticTokenModifiers||(SemanticTokenModifiers={}));(function(SemanticTokens5){function is(value){let candidate=value;return Is.objectLiteral(candidate)&&(candidate.resultId===void 0||typeof candidate.resultId=="string")&&Array.isArray(candidate.data)&&(candidate.data.length===0||typeof candidate.data[0]=="number")}SemanticTokens5.is=is})(SemanticTokens||(SemanticTokens={}));(function(InlineValueText3){function create(range,text){return{range,text}}InlineValueText3.create=create;function is(value){let candidate=value;return candidate!=null&&Range.is(candidate.range)&&Is.string(candidate.text)}InlineValueText3.is=is})(InlineValueText||(InlineValueText={}));(function(InlineValueVariableLookup3){function create(range,variableName,caseSensitiveLookup){return{range,variableName,caseSensitiveLookup}}InlineValueVariableLookup3.create=create;function is(value){let candidate=value;return candidate!=null&&Range.is(candidate.range)&&Is.boolean(candidate.caseSensitiveLookup)&&(Is.string(candidate.variableName)||candidate.variableName===void 0)}InlineValueVariableLookup3.is=is})(InlineValueVariableLookup||(InlineValueVariableLookup={}));(function(InlineValueEvaluatableExpression3){function create(range,expression){return{range,expression}}InlineValueEvaluatableExpression3.create=create;function is(value){let candidate=value;return candidate!=null&&Range.is(candidate.range)&&(Is.string(candidate.expression)||candidate.expression===void 0)}InlineValueEvaluatableExpression3.is=is})(InlineValueEvaluatableExpression||(InlineValueEvaluatableExpression={}));(function(InlineValueContext3){function create(frameId,stoppedLocation){return{frameId,stoppedLocation}}InlineValueContext3.create=create;function is(value){let candidate=value;return Is.defined(candidate)&&Range.is(value.stoppedLocation)}InlineValueContext3.is=is})(InlineValueContext||(InlineValueContext={}));(function(InlayHintKind3){InlayHintKind3.Type=1,InlayHintKind3.Parameter=2;function is(value){return value===1||value===2}InlayHintKind3.is=is})(InlayHintKind||(InlayHintKind={}));(function(InlayHintLabelPart3){function create(value){return{value}}InlayHintLabelPart3.create=create;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&(candidate.tooltip===void 0||Is.string(candidate.tooltip)||MarkupContent.is(candidate.tooltip))&&(candidate.location===void 0||Location.is(candidate.location))&&(candidate.command===void 0||Command.is(candidate.command))}InlayHintLabelPart3.is=is})(InlayHintLabelPart||(InlayHintLabelPart={}));(function(InlayHint3){function create(position,label,kind){let result={position,label};return kind!==void 0&&(result.kind=kind),result}InlayHint3.create=create;function is(value){let candidate=value;return Is.objectLiteral(candidate)&&Position.is(candidate.position)&&(Is.string(candidate.label)||Is.typedArray(candidate.label,InlayHintLabelPart.is))&&(candidate.kind===void 0||InlayHintKind.is(candidate.kind))&&candidate.textEdits===void 0||Is.typedArray(candidate.textEdits,TextEdit.is)&&(candidate.tooltip===void 0||Is.string(candidate.tooltip)||MarkupContent.is(candidate.tooltip))&&(candidate.paddingLeft===void 0||Is.boolean(candidate.paddingLeft))&&(candidate.paddingRight===void 0||Is.boolean(candidate.paddingRight))}InlayHint3.is=is})(InlayHint||(InlayHint={}));(function(StringValue3){function createSnippet(value){return{kind:"snippet",value}}StringValue3.createSnippet=createSnippet;function isSnippet(value){let candidate=value;return Is.objectLiteral(candidate)&&candidate.kind==="snippet"&&Is.string(candidate.value)}StringValue3.isSnippet=isSnippet})(StringValue||(StringValue={}));(function(InlineCompletionItem3){function create(insertText,filterText,range,command){return{insertText,filterText,range,command}}InlineCompletionItem3.create=create})(InlineCompletionItem||(InlineCompletionItem={}));(function(InlineCompletionList3){function create(items){return{items}}InlineCompletionList3.create=create})(InlineCompletionList||(InlineCompletionList={}));(function(InlineCompletionTriggerKind3){InlineCompletionTriggerKind3.Invoked=1,InlineCompletionTriggerKind3.Automatic=2})(InlineCompletionTriggerKind||(InlineCompletionTriggerKind={}));(function(SelectedCompletionInfo3){function create(range,text){return{range,text}}SelectedCompletionInfo3.create=create})(SelectedCompletionInfo||(SelectedCompletionInfo={}));(function(InlineCompletionContext3){function create(triggerKind,selectedCompletionInfo){return{triggerKind,selectedCompletionInfo}}InlineCompletionContext3.create=create})(InlineCompletionContext||(InlineCompletionContext={}));(function(WorkspaceFolder3){function is(value){let candidate=value;return Is.objectLiteral(candidate)&&URI.is(candidate.uri)&&Is.string(candidate.name)}WorkspaceFolder3.is=is})(WorkspaceFolder||(WorkspaceFolder={}));EOL=[`
|
|
32
8
|
`,`\r
|
|
33
9
|
`,"\r"];(function(TextDocument4){function create(uri,languageId,version,content){return new FullTextDocument(uri,languageId,version,content)}TextDocument4.create=create;function is(value){let 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))}TextDocument4.is=is;function applyEdits(document,edits){let text=document.getText(),sortedEdits=mergeSort2(edits,(a,b)=>{let diff=a.range.start.line-b.range.start.line;return diff===0?a.range.start.character-b.range.start.character:diff}),lastModifiedOffset=text.length;for(let i=sortedEdits.length-1;i>=0;i--){let e=sortedEdits[i],startOffset=document.offsetAt(e.range.start),endOffset=document.offsetAt(e.range.end);if(endOffset<=lastModifiedOffset)text=text.substring(0,startOffset)+e.newText+text.substring(endOffset,text.length);else throw new Error("Overlapping edit");lastModifiedOffset=startOffset}return text}TextDocument4.applyEdits=applyEdits;function mergeSort2(data,compare){if(data.length<=1)return data;let p=data.length/2|0,left=data.slice(0,p),right=data.slice(p);mergeSort2(left,compare),mergeSort2(right,compare);let leftIdx=0,rightIdx=0,i=0;for(;leftIdx<left.length&&rightIdx<right.length;)compare(left[leftIdx],right[rightIdx])<=0?data[i++]=left[leftIdx++]:data[i++]=right[rightIdx++];for(;leftIdx<left.length;)data[i++]=left[leftIdx++];for(;rightIdx<right.length;)data[i++]=right[rightIdx++];return data}})(TextDocument||(TextDocument={}));FullTextDocument=class{constructor(uri,languageId,version,content){this._uri=uri,this._languageId=languageId,this._version=version,this._content=content,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(range){if(range){let start=this.offsetAt(range.start),end=this.offsetAt(range.end);return this._content.substring(start,end)}return this._content}update(event,version){this._content=event.text,this._version=version,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let lineOffsets=[],text=this._content,isLineStart=!0;for(let i=0;i<text.length;i++){isLineStart&&(lineOffsets.push(i),isLineStart=!1);let ch=text.charAt(i);isLineStart=ch==="\r"||ch===`
|
|
34
10
|
`,ch==="\r"&&i+1<text.length&&text.charAt(i+1)===`
|
|
35
|
-
`&&i++}isLineStart&&text.length>0&&lineOffsets.push(text.length),this._lineOffsets=lineOffsets}return this._lineOffsets}positionAt(offset){offset=Math.max(Math.min(offset,this._content.length),0);let lineOffsets=this.getLineOffsets(),low=0,high=lineOffsets.length;if(high===0)return Position.create(0,offset);for(;low<high;){let mid=Math.floor((low+high)/2);lineOffsets[mid]>offset?high=mid:low=mid+1}let line=low-1;return Position.create(line,offset-lineOffsets[line])}offsetAt(position){let lineOffsets=this.getLineOffsets();if(position.line>=lineOffsets.length)return this._content.length;if(position.line<0)return 0;let lineOffset=lineOffsets[position.line],nextLineOffset=position.line+1<lineOffsets.length?lineOffsets[position.line+1]:this._content.length;return Math.max(Math.min(lineOffset+position.character,nextLineOffset),lineOffset)}get lineCount(){return this.getLineOffsets().length}};(function(Is3){let toString=Object.prototype.toString;function defined(value){return typeof value<"u"}Is3.defined=defined;function undefined2(value){return typeof value>"u"}Is3.undefined=undefined2;function boolean(value){return value===!0||value===!1}Is3.boolean=boolean;function string(value){return toString.call(value)==="[object String]"}Is3.string=string;function number(value){return toString.call(value)==="[object Number]"}Is3.number=number;function numberRange(value,min,max){return toString.call(value)==="[object Number]"&&min<=value&&value<=max}Is3.numberRange=numberRange;function integer3(value){return toString.call(value)==="[object Number]"&&-2147483648<=value&&value<=2147483647}Is3.integer=integer3;function uinteger3(value){return toString.call(value)==="[object Number]"&&0<=value&&value<=2147483647}Is3.uinteger=uinteger3;function func(value){return toString.call(value)==="[object Function]"}Is3.func=func;function objectLiteral(value){return value!==null&&typeof value=="object"}Is3.objectLiteral=objectLiteral;function typedArray(value,check){return Array.isArray(value)&&value.every(check)}Is3.typedArray=typedArray})(Is||(Is={}))}});var require_messages2=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/messages.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ProtocolNotificationType=exports.ProtocolNotificationType0=exports.ProtocolRequestType=exports.ProtocolRequestType0=exports.RegistrationType=exports.MessageDirection=void 0;var vscode_jsonrpc_1=require_main(),MessageDirection;(function(MessageDirection2){MessageDirection2.clientToServer="clientToServer",MessageDirection2.serverToClient="serverToClient",MessageDirection2.both="both"})(MessageDirection||(exports.MessageDirection=MessageDirection={}));var RegistrationType=class{constructor(method){this.method=method}};exports.RegistrationType=RegistrationType;var ProtocolRequestType0=class extends vscode_jsonrpc_1.RequestType0{constructor(method){super(method)}};exports.ProtocolRequestType0=ProtocolRequestType0;var ProtocolRequestType=class extends vscode_jsonrpc_1.RequestType{constructor(method){super(method,vscode_jsonrpc_1.ParameterStructures.byName)}};exports.ProtocolRequestType=ProtocolRequestType;var ProtocolNotificationType0=class extends vscode_jsonrpc_1.NotificationType0{constructor(method){super(method)}};exports.ProtocolNotificationType0=ProtocolNotificationType0;var ProtocolNotificationType=class extends vscode_jsonrpc_1.NotificationType{constructor(method){super(method,vscode_jsonrpc_1.ParameterStructures.byName)}};exports.ProtocolNotificationType=ProtocolNotificationType}});var require_is2=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/utils/is.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.objectLiteral=exports.typedArray=exports.stringArray=exports.array=exports.func=exports.error=exports.number=exports.string=exports.boolean=void 0;function boolean(value){return value===!0||value===!1}exports.boolean=boolean;function string(value){return typeof value=="string"||value instanceof String}exports.string=string;function number(value){return typeof value=="number"||value instanceof Number}exports.number=number;function error(value){return value instanceof Error}exports.error=error;function func(value){return typeof value=="function"}exports.func=func;function array(value){return Array.isArray(value)}exports.array=array;function stringArray(value){return array(value)&&value.every(elem=>string(elem))}exports.stringArray=stringArray;function typedArray(value,check){return Array.isArray(value)&&value.every(check)}exports.typedArray=typedArray;function objectLiteral(value){return value!==null&&typeof value=="object"}exports.objectLiteral=objectLiteral}});var require_protocol_implementation=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ImplementationRequest=void 0;var messages_1=require_messages2(),ImplementationRequest;(function(ImplementationRequest2){ImplementationRequest2.method="textDocument/implementation",ImplementationRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ImplementationRequest2.type=new messages_1.ProtocolRequestType(ImplementationRequest2.method)})(ImplementationRequest||(exports.ImplementationRequest=ImplementationRequest={}))}});var require_protocol_typeDefinition=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.TypeDefinitionRequest=void 0;var messages_1=require_messages2(),TypeDefinitionRequest;(function(TypeDefinitionRequest2){TypeDefinitionRequest2.method="textDocument/typeDefinition",TypeDefinitionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,TypeDefinitionRequest2.type=new messages_1.ProtocolRequestType(TypeDefinitionRequest2.method)})(TypeDefinitionRequest||(exports.TypeDefinitionRequest=TypeDefinitionRequest={}))}});var require_protocol_workspaceFolder=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.DidChangeWorkspaceFoldersNotification=exports.WorkspaceFoldersRequest=void 0;var messages_1=require_messages2(),WorkspaceFoldersRequest;(function(WorkspaceFoldersRequest2){WorkspaceFoldersRequest2.method="workspace/workspaceFolders",WorkspaceFoldersRequest2.messageDirection=messages_1.MessageDirection.serverToClient,WorkspaceFoldersRequest2.type=new messages_1.ProtocolRequestType0(WorkspaceFoldersRequest2.method)})(WorkspaceFoldersRequest||(exports.WorkspaceFoldersRequest=WorkspaceFoldersRequest={}));var DidChangeWorkspaceFoldersNotification;(function(DidChangeWorkspaceFoldersNotification2){DidChangeWorkspaceFoldersNotification2.method="workspace/didChangeWorkspaceFolders",DidChangeWorkspaceFoldersNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeWorkspaceFoldersNotification2.type=new messages_1.ProtocolNotificationType(DidChangeWorkspaceFoldersNotification2.method)})(DidChangeWorkspaceFoldersNotification||(exports.DidChangeWorkspaceFoldersNotification=DidChangeWorkspaceFoldersNotification={}))}});var require_protocol_configuration=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ConfigurationRequest=void 0;var messages_1=require_messages2(),ConfigurationRequest;(function(ConfigurationRequest2){ConfigurationRequest2.method="workspace/configuration",ConfigurationRequest2.messageDirection=messages_1.MessageDirection.serverToClient,ConfigurationRequest2.type=new messages_1.ProtocolRequestType(ConfigurationRequest2.method)})(ConfigurationRequest||(exports.ConfigurationRequest=ConfigurationRequest={}))}});var require_protocol_colorProvider=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ColorPresentationRequest=exports.DocumentColorRequest=void 0;var messages_1=require_messages2(),DocumentColorRequest;(function(DocumentColorRequest2){DocumentColorRequest2.method="textDocument/documentColor",DocumentColorRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentColorRequest2.type=new messages_1.ProtocolRequestType(DocumentColorRequest2.method)})(DocumentColorRequest||(exports.DocumentColorRequest=DocumentColorRequest={}));var ColorPresentationRequest;(function(ColorPresentationRequest2){ColorPresentationRequest2.method="textDocument/colorPresentation",ColorPresentationRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ColorPresentationRequest2.type=new messages_1.ProtocolRequestType(ColorPresentationRequest2.method)})(ColorPresentationRequest||(exports.ColorPresentationRequest=ColorPresentationRequest={}))}});var require_protocol_foldingRange=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.FoldingRangeRefreshRequest=exports.FoldingRangeRequest=void 0;var messages_1=require_messages2(),FoldingRangeRequest;(function(FoldingRangeRequest2){FoldingRangeRequest2.method="textDocument/foldingRange",FoldingRangeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,FoldingRangeRequest2.type=new messages_1.ProtocolRequestType(FoldingRangeRequest2.method)})(FoldingRangeRequest||(exports.FoldingRangeRequest=FoldingRangeRequest={}));var FoldingRangeRefreshRequest;(function(FoldingRangeRefreshRequest2){FoldingRangeRefreshRequest2.method="workspace/foldingRange/refresh",FoldingRangeRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,FoldingRangeRefreshRequest2.type=new messages_1.ProtocolRequestType0(FoldingRangeRefreshRequest2.method)})(FoldingRangeRefreshRequest||(exports.FoldingRangeRefreshRequest=FoldingRangeRefreshRequest={}))}});var require_protocol_declaration=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.DeclarationRequest=void 0;var messages_1=require_messages2(),DeclarationRequest;(function(DeclarationRequest2){DeclarationRequest2.method="textDocument/declaration",DeclarationRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DeclarationRequest2.type=new messages_1.ProtocolRequestType(DeclarationRequest2.method)})(DeclarationRequest||(exports.DeclarationRequest=DeclarationRequest={}))}});var require_protocol_selectionRange=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.SelectionRangeRequest=void 0;var messages_1=require_messages2(),SelectionRangeRequest;(function(SelectionRangeRequest2){SelectionRangeRequest2.method="textDocument/selectionRange",SelectionRangeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SelectionRangeRequest2.type=new messages_1.ProtocolRequestType(SelectionRangeRequest2.method)})(SelectionRangeRequest||(exports.SelectionRangeRequest=SelectionRangeRequest={}))}});var require_protocol_progress=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.WorkDoneProgressCancelNotification=exports.WorkDoneProgressCreateRequest=exports.WorkDoneProgress=void 0;var vscode_jsonrpc_1=require_main(),messages_1=require_messages2(),WorkDoneProgress;(function(WorkDoneProgress2){WorkDoneProgress2.type=new vscode_jsonrpc_1.ProgressType;function is(value){return value===WorkDoneProgress2.type}WorkDoneProgress2.is=is})(WorkDoneProgress||(exports.WorkDoneProgress=WorkDoneProgress={}));var WorkDoneProgressCreateRequest;(function(WorkDoneProgressCreateRequest2){WorkDoneProgressCreateRequest2.method="window/workDoneProgress/create",WorkDoneProgressCreateRequest2.messageDirection=messages_1.MessageDirection.serverToClient,WorkDoneProgressCreateRequest2.type=new messages_1.ProtocolRequestType(WorkDoneProgressCreateRequest2.method)})(WorkDoneProgressCreateRequest||(exports.WorkDoneProgressCreateRequest=WorkDoneProgressCreateRequest={}));var WorkDoneProgressCancelNotification;(function(WorkDoneProgressCancelNotification2){WorkDoneProgressCancelNotification2.method="window/workDoneProgress/cancel",WorkDoneProgressCancelNotification2.messageDirection=messages_1.MessageDirection.clientToServer,WorkDoneProgressCancelNotification2.type=new messages_1.ProtocolNotificationType(WorkDoneProgressCancelNotification2.method)})(WorkDoneProgressCancelNotification||(exports.WorkDoneProgressCancelNotification=WorkDoneProgressCancelNotification={}))}});var require_protocol_callHierarchy=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.CallHierarchyOutgoingCallsRequest=exports.CallHierarchyIncomingCallsRequest=exports.CallHierarchyPrepareRequest=void 0;var messages_1=require_messages2(),CallHierarchyPrepareRequest;(function(CallHierarchyPrepareRequest2){CallHierarchyPrepareRequest2.method="textDocument/prepareCallHierarchy",CallHierarchyPrepareRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CallHierarchyPrepareRequest2.type=new messages_1.ProtocolRequestType(CallHierarchyPrepareRequest2.method)})(CallHierarchyPrepareRequest||(exports.CallHierarchyPrepareRequest=CallHierarchyPrepareRequest={}));var CallHierarchyIncomingCallsRequest;(function(CallHierarchyIncomingCallsRequest2){CallHierarchyIncomingCallsRequest2.method="callHierarchy/incomingCalls",CallHierarchyIncomingCallsRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CallHierarchyIncomingCallsRequest2.type=new messages_1.ProtocolRequestType(CallHierarchyIncomingCallsRequest2.method)})(CallHierarchyIncomingCallsRequest||(exports.CallHierarchyIncomingCallsRequest=CallHierarchyIncomingCallsRequest={}));var CallHierarchyOutgoingCallsRequest;(function(CallHierarchyOutgoingCallsRequest2){CallHierarchyOutgoingCallsRequest2.method="callHierarchy/outgoingCalls",CallHierarchyOutgoingCallsRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CallHierarchyOutgoingCallsRequest2.type=new messages_1.ProtocolRequestType(CallHierarchyOutgoingCallsRequest2.method)})(CallHierarchyOutgoingCallsRequest||(exports.CallHierarchyOutgoingCallsRequest=CallHierarchyOutgoingCallsRequest={}))}});var require_protocol_semanticTokens=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.SemanticTokensRefreshRequest=exports.SemanticTokensRangeRequest=exports.SemanticTokensDeltaRequest=exports.SemanticTokensRequest=exports.SemanticTokensRegistrationType=exports.TokenFormat=void 0;var messages_1=require_messages2(),TokenFormat;(function(TokenFormat2){TokenFormat2.Relative="relative"})(TokenFormat||(exports.TokenFormat=TokenFormat={}));var SemanticTokensRegistrationType;(function(SemanticTokensRegistrationType2){SemanticTokensRegistrationType2.method="textDocument/semanticTokens",SemanticTokensRegistrationType2.type=new messages_1.RegistrationType(SemanticTokensRegistrationType2.method)})(SemanticTokensRegistrationType||(exports.SemanticTokensRegistrationType=SemanticTokensRegistrationType={}));var SemanticTokensRequest;(function(SemanticTokensRequest2){SemanticTokensRequest2.method="textDocument/semanticTokens/full",SemanticTokensRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SemanticTokensRequest2.type=new messages_1.ProtocolRequestType(SemanticTokensRequest2.method),SemanticTokensRequest2.registrationMethod=SemanticTokensRegistrationType.method})(SemanticTokensRequest||(exports.SemanticTokensRequest=SemanticTokensRequest={}));var SemanticTokensDeltaRequest;(function(SemanticTokensDeltaRequest2){SemanticTokensDeltaRequest2.method="textDocument/semanticTokens/full/delta",SemanticTokensDeltaRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SemanticTokensDeltaRequest2.type=new messages_1.ProtocolRequestType(SemanticTokensDeltaRequest2.method),SemanticTokensDeltaRequest2.registrationMethod=SemanticTokensRegistrationType.method})(SemanticTokensDeltaRequest||(exports.SemanticTokensDeltaRequest=SemanticTokensDeltaRequest={}));var SemanticTokensRangeRequest;(function(SemanticTokensRangeRequest2){SemanticTokensRangeRequest2.method="textDocument/semanticTokens/range",SemanticTokensRangeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SemanticTokensRangeRequest2.type=new messages_1.ProtocolRequestType(SemanticTokensRangeRequest2.method),SemanticTokensRangeRequest2.registrationMethod=SemanticTokensRegistrationType.method})(SemanticTokensRangeRequest||(exports.SemanticTokensRangeRequest=SemanticTokensRangeRequest={}));var SemanticTokensRefreshRequest;(function(SemanticTokensRefreshRequest2){SemanticTokensRefreshRequest2.method="workspace/semanticTokens/refresh",SemanticTokensRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,SemanticTokensRefreshRequest2.type=new messages_1.ProtocolRequestType0(SemanticTokensRefreshRequest2.method)})(SemanticTokensRefreshRequest||(exports.SemanticTokensRefreshRequest=SemanticTokensRefreshRequest={}))}});var require_protocol_showDocument=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ShowDocumentRequest=void 0;var messages_1=require_messages2(),ShowDocumentRequest;(function(ShowDocumentRequest2){ShowDocumentRequest2.method="window/showDocument",ShowDocumentRequest2.messageDirection=messages_1.MessageDirection.serverToClient,ShowDocumentRequest2.type=new messages_1.ProtocolRequestType(ShowDocumentRequest2.method)})(ShowDocumentRequest||(exports.ShowDocumentRequest=ShowDocumentRequest={}))}});var require_protocol_linkedEditingRange=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.LinkedEditingRangeRequest=void 0;var messages_1=require_messages2(),LinkedEditingRangeRequest;(function(LinkedEditingRangeRequest2){LinkedEditingRangeRequest2.method="textDocument/linkedEditingRange",LinkedEditingRangeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,LinkedEditingRangeRequest2.type=new messages_1.ProtocolRequestType(LinkedEditingRangeRequest2.method)})(LinkedEditingRangeRequest||(exports.LinkedEditingRangeRequest=LinkedEditingRangeRequest={}))}});var require_protocol_fileOperations=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.WillDeleteFilesRequest=exports.DidDeleteFilesNotification=exports.DidRenameFilesNotification=exports.WillRenameFilesRequest=exports.DidCreateFilesNotification=exports.WillCreateFilesRequest=exports.FileOperationPatternKind=void 0;var messages_1=require_messages2(),FileOperationPatternKind;(function(FileOperationPatternKind2){FileOperationPatternKind2.file="file",FileOperationPatternKind2.folder="folder"})(FileOperationPatternKind||(exports.FileOperationPatternKind=FileOperationPatternKind={}));var WillCreateFilesRequest;(function(WillCreateFilesRequest2){WillCreateFilesRequest2.method="workspace/willCreateFiles",WillCreateFilesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WillCreateFilesRequest2.type=new messages_1.ProtocolRequestType(WillCreateFilesRequest2.method)})(WillCreateFilesRequest||(exports.WillCreateFilesRequest=WillCreateFilesRequest={}));var DidCreateFilesNotification;(function(DidCreateFilesNotification2){DidCreateFilesNotification2.method="workspace/didCreateFiles",DidCreateFilesNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidCreateFilesNotification2.type=new messages_1.ProtocolNotificationType(DidCreateFilesNotification2.method)})(DidCreateFilesNotification||(exports.DidCreateFilesNotification=DidCreateFilesNotification={}));var WillRenameFilesRequest;(function(WillRenameFilesRequest2){WillRenameFilesRequest2.method="workspace/willRenameFiles",WillRenameFilesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WillRenameFilesRequest2.type=new messages_1.ProtocolRequestType(WillRenameFilesRequest2.method)})(WillRenameFilesRequest||(exports.WillRenameFilesRequest=WillRenameFilesRequest={}));var DidRenameFilesNotification;(function(DidRenameFilesNotification2){DidRenameFilesNotification2.method="workspace/didRenameFiles",DidRenameFilesNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidRenameFilesNotification2.type=new messages_1.ProtocolNotificationType(DidRenameFilesNotification2.method)})(DidRenameFilesNotification||(exports.DidRenameFilesNotification=DidRenameFilesNotification={}));var DidDeleteFilesNotification;(function(DidDeleteFilesNotification2){DidDeleteFilesNotification2.method="workspace/didDeleteFiles",DidDeleteFilesNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidDeleteFilesNotification2.type=new messages_1.ProtocolNotificationType(DidDeleteFilesNotification2.method)})(DidDeleteFilesNotification||(exports.DidDeleteFilesNotification=DidDeleteFilesNotification={}));var WillDeleteFilesRequest;(function(WillDeleteFilesRequest2){WillDeleteFilesRequest2.method="workspace/willDeleteFiles",WillDeleteFilesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WillDeleteFilesRequest2.type=new messages_1.ProtocolRequestType(WillDeleteFilesRequest2.method)})(WillDeleteFilesRequest||(exports.WillDeleteFilesRequest=WillDeleteFilesRequest={}))}});var require_protocol_moniker=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.MonikerRequest=exports.MonikerKind=exports.UniquenessLevel=void 0;var messages_1=require_messages2(),UniquenessLevel;(function(UniquenessLevel2){UniquenessLevel2.document="document",UniquenessLevel2.project="project",UniquenessLevel2.group="group",UniquenessLevel2.scheme="scheme",UniquenessLevel2.global="global"})(UniquenessLevel||(exports.UniquenessLevel=UniquenessLevel={}));var MonikerKind;(function(MonikerKind2){MonikerKind2.$import="import",MonikerKind2.$export="export",MonikerKind2.local="local"})(MonikerKind||(exports.MonikerKind=MonikerKind={}));var MonikerRequest;(function(MonikerRequest2){MonikerRequest2.method="textDocument/moniker",MonikerRequest2.messageDirection=messages_1.MessageDirection.clientToServer,MonikerRequest2.type=new messages_1.ProtocolRequestType(MonikerRequest2.method)})(MonikerRequest||(exports.MonikerRequest=MonikerRequest={}))}});var require_protocol_typeHierarchy=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.TypeHierarchySubtypesRequest=exports.TypeHierarchySupertypesRequest=exports.TypeHierarchyPrepareRequest=void 0;var messages_1=require_messages2(),TypeHierarchyPrepareRequest;(function(TypeHierarchyPrepareRequest2){TypeHierarchyPrepareRequest2.method="textDocument/prepareTypeHierarchy",TypeHierarchyPrepareRequest2.messageDirection=messages_1.MessageDirection.clientToServer,TypeHierarchyPrepareRequest2.type=new messages_1.ProtocolRequestType(TypeHierarchyPrepareRequest2.method)})(TypeHierarchyPrepareRequest||(exports.TypeHierarchyPrepareRequest=TypeHierarchyPrepareRequest={}));var TypeHierarchySupertypesRequest;(function(TypeHierarchySupertypesRequest2){TypeHierarchySupertypesRequest2.method="typeHierarchy/supertypes",TypeHierarchySupertypesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,TypeHierarchySupertypesRequest2.type=new messages_1.ProtocolRequestType(TypeHierarchySupertypesRequest2.method)})(TypeHierarchySupertypesRequest||(exports.TypeHierarchySupertypesRequest=TypeHierarchySupertypesRequest={}));var TypeHierarchySubtypesRequest;(function(TypeHierarchySubtypesRequest2){TypeHierarchySubtypesRequest2.method="typeHierarchy/subtypes",TypeHierarchySubtypesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,TypeHierarchySubtypesRequest2.type=new messages_1.ProtocolRequestType(TypeHierarchySubtypesRequest2.method)})(TypeHierarchySubtypesRequest||(exports.TypeHierarchySubtypesRequest=TypeHierarchySubtypesRequest={}))}});var require_protocol_inlineValue=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.InlineValueRefreshRequest=exports.InlineValueRequest=void 0;var messages_1=require_messages2(),InlineValueRequest;(function(InlineValueRequest2){InlineValueRequest2.method="textDocument/inlineValue",InlineValueRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InlineValueRequest2.type=new messages_1.ProtocolRequestType(InlineValueRequest2.method)})(InlineValueRequest||(exports.InlineValueRequest=InlineValueRequest={}));var InlineValueRefreshRequest;(function(InlineValueRefreshRequest2){InlineValueRefreshRequest2.method="workspace/inlineValue/refresh",InlineValueRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,InlineValueRefreshRequest2.type=new messages_1.ProtocolRequestType0(InlineValueRefreshRequest2.method)})(InlineValueRefreshRequest||(exports.InlineValueRefreshRequest=InlineValueRefreshRequest={}))}});var require_protocol_inlayHint=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.InlayHintRefreshRequest=exports.InlayHintResolveRequest=exports.InlayHintRequest=void 0;var messages_1=require_messages2(),InlayHintRequest;(function(InlayHintRequest2){InlayHintRequest2.method="textDocument/inlayHint",InlayHintRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InlayHintRequest2.type=new messages_1.ProtocolRequestType(InlayHintRequest2.method)})(InlayHintRequest||(exports.InlayHintRequest=InlayHintRequest={}));var InlayHintResolveRequest;(function(InlayHintResolveRequest2){InlayHintResolveRequest2.method="inlayHint/resolve",InlayHintResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InlayHintResolveRequest2.type=new messages_1.ProtocolRequestType(InlayHintResolveRequest2.method)})(InlayHintResolveRequest||(exports.InlayHintResolveRequest=InlayHintResolveRequest={}));var InlayHintRefreshRequest;(function(InlayHintRefreshRequest2){InlayHintRefreshRequest2.method="workspace/inlayHint/refresh",InlayHintRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,InlayHintRefreshRequest2.type=new messages_1.ProtocolRequestType0(InlayHintRefreshRequest2.method)})(InlayHintRefreshRequest||(exports.InlayHintRefreshRequest=InlayHintRefreshRequest={}))}});var require_protocol_diagnostic=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.DiagnosticRefreshRequest=exports.WorkspaceDiagnosticRequest=exports.DocumentDiagnosticRequest=exports.DocumentDiagnosticReportKind=exports.DiagnosticServerCancellationData=void 0;var vscode_jsonrpc_1=require_main(),Is3=require_is2(),messages_1=require_messages2(),DiagnosticServerCancellationData;(function(DiagnosticServerCancellationData2){function is(value){let candidate=value;return candidate&&Is3.boolean(candidate.retriggerRequest)}DiagnosticServerCancellationData2.is=is})(DiagnosticServerCancellationData||(exports.DiagnosticServerCancellationData=DiagnosticServerCancellationData={}));var DocumentDiagnosticReportKind;(function(DocumentDiagnosticReportKind2){DocumentDiagnosticReportKind2.Full="full",DocumentDiagnosticReportKind2.Unchanged="unchanged"})(DocumentDiagnosticReportKind||(exports.DocumentDiagnosticReportKind=DocumentDiagnosticReportKind={}));var DocumentDiagnosticRequest;(function(DocumentDiagnosticRequest2){DocumentDiagnosticRequest2.method="textDocument/diagnostic",DocumentDiagnosticRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentDiagnosticRequest2.type=new messages_1.ProtocolRequestType(DocumentDiagnosticRequest2.method),DocumentDiagnosticRequest2.partialResult=new vscode_jsonrpc_1.ProgressType})(DocumentDiagnosticRequest||(exports.DocumentDiagnosticRequest=DocumentDiagnosticRequest={}));var WorkspaceDiagnosticRequest;(function(WorkspaceDiagnosticRequest2){WorkspaceDiagnosticRequest2.method="workspace/diagnostic",WorkspaceDiagnosticRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WorkspaceDiagnosticRequest2.type=new messages_1.ProtocolRequestType(WorkspaceDiagnosticRequest2.method),WorkspaceDiagnosticRequest2.partialResult=new vscode_jsonrpc_1.ProgressType})(WorkspaceDiagnosticRequest||(exports.WorkspaceDiagnosticRequest=WorkspaceDiagnosticRequest={}));var DiagnosticRefreshRequest;(function(DiagnosticRefreshRequest2){DiagnosticRefreshRequest2.method="workspace/diagnostic/refresh",DiagnosticRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,DiagnosticRefreshRequest2.type=new messages_1.ProtocolRequestType0(DiagnosticRefreshRequest2.method)})(DiagnosticRefreshRequest||(exports.DiagnosticRefreshRequest=DiagnosticRefreshRequest={}))}});var require_protocol_notebook=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.DidCloseNotebookDocumentNotification=exports.DidSaveNotebookDocumentNotification=exports.DidChangeNotebookDocumentNotification=exports.NotebookCellArrayChange=exports.DidOpenNotebookDocumentNotification=exports.NotebookDocumentSyncRegistrationType=exports.NotebookDocument=exports.NotebookCell=exports.ExecutionSummary=exports.NotebookCellKind=void 0;var vscode_languageserver_types_1=(init_main(),__toCommonJS(main_exports)),Is3=require_is2(),messages_1=require_messages2(),NotebookCellKind;(function(NotebookCellKind2){NotebookCellKind2.Markup=1,NotebookCellKind2.Code=2;function is(value){return value===1||value===2}NotebookCellKind2.is=is})(NotebookCellKind||(exports.NotebookCellKind=NotebookCellKind={}));var ExecutionSummary;(function(ExecutionSummary2){function create(executionOrder,success){let result={executionOrder};return(success===!0||success===!1)&&(result.success=success),result}ExecutionSummary2.create=create;function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&vscode_languageserver_types_1.uinteger.is(candidate.executionOrder)&&(candidate.success===void 0||Is3.boolean(candidate.success))}ExecutionSummary2.is=is;function equals(one,other){return one===other?!0:one==null||other===null||other===void 0?!1:one.executionOrder===other.executionOrder&&one.success===other.success}ExecutionSummary2.equals=equals})(ExecutionSummary||(exports.ExecutionSummary=ExecutionSummary={}));var NotebookCell;(function(NotebookCell2){function create(kind,document){return{kind,document}}NotebookCell2.create=create;function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&NotebookCellKind.is(candidate.kind)&&vscode_languageserver_types_1.DocumentUri.is(candidate.document)&&(candidate.metadata===void 0||Is3.objectLiteral(candidate.metadata))}NotebookCell2.is=is;function diff(one,two){let result=new Set;return one.document!==two.document&&result.add("document"),one.kind!==two.kind&&result.add("kind"),one.executionSummary!==two.executionSummary&&result.add("executionSummary"),(one.metadata!==void 0||two.metadata!==void 0)&&!equalsMetadata(one.metadata,two.metadata)&&result.add("metadata"),(one.executionSummary!==void 0||two.executionSummary!==void 0)&&!ExecutionSummary.equals(one.executionSummary,two.executionSummary)&&result.add("executionSummary"),result}NotebookCell2.diff=diff;function equalsMetadata(one,other){if(one===other)return!0;if(one==null||other===null||other===void 0||typeof one!=typeof other||typeof one!="object")return!1;let oneArray=Array.isArray(one),otherArray=Array.isArray(other);if(oneArray!==otherArray)return!1;if(oneArray&&otherArray){if(one.length!==other.length)return!1;for(let i=0;i<one.length;i++)if(!equalsMetadata(one[i],other[i]))return!1}if(Is3.objectLiteral(one)&&Is3.objectLiteral(other)){let oneKeys=Object.keys(one),otherKeys=Object.keys(other);if(oneKeys.length!==otherKeys.length||(oneKeys.sort(),otherKeys.sort(),!equalsMetadata(oneKeys,otherKeys)))return!1;for(let i=0;i<oneKeys.length;i++){let prop=oneKeys[i];if(!equalsMetadata(one[prop],other[prop]))return!1}}return!0}})(NotebookCell||(exports.NotebookCell=NotebookCell={}));var NotebookDocument;(function(NotebookDocument2){function create(uri,notebookType,version,cells){return{uri,notebookType,version,cells}}NotebookDocument2.create=create;function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&Is3.string(candidate.uri)&&vscode_languageserver_types_1.integer.is(candidate.version)&&Is3.typedArray(candidate.cells,NotebookCell.is)}NotebookDocument2.is=is})(NotebookDocument||(exports.NotebookDocument=NotebookDocument={}));var NotebookDocumentSyncRegistrationType;(function(NotebookDocumentSyncRegistrationType2){NotebookDocumentSyncRegistrationType2.method="notebookDocument/sync",NotebookDocumentSyncRegistrationType2.messageDirection=messages_1.MessageDirection.clientToServer,NotebookDocumentSyncRegistrationType2.type=new messages_1.RegistrationType(NotebookDocumentSyncRegistrationType2.method)})(NotebookDocumentSyncRegistrationType||(exports.NotebookDocumentSyncRegistrationType=NotebookDocumentSyncRegistrationType={}));var DidOpenNotebookDocumentNotification;(function(DidOpenNotebookDocumentNotification2){DidOpenNotebookDocumentNotification2.method="notebookDocument/didOpen",DidOpenNotebookDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidOpenNotebookDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidOpenNotebookDocumentNotification2.method),DidOpenNotebookDocumentNotification2.registrationMethod=NotebookDocumentSyncRegistrationType.method})(DidOpenNotebookDocumentNotification||(exports.DidOpenNotebookDocumentNotification=DidOpenNotebookDocumentNotification={}));var NotebookCellArrayChange;(function(NotebookCellArrayChange2){function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&vscode_languageserver_types_1.uinteger.is(candidate.start)&&vscode_languageserver_types_1.uinteger.is(candidate.deleteCount)&&(candidate.cells===void 0||Is3.typedArray(candidate.cells,NotebookCell.is))}NotebookCellArrayChange2.is=is;function create(start,deleteCount,cells){let result={start,deleteCount};return cells!==void 0&&(result.cells=cells),result}NotebookCellArrayChange2.create=create})(NotebookCellArrayChange||(exports.NotebookCellArrayChange=NotebookCellArrayChange={}));var DidChangeNotebookDocumentNotification;(function(DidChangeNotebookDocumentNotification2){DidChangeNotebookDocumentNotification2.method="notebookDocument/didChange",DidChangeNotebookDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeNotebookDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidChangeNotebookDocumentNotification2.method),DidChangeNotebookDocumentNotification2.registrationMethod=NotebookDocumentSyncRegistrationType.method})(DidChangeNotebookDocumentNotification||(exports.DidChangeNotebookDocumentNotification=DidChangeNotebookDocumentNotification={}));var DidSaveNotebookDocumentNotification;(function(DidSaveNotebookDocumentNotification2){DidSaveNotebookDocumentNotification2.method="notebookDocument/didSave",DidSaveNotebookDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidSaveNotebookDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidSaveNotebookDocumentNotification2.method),DidSaveNotebookDocumentNotification2.registrationMethod=NotebookDocumentSyncRegistrationType.method})(DidSaveNotebookDocumentNotification||(exports.DidSaveNotebookDocumentNotification=DidSaveNotebookDocumentNotification={}));var DidCloseNotebookDocumentNotification;(function(DidCloseNotebookDocumentNotification2){DidCloseNotebookDocumentNotification2.method="notebookDocument/didClose",DidCloseNotebookDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidCloseNotebookDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidCloseNotebookDocumentNotification2.method),DidCloseNotebookDocumentNotification2.registrationMethod=NotebookDocumentSyncRegistrationType.method})(DidCloseNotebookDocumentNotification||(exports.DidCloseNotebookDocumentNotification=DidCloseNotebookDocumentNotification={}))}});var require_protocol_inlineCompletion=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.InlineCompletionRequest=void 0;var messages_1=require_messages2(),InlineCompletionRequest;(function(InlineCompletionRequest2){InlineCompletionRequest2.method="textDocument/inlineCompletion",InlineCompletionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InlineCompletionRequest2.type=new messages_1.ProtocolRequestType(InlineCompletionRequest2.method)})(InlineCompletionRequest||(exports.InlineCompletionRequest=InlineCompletionRequest={}))}});var require_protocol=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.WorkspaceSymbolRequest=exports.CodeActionResolveRequest=exports.CodeActionRequest=exports.DocumentSymbolRequest=exports.DocumentHighlightRequest=exports.ReferencesRequest=exports.DefinitionRequest=exports.SignatureHelpRequest=exports.SignatureHelpTriggerKind=exports.HoverRequest=exports.CompletionResolveRequest=exports.CompletionRequest=exports.CompletionTriggerKind=exports.PublishDiagnosticsNotification=exports.WatchKind=exports.RelativePattern=exports.FileChangeType=exports.DidChangeWatchedFilesNotification=exports.WillSaveTextDocumentWaitUntilRequest=exports.WillSaveTextDocumentNotification=exports.TextDocumentSaveReason=exports.DidSaveTextDocumentNotification=exports.DidCloseTextDocumentNotification=exports.DidChangeTextDocumentNotification=exports.TextDocumentContentChangeEvent=exports.DidOpenTextDocumentNotification=exports.TextDocumentSyncKind=exports.TelemetryEventNotification=exports.LogMessageNotification=exports.ShowMessageRequest=exports.ShowMessageNotification=exports.MessageType=exports.DidChangeConfigurationNotification=exports.ExitNotification=exports.ShutdownRequest=exports.InitializedNotification=exports.InitializeErrorCodes=exports.InitializeRequest=exports.WorkDoneProgressOptions=exports.TextDocumentRegistrationOptions=exports.StaticRegistrationOptions=exports.PositionEncodingKind=exports.FailureHandlingKind=exports.ResourceOperationKind=exports.UnregistrationRequest=exports.RegistrationRequest=exports.DocumentSelector=exports.NotebookCellTextDocumentFilter=exports.NotebookDocumentFilter=exports.TextDocumentFilter=void 0;exports.MonikerRequest=exports.MonikerKind=exports.UniquenessLevel=exports.WillDeleteFilesRequest=exports.DidDeleteFilesNotification=exports.WillRenameFilesRequest=exports.DidRenameFilesNotification=exports.WillCreateFilesRequest=exports.DidCreateFilesNotification=exports.FileOperationPatternKind=exports.LinkedEditingRangeRequest=exports.ShowDocumentRequest=exports.SemanticTokensRegistrationType=exports.SemanticTokensRefreshRequest=exports.SemanticTokensRangeRequest=exports.SemanticTokensDeltaRequest=exports.SemanticTokensRequest=exports.TokenFormat=exports.CallHierarchyPrepareRequest=exports.CallHierarchyOutgoingCallsRequest=exports.CallHierarchyIncomingCallsRequest=exports.WorkDoneProgressCancelNotification=exports.WorkDoneProgressCreateRequest=exports.WorkDoneProgress=exports.SelectionRangeRequest=exports.DeclarationRequest=exports.FoldingRangeRefreshRequest=exports.FoldingRangeRequest=exports.ColorPresentationRequest=exports.DocumentColorRequest=exports.ConfigurationRequest=exports.DidChangeWorkspaceFoldersNotification=exports.WorkspaceFoldersRequest=exports.TypeDefinitionRequest=exports.ImplementationRequest=exports.ApplyWorkspaceEditRequest=exports.ExecuteCommandRequest=exports.PrepareRenameRequest=exports.RenameRequest=exports.PrepareSupportDefaultBehavior=exports.DocumentOnTypeFormattingRequest=exports.DocumentRangesFormattingRequest=exports.DocumentRangeFormattingRequest=exports.DocumentFormattingRequest=exports.DocumentLinkResolveRequest=exports.DocumentLinkRequest=exports.CodeLensRefreshRequest=exports.CodeLensResolveRequest=exports.CodeLensRequest=exports.WorkspaceSymbolResolveRequest=void 0;exports.InlineCompletionRequest=exports.DidCloseNotebookDocumentNotification=exports.DidSaveNotebookDocumentNotification=exports.DidChangeNotebookDocumentNotification=exports.NotebookCellArrayChange=exports.DidOpenNotebookDocumentNotification=exports.NotebookDocumentSyncRegistrationType=exports.NotebookDocument=exports.NotebookCell=exports.ExecutionSummary=exports.NotebookCellKind=exports.DiagnosticRefreshRequest=exports.WorkspaceDiagnosticRequest=exports.DocumentDiagnosticRequest=exports.DocumentDiagnosticReportKind=exports.DiagnosticServerCancellationData=exports.InlayHintRefreshRequest=exports.InlayHintResolveRequest=exports.InlayHintRequest=exports.InlineValueRefreshRequest=exports.InlineValueRequest=exports.TypeHierarchySupertypesRequest=exports.TypeHierarchySubtypesRequest=exports.TypeHierarchyPrepareRequest=void 0;var messages_1=require_messages2(),vscode_languageserver_types_1=(init_main(),__toCommonJS(main_exports)),Is3=require_is2(),protocol_implementation_1=require_protocol_implementation();Object.defineProperty(exports,"ImplementationRequest",{enumerable:!0,get:function(){return protocol_implementation_1.ImplementationRequest}});var protocol_typeDefinition_1=require_protocol_typeDefinition();Object.defineProperty(exports,"TypeDefinitionRequest",{enumerable:!0,get:function(){return protocol_typeDefinition_1.TypeDefinitionRequest}});var protocol_workspaceFolder_1=require_protocol_workspaceFolder();Object.defineProperty(exports,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return protocol_workspaceFolder_1.WorkspaceFoldersRequest}});Object.defineProperty(exports,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return protocol_workspaceFolder_1.DidChangeWorkspaceFoldersNotification}});var protocol_configuration_1=require_protocol_configuration();Object.defineProperty(exports,"ConfigurationRequest",{enumerable:!0,get:function(){return protocol_configuration_1.ConfigurationRequest}});var protocol_colorProvider_1=require_protocol_colorProvider();Object.defineProperty(exports,"DocumentColorRequest",{enumerable:!0,get:function(){return protocol_colorProvider_1.DocumentColorRequest}});Object.defineProperty(exports,"ColorPresentationRequest",{enumerable:!0,get:function(){return protocol_colorProvider_1.ColorPresentationRequest}});var protocol_foldingRange_1=require_protocol_foldingRange();Object.defineProperty(exports,"FoldingRangeRequest",{enumerable:!0,get:function(){return protocol_foldingRange_1.FoldingRangeRequest}});Object.defineProperty(exports,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return protocol_foldingRange_1.FoldingRangeRefreshRequest}});var protocol_declaration_1=require_protocol_declaration();Object.defineProperty(exports,"DeclarationRequest",{enumerable:!0,get:function(){return protocol_declaration_1.DeclarationRequest}});var protocol_selectionRange_1=require_protocol_selectionRange();Object.defineProperty(exports,"SelectionRangeRequest",{enumerable:!0,get:function(){return protocol_selectionRange_1.SelectionRangeRequest}});var protocol_progress_1=require_protocol_progress();Object.defineProperty(exports,"WorkDoneProgress",{enumerable:!0,get:function(){return protocol_progress_1.WorkDoneProgress}});Object.defineProperty(exports,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return protocol_progress_1.WorkDoneProgressCreateRequest}});Object.defineProperty(exports,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return protocol_progress_1.WorkDoneProgressCancelNotification}});var protocol_callHierarchy_1=require_protocol_callHierarchy();Object.defineProperty(exports,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return protocol_callHierarchy_1.CallHierarchyIncomingCallsRequest}});Object.defineProperty(exports,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return protocol_callHierarchy_1.CallHierarchyOutgoingCallsRequest}});Object.defineProperty(exports,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return protocol_callHierarchy_1.CallHierarchyPrepareRequest}});var protocol_semanticTokens_1=require_protocol_semanticTokens();Object.defineProperty(exports,"TokenFormat",{enumerable:!0,get:function(){return protocol_semanticTokens_1.TokenFormat}});Object.defineProperty(exports,"SemanticTokensRequest",{enumerable:!0,get:function(){return protocol_semanticTokens_1.SemanticTokensRequest}});Object.defineProperty(exports,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return protocol_semanticTokens_1.SemanticTokensDeltaRequest}});Object.defineProperty(exports,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return protocol_semanticTokens_1.SemanticTokensRangeRequest}});Object.defineProperty(exports,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return protocol_semanticTokens_1.SemanticTokensRefreshRequest}});Object.defineProperty(exports,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return protocol_semanticTokens_1.SemanticTokensRegistrationType}});var protocol_showDocument_1=require_protocol_showDocument();Object.defineProperty(exports,"ShowDocumentRequest",{enumerable:!0,get:function(){return protocol_showDocument_1.ShowDocumentRequest}});var protocol_linkedEditingRange_1=require_protocol_linkedEditingRange();Object.defineProperty(exports,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return protocol_linkedEditingRange_1.LinkedEditingRangeRequest}});var protocol_fileOperations_1=require_protocol_fileOperations();Object.defineProperty(exports,"FileOperationPatternKind",{enumerable:!0,get:function(){return protocol_fileOperations_1.FileOperationPatternKind}});Object.defineProperty(exports,"DidCreateFilesNotification",{enumerable:!0,get:function(){return protocol_fileOperations_1.DidCreateFilesNotification}});Object.defineProperty(exports,"WillCreateFilesRequest",{enumerable:!0,get:function(){return protocol_fileOperations_1.WillCreateFilesRequest}});Object.defineProperty(exports,"DidRenameFilesNotification",{enumerable:!0,get:function(){return protocol_fileOperations_1.DidRenameFilesNotification}});Object.defineProperty(exports,"WillRenameFilesRequest",{enumerable:!0,get:function(){return protocol_fileOperations_1.WillRenameFilesRequest}});Object.defineProperty(exports,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return protocol_fileOperations_1.DidDeleteFilesNotification}});Object.defineProperty(exports,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return protocol_fileOperations_1.WillDeleteFilesRequest}});var protocol_moniker_1=require_protocol_moniker();Object.defineProperty(exports,"UniquenessLevel",{enumerable:!0,get:function(){return protocol_moniker_1.UniquenessLevel}});Object.defineProperty(exports,"MonikerKind",{enumerable:!0,get:function(){return protocol_moniker_1.MonikerKind}});Object.defineProperty(exports,"MonikerRequest",{enumerable:!0,get:function(){return protocol_moniker_1.MonikerRequest}});var protocol_typeHierarchy_1=require_protocol_typeHierarchy();Object.defineProperty(exports,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return protocol_typeHierarchy_1.TypeHierarchyPrepareRequest}});Object.defineProperty(exports,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return protocol_typeHierarchy_1.TypeHierarchySubtypesRequest}});Object.defineProperty(exports,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return protocol_typeHierarchy_1.TypeHierarchySupertypesRequest}});var protocol_inlineValue_1=require_protocol_inlineValue();Object.defineProperty(exports,"InlineValueRequest",{enumerable:!0,get:function(){return protocol_inlineValue_1.InlineValueRequest}});Object.defineProperty(exports,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return protocol_inlineValue_1.InlineValueRefreshRequest}});var protocol_inlayHint_1=require_protocol_inlayHint();Object.defineProperty(exports,"InlayHintRequest",{enumerable:!0,get:function(){return protocol_inlayHint_1.InlayHintRequest}});Object.defineProperty(exports,"InlayHintResolveRequest",{enumerable:!0,get:function(){return protocol_inlayHint_1.InlayHintResolveRequest}});Object.defineProperty(exports,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return protocol_inlayHint_1.InlayHintRefreshRequest}});var protocol_diagnostic_1=require_protocol_diagnostic();Object.defineProperty(exports,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return protocol_diagnostic_1.DiagnosticServerCancellationData}});Object.defineProperty(exports,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return protocol_diagnostic_1.DocumentDiagnosticReportKind}});Object.defineProperty(exports,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return protocol_diagnostic_1.DocumentDiagnosticRequest}});Object.defineProperty(exports,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return protocol_diagnostic_1.WorkspaceDiagnosticRequest}});Object.defineProperty(exports,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return protocol_diagnostic_1.DiagnosticRefreshRequest}});var protocol_notebook_1=require_protocol_notebook();Object.defineProperty(exports,"NotebookCellKind",{enumerable:!0,get:function(){return protocol_notebook_1.NotebookCellKind}});Object.defineProperty(exports,"ExecutionSummary",{enumerable:!0,get:function(){return protocol_notebook_1.ExecutionSummary}});Object.defineProperty(exports,"NotebookCell",{enumerable:!0,get:function(){return protocol_notebook_1.NotebookCell}});Object.defineProperty(exports,"NotebookDocument",{enumerable:!0,get:function(){return protocol_notebook_1.NotebookDocument}});Object.defineProperty(exports,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return protocol_notebook_1.NotebookDocumentSyncRegistrationType}});Object.defineProperty(exports,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return protocol_notebook_1.DidOpenNotebookDocumentNotification}});Object.defineProperty(exports,"NotebookCellArrayChange",{enumerable:!0,get:function(){return protocol_notebook_1.NotebookCellArrayChange}});Object.defineProperty(exports,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return protocol_notebook_1.DidChangeNotebookDocumentNotification}});Object.defineProperty(exports,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return protocol_notebook_1.DidSaveNotebookDocumentNotification}});Object.defineProperty(exports,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return protocol_notebook_1.DidCloseNotebookDocumentNotification}});var protocol_inlineCompletion_1=require_protocol_inlineCompletion();Object.defineProperty(exports,"InlineCompletionRequest",{enumerable:!0,get:function(){return protocol_inlineCompletion_1.InlineCompletionRequest}});var TextDocumentFilter;(function(TextDocumentFilter2){function is(value){let candidate=value;return Is3.string(candidate)||Is3.string(candidate.language)||Is3.string(candidate.scheme)||Is3.string(candidate.pattern)}TextDocumentFilter2.is=is})(TextDocumentFilter||(exports.TextDocumentFilter=TextDocumentFilter={}));var NotebookDocumentFilter;(function(NotebookDocumentFilter2){function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&(Is3.string(candidate.notebookType)||Is3.string(candidate.scheme)||Is3.string(candidate.pattern))}NotebookDocumentFilter2.is=is})(NotebookDocumentFilter||(exports.NotebookDocumentFilter=NotebookDocumentFilter={}));var NotebookCellTextDocumentFilter;(function(NotebookCellTextDocumentFilter2){function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&(Is3.string(candidate.notebook)||NotebookDocumentFilter.is(candidate.notebook))&&(candidate.language===void 0||Is3.string(candidate.language))}NotebookCellTextDocumentFilter2.is=is})(NotebookCellTextDocumentFilter||(exports.NotebookCellTextDocumentFilter=NotebookCellTextDocumentFilter={}));var DocumentSelector;(function(DocumentSelector2){function is(value){if(!Array.isArray(value))return!1;for(let elem of value)if(!Is3.string(elem)&&!TextDocumentFilter.is(elem)&&!NotebookCellTextDocumentFilter.is(elem))return!1;return!0}DocumentSelector2.is=is})(DocumentSelector||(exports.DocumentSelector=DocumentSelector={}));var RegistrationRequest;(function(RegistrationRequest2){RegistrationRequest2.method="client/registerCapability",RegistrationRequest2.messageDirection=messages_1.MessageDirection.serverToClient,RegistrationRequest2.type=new messages_1.ProtocolRequestType(RegistrationRequest2.method)})(RegistrationRequest||(exports.RegistrationRequest=RegistrationRequest={}));var UnregistrationRequest;(function(UnregistrationRequest2){UnregistrationRequest2.method="client/unregisterCapability",UnregistrationRequest2.messageDirection=messages_1.MessageDirection.serverToClient,UnregistrationRequest2.type=new messages_1.ProtocolRequestType(UnregistrationRequest2.method)})(UnregistrationRequest||(exports.UnregistrationRequest=UnregistrationRequest={}));var ResourceOperationKind;(function(ResourceOperationKind2){ResourceOperationKind2.Create="create",ResourceOperationKind2.Rename="rename",ResourceOperationKind2.Delete="delete"})(ResourceOperationKind||(exports.ResourceOperationKind=ResourceOperationKind={}));var FailureHandlingKind;(function(FailureHandlingKind2){FailureHandlingKind2.Abort="abort",FailureHandlingKind2.Transactional="transactional",FailureHandlingKind2.TextOnlyTransactional="textOnlyTransactional",FailureHandlingKind2.Undo="undo"})(FailureHandlingKind||(exports.FailureHandlingKind=FailureHandlingKind={}));var PositionEncodingKind;(function(PositionEncodingKind2){PositionEncodingKind2.UTF8="utf-8",PositionEncodingKind2.UTF16="utf-16",PositionEncodingKind2.UTF32="utf-32"})(PositionEncodingKind||(exports.PositionEncodingKind=PositionEncodingKind={}));var StaticRegistrationOptions;(function(StaticRegistrationOptions2){function hasId(value){let candidate=value;return candidate&&Is3.string(candidate.id)&&candidate.id.length>0}StaticRegistrationOptions2.hasId=hasId})(StaticRegistrationOptions||(exports.StaticRegistrationOptions=StaticRegistrationOptions={}));var TextDocumentRegistrationOptions;(function(TextDocumentRegistrationOptions2){function is(value){let candidate=value;return candidate&&(candidate.documentSelector===null||DocumentSelector.is(candidate.documentSelector))}TextDocumentRegistrationOptions2.is=is})(TextDocumentRegistrationOptions||(exports.TextDocumentRegistrationOptions=TextDocumentRegistrationOptions={}));var WorkDoneProgressOptions;(function(WorkDoneProgressOptions2){function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&(candidate.workDoneProgress===void 0||Is3.boolean(candidate.workDoneProgress))}WorkDoneProgressOptions2.is=is;function hasWorkDoneProgress(value){let candidate=value;return candidate&&Is3.boolean(candidate.workDoneProgress)}WorkDoneProgressOptions2.hasWorkDoneProgress=hasWorkDoneProgress})(WorkDoneProgressOptions||(exports.WorkDoneProgressOptions=WorkDoneProgressOptions={}));var InitializeRequest;(function(InitializeRequest2){InitializeRequest2.method="initialize",InitializeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InitializeRequest2.type=new messages_1.ProtocolRequestType(InitializeRequest2.method)})(InitializeRequest||(exports.InitializeRequest=InitializeRequest={}));var InitializeErrorCodes;(function(InitializeErrorCodes2){InitializeErrorCodes2.unknownProtocolVersion=1})(InitializeErrorCodes||(exports.InitializeErrorCodes=InitializeErrorCodes={}));var InitializedNotification;(function(InitializedNotification2){InitializedNotification2.method="initialized",InitializedNotification2.messageDirection=messages_1.MessageDirection.clientToServer,InitializedNotification2.type=new messages_1.ProtocolNotificationType(InitializedNotification2.method)})(InitializedNotification||(exports.InitializedNotification=InitializedNotification={}));var ShutdownRequest;(function(ShutdownRequest2){ShutdownRequest2.method="shutdown",ShutdownRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ShutdownRequest2.type=new messages_1.ProtocolRequestType0(ShutdownRequest2.method)})(ShutdownRequest||(exports.ShutdownRequest=ShutdownRequest={}));var ExitNotification;(function(ExitNotification2){ExitNotification2.method="exit",ExitNotification2.messageDirection=messages_1.MessageDirection.clientToServer,ExitNotification2.type=new messages_1.ProtocolNotificationType0(ExitNotification2.method)})(ExitNotification||(exports.ExitNotification=ExitNotification={}));var DidChangeConfigurationNotification2;(function(DidChangeConfigurationNotification3){DidChangeConfigurationNotification3.method="workspace/didChangeConfiguration",DidChangeConfigurationNotification3.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeConfigurationNotification3.type=new messages_1.ProtocolNotificationType(DidChangeConfigurationNotification3.method)})(DidChangeConfigurationNotification2||(exports.DidChangeConfigurationNotification=DidChangeConfigurationNotification2={}));var MessageType;(function(MessageType2){MessageType2.Error=1,MessageType2.Warning=2,MessageType2.Info=3,MessageType2.Log=4,MessageType2.Debug=5})(MessageType||(exports.MessageType=MessageType={}));var ShowMessageNotification;(function(ShowMessageNotification2){ShowMessageNotification2.method="window/showMessage",ShowMessageNotification2.messageDirection=messages_1.MessageDirection.serverToClient,ShowMessageNotification2.type=new messages_1.ProtocolNotificationType(ShowMessageNotification2.method)})(ShowMessageNotification||(exports.ShowMessageNotification=ShowMessageNotification={}));var ShowMessageRequest;(function(ShowMessageRequest2){ShowMessageRequest2.method="window/showMessageRequest",ShowMessageRequest2.messageDirection=messages_1.MessageDirection.serverToClient,ShowMessageRequest2.type=new messages_1.ProtocolRequestType(ShowMessageRequest2.method)})(ShowMessageRequest||(exports.ShowMessageRequest=ShowMessageRequest={}));var LogMessageNotification;(function(LogMessageNotification2){LogMessageNotification2.method="window/logMessage",LogMessageNotification2.messageDirection=messages_1.MessageDirection.serverToClient,LogMessageNotification2.type=new messages_1.ProtocolNotificationType(LogMessageNotification2.method)})(LogMessageNotification||(exports.LogMessageNotification=LogMessageNotification={}));var TelemetryEventNotification;(function(TelemetryEventNotification2){TelemetryEventNotification2.method="telemetry/event",TelemetryEventNotification2.messageDirection=messages_1.MessageDirection.serverToClient,TelemetryEventNotification2.type=new messages_1.ProtocolNotificationType(TelemetryEventNotification2.method)})(TelemetryEventNotification||(exports.TelemetryEventNotification=TelemetryEventNotification={}));var TextDocumentSyncKind2;(function(TextDocumentSyncKind3){TextDocumentSyncKind3.None=0,TextDocumentSyncKind3.Full=1,TextDocumentSyncKind3.Incremental=2})(TextDocumentSyncKind2||(exports.TextDocumentSyncKind=TextDocumentSyncKind2={}));var DidOpenTextDocumentNotification;(function(DidOpenTextDocumentNotification2){DidOpenTextDocumentNotification2.method="textDocument/didOpen",DidOpenTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidOpenTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidOpenTextDocumentNotification2.method)})(DidOpenTextDocumentNotification||(exports.DidOpenTextDocumentNotification=DidOpenTextDocumentNotification={}));var TextDocumentContentChangeEvent;(function(TextDocumentContentChangeEvent2){function isIncremental(event){let candidate=event;return candidate!=null&&typeof candidate.text=="string"&&candidate.range!==void 0&&(candidate.rangeLength===void 0||typeof candidate.rangeLength=="number")}TextDocumentContentChangeEvent2.isIncremental=isIncremental;function isFull(event){let candidate=event;return candidate!=null&&typeof candidate.text=="string"&&candidate.range===void 0&&candidate.rangeLength===void 0}TextDocumentContentChangeEvent2.isFull=isFull})(TextDocumentContentChangeEvent||(exports.TextDocumentContentChangeEvent=TextDocumentContentChangeEvent={}));var DidChangeTextDocumentNotification;(function(DidChangeTextDocumentNotification2){DidChangeTextDocumentNotification2.method="textDocument/didChange",DidChangeTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidChangeTextDocumentNotification2.method)})(DidChangeTextDocumentNotification||(exports.DidChangeTextDocumentNotification=DidChangeTextDocumentNotification={}));var DidCloseTextDocumentNotification;(function(DidCloseTextDocumentNotification2){DidCloseTextDocumentNotification2.method="textDocument/didClose",DidCloseTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidCloseTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidCloseTextDocumentNotification2.method)})(DidCloseTextDocumentNotification||(exports.DidCloseTextDocumentNotification=DidCloseTextDocumentNotification={}));var DidSaveTextDocumentNotification;(function(DidSaveTextDocumentNotification2){DidSaveTextDocumentNotification2.method="textDocument/didSave",DidSaveTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidSaveTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidSaveTextDocumentNotification2.method)})(DidSaveTextDocumentNotification||(exports.DidSaveTextDocumentNotification=DidSaveTextDocumentNotification={}));var TextDocumentSaveReason;(function(TextDocumentSaveReason2){TextDocumentSaveReason2.Manual=1,TextDocumentSaveReason2.AfterDelay=2,TextDocumentSaveReason2.FocusOut=3})(TextDocumentSaveReason||(exports.TextDocumentSaveReason=TextDocumentSaveReason={}));var WillSaveTextDocumentNotification;(function(WillSaveTextDocumentNotification2){WillSaveTextDocumentNotification2.method="textDocument/willSave",WillSaveTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,WillSaveTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(WillSaveTextDocumentNotification2.method)})(WillSaveTextDocumentNotification||(exports.WillSaveTextDocumentNotification=WillSaveTextDocumentNotification={}));var WillSaveTextDocumentWaitUntilRequest;(function(WillSaveTextDocumentWaitUntilRequest2){WillSaveTextDocumentWaitUntilRequest2.method="textDocument/willSaveWaitUntil",WillSaveTextDocumentWaitUntilRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WillSaveTextDocumentWaitUntilRequest2.type=new messages_1.ProtocolRequestType(WillSaveTextDocumentWaitUntilRequest2.method)})(WillSaveTextDocumentWaitUntilRequest||(exports.WillSaveTextDocumentWaitUntilRequest=WillSaveTextDocumentWaitUntilRequest={}));var DidChangeWatchedFilesNotification;(function(DidChangeWatchedFilesNotification2){DidChangeWatchedFilesNotification2.method="workspace/didChangeWatchedFiles",DidChangeWatchedFilesNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeWatchedFilesNotification2.type=new messages_1.ProtocolNotificationType(DidChangeWatchedFilesNotification2.method)})(DidChangeWatchedFilesNotification||(exports.DidChangeWatchedFilesNotification=DidChangeWatchedFilesNotification={}));var FileChangeType;(function(FileChangeType2){FileChangeType2.Created=1,FileChangeType2.Changed=2,FileChangeType2.Deleted=3})(FileChangeType||(exports.FileChangeType=FileChangeType={}));var RelativePattern;(function(RelativePattern2){function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&(vscode_languageserver_types_1.URI.is(candidate.baseUri)||vscode_languageserver_types_1.WorkspaceFolder.is(candidate.baseUri))&&Is3.string(candidate.pattern)}RelativePattern2.is=is})(RelativePattern||(exports.RelativePattern=RelativePattern={}));var WatchKind;(function(WatchKind2){WatchKind2.Create=1,WatchKind2.Change=2,WatchKind2.Delete=4})(WatchKind||(exports.WatchKind=WatchKind={}));var PublishDiagnosticsNotification;(function(PublishDiagnosticsNotification2){PublishDiagnosticsNotification2.method="textDocument/publishDiagnostics",PublishDiagnosticsNotification2.messageDirection=messages_1.MessageDirection.serverToClient,PublishDiagnosticsNotification2.type=new messages_1.ProtocolNotificationType(PublishDiagnosticsNotification2.method)})(PublishDiagnosticsNotification||(exports.PublishDiagnosticsNotification=PublishDiagnosticsNotification={}));var CompletionTriggerKind;(function(CompletionTriggerKind2){CompletionTriggerKind2.Invoked=1,CompletionTriggerKind2.TriggerCharacter=2,CompletionTriggerKind2.TriggerForIncompleteCompletions=3})(CompletionTriggerKind||(exports.CompletionTriggerKind=CompletionTriggerKind={}));var CompletionRequest;(function(CompletionRequest2){CompletionRequest2.method="textDocument/completion",CompletionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CompletionRequest2.type=new messages_1.ProtocolRequestType(CompletionRequest2.method)})(CompletionRequest||(exports.CompletionRequest=CompletionRequest={}));var CompletionResolveRequest;(function(CompletionResolveRequest2){CompletionResolveRequest2.method="completionItem/resolve",CompletionResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CompletionResolveRequest2.type=new messages_1.ProtocolRequestType(CompletionResolveRequest2.method)})(CompletionResolveRequest||(exports.CompletionResolveRequest=CompletionResolveRequest={}));var HoverRequest;(function(HoverRequest2){HoverRequest2.method="textDocument/hover",HoverRequest2.messageDirection=messages_1.MessageDirection.clientToServer,HoverRequest2.type=new messages_1.ProtocolRequestType(HoverRequest2.method)})(HoverRequest||(exports.HoverRequest=HoverRequest={}));var SignatureHelpTriggerKind;(function(SignatureHelpTriggerKind2){SignatureHelpTriggerKind2.Invoked=1,SignatureHelpTriggerKind2.TriggerCharacter=2,SignatureHelpTriggerKind2.ContentChange=3})(SignatureHelpTriggerKind||(exports.SignatureHelpTriggerKind=SignatureHelpTriggerKind={}));var SignatureHelpRequest;(function(SignatureHelpRequest2){SignatureHelpRequest2.method="textDocument/signatureHelp",SignatureHelpRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SignatureHelpRequest2.type=new messages_1.ProtocolRequestType(SignatureHelpRequest2.method)})(SignatureHelpRequest||(exports.SignatureHelpRequest=SignatureHelpRequest={}));var DefinitionRequest;(function(DefinitionRequest2){DefinitionRequest2.method="textDocument/definition",DefinitionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DefinitionRequest2.type=new messages_1.ProtocolRequestType(DefinitionRequest2.method)})(DefinitionRequest||(exports.DefinitionRequest=DefinitionRequest={}));var ReferencesRequest;(function(ReferencesRequest2){ReferencesRequest2.method="textDocument/references",ReferencesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ReferencesRequest2.type=new messages_1.ProtocolRequestType(ReferencesRequest2.method)})(ReferencesRequest||(exports.ReferencesRequest=ReferencesRequest={}));var DocumentHighlightRequest;(function(DocumentHighlightRequest2){DocumentHighlightRequest2.method="textDocument/documentHighlight",DocumentHighlightRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentHighlightRequest2.type=new messages_1.ProtocolRequestType(DocumentHighlightRequest2.method)})(DocumentHighlightRequest||(exports.DocumentHighlightRequest=DocumentHighlightRequest={}));var DocumentSymbolRequest;(function(DocumentSymbolRequest2){DocumentSymbolRequest2.method="textDocument/documentSymbol",DocumentSymbolRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentSymbolRequest2.type=new messages_1.ProtocolRequestType(DocumentSymbolRequest2.method)})(DocumentSymbolRequest||(exports.DocumentSymbolRequest=DocumentSymbolRequest={}));var CodeActionRequest;(function(CodeActionRequest2){CodeActionRequest2.method="textDocument/codeAction",CodeActionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CodeActionRequest2.type=new messages_1.ProtocolRequestType(CodeActionRequest2.method)})(CodeActionRequest||(exports.CodeActionRequest=CodeActionRequest={}));var CodeActionResolveRequest;(function(CodeActionResolveRequest2){CodeActionResolveRequest2.method="codeAction/resolve",CodeActionResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CodeActionResolveRequest2.type=new messages_1.ProtocolRequestType(CodeActionResolveRequest2.method)})(CodeActionResolveRequest||(exports.CodeActionResolveRequest=CodeActionResolveRequest={}));var WorkspaceSymbolRequest;(function(WorkspaceSymbolRequest2){WorkspaceSymbolRequest2.method="workspace/symbol",WorkspaceSymbolRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WorkspaceSymbolRequest2.type=new messages_1.ProtocolRequestType(WorkspaceSymbolRequest2.method)})(WorkspaceSymbolRequest||(exports.WorkspaceSymbolRequest=WorkspaceSymbolRequest={}));var WorkspaceSymbolResolveRequest;(function(WorkspaceSymbolResolveRequest2){WorkspaceSymbolResolveRequest2.method="workspaceSymbol/resolve",WorkspaceSymbolResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WorkspaceSymbolResolveRequest2.type=new messages_1.ProtocolRequestType(WorkspaceSymbolResolveRequest2.method)})(WorkspaceSymbolResolveRequest||(exports.WorkspaceSymbolResolveRequest=WorkspaceSymbolResolveRequest={}));var CodeLensRequest;(function(CodeLensRequest2){CodeLensRequest2.method="textDocument/codeLens",CodeLensRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CodeLensRequest2.type=new messages_1.ProtocolRequestType(CodeLensRequest2.method)})(CodeLensRequest||(exports.CodeLensRequest=CodeLensRequest={}));var CodeLensResolveRequest;(function(CodeLensResolveRequest2){CodeLensResolveRequest2.method="codeLens/resolve",CodeLensResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CodeLensResolveRequest2.type=new messages_1.ProtocolRequestType(CodeLensResolveRequest2.method)})(CodeLensResolveRequest||(exports.CodeLensResolveRequest=CodeLensResolveRequest={}));var CodeLensRefreshRequest;(function(CodeLensRefreshRequest2){CodeLensRefreshRequest2.method="workspace/codeLens/refresh",CodeLensRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,CodeLensRefreshRequest2.type=new messages_1.ProtocolRequestType0(CodeLensRefreshRequest2.method)})(CodeLensRefreshRequest||(exports.CodeLensRefreshRequest=CodeLensRefreshRequest={}));var DocumentLinkRequest;(function(DocumentLinkRequest2){DocumentLinkRequest2.method="textDocument/documentLink",DocumentLinkRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentLinkRequest2.type=new messages_1.ProtocolRequestType(DocumentLinkRequest2.method)})(DocumentLinkRequest||(exports.DocumentLinkRequest=DocumentLinkRequest={}));var DocumentLinkResolveRequest;(function(DocumentLinkResolveRequest2){DocumentLinkResolveRequest2.method="documentLink/resolve",DocumentLinkResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentLinkResolveRequest2.type=new messages_1.ProtocolRequestType(DocumentLinkResolveRequest2.method)})(DocumentLinkResolveRequest||(exports.DocumentLinkResolveRequest=DocumentLinkResolveRequest={}));var DocumentFormattingRequest;(function(DocumentFormattingRequest2){DocumentFormattingRequest2.method="textDocument/formatting",DocumentFormattingRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentFormattingRequest2.type=new messages_1.ProtocolRequestType(DocumentFormattingRequest2.method)})(DocumentFormattingRequest||(exports.DocumentFormattingRequest=DocumentFormattingRequest={}));var DocumentRangeFormattingRequest;(function(DocumentRangeFormattingRequest2){DocumentRangeFormattingRequest2.method="textDocument/rangeFormatting",DocumentRangeFormattingRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentRangeFormattingRequest2.type=new messages_1.ProtocolRequestType(DocumentRangeFormattingRequest2.method)})(DocumentRangeFormattingRequest||(exports.DocumentRangeFormattingRequest=DocumentRangeFormattingRequest={}));var DocumentRangesFormattingRequest;(function(DocumentRangesFormattingRequest2){DocumentRangesFormattingRequest2.method="textDocument/rangesFormatting",DocumentRangesFormattingRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentRangesFormattingRequest2.type=new messages_1.ProtocolRequestType(DocumentRangesFormattingRequest2.method)})(DocumentRangesFormattingRequest||(exports.DocumentRangesFormattingRequest=DocumentRangesFormattingRequest={}));var DocumentOnTypeFormattingRequest;(function(DocumentOnTypeFormattingRequest2){DocumentOnTypeFormattingRequest2.method="textDocument/onTypeFormatting",DocumentOnTypeFormattingRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentOnTypeFormattingRequest2.type=new messages_1.ProtocolRequestType(DocumentOnTypeFormattingRequest2.method)})(DocumentOnTypeFormattingRequest||(exports.DocumentOnTypeFormattingRequest=DocumentOnTypeFormattingRequest={}));var PrepareSupportDefaultBehavior;(function(PrepareSupportDefaultBehavior2){PrepareSupportDefaultBehavior2.Identifier=1})(PrepareSupportDefaultBehavior||(exports.PrepareSupportDefaultBehavior=PrepareSupportDefaultBehavior={}));var RenameRequest;(function(RenameRequest2){RenameRequest2.method="textDocument/rename",RenameRequest2.messageDirection=messages_1.MessageDirection.clientToServer,RenameRequest2.type=new messages_1.ProtocolRequestType(RenameRequest2.method)})(RenameRequest||(exports.RenameRequest=RenameRequest={}));var PrepareRenameRequest;(function(PrepareRenameRequest2){PrepareRenameRequest2.method="textDocument/prepareRename",PrepareRenameRequest2.messageDirection=messages_1.MessageDirection.clientToServer,PrepareRenameRequest2.type=new messages_1.ProtocolRequestType(PrepareRenameRequest2.method)})(PrepareRenameRequest||(exports.PrepareRenameRequest=PrepareRenameRequest={}));var ExecuteCommandRequest;(function(ExecuteCommandRequest2){ExecuteCommandRequest2.method="workspace/executeCommand",ExecuteCommandRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ExecuteCommandRequest2.type=new messages_1.ProtocolRequestType(ExecuteCommandRequest2.method)})(ExecuteCommandRequest||(exports.ExecuteCommandRequest=ExecuteCommandRequest={}));var ApplyWorkspaceEditRequest;(function(ApplyWorkspaceEditRequest2){ApplyWorkspaceEditRequest2.method="workspace/applyEdit",ApplyWorkspaceEditRequest2.messageDirection=messages_1.MessageDirection.serverToClient,ApplyWorkspaceEditRequest2.type=new messages_1.ProtocolRequestType("workspace/applyEdit")})(ApplyWorkspaceEditRequest||(exports.ApplyWorkspaceEditRequest=ApplyWorkspaceEditRequest={}))}});var require_connection2=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/connection.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.createProtocolConnection=void 0;var vscode_jsonrpc_1=require_main();function createProtocolConnection(input,output,logger,options){return vscode_jsonrpc_1.ConnectionStrategy.is(options)&&(options={connectionStrategy:options}),(0,vscode_jsonrpc_1.createMessageConnection)(input,output,logger,options)}exports.createProtocolConnection=createProtocolConnection}});var require_api2=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/api.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__exportStar=exports&&exports.__exportStar||function(m2,exports2){for(var p in m2)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m2,p)};Object.defineProperty(exports,"__esModule",{value:!0});exports.LSPErrorCodes=exports.createProtocolConnection=void 0;__exportStar(require_main(),exports);__exportStar((init_main(),__toCommonJS(main_exports)),exports);__exportStar(require_messages2(),exports);__exportStar(require_protocol(),exports);var connection_1=require_connection2();Object.defineProperty(exports,"createProtocolConnection",{enumerable:!0,get:function(){return connection_1.createProtocolConnection}});var LSPErrorCodes;(function(LSPErrorCodes2){LSPErrorCodes2.lspReservedErrorRangeStart=-32899,LSPErrorCodes2.RequestFailed=-32803,LSPErrorCodes2.ServerCancelled=-32802,LSPErrorCodes2.ContentModified=-32801,LSPErrorCodes2.RequestCancelled=-32800,LSPErrorCodes2.lspReservedErrorRangeEnd=-32800})(LSPErrorCodes||(exports.LSPErrorCodes=LSPErrorCodes={}))}});var require_main2=__commonJS({"node_modules/vscode-languageserver-protocol/lib/browser/main.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__exportStar=exports&&exports.__exportStar||function(m2,exports2){for(var p in m2)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m2,p)};Object.defineProperty(exports,"__esModule",{value:!0});exports.createProtocolConnection=void 0;var browser_1=require_browser();__exportStar(require_browser(),exports);__exportStar(require_api2(),exports);function createProtocolConnection(reader,writer,logger,options){return(0,browser_1.createMessageConnection)(reader,writer,logger,options)}exports.createProtocolConnection=createProtocolConnection}});var require_semanticTokens=__commonJS({"node_modules/vscode-languageserver/lib/common/semanticTokens.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.SemanticTokensBuilder=exports.SemanticTokensDiff=exports.SemanticTokensFeature=void 0;var vscode_languageserver_protocol_1=require_main2(),SemanticTokensFeature=Base=>class extends Base{get semanticTokens(){return{refresh:()=>this.connection.sendRequest(vscode_languageserver_protocol_1.SemanticTokensRefreshRequest.type),on:handler=>{let type=vscode_languageserver_protocol_1.SemanticTokensRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))},onDelta:handler=>{let type=vscode_languageserver_protocol_1.SemanticTokensDeltaRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))},onRange:handler=>{let type=vscode_languageserver_protocol_1.SemanticTokensRangeRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))}}}};exports.SemanticTokensFeature=SemanticTokensFeature;var SemanticTokensDiff=class{constructor(originalSequence,modifiedSequence){this.originalSequence=originalSequence,this.modifiedSequence=modifiedSequence}computeDiff(){let originalLength=this.originalSequence.length,modifiedLength=this.modifiedSequence.length,startIndex=0;for(;startIndex<modifiedLength&&startIndex<originalLength&&this.originalSequence[startIndex]===this.modifiedSequence[startIndex];)startIndex++;if(startIndex<modifiedLength&&startIndex<originalLength){let originalEndIndex=originalLength-1,modifiedEndIndex=modifiedLength-1;for(;originalEndIndex>=startIndex&&modifiedEndIndex>=startIndex&&this.originalSequence[originalEndIndex]===this.modifiedSequence[modifiedEndIndex];)originalEndIndex--,modifiedEndIndex--;(originalEndIndex<startIndex||modifiedEndIndex<startIndex)&&(originalEndIndex++,modifiedEndIndex++);let deleteCount=originalEndIndex-startIndex+1,newData=this.modifiedSequence.slice(startIndex,modifiedEndIndex+1);return newData.length===1&&newData[0]===this.originalSequence[originalEndIndex]?[{start:startIndex,deleteCount:deleteCount-1}]:[{start:startIndex,deleteCount,data:newData}]}else return startIndex<modifiedLength?[{start:startIndex,deleteCount:0,data:this.modifiedSequence.slice(startIndex)}]:startIndex<originalLength?[{start:startIndex,deleteCount:originalLength-startIndex}]:[]}};exports.SemanticTokensDiff=SemanticTokensDiff;var SemanticTokensBuilder2=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(line,char,length,tokenType,tokenModifiers2){let pushLine=line,pushChar=char;this._dataLen>0&&(pushLine-=this._prevLine,pushLine===0&&(pushChar-=this._prevChar)),this._data[this._dataLen++]=pushLine,this._data[this._dataLen++]=pushChar,this._data[this._dataLen++]=length,this._data[this._dataLen++]=tokenType,this._data[this._dataLen++]=tokenModifiers2,this._prevLine=line,this._prevChar=char}get id(){return this._id.toString()}previousResult(id){this.id===id&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return this._prevData!==void 0}buildEdits(){return this._prevData!==void 0?{resultId:this.id,edits:new SemanticTokensDiff(this._prevData,this._data).computeDiff()}:this.build()}};exports.SemanticTokensBuilder=SemanticTokensBuilder2}});var require_inlineCompletion_proposed=__commonJS({"node_modules/vscode-languageserver/lib/common/inlineCompletion.proposed.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.InlineCompletionFeature=void 0;var vscode_languageserver_protocol_1=require_main2(),InlineCompletionFeature=Base=>class extends Base{get inlineCompletion(){return{on:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.InlineCompletionRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params)))}}};exports.InlineCompletionFeature=InlineCompletionFeature}});var require_textDocuments=__commonJS({"node_modules/vscode-languageserver/lib/common/textDocuments.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.TextDocuments=void 0;var vscode_languageserver_protocol_1=require_main2(),TextDocuments2=class{constructor(configuration){this._configuration=configuration,this._syncedDocuments=new Map,this._onDidChangeContent=new vscode_languageserver_protocol_1.Emitter,this._onDidOpen=new vscode_languageserver_protocol_1.Emitter,this._onDidClose=new vscode_languageserver_protocol_1.Emitter,this._onDidSave=new vscode_languageserver_protocol_1.Emitter,this._onWillSave=new vscode_languageserver_protocol_1.Emitter}get onDidOpen(){return this._onDidOpen.event}get onDidChangeContent(){return this._onDidChangeContent.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(handler){this._willSaveWaitUntil=handler}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(uri){return this._syncedDocuments.get(uri)}all(){return Array.from(this._syncedDocuments.values())}keys(){return Array.from(this._syncedDocuments.keys())}listen(connection2){connection2.__textDocumentSync=vscode_languageserver_protocol_1.TextDocumentSyncKind.Incremental;let disposables=[];return disposables.push(connection2.onDidOpenTextDocument(event=>{let td=event.textDocument,document=this._configuration.create(td.uri,td.languageId,td.version,td.text);this._syncedDocuments.set(td.uri,document);let toFire=Object.freeze({document});this._onDidOpen.fire(toFire),this._onDidChangeContent.fire(toFire)})),disposables.push(connection2.onDidChangeTextDocument(event=>{let td=event.textDocument,changes=event.contentChanges;if(changes.length===0)return;let{version}=td;if(version==null)throw new Error(`Received document change event for ${td.uri} without valid version identifier`);let syncedDocument=this._syncedDocuments.get(td.uri);syncedDocument!==void 0&&(syncedDocument=this._configuration.update(syncedDocument,changes,version),this._syncedDocuments.set(td.uri,syncedDocument),this._onDidChangeContent.fire(Object.freeze({document:syncedDocument})))})),disposables.push(connection2.onDidCloseTextDocument(event=>{let syncedDocument=this._syncedDocuments.get(event.textDocument.uri);syncedDocument!==void 0&&(this._syncedDocuments.delete(event.textDocument.uri),this._onDidClose.fire(Object.freeze({document:syncedDocument})))})),disposables.push(connection2.onWillSaveTextDocument(event=>{let syncedDocument=this._syncedDocuments.get(event.textDocument.uri);syncedDocument!==void 0&&this._onWillSave.fire(Object.freeze({document:syncedDocument,reason:event.reason}))})),disposables.push(connection2.onWillSaveTextDocumentWaitUntil((event,token)=>{let syncedDocument=this._syncedDocuments.get(event.textDocument.uri);return syncedDocument!==void 0&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:syncedDocument,reason:event.reason}),token):[]})),disposables.push(connection2.onDidSaveTextDocument(event=>{let syncedDocument=this._syncedDocuments.get(event.textDocument.uri);syncedDocument!==void 0&&this._onDidSave.fire(Object.freeze({document:syncedDocument}))})),vscode_languageserver_protocol_1.Disposable.create(()=>{disposables.forEach(disposable=>disposable.dispose())})}};exports.TextDocuments=TextDocuments2}});var require_notebook=__commonJS({"node_modules/vscode-languageserver/lib/common/notebook.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.NotebookDocuments=exports.NotebookSyncFeature=void 0;var vscode_languageserver_protocol_1=require_main2(),textDocuments_1=require_textDocuments(),NotebookSyncFeature=Base=>class extends Base{get synchronization(){return{onDidOpenNotebookDocument:handler=>this.connection.onNotification(vscode_languageserver_protocol_1.DidOpenNotebookDocumentNotification.type,params=>{handler(params)}),onDidChangeNotebookDocument:handler=>this.connection.onNotification(vscode_languageserver_protocol_1.DidChangeNotebookDocumentNotification.type,params=>{handler(params)}),onDidSaveNotebookDocument:handler=>this.connection.onNotification(vscode_languageserver_protocol_1.DidSaveNotebookDocumentNotification.type,params=>{handler(params)}),onDidCloseNotebookDocument:handler=>this.connection.onNotification(vscode_languageserver_protocol_1.DidCloseNotebookDocumentNotification.type,params=>{handler(params)})}}};exports.NotebookSyncFeature=NotebookSyncFeature;var CellTextDocumentConnection=class _CellTextDocumentConnection{onDidOpenTextDocument(handler){return this.openHandler=handler,vscode_languageserver_protocol_1.Disposable.create(()=>{this.openHandler=void 0})}openTextDocument(params){this.openHandler&&this.openHandler(params)}onDidChangeTextDocument(handler){return this.changeHandler=handler,vscode_languageserver_protocol_1.Disposable.create(()=>{this.changeHandler=handler})}changeTextDocument(params){this.changeHandler&&this.changeHandler(params)}onDidCloseTextDocument(handler){return this.closeHandler=handler,vscode_languageserver_protocol_1.Disposable.create(()=>{this.closeHandler=void 0})}closeTextDocument(params){this.closeHandler&&this.closeHandler(params)}onWillSaveTextDocument(){return _CellTextDocumentConnection.NULL_DISPOSE}onWillSaveTextDocumentWaitUntil(){return _CellTextDocumentConnection.NULL_DISPOSE}onDidSaveTextDocument(){return _CellTextDocumentConnection.NULL_DISPOSE}};CellTextDocumentConnection.NULL_DISPOSE=Object.freeze({dispose:()=>{}});var NotebookDocuments=class{constructor(configurationOrTextDocuments){configurationOrTextDocuments instanceof textDocuments_1.TextDocuments?this._cellTextDocuments=configurationOrTextDocuments:this._cellTextDocuments=new textDocuments_1.TextDocuments(configurationOrTextDocuments),this.notebookDocuments=new Map,this.notebookCellMap=new Map,this._onDidOpen=new vscode_languageserver_protocol_1.Emitter,this._onDidChange=new vscode_languageserver_protocol_1.Emitter,this._onDidSave=new vscode_languageserver_protocol_1.Emitter,this._onDidClose=new vscode_languageserver_protocol_1.Emitter}get cellTextDocuments(){return this._cellTextDocuments}getCellTextDocument(cell){return this._cellTextDocuments.get(cell.document)}getNotebookDocument(uri){return this.notebookDocuments.get(uri)}getNotebookCell(uri){let value=this.notebookCellMap.get(uri);return value&&value[0]}findNotebookDocumentForCell(cell){let key=typeof cell=="string"?cell:cell.document,value=this.notebookCellMap.get(key);return value&&value[1]}get onDidOpen(){return this._onDidOpen.event}get onDidSave(){return this._onDidSave.event}get onDidChange(){return this._onDidChange.event}get onDidClose(){return this._onDidClose.event}listen(connection2){let cellTextDocumentConnection=new CellTextDocumentConnection,disposables=[];return disposables.push(this.cellTextDocuments.listen(cellTextDocumentConnection)),disposables.push(connection2.notebooks.synchronization.onDidOpenNotebookDocument(params=>{this.notebookDocuments.set(params.notebookDocument.uri,params.notebookDocument);for(let cellTextDocument of params.cellTextDocuments)cellTextDocumentConnection.openTextDocument({textDocument:cellTextDocument});this.updateCellMap(params.notebookDocument),this._onDidOpen.fire(params.notebookDocument)})),disposables.push(connection2.notebooks.synchronization.onDidChangeNotebookDocument(params=>{let notebookDocument=this.notebookDocuments.get(params.notebookDocument.uri);if(notebookDocument===void 0)return;notebookDocument.version=params.notebookDocument.version;let oldMetadata=notebookDocument.metadata,metadataChanged=!1,change=params.change;change.metadata!==void 0&&(metadataChanged=!0,notebookDocument.metadata=change.metadata);let opened=[],closed=[],data=[],text=[];if(change.cells!==void 0){let changedCells=change.cells;if(changedCells.structure!==void 0){let array=changedCells.structure.array;if(notebookDocument.cells.splice(array.start,array.deleteCount,...array.cells!==void 0?array.cells:[]),changedCells.structure.didOpen!==void 0)for(let open of changedCells.structure.didOpen)cellTextDocumentConnection.openTextDocument({textDocument:open}),opened.push(open.uri);if(changedCells.structure.didClose)for(let close of changedCells.structure.didClose)cellTextDocumentConnection.closeTextDocument({textDocument:close}),closed.push(close.uri)}if(changedCells.data!==void 0){let cellUpdates=new Map(changedCells.data.map(cell=>[cell.document,cell]));for(let i=0;i<=notebookDocument.cells.length;i++){let change2=cellUpdates.get(notebookDocument.cells[i].document);if(change2!==void 0){let old=notebookDocument.cells.splice(i,1,change2);if(data.push({old:old[0],new:change2}),cellUpdates.delete(change2.document),cellUpdates.size===0)break}}}if(changedCells.textContent!==void 0)for(let cellTextDocument of changedCells.textContent)cellTextDocumentConnection.changeTextDocument({textDocument:cellTextDocument.document,contentChanges:cellTextDocument.changes}),text.push(cellTextDocument.document.uri)}this.updateCellMap(notebookDocument);let changeEvent={notebookDocument};metadataChanged&&(changeEvent.metadata={old:oldMetadata,new:notebookDocument.metadata});let added=[];for(let open of opened)added.push(this.getNotebookCell(open));let removed=[];for(let close of closed)removed.push(this.getNotebookCell(close));let textContent=[];for(let change2 of text)textContent.push(this.getNotebookCell(change2));(added.length>0||removed.length>0||data.length>0||textContent.length>0)&&(changeEvent.cells={added,removed,changed:{data,textContent}}),(changeEvent.metadata!==void 0||changeEvent.cells!==void 0)&&this._onDidChange.fire(changeEvent)})),disposables.push(connection2.notebooks.synchronization.onDidSaveNotebookDocument(params=>{let notebookDocument=this.notebookDocuments.get(params.notebookDocument.uri);notebookDocument!==void 0&&this._onDidSave.fire(notebookDocument)})),disposables.push(connection2.notebooks.synchronization.onDidCloseNotebookDocument(params=>{let notebookDocument=this.notebookDocuments.get(params.notebookDocument.uri);if(notebookDocument!==void 0){this._onDidClose.fire(notebookDocument);for(let cellTextDocument of params.cellTextDocuments)cellTextDocumentConnection.closeTextDocument({textDocument:cellTextDocument});this.notebookDocuments.delete(params.notebookDocument.uri);for(let cell of notebookDocument.cells)this.notebookCellMap.delete(cell.document)}})),vscode_languageserver_protocol_1.Disposable.create(()=>{disposables.forEach(disposable=>disposable.dispose())})}updateCellMap(notebookDocument){for(let cell of notebookDocument.cells)this.notebookCellMap.set(cell.document,[cell,notebookDocument])}};exports.NotebookDocuments=NotebookDocuments}});var require_is3=__commonJS({"node_modules/vscode-languageserver/lib/common/utils/is.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.thenable=exports.typedArray=exports.stringArray=exports.array=exports.func=exports.error=exports.number=exports.string=exports.boolean=void 0;function boolean(value){return value===!0||value===!1}exports.boolean=boolean;function string(value){return typeof value=="string"||value instanceof String}exports.string=string;function number(value){return typeof value=="number"||value instanceof Number}exports.number=number;function error(value){return value instanceof Error}exports.error=error;function func(value){return typeof value=="function"}exports.func=func;function array(value){return Array.isArray(value)}exports.array=array;function stringArray(value){return array(value)&&value.every(elem=>string(elem))}exports.stringArray=stringArray;function typedArray(value,check){return Array.isArray(value)&&value.every(check)}exports.typedArray=typedArray;function thenable(value){return value&&func(value.then)}exports.thenable=thenable}});var require_uuid=__commonJS({"node_modules/vscode-languageserver/lib/common/utils/uuid.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.generateUuid=exports.parse=exports.isUUID=exports.v4=exports.empty=void 0;var ValueUUID=class{constructor(_value){this._value=_value}asHex(){return this._value}equals(other){return this.asHex()===other.asHex()}},V4UUID=class _V4UUID extends ValueUUID{static _oneOf(array){return array[Math.floor(array.length*Math.random())]}static _randomHex(){return _V4UUID._oneOf(_V4UUID._chars)}constructor(){super([_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),"-",_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),"-","4",_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),"-",_V4UUID._oneOf(_V4UUID._timeHighBits),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),"-",_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex()].join(""))}};V4UUID._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"];V4UUID._timeHighBits=["8","9","a","b"];exports.empty=new ValueUUID("00000000-0000-0000-0000-000000000000");function v4(){return new V4UUID}exports.v4=v4;var _UUIDPattern=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function isUUID(value){return _UUIDPattern.test(value)}exports.isUUID=isUUID;function parse(value){if(!isUUID(value))throw new Error("invalid uuid");return new ValueUUID(value)}exports.parse=parse;function generateUuid(){return v4().asHex()}exports.generateUuid=generateUuid}});var require_progress=__commonJS({"node_modules/vscode-languageserver/lib/common/progress.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.attachPartialResult=exports.ProgressFeature=exports.attachWorkDone=void 0;var vscode_languageserver_protocol_1=require_main2(),uuid_1=require_uuid(),WorkDoneProgressReporterImpl=class _WorkDoneProgressReporterImpl{constructor(_connection,_token){this._connection=_connection,this._token=_token,_WorkDoneProgressReporterImpl.Instances.set(this._token,this)}begin(title,percentage,message,cancellable){let param={kind:"begin",title,percentage,message,cancellable};this._connection.sendProgress(vscode_languageserver_protocol_1.WorkDoneProgress.type,this._token,param)}report(arg0,arg1){let param={kind:"report"};typeof arg0=="number"?(param.percentage=arg0,arg1!==void 0&&(param.message=arg1)):param.message=arg0,this._connection.sendProgress(vscode_languageserver_protocol_1.WorkDoneProgress.type,this._token,param)}done(){_WorkDoneProgressReporterImpl.Instances.delete(this._token),this._connection.sendProgress(vscode_languageserver_protocol_1.WorkDoneProgress.type,this._token,{kind:"end"})}};WorkDoneProgressReporterImpl.Instances=new Map;var WorkDoneProgressServerReporterImpl=class extends WorkDoneProgressReporterImpl{constructor(connection2,token){super(connection2,token),this._source=new vscode_languageserver_protocol_1.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}},NullProgressReporter=class{constructor(){}begin(){}report(){}done(){}},NullProgressServerReporter=class extends NullProgressReporter{constructor(){super(),this._source=new vscode_languageserver_protocol_1.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}};function attachWorkDone(connection2,params){if(params===void 0||params.workDoneToken===void 0)return new NullProgressReporter;let token=params.workDoneToken;return delete params.workDoneToken,new WorkDoneProgressReporterImpl(connection2,token)}exports.attachWorkDone=attachWorkDone;var ProgressFeature=Base=>class extends Base{constructor(){super(),this._progressSupported=!1}initialize(capabilities){super.initialize(capabilities),capabilities?.window?.workDoneProgress===!0&&(this._progressSupported=!0,this.connection.onNotification(vscode_languageserver_protocol_1.WorkDoneProgressCancelNotification.type,params=>{let progress=WorkDoneProgressReporterImpl.Instances.get(params.token);(progress instanceof WorkDoneProgressServerReporterImpl||progress instanceof NullProgressServerReporter)&&progress.cancel()}))}attachWorkDoneProgress(token){return token===void 0?new NullProgressReporter:new WorkDoneProgressReporterImpl(this.connection,token)}createWorkDoneProgress(){if(this._progressSupported){let token=(0,uuid_1.generateUuid)();return this.connection.sendRequest(vscode_languageserver_protocol_1.WorkDoneProgressCreateRequest.type,{token}).then(()=>new WorkDoneProgressServerReporterImpl(this.connection,token))}else return Promise.resolve(new NullProgressServerReporter)}};exports.ProgressFeature=ProgressFeature;var ResultProgress;(function(ResultProgress2){ResultProgress2.type=new vscode_languageserver_protocol_1.ProgressType})(ResultProgress||(ResultProgress={}));var ResultProgressReporterImpl=class{constructor(_connection,_token){this._connection=_connection,this._token=_token}report(data){this._connection.sendProgress(ResultProgress.type,this._token,data)}};function attachPartialResult(connection2,params){if(params===void 0||params.partialResultToken===void 0)return;let token=params.partialResultToken;return delete params.partialResultToken,new ResultProgressReporterImpl(connection2,token)}exports.attachPartialResult=attachPartialResult}});var require_configuration=__commonJS({"node_modules/vscode-languageserver/lib/common/configuration.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ConfigurationFeature=void 0;var vscode_languageserver_protocol_1=require_main2(),Is3=require_is3(),ConfigurationFeature=Base=>class extends Base{getConfiguration(arg){return arg?Is3.string(arg)?this._getConfiguration({section:arg}):this._getConfiguration(arg):this._getConfiguration({})}_getConfiguration(arg){let params={items:Array.isArray(arg)?arg:[arg]};return this.connection.sendRequest(vscode_languageserver_protocol_1.ConfigurationRequest.type,params).then(result=>Array.isArray(result)?Array.isArray(arg)?result:result[0]:Array.isArray(arg)?[]:null)}};exports.ConfigurationFeature=ConfigurationFeature}});var require_workspaceFolder=__commonJS({"node_modules/vscode-languageserver/lib/common/workspaceFolder.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.WorkspaceFoldersFeature=void 0;var vscode_languageserver_protocol_1=require_main2(),WorkspaceFoldersFeature=Base=>class extends Base{constructor(){super(),this._notificationIsAutoRegistered=!1}initialize(capabilities){super.initialize(capabilities);let workspaceCapabilities=capabilities.workspace;workspaceCapabilities&&workspaceCapabilities.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new vscode_languageserver_protocol_1.Emitter,this.connection.onNotification(vscode_languageserver_protocol_1.DidChangeWorkspaceFoldersNotification.type,params=>{this._onDidChangeWorkspaceFolders.fire(params.event)}))}fillServerCapabilities(capabilities){super.fillServerCapabilities(capabilities);let changeNotifications=capabilities.workspace?.workspaceFolders?.changeNotifications;this._notificationIsAutoRegistered=changeNotifications===!0||typeof changeNotifications=="string"}getWorkspaceFolders(){return this.connection.sendRequest(vscode_languageserver_protocol_1.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return!this._notificationIsAutoRegistered&&!this._unregistration&&(this._unregistration=this.connection.client.register(vscode_languageserver_protocol_1.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}};exports.WorkspaceFoldersFeature=WorkspaceFoldersFeature}});var require_callHierarchy=__commonJS({"node_modules/vscode-languageserver/lib/common/callHierarchy.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.CallHierarchyFeature=void 0;var vscode_languageserver_protocol_1=require_main2(),CallHierarchyFeature=Base=>class extends Base{get callHierarchy(){return{onPrepare:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.CallHierarchyPrepareRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),void 0)),onIncomingCalls:handler=>{let type=vscode_languageserver_protocol_1.CallHierarchyIncomingCallsRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))},onOutgoingCalls:handler=>{let type=vscode_languageserver_protocol_1.CallHierarchyOutgoingCallsRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))}}}};exports.CallHierarchyFeature=CallHierarchyFeature}});var require_showDocument=__commonJS({"node_modules/vscode-languageserver/lib/common/showDocument.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ShowDocumentFeature=void 0;var vscode_languageserver_protocol_1=require_main2(),ShowDocumentFeature=Base=>class extends Base{showDocument(params){return this.connection.sendRequest(vscode_languageserver_protocol_1.ShowDocumentRequest.type,params)}};exports.ShowDocumentFeature=ShowDocumentFeature}});var require_fileOperations=__commonJS({"node_modules/vscode-languageserver/lib/common/fileOperations.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.FileOperationsFeature=void 0;var vscode_languageserver_protocol_1=require_main2(),FileOperationsFeature=Base=>class extends Base{onDidCreateFiles(handler){return this.connection.onNotification(vscode_languageserver_protocol_1.DidCreateFilesNotification.type,params=>{handler(params)})}onDidRenameFiles(handler){return this.connection.onNotification(vscode_languageserver_protocol_1.DidRenameFilesNotification.type,params=>{handler(params)})}onDidDeleteFiles(handler){return this.connection.onNotification(vscode_languageserver_protocol_1.DidDeleteFilesNotification.type,params=>{handler(params)})}onWillCreateFiles(handler){return this.connection.onRequest(vscode_languageserver_protocol_1.WillCreateFilesRequest.type,(params,cancel)=>handler(params,cancel))}onWillRenameFiles(handler){return this.connection.onRequest(vscode_languageserver_protocol_1.WillRenameFilesRequest.type,(params,cancel)=>handler(params,cancel))}onWillDeleteFiles(handler){return this.connection.onRequest(vscode_languageserver_protocol_1.WillDeleteFilesRequest.type,(params,cancel)=>handler(params,cancel))}};exports.FileOperationsFeature=FileOperationsFeature}});var require_linkedEditingRange=__commonJS({"node_modules/vscode-languageserver/lib/common/linkedEditingRange.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.LinkedEditingRangeFeature=void 0;var vscode_languageserver_protocol_1=require_main2(),LinkedEditingRangeFeature=Base=>class extends Base{onLinkedEditingRange(handler){return this.connection.onRequest(vscode_languageserver_protocol_1.LinkedEditingRangeRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),void 0))}};exports.LinkedEditingRangeFeature=LinkedEditingRangeFeature}});var require_typeHierarchy=__commonJS({"node_modules/vscode-languageserver/lib/common/typeHierarchy.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.TypeHierarchyFeature=void 0;var vscode_languageserver_protocol_1=require_main2(),TypeHierarchyFeature=Base=>class extends Base{get typeHierarchy(){return{onPrepare:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.TypeHierarchyPrepareRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),void 0)),onSupertypes:handler=>{let type=vscode_languageserver_protocol_1.TypeHierarchySupertypesRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))},onSubtypes:handler=>{let type=vscode_languageserver_protocol_1.TypeHierarchySubtypesRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))}}}};exports.TypeHierarchyFeature=TypeHierarchyFeature}});var require_inlineValue=__commonJS({"node_modules/vscode-languageserver/lib/common/inlineValue.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.InlineValueFeature=void 0;var vscode_languageserver_protocol_1=require_main2(),InlineValueFeature=Base=>class extends Base{get inlineValue(){return{refresh:()=>this.connection.sendRequest(vscode_languageserver_protocol_1.InlineValueRefreshRequest.type),on:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.InlineValueRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params)))}}};exports.InlineValueFeature=InlineValueFeature}});var require_foldingRange=__commonJS({"node_modules/vscode-languageserver/lib/common/foldingRange.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.FoldingRangeFeature=void 0;var vscode_languageserver_protocol_1=require_main2(),FoldingRangeFeature=Base=>class extends Base{get foldingRange(){return{refresh:()=>this.connection.sendRequest(vscode_languageserver_protocol_1.FoldingRangeRefreshRequest.type),on:handler=>{let type=vscode_languageserver_protocol_1.FoldingRangeRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))}}}};exports.FoldingRangeFeature=FoldingRangeFeature}});var require_inlayHint=__commonJS({"node_modules/vscode-languageserver/lib/common/inlayHint.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.InlayHintFeature=void 0;var vscode_languageserver_protocol_1=require_main2(),InlayHintFeature=Base=>class extends Base{get inlayHint(){return{refresh:()=>this.connection.sendRequest(vscode_languageserver_protocol_1.InlayHintRefreshRequest.type),on:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.InlayHintRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params))),resolve:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.InlayHintResolveRequest.type,(params,cancel)=>handler(params,cancel))}}};exports.InlayHintFeature=InlayHintFeature}});var require_diagnostic=__commonJS({"node_modules/vscode-languageserver/lib/common/diagnostic.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.DiagnosticFeature=void 0;var vscode_languageserver_protocol_1=require_main2(),DiagnosticFeature=Base=>class extends Base{get diagnostics(){return{refresh:()=>this.connection.sendRequest(vscode_languageserver_protocol_1.DiagnosticRefreshRequest.type),on:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.DocumentDiagnosticRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(vscode_languageserver_protocol_1.DocumentDiagnosticRequest.partialResult,params))),onWorkspace:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.WorkspaceDiagnosticRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(vscode_languageserver_protocol_1.WorkspaceDiagnosticRequest.partialResult,params)))}}};exports.DiagnosticFeature=DiagnosticFeature}});var require_moniker=__commonJS({"node_modules/vscode-languageserver/lib/common/moniker.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.MonikerFeature=void 0;var vscode_languageserver_protocol_1=require_main2(),MonikerFeature=Base=>class extends Base{get moniker(){return{on:handler=>{let type=vscode_languageserver_protocol_1.MonikerRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))}}}};exports.MonikerFeature=MonikerFeature}});var require_server=__commonJS({"node_modules/vscode-languageserver/lib/common/server.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.createConnection=exports.combineFeatures=exports.combineNotebooksFeatures=exports.combineLanguagesFeatures=exports.combineWorkspaceFeatures=exports.combineWindowFeatures=exports.combineClientFeatures=exports.combineTracerFeatures=exports.combineTelemetryFeatures=exports.combineConsoleFeatures=exports._NotebooksImpl=exports._LanguagesImpl=exports.BulkUnregistration=exports.BulkRegistration=exports.ErrorMessageTracker=void 0;var vscode_languageserver_protocol_1=require_main2(),Is3=require_is3(),UUID=require_uuid(),progress_1=require_progress(),configuration_1=require_configuration(),workspaceFolder_1=require_workspaceFolder(),callHierarchy_1=require_callHierarchy(),semanticTokens_1=require_semanticTokens(),showDocument_1=require_showDocument(),fileOperations_1=require_fileOperations(),linkedEditingRange_1=require_linkedEditingRange(),typeHierarchy_1=require_typeHierarchy(),inlineValue_1=require_inlineValue(),foldingRange_1=require_foldingRange(),inlayHint_1=require_inlayHint(),diagnostic_1=require_diagnostic(),notebook_1=require_notebook(),moniker_1=require_moniker();function null2Undefined(value){if(value!==null)return value}var ErrorMessageTracker=class{constructor(){this._messages=Object.create(null)}add(message){let count=this._messages[message];count||(count=0),count++,this._messages[message]=count}sendErrors(connection2){Object.keys(this._messages).forEach(message=>{connection2.window.showErrorMessage(message)})}};exports.ErrorMessageTracker=ErrorMessageTracker;var RemoteConsoleImpl=class{constructor(){}rawAttach(connection2){this._rawConnection=connection2}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(_capabilities){}initialize(_capabilities){}error(message){this.send(vscode_languageserver_protocol_1.MessageType.Error,message)}warn(message){this.send(vscode_languageserver_protocol_1.MessageType.Warning,message)}info(message){this.send(vscode_languageserver_protocol_1.MessageType.Info,message)}log(message){this.send(vscode_languageserver_protocol_1.MessageType.Log,message)}debug(message){this.send(vscode_languageserver_protocol_1.MessageType.Debug,message)}send(type,message){this._rawConnection&&this._rawConnection.sendNotification(vscode_languageserver_protocol_1.LogMessageNotification.type,{type,message}).catch(()=>{(0,vscode_languageserver_protocol_1.RAL)().console.error("Sending log message failed")})}},_RemoteWindowImpl=class{constructor(){}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}showErrorMessage(message,...actions){let params={type:vscode_languageserver_protocol_1.MessageType.Error,message,actions};return this.connection.sendRequest(vscode_languageserver_protocol_1.ShowMessageRequest.type,params).then(null2Undefined)}showWarningMessage(message,...actions){let params={type:vscode_languageserver_protocol_1.MessageType.Warning,message,actions};return this.connection.sendRequest(vscode_languageserver_protocol_1.ShowMessageRequest.type,params).then(null2Undefined)}showInformationMessage(message,...actions){let params={type:vscode_languageserver_protocol_1.MessageType.Info,message,actions};return this.connection.sendRequest(vscode_languageserver_protocol_1.ShowMessageRequest.type,params).then(null2Undefined)}},RemoteWindowImpl=(0,showDocument_1.ShowDocumentFeature)((0,progress_1.ProgressFeature)(_RemoteWindowImpl)),BulkRegistration;(function(BulkRegistration2){function create(){return new BulkRegistrationImpl}BulkRegistration2.create=create})(BulkRegistration||(exports.BulkRegistration=BulkRegistration={}));var BulkRegistrationImpl=class{constructor(){this._registrations=[],this._registered=new Set}add(type,registerOptions){let method=Is3.string(type)?type:type.method;if(this._registered.has(method))throw new Error(`${method} is already added to this registration`);let id=UUID.generateUuid();this._registrations.push({id,method,registerOptions:registerOptions||{}}),this._registered.add(method)}asRegistrationParams(){return{registrations:this._registrations}}},BulkUnregistration;(function(BulkUnregistration2){function create(){return new BulkUnregistrationImpl(void 0,[])}BulkUnregistration2.create=create})(BulkUnregistration||(exports.BulkUnregistration=BulkUnregistration={}));var BulkUnregistrationImpl=class{constructor(_connection,unregistrations){this._connection=_connection,this._unregistrations=new Map,unregistrations.forEach(unregistration=>{this._unregistrations.set(unregistration.method,unregistration)})}get isAttached(){return!!this._connection}attach(connection2){this._connection=connection2}add(unregistration){this._unregistrations.set(unregistration.method,unregistration)}dispose(){let unregistrations=[];for(let unregistration of this._unregistrations.values())unregistrations.push(unregistration);let params={unregisterations:unregistrations};this._connection.sendRequest(vscode_languageserver_protocol_1.UnregistrationRequest.type,params).catch(()=>{this._connection.console.info("Bulk unregistration failed.")})}disposeSingle(arg){let method=Is3.string(arg)?arg:arg.method,unregistration=this._unregistrations.get(method);if(!unregistration)return!1;let params={unregisterations:[unregistration]};return this._connection.sendRequest(vscode_languageserver_protocol_1.UnregistrationRequest.type,params).then(()=>{this._unregistrations.delete(method)},_error=>{this._connection.console.info(`Un-registering request handler for ${unregistration.id} failed.`)}),!0}},RemoteClientImpl=class{attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}register(typeOrRegistrations,registerOptionsOrType,registerOptions){return typeOrRegistrations instanceof BulkRegistrationImpl?this.registerMany(typeOrRegistrations):typeOrRegistrations instanceof BulkUnregistrationImpl?this.registerSingle1(typeOrRegistrations,registerOptionsOrType,registerOptions):this.registerSingle2(typeOrRegistrations,registerOptionsOrType)}registerSingle1(unregistration,type,registerOptions){let method=Is3.string(type)?type:type.method,id=UUID.generateUuid(),params={registrations:[{id,method,registerOptions:registerOptions||{}}]};return unregistration.isAttached||unregistration.attach(this.connection),this.connection.sendRequest(vscode_languageserver_protocol_1.RegistrationRequest.type,params).then(_result=>(unregistration.add({id,method}),unregistration),_error=>(this.connection.console.info(`Registering request handler for ${method} failed.`),Promise.reject(_error)))}registerSingle2(type,registerOptions){let method=Is3.string(type)?type:type.method,id=UUID.generateUuid(),params={registrations:[{id,method,registerOptions:registerOptions||{}}]};return this.connection.sendRequest(vscode_languageserver_protocol_1.RegistrationRequest.type,params).then(_result=>vscode_languageserver_protocol_1.Disposable.create(()=>{this.unregisterSingle(id,method).catch(()=>{this.connection.console.info(`Un-registering capability with id ${id} failed.`)})}),_error=>(this.connection.console.info(`Registering request handler for ${method} failed.`),Promise.reject(_error)))}unregisterSingle(id,method){let params={unregisterations:[{id,method}]};return this.connection.sendRequest(vscode_languageserver_protocol_1.UnregistrationRequest.type,params).catch(()=>{this.connection.console.info(`Un-registering request handler for ${id} failed.`)})}registerMany(registrations){let params=registrations.asRegistrationParams();return this.connection.sendRequest(vscode_languageserver_protocol_1.RegistrationRequest.type,params).then(()=>new BulkUnregistrationImpl(this._connection,params.registrations.map(registration=>({id:registration.id,method:registration.method}))),_error=>(this.connection.console.info("Bulk registration failed."),Promise.reject(_error)))}},_RemoteWorkspaceImpl=class{constructor(){}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}applyEdit(paramOrEdit){function isApplyWorkspaceEditParams(value){return value&&!!value.edit}let params=isApplyWorkspaceEditParams(paramOrEdit)?paramOrEdit:{edit:paramOrEdit};return this.connection.sendRequest(vscode_languageserver_protocol_1.ApplyWorkspaceEditRequest.type,params)}},RemoteWorkspaceImpl=(0,fileOperations_1.FileOperationsFeature)((0,workspaceFolder_1.WorkspaceFoldersFeature)((0,configuration_1.ConfigurationFeature)(_RemoteWorkspaceImpl))),TracerImpl=class{constructor(){this._trace=vscode_languageserver_protocol_1.Trace.Off}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}set trace(value){this._trace=value}log(message,verbose){this._trace!==vscode_languageserver_protocol_1.Trace.Off&&this.connection.sendNotification(vscode_languageserver_protocol_1.LogTraceNotification.type,{message,verbose:this._trace===vscode_languageserver_protocol_1.Trace.Verbose?verbose:void 0}).catch(()=>{})}},TelemetryImpl=class{constructor(){}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}logEvent(data){this.connection.sendNotification(vscode_languageserver_protocol_1.TelemetryEventNotification.type,data).catch(()=>{this.connection.console.log("Sending TelemetryEventNotification failed")})}},_LanguagesImpl=class{constructor(){}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}attachWorkDoneProgress(params){return(0,progress_1.attachWorkDone)(this.connection,params)}attachPartialResultProgress(_type,params){return(0,progress_1.attachPartialResult)(this.connection,params)}};exports._LanguagesImpl=_LanguagesImpl;var LanguagesImpl=(0,foldingRange_1.FoldingRangeFeature)((0,moniker_1.MonikerFeature)((0,diagnostic_1.DiagnosticFeature)((0,inlayHint_1.InlayHintFeature)((0,inlineValue_1.InlineValueFeature)((0,typeHierarchy_1.TypeHierarchyFeature)((0,linkedEditingRange_1.LinkedEditingRangeFeature)((0,semanticTokens_1.SemanticTokensFeature)((0,callHierarchy_1.CallHierarchyFeature)(_LanguagesImpl))))))))),_NotebooksImpl=class{constructor(){}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}attachWorkDoneProgress(params){return(0,progress_1.attachWorkDone)(this.connection,params)}attachPartialResultProgress(_type,params){return(0,progress_1.attachPartialResult)(this.connection,params)}};exports._NotebooksImpl=_NotebooksImpl;var NotebooksImpl=(0,notebook_1.NotebookSyncFeature)(_NotebooksImpl);function combineConsoleFeatures(one,two){return function(Base){return two(one(Base))}}exports.combineConsoleFeatures=combineConsoleFeatures;function combineTelemetryFeatures(one,two){return function(Base){return two(one(Base))}}exports.combineTelemetryFeatures=combineTelemetryFeatures;function combineTracerFeatures(one,two){return function(Base){return two(one(Base))}}exports.combineTracerFeatures=combineTracerFeatures;function combineClientFeatures(one,two){return function(Base){return two(one(Base))}}exports.combineClientFeatures=combineClientFeatures;function combineWindowFeatures(one,two){return function(Base){return two(one(Base))}}exports.combineWindowFeatures=combineWindowFeatures;function combineWorkspaceFeatures(one,two){return function(Base){return two(one(Base))}}exports.combineWorkspaceFeatures=combineWorkspaceFeatures;function combineLanguagesFeatures(one,two){return function(Base){return two(one(Base))}}exports.combineLanguagesFeatures=combineLanguagesFeatures;function combineNotebooksFeatures(one,two){return function(Base){return two(one(Base))}}exports.combineNotebooksFeatures=combineNotebooksFeatures;function combineFeatures(one,two){function combine(one2,two2,func){return one2&&two2?func(one2,two2):one2||two2}return{__brand:"features",console:combine(one.console,two.console,combineConsoleFeatures),tracer:combine(one.tracer,two.tracer,combineTracerFeatures),telemetry:combine(one.telemetry,two.telemetry,combineTelemetryFeatures),client:combine(one.client,two.client,combineClientFeatures),window:combine(one.window,two.window,combineWindowFeatures),workspace:combine(one.workspace,two.workspace,combineWorkspaceFeatures),languages:combine(one.languages,two.languages,combineLanguagesFeatures),notebooks:combine(one.notebooks,two.notebooks,combineNotebooksFeatures)}}exports.combineFeatures=combineFeatures;function createConnection2(connectionFactory,watchDog,factories){let logger=factories&&factories.console?new(factories.console(RemoteConsoleImpl)):new RemoteConsoleImpl,connection2=connectionFactory(logger);logger.rawAttach(connection2);let tracer=factories&&factories.tracer?new(factories.tracer(TracerImpl)):new TracerImpl,telemetry=factories&&factories.telemetry?new(factories.telemetry(TelemetryImpl)):new TelemetryImpl,client=factories&&factories.client?new(factories.client(RemoteClientImpl)):new RemoteClientImpl,remoteWindow=factories&&factories.window?new(factories.window(RemoteWindowImpl)):new RemoteWindowImpl,workspace=factories&&factories.workspace?new(factories.workspace(RemoteWorkspaceImpl)):new RemoteWorkspaceImpl,languages=factories&&factories.languages?new(factories.languages(LanguagesImpl)):new LanguagesImpl,notebooks=factories&&factories.notebooks?new(factories.notebooks(NotebooksImpl)):new NotebooksImpl,allRemotes=[logger,tracer,telemetry,client,remoteWindow,workspace,languages,notebooks];function asPromise(value){return value instanceof Promise?value:Is3.thenable(value)?new Promise((resolve,reject)=>{value.then(resolved=>resolve(resolved),error=>reject(error))}):Promise.resolve(value)}let shutdownHandler,initializeHandler,exitHandler,protocolConnection={listen:()=>connection2.listen(),sendRequest:(type,...params)=>connection2.sendRequest(Is3.string(type)?type:type.method,...params),onRequest:(type,handler)=>connection2.onRequest(type,handler),sendNotification:(type,param)=>{let method=Is3.string(type)?type:type.method;return connection2.sendNotification(method,param)},onNotification:(type,handler)=>connection2.onNotification(type,handler),onProgress:connection2.onProgress,sendProgress:connection2.sendProgress,onInitialize:handler=>(initializeHandler=handler,{dispose:()=>{initializeHandler=void 0}}),onInitialized:handler=>connection2.onNotification(vscode_languageserver_protocol_1.InitializedNotification.type,handler),onShutdown:handler=>(shutdownHandler=handler,{dispose:()=>{shutdownHandler=void 0}}),onExit:handler=>(exitHandler=handler,{dispose:()=>{exitHandler=void 0}}),get console(){return logger},get telemetry(){return telemetry},get tracer(){return tracer},get client(){return client},get window(){return remoteWindow},get workspace(){return workspace},get languages(){return languages},get notebooks(){return notebooks},onDidChangeConfiguration:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidChangeConfigurationNotification.type,handler),onDidChangeWatchedFiles:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidChangeWatchedFilesNotification.type,handler),__textDocumentSync:void 0,onDidOpenTextDocument:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidOpenTextDocumentNotification.type,handler),onDidChangeTextDocument:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidChangeTextDocumentNotification.type,handler),onDidCloseTextDocument:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidCloseTextDocumentNotification.type,handler),onWillSaveTextDocument:handler=>connection2.onNotification(vscode_languageserver_protocol_1.WillSaveTextDocumentNotification.type,handler),onWillSaveTextDocumentWaitUntil:handler=>connection2.onRequest(vscode_languageserver_protocol_1.WillSaveTextDocumentWaitUntilRequest.type,handler),onDidSaveTextDocument:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidSaveTextDocumentNotification.type,handler),sendDiagnostics:params=>connection2.sendNotification(vscode_languageserver_protocol_1.PublishDiagnosticsNotification.type,params),onHover:handler=>connection2.onRequest(vscode_languageserver_protocol_1.HoverRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),onCompletion:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CompletionRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onCompletionResolve:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CompletionResolveRequest.type,handler),onSignatureHelp:handler=>connection2.onRequest(vscode_languageserver_protocol_1.SignatureHelpRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),onDeclaration:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DeclarationRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onDefinition:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DefinitionRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onTypeDefinition:handler=>connection2.onRequest(vscode_languageserver_protocol_1.TypeDefinitionRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onImplementation:handler=>connection2.onRequest(vscode_languageserver_protocol_1.ImplementationRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onReferences:handler=>connection2.onRequest(vscode_languageserver_protocol_1.ReferencesRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onDocumentHighlight:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentHighlightRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onDocumentSymbol:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentSymbolRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onWorkspaceSymbol:handler=>connection2.onRequest(vscode_languageserver_protocol_1.WorkspaceSymbolRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onWorkspaceSymbolResolve:handler=>connection2.onRequest(vscode_languageserver_protocol_1.WorkspaceSymbolResolveRequest.type,handler),onCodeAction:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CodeActionRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onCodeActionResolve:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CodeActionResolveRequest.type,(params,cancel)=>handler(params,cancel)),onCodeLens:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CodeLensRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onCodeLensResolve:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CodeLensResolveRequest.type,(params,cancel)=>handler(params,cancel)),onDocumentFormatting:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentFormattingRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),onDocumentRangeFormatting:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentRangeFormattingRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),onDocumentOnTypeFormatting:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentOnTypeFormattingRequest.type,(params,cancel)=>handler(params,cancel)),onRenameRequest:handler=>connection2.onRequest(vscode_languageserver_protocol_1.RenameRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),onPrepareRename:handler=>connection2.onRequest(vscode_languageserver_protocol_1.PrepareRenameRequest.type,(params,cancel)=>handler(params,cancel)),onDocumentLinks:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentLinkRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onDocumentLinkResolve:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentLinkResolveRequest.type,(params,cancel)=>handler(params,cancel)),onDocumentColor:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentColorRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onColorPresentation:handler=>connection2.onRequest(vscode_languageserver_protocol_1.ColorPresentationRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onFoldingRanges:handler=>connection2.onRequest(vscode_languageserver_protocol_1.FoldingRangeRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onSelectionRanges:handler=>connection2.onRequest(vscode_languageserver_protocol_1.SelectionRangeRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onExecuteCommand:handler=>connection2.onRequest(vscode_languageserver_protocol_1.ExecuteCommandRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),dispose:()=>connection2.dispose()};for(let remote of allRemotes)remote.attach(protocolConnection);return connection2.onRequest(vscode_languageserver_protocol_1.InitializeRequest.type,params=>{watchDog.initialize(params),Is3.string(params.trace)&&(tracer.trace=vscode_languageserver_protocol_1.Trace.fromString(params.trace));for(let remote of allRemotes)remote.initialize(params.capabilities);if(initializeHandler){let result=initializeHandler(params,new vscode_languageserver_protocol_1.CancellationTokenSource().token,(0,progress_1.attachWorkDone)(connection2,params),void 0);return asPromise(result).then(value=>{if(value instanceof vscode_languageserver_protocol_1.ResponseError)return value;let result2=value;result2||(result2={capabilities:{}});let capabilities=result2.capabilities;capabilities||(capabilities={},result2.capabilities=capabilities),capabilities.textDocumentSync===void 0||capabilities.textDocumentSync===null?capabilities.textDocumentSync=Is3.number(protocolConnection.__textDocumentSync)?protocolConnection.__textDocumentSync:vscode_languageserver_protocol_1.TextDocumentSyncKind.None:!Is3.number(capabilities.textDocumentSync)&&!Is3.number(capabilities.textDocumentSync.change)&&(capabilities.textDocumentSync.change=Is3.number(protocolConnection.__textDocumentSync)?protocolConnection.__textDocumentSync:vscode_languageserver_protocol_1.TextDocumentSyncKind.None);for(let remote of allRemotes)remote.fillServerCapabilities(capabilities);return result2})}else{let result={capabilities:{textDocumentSync:vscode_languageserver_protocol_1.TextDocumentSyncKind.None}};for(let remote of allRemotes)remote.fillServerCapabilities(result.capabilities);return result}}),connection2.onRequest(vscode_languageserver_protocol_1.ShutdownRequest.type,()=>{if(watchDog.shutdownReceived=!0,shutdownHandler)return shutdownHandler(new vscode_languageserver_protocol_1.CancellationTokenSource().token)}),connection2.onNotification(vscode_languageserver_protocol_1.ExitNotification.type,()=>{try{exitHandler&&exitHandler()}finally{watchDog.shutdownReceived?watchDog.exit(0):watchDog.exit(1)}}),connection2.onNotification(vscode_languageserver_protocol_1.SetTraceNotification.type,params=>{tracer.trace=vscode_languageserver_protocol_1.Trace.fromString(params.value)}),protocolConnection}exports.createConnection=createConnection2}});var require_api3=__commonJS({"node_modules/vscode-languageserver/lib/common/api.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__exportStar=exports&&exports.__exportStar||function(m2,exports2){for(var p in m2)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m2,p)};Object.defineProperty(exports,"__esModule",{value:!0});exports.ProposedFeatures=exports.NotebookDocuments=exports.TextDocuments=exports.SemanticTokensBuilder=void 0;var semanticTokens_1=require_semanticTokens();Object.defineProperty(exports,"SemanticTokensBuilder",{enumerable:!0,get:function(){return semanticTokens_1.SemanticTokensBuilder}});var ic=require_inlineCompletion_proposed();__exportStar(require_main2(),exports);var textDocuments_1=require_textDocuments();Object.defineProperty(exports,"TextDocuments",{enumerable:!0,get:function(){return textDocuments_1.TextDocuments}});var notebook_1=require_notebook();Object.defineProperty(exports,"NotebookDocuments",{enumerable:!0,get:function(){return notebook_1.NotebookDocuments}});__exportStar(require_server(),exports);var ProposedFeatures2;(function(ProposedFeatures3){ProposedFeatures3.all={__brand:"features",languages:ic.InlineCompletionFeature}})(ProposedFeatures2||(exports.ProposedFeatures=ProposedFeatures2={}))}});var require_browser2=__commonJS({"node_modules/vscode-languageserver-protocol/browser.js"(exports,module){"use strict";module.exports=require_main2()}});var require_main3=__commonJS({"node_modules/vscode-languageserver/lib/browser/main.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__exportStar=exports&&exports.__exportStar||function(m2,exports2){for(var p in m2)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m2,p)};Object.defineProperty(exports,"__esModule",{value:!0});exports.createConnection=void 0;var api_1=require_api3();__exportStar(require_browser2(),exports);__exportStar(require_api3(),exports);var _shutdownReceived=!1,watchDog={initialize:_params=>{},get shutdownReceived(){return _shutdownReceived},set shutdownReceived(value){_shutdownReceived=value},exit:_code=>{}};function createConnection2(arg1,arg2,arg3,arg4){let factories,reader,writer,options;arg1!==void 0&&arg1.__brand==="features"&&(factories=arg1,arg1=arg2,arg2=arg3,arg3=arg4),api_1.ConnectionStrategy.is(arg1)||api_1.ConnectionOptions.is(arg1)?options=arg1:(reader=arg1,writer=arg2,options=arg3);let connectionFactory=logger=>(0,api_1.createProtocolConnection)(reader,writer,logger,options);return(0,api_1.createConnection)(connectionFactory,watchDog,factories)}exports.createConnection=createConnection2}});var require_browser3=__commonJS({"node_modules/vscode-languageserver/browser.js"(exports,module){"use strict";module.exports=require_main3()}});var require_is4=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/is.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.stringArray=exports.array=exports.func=exports.error=exports.number=exports.string=exports.boolean=void 0;function boolean(value){return value===!0||value===!1}exports.boolean=boolean;function string(value){return typeof value=="string"||value instanceof String}exports.string=string;function number(value){return typeof value=="number"||value instanceof Number}exports.number=number;function error(value){return value instanceof Error}exports.error=error;function func(value){return typeof value=="function"}exports.func=func;function array(value){return Array.isArray(value)}exports.array=array;function stringArray(value){return array(value)&&value.every(elem=>string(elem))}exports.stringArray=stringArray}});var require_messages3=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/messages.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.Message=exports.NotificationType9=exports.NotificationType8=exports.NotificationType7=exports.NotificationType6=exports.NotificationType5=exports.NotificationType4=exports.NotificationType3=exports.NotificationType2=exports.NotificationType1=exports.NotificationType0=exports.NotificationType=exports.RequestType9=exports.RequestType8=exports.RequestType7=exports.RequestType6=exports.RequestType5=exports.RequestType4=exports.RequestType3=exports.RequestType2=exports.RequestType1=exports.RequestType=exports.RequestType0=exports.AbstractMessageSignature=exports.ParameterStructures=exports.ResponseError=exports.ErrorCodes=void 0;var is=require_is4(),ErrorCodes;(function(ErrorCodes2){ErrorCodes2.ParseError=-32700,ErrorCodes2.InvalidRequest=-32600,ErrorCodes2.MethodNotFound=-32601,ErrorCodes2.InvalidParams=-32602,ErrorCodes2.InternalError=-32603,ErrorCodes2.jsonrpcReservedErrorRangeStart=-32099,ErrorCodes2.serverErrorStart=-32099,ErrorCodes2.MessageWriteError=-32099,ErrorCodes2.MessageReadError=-32098,ErrorCodes2.PendingResponseRejected=-32097,ErrorCodes2.ConnectionInactive=-32096,ErrorCodes2.ServerNotInitialized=-32002,ErrorCodes2.UnknownErrorCode=-32001,ErrorCodes2.jsonrpcReservedErrorRangeEnd=-32e3,ErrorCodes2.serverErrorEnd=-32e3})(ErrorCodes||(exports.ErrorCodes=ErrorCodes={}));var ResponseError=class _ResponseError extends Error{constructor(code,message,data){super(message),this.code=is.number(code)?code:ErrorCodes.UnknownErrorCode,this.data=data,Object.setPrototypeOf(this,_ResponseError.prototype)}toJson(){let result={code:this.code,message:this.message};return this.data!==void 0&&(result.data=this.data),result}};exports.ResponseError=ResponseError;var ParameterStructures=class _ParameterStructures{constructor(kind){this.kind=kind}static is(value){return value===_ParameterStructures.auto||value===_ParameterStructures.byName||value===_ParameterStructures.byPosition}toString(){return this.kind}};exports.ParameterStructures=ParameterStructures;ParameterStructures.auto=new ParameterStructures("auto");ParameterStructures.byPosition=new ParameterStructures("byPosition");ParameterStructures.byName=new ParameterStructures("byName");var AbstractMessageSignature=class{constructor(method,numberOfParams){this.method=method,this.numberOfParams=numberOfParams}get parameterStructures(){return ParameterStructures.auto}};exports.AbstractMessageSignature=AbstractMessageSignature;var RequestType0=class extends AbstractMessageSignature{constructor(method){super(method,0)}};exports.RequestType0=RequestType0;var RequestType=class extends AbstractMessageSignature{constructor(method,_parameterStructures=ParameterStructures.auto){super(method,1),this._parameterStructures=_parameterStructures}get parameterStructures(){return this._parameterStructures}};exports.RequestType=RequestType;var RequestType1=class extends AbstractMessageSignature{constructor(method,_parameterStructures=ParameterStructures.auto){super(method,1),this._parameterStructures=_parameterStructures}get parameterStructures(){return this._parameterStructures}};exports.RequestType1=RequestType1;var RequestType2=class extends AbstractMessageSignature{constructor(method){super(method,2)}};exports.RequestType2=RequestType2;var RequestType3=class extends AbstractMessageSignature{constructor(method){super(method,3)}};exports.RequestType3=RequestType3;var RequestType4=class extends AbstractMessageSignature{constructor(method){super(method,4)}};exports.RequestType4=RequestType4;var RequestType5=class extends AbstractMessageSignature{constructor(method){super(method,5)}};exports.RequestType5=RequestType5;var RequestType6=class extends AbstractMessageSignature{constructor(method){super(method,6)}};exports.RequestType6=RequestType6;var RequestType7=class extends AbstractMessageSignature{constructor(method){super(method,7)}};exports.RequestType7=RequestType7;var RequestType8=class extends AbstractMessageSignature{constructor(method){super(method,8)}};exports.RequestType8=RequestType8;var RequestType9=class extends AbstractMessageSignature{constructor(method){super(method,9)}};exports.RequestType9=RequestType9;var NotificationType=class extends AbstractMessageSignature{constructor(method,_parameterStructures=ParameterStructures.auto){super(method,1),this._parameterStructures=_parameterStructures}get parameterStructures(){return this._parameterStructures}};exports.NotificationType=NotificationType;var NotificationType0=class extends AbstractMessageSignature{constructor(method){super(method,0)}};exports.NotificationType0=NotificationType0;var NotificationType1=class extends AbstractMessageSignature{constructor(method,_parameterStructures=ParameterStructures.auto){super(method,1),this._parameterStructures=_parameterStructures}get parameterStructures(){return this._parameterStructures}};exports.NotificationType1=NotificationType1;var NotificationType2=class extends AbstractMessageSignature{constructor(method){super(method,2)}};exports.NotificationType2=NotificationType2;var NotificationType3=class extends AbstractMessageSignature{constructor(method){super(method,3)}};exports.NotificationType3=NotificationType3;var NotificationType4=class extends AbstractMessageSignature{constructor(method){super(method,4)}};exports.NotificationType4=NotificationType4;var NotificationType5=class extends AbstractMessageSignature{constructor(method){super(method,5)}};exports.NotificationType5=NotificationType5;var NotificationType6=class extends AbstractMessageSignature{constructor(method){super(method,6)}};exports.NotificationType6=NotificationType6;var NotificationType7=class extends AbstractMessageSignature{constructor(method){super(method,7)}};exports.NotificationType7=NotificationType7;var NotificationType8=class extends AbstractMessageSignature{constructor(method){super(method,8)}};exports.NotificationType8=NotificationType8;var NotificationType9=class extends AbstractMessageSignature{constructor(method){super(method,9)}};exports.NotificationType9=NotificationType9;var Message;(function(Message2){function isRequest(message){let candidate=message;return candidate&&is.string(candidate.method)&&(is.string(candidate.id)||is.number(candidate.id))}Message2.isRequest=isRequest;function isNotification(message){let candidate=message;return candidate&&is.string(candidate.method)&&message.id===void 0}Message2.isNotification=isNotification;function isResponse(message){let candidate=message;return candidate&&(candidate.result!==void 0||!!candidate.error)&&(is.string(candidate.id)||is.number(candidate.id)||candidate.id===null)}Message2.isResponse=isResponse})(Message||(exports.Message=Message={}))}});var require_linkedMap2=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/linkedMap.js"(exports){"use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0});exports.LRUCache=exports.LinkedMap=exports.Touch=void 0;var Touch;(function(Touch2){Touch2.None=0,Touch2.First=1,Touch2.AsOld=Touch2.First,Touch2.Last=2,Touch2.AsNew=Touch2.Last})(Touch||(exports.Touch=Touch={}));var LinkedMap=class{constructor(){this[_a]="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(){return this._head?.value}get last(){return this._tail?.value}has(key){return this._map.has(key)}get(key,touch=Touch.None){let item=this._map.get(key);if(item)return touch!==Touch.None&&this.touch(item,touch),item.value}set(key,value,touch=Touch.None){let item=this._map.get(key);if(item)item.value=value,touch!==Touch.None&&this.touch(item,touch);else{switch(item={key,value,next:void 0,previous:void 0},touch){case Touch.None:this.addItemLast(item);break;case Touch.First:this.addItemFirst(item);break;case Touch.Last: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){let item=this._map.get(key);if(item)return this._map.delete(key),this.removeItem(item),this._size--,item.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let item=this._head;return this._map.delete(item.key),this.removeItem(item),this._size--,item.value}forEach(callbackfn,thisArg){let state=this._state,current=this._head;for(;current;){if(thisArg?callbackfn.bind(thisArg)(current.value,current.key,this):callbackfn(current.value,current.key,this),this._state!==state)throw new Error("LinkedMap got modified during iteration.");current=current.next}}keys(){let state=this._state,current=this._head,iterator={[Symbol.iterator]:()=>iterator,next:()=>{if(this._state!==state)throw new Error("LinkedMap got modified during iteration.");if(current){let result={value:current.key,done:!1};return current=current.next,result}else return{value:void 0,done:!0}}};return iterator}values(){let state=this._state,current=this._head,iterator={[Symbol.iterator]:()=>iterator,next:()=>{if(this._state!==state)throw new Error("LinkedMap got modified during iteration.");if(current){let result={value:current.value,done:!1};return current=current.next,result}else return{value:void 0,done:!0}}};return iterator}entries(){let state=this._state,current=this._head,iterator={[Symbol.iterator]:()=>iterator,next:()=>{if(this._state!==state)throw new Error("LinkedMap got modified during iteration.");if(current){let result={value:[current.key,current.value],done:!1};return current=current.next,result}else return{value:void 0,done:!0}}};return iterator}[(_a=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(newSize){if(newSize>=this.size)return;if(newSize===0){this.clear();return}let current=this._head,currentSize=this.size;for(;current&¤tSize>newSize;)this._map.delete(current.key),current=current.next,currentSize--;this._head=current,this._size=currentSize,current&&(current.previous=void 0),this._state++}addItemFirst(item){if(!this._head&&!this._tail)this._tail=item;else if(this._head)item.next=this._head,this._head.previous=item;else throw new Error("Invalid list");this._head=item,this._state++}addItemLast(item){if(!this._head&&!this._tail)this._head=item;else if(this._tail)item.previous=this._tail,this._tail.next=item;else throw new Error("Invalid list");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{let next=item.next,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!==Touch.First&&touch!==Touch.Last)){if(touch===Touch.First){if(item===this._head)return;let next=item.next,previous=item.previous;item===this._tail?(previous.next=void 0,this._tail=previous):(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===Touch.Last){if(item===this._tail)return;let next=item.next,previous=item.previous;item===this._head?(next.previous=void 0,this._head=next):(next.previous=previous,previous.next=next),item.next=void 0,item.previous=this._tail,this._tail.next=item,this._tail=item,this._state++}}}toJSON(){let data=[];return this.forEach((value,key)=>{data.push([key,value])}),data}fromJSON(data){this.clear();for(let[key,value]of data)this.set(key,value)}};exports.LinkedMap=LinkedMap;var 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 ratio(){return this._ratio}set ratio(ratio){this._ratio=Math.min(Math.max(0,ratio),1),this.checkTrim()}get(key,touch=Touch.AsNew){return super.get(key,touch)}peek(key){return super.get(key,Touch.None)}set(key,value){return super.set(key,value,Touch.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};exports.LRUCache=LRUCache}});var require_disposable2=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/disposable.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.Disposable=void 0;var Disposable;(function(Disposable2){function create(func){return{dispose:func}}Disposable2.create=create})(Disposable||(exports.Disposable=Disposable={}))}});var require_ral2=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/ral.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _ral;function RAL(){if(_ral===void 0)throw new Error("No runtime abstraction layer installed");return _ral}(function(RAL2){function install(ral){if(ral===void 0)throw new Error("No runtime abstraction layer provided");_ral=ral}RAL2.install=install})(RAL||(RAL={}));exports.default=RAL}});var require_events2=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/events.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.Emitter=exports.Event=void 0;var ral_1=require_ral2(),Event;(function(Event2){let _disposable={dispose(){}};Event2.None=function(){return _disposable}})(Event||(exports.Event=Event={}));var CallbackList=class{add(callback,context=null,bucket){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(callback),this._contexts.push(context),Array.isArray(bucket)&&bucket.push({dispose:()=>this.remove(callback,context)})}remove(callback,context=null){if(!this._callbacks)return;let foundCallbackWithDifferentContext=!1;for(let i=0,len=this._callbacks.length;i<len;i++)if(this._callbacks[i]===callback)if(this._contexts[i]===context){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else foundCallbackWithDifferentContext=!0;if(foundCallbackWithDifferentContext)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...args){if(!this._callbacks)return[];let ret=[],callbacks=this._callbacks.slice(0),contexts=this._contexts.slice(0);for(let i=0,len=callbacks.length;i<len;i++)try{ret.push(callbacks[i].apply(contexts[i],args))}catch(e){(0,ral_1.default)().console.error(e)}return ret}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},Emitter=class _Emitter{constructor(_options){this._options=_options}get event(){return this._event||(this._event=(listener,thisArgs,disposables)=>{this._callbacks||(this._callbacks=new CallbackList),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(listener,thisArgs);let result={dispose:()=>{this._callbacks&&(this._callbacks.remove(listener,thisArgs),result.dispose=_Emitter._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(disposables)&&disposables.push(result),result}),this._event}fire(event){this._callbacks&&this._callbacks.invoke.call(this._callbacks,event)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};exports.Emitter=Emitter;Emitter._noop=function(){}}});var require_cancellation2=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/cancellation.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.CancellationTokenSource=exports.CancellationToken=void 0;var ral_1=require_ral2(),Is3=require_is4(),events_1=require_events2(),CancellationToken;(function(CancellationToken2){CancellationToken2.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:events_1.Event.None}),CancellationToken2.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:events_1.Event.None});function is(value){let candidate=value;return candidate&&(candidate===CancellationToken2.None||candidate===CancellationToken2.Cancelled||Is3.boolean(candidate.isCancellationRequested)&&!!candidate.onCancellationRequested)}CancellationToken2.is=is})(CancellationToken||(exports.CancellationToken=CancellationToken={}));var shortcutEvent=Object.freeze(function(callback,context){let handle=(0,ral_1.default)().timer.setTimeout(callback.bind(context),0);return{dispose(){handle.dispose()}}}),MutableToken=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?shortcutEvent:(this._emitter||(this._emitter=new events_1.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},CancellationTokenSource=class{get token(){return this._token||(this._token=new MutableToken),this._token}cancel(){this._token?this._token.cancel():this._token=CancellationToken.Cancelled}dispose(){this._token?this._token instanceof MutableToken&&this._token.dispose():this._token=CancellationToken.None}};exports.CancellationTokenSource=CancellationTokenSource}});var require_sharedArrayCancellation2=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.SharedArrayReceiverStrategy=exports.SharedArraySenderStrategy=void 0;var cancellation_1=require_cancellation2(),CancellationState;(function(CancellationState2){CancellationState2.Continue=0,CancellationState2.Cancelled=1})(CancellationState||(CancellationState={}));var SharedArraySenderStrategy=class{constructor(){this.buffers=new Map}enableCancellation(request){if(request.id===null)return;let buffer=new SharedArrayBuffer(4),data=new Int32Array(buffer,0,1);data[0]=CancellationState.Continue,this.buffers.set(request.id,buffer),request.$cancellationData=buffer}async sendCancellation(_conn,id){let buffer=this.buffers.get(id);if(buffer===void 0)return;let data=new Int32Array(buffer,0,1);Atomics.store(data,0,CancellationState.Cancelled)}cleanup(id){this.buffers.delete(id)}dispose(){this.buffers.clear()}};exports.SharedArraySenderStrategy=SharedArraySenderStrategy;var SharedArrayBufferCancellationToken=class{constructor(buffer){this.data=new Int32Array(buffer,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===CancellationState.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},SharedArrayBufferCancellationTokenSource=class{constructor(buffer){this.token=new SharedArrayBufferCancellationToken(buffer)}cancel(){}dispose(){}},SharedArrayReceiverStrategy=class{constructor(){this.kind="request"}createCancellationTokenSource(request){let buffer=request.$cancellationData;return buffer===void 0?new cancellation_1.CancellationTokenSource:new SharedArrayBufferCancellationTokenSource(buffer)}};exports.SharedArrayReceiverStrategy=SharedArrayReceiverStrategy}});var require_semaphore2=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/semaphore.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.Semaphore=void 0;var ral_1=require_ral2(),Semaphore=class{constructor(capacity=1){if(capacity<=0)throw new Error("Capacity must be greater than 0");this._capacity=capacity,this._active=0,this._waiting=[]}lock(thunk){return new Promise((resolve,reject)=>{this._waiting.push({thunk,resolve,reject}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,ral_1.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let next=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let result=next.thunk();result instanceof Promise?result.then(value=>{this._active--,next.resolve(value),this.runNext()},err=>{this._active--,next.reject(err),this.runNext()}):(this._active--,next.resolve(result),this.runNext())}catch(err){this._active--,next.reject(err),this.runNext()}}};exports.Semaphore=Semaphore}});var require_messageReader2=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/messageReader.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ReadableStreamMessageReader=exports.AbstractMessageReader=exports.MessageReader=void 0;var ral_1=require_ral2(),Is3=require_is4(),events_1=require_events2(),semaphore_1=require_semaphore2(),MessageReader;(function(MessageReader2){function is(value){let candidate=value;return candidate&&Is3.func(candidate.listen)&&Is3.func(candidate.dispose)&&Is3.func(candidate.onError)&&Is3.func(candidate.onClose)&&Is3.func(candidate.onPartialMessage)}MessageReader2.is=is})(MessageReader||(exports.MessageReader=MessageReader={}));var AbstractMessageReader=class{constructor(){this.errorEmitter=new events_1.Emitter,this.closeEmitter=new events_1.Emitter,this.partialMessageEmitter=new events_1.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(error){this.errorEmitter.fire(this.asError(error))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(info){this.partialMessageEmitter.fire(info)}asError(error){return error instanceof Error?error:new Error(`Reader received error. Reason: ${Is3.string(error.message)?error.message:"unknown"}`)}};exports.AbstractMessageReader=AbstractMessageReader;var ResolvedMessageReaderOptions;(function(ResolvedMessageReaderOptions2){function fromOptions(options){let charset,result,contentDecoder,contentDecoders=new Map,contentTypeDecoder,contentTypeDecoders=new Map;if(options===void 0||typeof options=="string")charset=options??"utf-8";else{if(charset=options.charset??"utf-8",options.contentDecoder!==void 0&&(contentDecoder=options.contentDecoder,contentDecoders.set(contentDecoder.name,contentDecoder)),options.contentDecoders!==void 0)for(let decoder of options.contentDecoders)contentDecoders.set(decoder.name,decoder);if(options.contentTypeDecoder!==void 0&&(contentTypeDecoder=options.contentTypeDecoder,contentTypeDecoders.set(contentTypeDecoder.name,contentTypeDecoder)),options.contentTypeDecoders!==void 0)for(let decoder of options.contentTypeDecoders)contentTypeDecoders.set(decoder.name,decoder)}return contentTypeDecoder===void 0&&(contentTypeDecoder=(0,ral_1.default)().applicationJson.decoder,contentTypeDecoders.set(contentTypeDecoder.name,contentTypeDecoder)),{charset,contentDecoder,contentDecoders,contentTypeDecoder,contentTypeDecoders}}ResolvedMessageReaderOptions2.fromOptions=fromOptions})(ResolvedMessageReaderOptions||(ResolvedMessageReaderOptions={}));var ReadableStreamMessageReader=class extends AbstractMessageReader{constructor(readable,options){super(),this.readable=readable,this.options=ResolvedMessageReaderOptions.fromOptions(options),this.buffer=(0,ral_1.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new semaphore_1.Semaphore(1)}set partialMessageTimeout(timeout){this._partialMessageTimeout=timeout}get partialMessageTimeout(){return this._partialMessageTimeout}listen(callback){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=callback;let result=this.readable.onData(data=>{this.onData(data)});return this.readable.onError(error=>this.fireError(error)),this.readable.onClose(()=>this.fireClose()),result}onData(data){try{for(this.buffer.append(data);;){if(this.nextMessageLength===-1){let headers=this.buffer.tryReadHeaders(!0);if(!headers)return;let contentLength=headers.get("content-length");if(!contentLength){this.fireError(new Error(`Header must provide a Content-Length property.
|
|
11
|
+
`&&i++}isLineStart&&text.length>0&&lineOffsets.push(text.length),this._lineOffsets=lineOffsets}return this._lineOffsets}positionAt(offset){offset=Math.max(Math.min(offset,this._content.length),0);let lineOffsets=this.getLineOffsets(),low=0,high=lineOffsets.length;if(high===0)return Position.create(0,offset);for(;low<high;){let mid=Math.floor((low+high)/2);lineOffsets[mid]>offset?high=mid:low=mid+1}let line=low-1;return Position.create(line,offset-lineOffsets[line])}offsetAt(position){let lineOffsets=this.getLineOffsets();if(position.line>=lineOffsets.length)return this._content.length;if(position.line<0)return 0;let lineOffset=lineOffsets[position.line],nextLineOffset=position.line+1<lineOffsets.length?lineOffsets[position.line+1]:this._content.length;return Math.max(Math.min(lineOffset+position.character,nextLineOffset),lineOffset)}get lineCount(){return this.getLineOffsets().length}};(function(Is3){let toString=Object.prototype.toString;function defined(value){return typeof value<"u"}Is3.defined=defined;function undefined2(value){return typeof value>"u"}Is3.undefined=undefined2;function boolean(value){return value===!0||value===!1}Is3.boolean=boolean;function string(value){return toString.call(value)==="[object String]"}Is3.string=string;function number(value){return toString.call(value)==="[object Number]"}Is3.number=number;function numberRange(value,min,max){return toString.call(value)==="[object Number]"&&min<=value&&value<=max}Is3.numberRange=numberRange;function integer3(value){return toString.call(value)==="[object Number]"&&-2147483648<=value&&value<=2147483647}Is3.integer=integer3;function uinteger3(value){return toString.call(value)==="[object Number]"&&0<=value&&value<=2147483647}Is3.uinteger=uinteger3;function func(value){return toString.call(value)==="[object Function]"}Is3.func=func;function objectLiteral(value){return value!==null&&typeof value=="object"}Is3.objectLiteral=objectLiteral;function typedArray(value,check){return Array.isArray(value)&&value.every(check)}Is3.typedArray=typedArray})(Is||(Is={}))}});var require_messages2=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/messages.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.CM=exports.ProtocolNotificationType=exports.ProtocolNotificationType0=exports.ProtocolRequestType=exports.ProtocolRequestType0=exports.RegistrationType=exports.MessageDirection=void 0;var vscode_jsonrpc_1=require_api(),MessageDirection;(function(MessageDirection2){MessageDirection2.clientToServer="clientToServer",MessageDirection2.serverToClient="serverToClient",MessageDirection2.both="both"})(MessageDirection||(exports.MessageDirection=MessageDirection={}));var RegistrationType=class{____;method;constructor(method){this.method=method}};exports.RegistrationType=RegistrationType;var ProtocolRequestType0=class extends vscode_jsonrpc_1.RequestType0{__;___;____;_pr;constructor(method){super(method)}};exports.ProtocolRequestType0=ProtocolRequestType0;var ProtocolRequestType=class extends vscode_jsonrpc_1.RequestType{__;___;____;_pr;constructor(method){super(method,vscode_jsonrpc_1.ParameterStructures.byName)}};exports.ProtocolRequestType=ProtocolRequestType;var ProtocolNotificationType0=class extends vscode_jsonrpc_1.NotificationType0{___;____;constructor(method){super(method)}};exports.ProtocolNotificationType0=ProtocolNotificationType0;var ProtocolNotificationType=class extends vscode_jsonrpc_1.NotificationType{___;____;constructor(method){super(method,vscode_jsonrpc_1.ParameterStructures.byName)}};exports.ProtocolNotificationType=ProtocolNotificationType;var CM;(function(CM2){function create(client,server){return{client,server}}CM2.create=create})(CM||(exports.CM=CM={}))}});var require_is2=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/utils/is.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.boolean=boolean;exports.string=string;exports.number=number;exports.error=error;exports.func=func;exports.array=array;exports.stringArray=stringArray;exports.typedArray=typedArray;exports.objectLiteral=objectLiteral;function boolean(value){return value===!0||value===!1}function string(value){return typeof value=="string"||value instanceof String}function number(value){return typeof value=="number"||value instanceof Number}function error(value){return value instanceof Error}function func(value){return typeof value=="function"}function array(value){return Array.isArray(value)}function stringArray(value){return array(value)&&value.every(elem=>string(elem))}function typedArray(value,check){return Array.isArray(value)&&value.every(check)}function objectLiteral(value){return value!==null&&typeof value=="object"}}});var require_protocol_implementation=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ImplementationRequest=void 0;var messages_1=require_messages2(),ImplementationRequest;(function(ImplementationRequest2){ImplementationRequest2.method="textDocument/implementation",ImplementationRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ImplementationRequest2.type=new messages_1.ProtocolRequestType(ImplementationRequest2.method),ImplementationRequest2.capabilities=messages_1.CM.create("textDocument.implementation","implementationProvider")})(ImplementationRequest||(exports.ImplementationRequest=ImplementationRequest={}))}});var require_protocol_typeDefinition=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.TypeDefinitionRequest=void 0;var messages_1=require_messages2(),TypeDefinitionRequest;(function(TypeDefinitionRequest2){TypeDefinitionRequest2.method="textDocument/typeDefinition",TypeDefinitionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,TypeDefinitionRequest2.type=new messages_1.ProtocolRequestType(TypeDefinitionRequest2.method),TypeDefinitionRequest2.capabilities=messages_1.CM.create("textDocument.typeDefinition","typeDefinitionProvider")})(TypeDefinitionRequest||(exports.TypeDefinitionRequest=TypeDefinitionRequest={}))}});var require_protocol_workspaceFolder=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.DidChangeWorkspaceFoldersNotification=exports.WorkspaceFoldersRequest=void 0;var messages_1=require_messages2(),WorkspaceFoldersRequest;(function(WorkspaceFoldersRequest2){WorkspaceFoldersRequest2.method="workspace/workspaceFolders",WorkspaceFoldersRequest2.messageDirection=messages_1.MessageDirection.serverToClient,WorkspaceFoldersRequest2.type=new messages_1.ProtocolRequestType0(WorkspaceFoldersRequest2.method),WorkspaceFoldersRequest2.capabilities=messages_1.CM.create("workspace.workspaceFolders","workspace.workspaceFolders")})(WorkspaceFoldersRequest||(exports.WorkspaceFoldersRequest=WorkspaceFoldersRequest={}));var DidChangeWorkspaceFoldersNotification;(function(DidChangeWorkspaceFoldersNotification2){DidChangeWorkspaceFoldersNotification2.method="workspace/didChangeWorkspaceFolders",DidChangeWorkspaceFoldersNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeWorkspaceFoldersNotification2.type=new messages_1.ProtocolNotificationType(DidChangeWorkspaceFoldersNotification2.method),DidChangeWorkspaceFoldersNotification2.capabilities=messages_1.CM.create(void 0,"workspace.workspaceFolders.changeNotifications")})(DidChangeWorkspaceFoldersNotification||(exports.DidChangeWorkspaceFoldersNotification=DidChangeWorkspaceFoldersNotification={}))}});var require_protocol_configuration=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ConfigurationRequest=void 0;var messages_1=require_messages2(),ConfigurationRequest;(function(ConfigurationRequest2){ConfigurationRequest2.method="workspace/configuration",ConfigurationRequest2.messageDirection=messages_1.MessageDirection.serverToClient,ConfigurationRequest2.type=new messages_1.ProtocolRequestType(ConfigurationRequest2.method),ConfigurationRequest2.capabilities=messages_1.CM.create("workspace.configuration",void 0)})(ConfigurationRequest||(exports.ConfigurationRequest=ConfigurationRequest={}))}});var require_protocol_colorProvider=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ColorPresentationRequest=exports.DocumentColorRequest=void 0;var messages_1=require_messages2(),DocumentColorRequest;(function(DocumentColorRequest2){DocumentColorRequest2.method="textDocument/documentColor",DocumentColorRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentColorRequest2.type=new messages_1.ProtocolRequestType(DocumentColorRequest2.method),DocumentColorRequest2.capabilities=messages_1.CM.create("textDocument.colorProvider","colorProvider")})(DocumentColorRequest||(exports.DocumentColorRequest=DocumentColorRequest={}));var ColorPresentationRequest;(function(ColorPresentationRequest2){ColorPresentationRequest2.method="textDocument/colorPresentation",ColorPresentationRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ColorPresentationRequest2.type=new messages_1.ProtocolRequestType(ColorPresentationRequest2.method),ColorPresentationRequest2.capabilities=messages_1.CM.create("textDocument.colorProvider","colorProvider")})(ColorPresentationRequest||(exports.ColorPresentationRequest=ColorPresentationRequest={}))}});var require_protocol_foldingRange=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.FoldingRangeRefreshRequest=exports.FoldingRangeRequest=void 0;var messages_1=require_messages2(),FoldingRangeRequest;(function(FoldingRangeRequest2){FoldingRangeRequest2.method="textDocument/foldingRange",FoldingRangeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,FoldingRangeRequest2.type=new messages_1.ProtocolRequestType(FoldingRangeRequest2.method),FoldingRangeRequest2.capabilities=messages_1.CM.create("textDocument.foldingRange","foldingRangeProvider")})(FoldingRangeRequest||(exports.FoldingRangeRequest=FoldingRangeRequest={}));var FoldingRangeRefreshRequest;(function(FoldingRangeRefreshRequest2){FoldingRangeRefreshRequest2.method="workspace/foldingRange/refresh",FoldingRangeRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,FoldingRangeRefreshRequest2.type=new messages_1.ProtocolRequestType0(FoldingRangeRefreshRequest2.method),FoldingRangeRefreshRequest2.capabilities=messages_1.CM.create("workspace.foldingRange.refreshSupport",void 0)})(FoldingRangeRefreshRequest||(exports.FoldingRangeRefreshRequest=FoldingRangeRefreshRequest={}))}});var require_protocol_declaration=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.DeclarationRequest=void 0;var messages_1=require_messages2(),DeclarationRequest;(function(DeclarationRequest2){DeclarationRequest2.method="textDocument/declaration",DeclarationRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DeclarationRequest2.type=new messages_1.ProtocolRequestType(DeclarationRequest2.method),DeclarationRequest2.capabilities=messages_1.CM.create("textDocument.declaration","declarationProvider")})(DeclarationRequest||(exports.DeclarationRequest=DeclarationRequest={}))}});var require_protocol_selectionRange=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.SelectionRangeRequest=void 0;var messages_1=require_messages2(),SelectionRangeRequest;(function(SelectionRangeRequest2){SelectionRangeRequest2.method="textDocument/selectionRange",SelectionRangeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SelectionRangeRequest2.type=new messages_1.ProtocolRequestType(SelectionRangeRequest2.method),SelectionRangeRequest2.capabilities=messages_1.CM.create("textDocument.selectionRange","selectionRangeProvider")})(SelectionRangeRequest||(exports.SelectionRangeRequest=SelectionRangeRequest={}))}});var require_protocol_progress=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.WorkDoneProgressCancelNotification=exports.WorkDoneProgressCreateRequest=exports.WorkDoneProgress=void 0;var vscode_jsonrpc_1=require_api(),messages_1=require_messages2(),WorkDoneProgress;(function(WorkDoneProgress2){WorkDoneProgress2.type=new vscode_jsonrpc_1.ProgressType;function is(value){return value===WorkDoneProgress2.type}WorkDoneProgress2.is=is})(WorkDoneProgress||(exports.WorkDoneProgress=WorkDoneProgress={}));var WorkDoneProgressCreateRequest;(function(WorkDoneProgressCreateRequest2){WorkDoneProgressCreateRequest2.method="window/workDoneProgress/create",WorkDoneProgressCreateRequest2.messageDirection=messages_1.MessageDirection.serverToClient,WorkDoneProgressCreateRequest2.type=new messages_1.ProtocolRequestType(WorkDoneProgressCreateRequest2.method),WorkDoneProgressCreateRequest2.capabilities=messages_1.CM.create("window.workDoneProgress",void 0)})(WorkDoneProgressCreateRequest||(exports.WorkDoneProgressCreateRequest=WorkDoneProgressCreateRequest={}));var WorkDoneProgressCancelNotification;(function(WorkDoneProgressCancelNotification2){WorkDoneProgressCancelNotification2.method="window/workDoneProgress/cancel",WorkDoneProgressCancelNotification2.messageDirection=messages_1.MessageDirection.clientToServer,WorkDoneProgressCancelNotification2.type=new messages_1.ProtocolNotificationType(WorkDoneProgressCancelNotification2.method)})(WorkDoneProgressCancelNotification||(exports.WorkDoneProgressCancelNotification=WorkDoneProgressCancelNotification={}))}});var require_protocol_callHierarchy=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.CallHierarchyOutgoingCallsRequest=exports.CallHierarchyIncomingCallsRequest=exports.CallHierarchyPrepareRequest=void 0;var messages_1=require_messages2(),CallHierarchyPrepareRequest;(function(CallHierarchyPrepareRequest2){CallHierarchyPrepareRequest2.method="textDocument/prepareCallHierarchy",CallHierarchyPrepareRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CallHierarchyPrepareRequest2.type=new messages_1.ProtocolRequestType(CallHierarchyPrepareRequest2.method),CallHierarchyPrepareRequest2.capabilities=messages_1.CM.create("textDocument.callHierarchy","callHierarchyProvider")})(CallHierarchyPrepareRequest||(exports.CallHierarchyPrepareRequest=CallHierarchyPrepareRequest={}));var CallHierarchyIncomingCallsRequest;(function(CallHierarchyIncomingCallsRequest2){CallHierarchyIncomingCallsRequest2.method="callHierarchy/incomingCalls",CallHierarchyIncomingCallsRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CallHierarchyIncomingCallsRequest2.type=new messages_1.ProtocolRequestType(CallHierarchyIncomingCallsRequest2.method),CallHierarchyIncomingCallsRequest2.capabilities=messages_1.CM.create("textDocument.callHierarchy","callHierarchyProvider")})(CallHierarchyIncomingCallsRequest||(exports.CallHierarchyIncomingCallsRequest=CallHierarchyIncomingCallsRequest={}));var CallHierarchyOutgoingCallsRequest;(function(CallHierarchyOutgoingCallsRequest2){CallHierarchyOutgoingCallsRequest2.method="callHierarchy/outgoingCalls",CallHierarchyOutgoingCallsRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CallHierarchyOutgoingCallsRequest2.type=new messages_1.ProtocolRequestType(CallHierarchyOutgoingCallsRequest2.method),CallHierarchyOutgoingCallsRequest2.capabilities=messages_1.CM.create("textDocument.callHierarchy","callHierarchyProvider")})(CallHierarchyOutgoingCallsRequest||(exports.CallHierarchyOutgoingCallsRequest=CallHierarchyOutgoingCallsRequest={}))}});var require_protocol_semanticTokens=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.SemanticTokensRefreshRequest=exports.SemanticTokensRangeRequest=exports.SemanticTokensDeltaRequest=exports.SemanticTokensRequest=exports.SemanticTokensRegistrationType=exports.TokenFormat=void 0;var messages_1=require_messages2(),TokenFormat;(function(TokenFormat2){TokenFormat2.Relative="relative"})(TokenFormat||(exports.TokenFormat=TokenFormat={}));var SemanticTokensRegistrationType;(function(SemanticTokensRegistrationType2){SemanticTokensRegistrationType2.method="textDocument/semanticTokens",SemanticTokensRegistrationType2.type=new messages_1.RegistrationType(SemanticTokensRegistrationType2.method)})(SemanticTokensRegistrationType||(exports.SemanticTokensRegistrationType=SemanticTokensRegistrationType={}));var SemanticTokensRequest;(function(SemanticTokensRequest2){SemanticTokensRequest2.method="textDocument/semanticTokens/full",SemanticTokensRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SemanticTokensRequest2.type=new messages_1.ProtocolRequestType(SemanticTokensRequest2.method),SemanticTokensRequest2.registrationMethod=SemanticTokensRegistrationType.method,SemanticTokensRequest2.capabilities=messages_1.CM.create("textDocument.semanticTokens","semanticTokensProvider")})(SemanticTokensRequest||(exports.SemanticTokensRequest=SemanticTokensRequest={}));var SemanticTokensDeltaRequest;(function(SemanticTokensDeltaRequest2){SemanticTokensDeltaRequest2.method="textDocument/semanticTokens/full/delta",SemanticTokensDeltaRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SemanticTokensDeltaRequest2.type=new messages_1.ProtocolRequestType(SemanticTokensDeltaRequest2.method),SemanticTokensDeltaRequest2.registrationMethod=SemanticTokensRegistrationType.method,SemanticTokensDeltaRequest2.capabilities=messages_1.CM.create("textDocument.semanticTokens.requests.full.delta","semanticTokensProvider.full.delta")})(SemanticTokensDeltaRequest||(exports.SemanticTokensDeltaRequest=SemanticTokensDeltaRequest={}));var SemanticTokensRangeRequest;(function(SemanticTokensRangeRequest2){SemanticTokensRangeRequest2.method="textDocument/semanticTokens/range",SemanticTokensRangeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SemanticTokensRangeRequest2.type=new messages_1.ProtocolRequestType(SemanticTokensRangeRequest2.method),SemanticTokensRangeRequest2.registrationMethod=SemanticTokensRegistrationType.method,SemanticTokensRangeRequest2.capabilities=messages_1.CM.create("textDocument.semanticTokens.requests.range","semanticTokensProvider.range")})(SemanticTokensRangeRequest||(exports.SemanticTokensRangeRequest=SemanticTokensRangeRequest={}));var SemanticTokensRefreshRequest;(function(SemanticTokensRefreshRequest2){SemanticTokensRefreshRequest2.method="workspace/semanticTokens/refresh",SemanticTokensRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,SemanticTokensRefreshRequest2.type=new messages_1.ProtocolRequestType0(SemanticTokensRefreshRequest2.method),SemanticTokensRefreshRequest2.capabilities=messages_1.CM.create("workspace.semanticTokens.refreshSupport",void 0)})(SemanticTokensRefreshRequest||(exports.SemanticTokensRefreshRequest=SemanticTokensRefreshRequest={}))}});var require_protocol_showDocument=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ShowDocumentRequest=void 0;var messages_1=require_messages2(),ShowDocumentRequest;(function(ShowDocumentRequest2){ShowDocumentRequest2.method="window/showDocument",ShowDocumentRequest2.messageDirection=messages_1.MessageDirection.serverToClient,ShowDocumentRequest2.type=new messages_1.ProtocolRequestType(ShowDocumentRequest2.method),ShowDocumentRequest2.capabilities=messages_1.CM.create("window.showDocument.support",void 0)})(ShowDocumentRequest||(exports.ShowDocumentRequest=ShowDocumentRequest={}))}});var require_protocol_linkedEditingRange=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.LinkedEditingRangeRequest=void 0;var messages_1=require_messages2(),LinkedEditingRangeRequest;(function(LinkedEditingRangeRequest2){LinkedEditingRangeRequest2.method="textDocument/linkedEditingRange",LinkedEditingRangeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,LinkedEditingRangeRequest2.type=new messages_1.ProtocolRequestType(LinkedEditingRangeRequest2.method),LinkedEditingRangeRequest2.capabilities=messages_1.CM.create("textDocument.linkedEditingRange","linkedEditingRangeProvider")})(LinkedEditingRangeRequest||(exports.LinkedEditingRangeRequest=LinkedEditingRangeRequest={}))}});var require_protocol_fileOperations=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.WillDeleteFilesRequest=exports.DidDeleteFilesNotification=exports.DidRenameFilesNotification=exports.WillRenameFilesRequest=exports.DidCreateFilesNotification=exports.WillCreateFilesRequest=exports.FileOperationPatternKind=void 0;var messages_1=require_messages2(),FileOperationPatternKind;(function(FileOperationPatternKind2){FileOperationPatternKind2.file="file",FileOperationPatternKind2.folder="folder"})(FileOperationPatternKind||(exports.FileOperationPatternKind=FileOperationPatternKind={}));var WillCreateFilesRequest;(function(WillCreateFilesRequest2){WillCreateFilesRequest2.method="workspace/willCreateFiles",WillCreateFilesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WillCreateFilesRequest2.type=new messages_1.ProtocolRequestType(WillCreateFilesRequest2.method),WillCreateFilesRequest2.capabilities=messages_1.CM.create("workspace.fileOperations.willCreate","workspace.fileOperations.willCreate")})(WillCreateFilesRequest||(exports.WillCreateFilesRequest=WillCreateFilesRequest={}));var DidCreateFilesNotification;(function(DidCreateFilesNotification2){DidCreateFilesNotification2.method="workspace/didCreateFiles",DidCreateFilesNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidCreateFilesNotification2.type=new messages_1.ProtocolNotificationType(DidCreateFilesNotification2.method),DidCreateFilesNotification2.capabilities=messages_1.CM.create("workspace.fileOperations.didCreate","workspace.fileOperations.didCreate")})(DidCreateFilesNotification||(exports.DidCreateFilesNotification=DidCreateFilesNotification={}));var WillRenameFilesRequest;(function(WillRenameFilesRequest2){WillRenameFilesRequest2.method="workspace/willRenameFiles",WillRenameFilesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WillRenameFilesRequest2.type=new messages_1.ProtocolRequestType(WillRenameFilesRequest2.method),WillRenameFilesRequest2.capabilities=messages_1.CM.create("workspace.fileOperations.willRename","workspace.fileOperations.willRename")})(WillRenameFilesRequest||(exports.WillRenameFilesRequest=WillRenameFilesRequest={}));var DidRenameFilesNotification;(function(DidRenameFilesNotification2){DidRenameFilesNotification2.method="workspace/didRenameFiles",DidRenameFilesNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidRenameFilesNotification2.type=new messages_1.ProtocolNotificationType(DidRenameFilesNotification2.method),DidRenameFilesNotification2.capabilities=messages_1.CM.create("workspace.fileOperations.didRename","workspace.fileOperations.didRename")})(DidRenameFilesNotification||(exports.DidRenameFilesNotification=DidRenameFilesNotification={}));var DidDeleteFilesNotification;(function(DidDeleteFilesNotification2){DidDeleteFilesNotification2.method="workspace/didDeleteFiles",DidDeleteFilesNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidDeleteFilesNotification2.type=new messages_1.ProtocolNotificationType(DidDeleteFilesNotification2.method),DidDeleteFilesNotification2.capabilities=messages_1.CM.create("workspace.fileOperations.didDelete","workspace.fileOperations.didDelete")})(DidDeleteFilesNotification||(exports.DidDeleteFilesNotification=DidDeleteFilesNotification={}));var WillDeleteFilesRequest;(function(WillDeleteFilesRequest2){WillDeleteFilesRequest2.method="workspace/willDeleteFiles",WillDeleteFilesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WillDeleteFilesRequest2.type=new messages_1.ProtocolRequestType(WillDeleteFilesRequest2.method),WillDeleteFilesRequest2.capabilities=messages_1.CM.create("workspace.fileOperations.willDelete","workspace.fileOperations.willDelete")})(WillDeleteFilesRequest||(exports.WillDeleteFilesRequest=WillDeleteFilesRequest={}))}});var require_protocol_moniker=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.MonikerRequest=exports.MonikerKind=exports.UniquenessLevel=void 0;var messages_1=require_messages2(),UniquenessLevel;(function(UniquenessLevel2){UniquenessLevel2.document="document",UniquenessLevel2.project="project",UniquenessLevel2.group="group",UniquenessLevel2.scheme="scheme",UniquenessLevel2.global="global"})(UniquenessLevel||(exports.UniquenessLevel=UniquenessLevel={}));var MonikerKind;(function(MonikerKind2){MonikerKind2.$import="import",MonikerKind2.$export="export",MonikerKind2.local="local"})(MonikerKind||(exports.MonikerKind=MonikerKind={}));var MonikerRequest;(function(MonikerRequest2){MonikerRequest2.method="textDocument/moniker",MonikerRequest2.messageDirection=messages_1.MessageDirection.clientToServer,MonikerRequest2.type=new messages_1.ProtocolRequestType(MonikerRequest2.method),MonikerRequest2.capabilities=messages_1.CM.create("textDocument.moniker","monikerProvider")})(MonikerRequest||(exports.MonikerRequest=MonikerRequest={}))}});var require_protocol_typeHierarchy=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.TypeHierarchySubtypesRequest=exports.TypeHierarchySupertypesRequest=exports.TypeHierarchyPrepareRequest=void 0;var messages_1=require_messages2(),TypeHierarchyPrepareRequest;(function(TypeHierarchyPrepareRequest2){TypeHierarchyPrepareRequest2.method="textDocument/prepareTypeHierarchy",TypeHierarchyPrepareRequest2.messageDirection=messages_1.MessageDirection.clientToServer,TypeHierarchyPrepareRequest2.type=new messages_1.ProtocolRequestType(TypeHierarchyPrepareRequest2.method),TypeHierarchyPrepareRequest2.capabilities=messages_1.CM.create("textDocument.typeHierarchy","typeHierarchyProvider")})(TypeHierarchyPrepareRequest||(exports.TypeHierarchyPrepareRequest=TypeHierarchyPrepareRequest={}));var TypeHierarchySupertypesRequest;(function(TypeHierarchySupertypesRequest2){TypeHierarchySupertypesRequest2.method="typeHierarchy/supertypes",TypeHierarchySupertypesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,TypeHierarchySupertypesRequest2.type=new messages_1.ProtocolRequestType(TypeHierarchySupertypesRequest2.method)})(TypeHierarchySupertypesRequest||(exports.TypeHierarchySupertypesRequest=TypeHierarchySupertypesRequest={}));var TypeHierarchySubtypesRequest;(function(TypeHierarchySubtypesRequest2){TypeHierarchySubtypesRequest2.method="typeHierarchy/subtypes",TypeHierarchySubtypesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,TypeHierarchySubtypesRequest2.type=new messages_1.ProtocolRequestType(TypeHierarchySubtypesRequest2.method)})(TypeHierarchySubtypesRequest||(exports.TypeHierarchySubtypesRequest=TypeHierarchySubtypesRequest={}))}});var require_protocol_inlineValue=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.InlineValueRefreshRequest=exports.InlineValueRequest=void 0;var messages_1=require_messages2(),InlineValueRequest;(function(InlineValueRequest2){InlineValueRequest2.method="textDocument/inlineValue",InlineValueRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InlineValueRequest2.type=new messages_1.ProtocolRequestType(InlineValueRequest2.method),InlineValueRequest2.capabilities=messages_1.CM.create("textDocument.inlineValue","inlineValueProvider")})(InlineValueRequest||(exports.InlineValueRequest=InlineValueRequest={}));var InlineValueRefreshRequest;(function(InlineValueRefreshRequest2){InlineValueRefreshRequest2.method="workspace/inlineValue/refresh",InlineValueRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,InlineValueRefreshRequest2.type=new messages_1.ProtocolRequestType0(InlineValueRefreshRequest2.method),InlineValueRefreshRequest2.capabilities=messages_1.CM.create("workspace.inlineValue.refreshSupport",void 0)})(InlineValueRefreshRequest||(exports.InlineValueRefreshRequest=InlineValueRefreshRequest={}))}});var require_protocol_inlayHint=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.InlayHintRefreshRequest=exports.InlayHintResolveRequest=exports.InlayHintRequest=void 0;var messages_1=require_messages2(),InlayHintRequest;(function(InlayHintRequest2){InlayHintRequest2.method="textDocument/inlayHint",InlayHintRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InlayHintRequest2.type=new messages_1.ProtocolRequestType(InlayHintRequest2.method),InlayHintRequest2.capabilities=messages_1.CM.create("textDocument.inlayHint","inlayHintProvider")})(InlayHintRequest||(exports.InlayHintRequest=InlayHintRequest={}));var InlayHintResolveRequest;(function(InlayHintResolveRequest2){InlayHintResolveRequest2.method="inlayHint/resolve",InlayHintResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InlayHintResolveRequest2.type=new messages_1.ProtocolRequestType(InlayHintResolveRequest2.method),InlayHintResolveRequest2.capabilities=messages_1.CM.create("textDocument.inlayHint.resolveSupport","inlayHintProvider.resolveProvider")})(InlayHintResolveRequest||(exports.InlayHintResolveRequest=InlayHintResolveRequest={}));var InlayHintRefreshRequest;(function(InlayHintRefreshRequest2){InlayHintRefreshRequest2.method="workspace/inlayHint/refresh",InlayHintRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,InlayHintRefreshRequest2.type=new messages_1.ProtocolRequestType0(InlayHintRefreshRequest2.method),InlayHintRefreshRequest2.capabilities=messages_1.CM.create("workspace.inlayHint.refreshSupport",void 0)})(InlayHintRefreshRequest||(exports.InlayHintRefreshRequest=InlayHintRefreshRequest={}))}});var require_protocol_diagnostic=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}):function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||(function(){var ownKeys=function(o){return ownKeys=Object.getOwnPropertyNames||function(o2){var ar=[];for(var k in o2)Object.prototype.hasOwnProperty.call(o2,k)&&(ar[ar.length]=k);return ar},ownKeys(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k=ownKeys(mod),i=0;i<k.length;i++)k[i]!=="default"&&__createBinding(result,mod,k[i]);return __setModuleDefault(result,mod),result}})();Object.defineProperty(exports,"__esModule",{value:!0});exports.DiagnosticRefreshRequest=exports.WorkspaceDiagnosticRequest=exports.DocumentDiagnosticRequest=exports.DocumentDiagnosticReportKind=exports.DiagnosticServerCancellationData=void 0;var vscode_jsonrpc_1=require_api(),Is3=__importStar(require_is2()),messages_1=require_messages2(),DiagnosticServerCancellationData;(function(DiagnosticServerCancellationData2){function is(value){let candidate=value;return candidate&&Is3.boolean(candidate.retriggerRequest)}DiagnosticServerCancellationData2.is=is})(DiagnosticServerCancellationData||(exports.DiagnosticServerCancellationData=DiagnosticServerCancellationData={}));var DocumentDiagnosticReportKind;(function(DocumentDiagnosticReportKind2){DocumentDiagnosticReportKind2.Full="full",DocumentDiagnosticReportKind2.Unchanged="unchanged"})(DocumentDiagnosticReportKind||(exports.DocumentDiagnosticReportKind=DocumentDiagnosticReportKind={}));var DocumentDiagnosticRequest;(function(DocumentDiagnosticRequest2){DocumentDiagnosticRequest2.method="textDocument/diagnostic",DocumentDiagnosticRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentDiagnosticRequest2.type=new messages_1.ProtocolRequestType(DocumentDiagnosticRequest2.method),DocumentDiagnosticRequest2.partialResult=new vscode_jsonrpc_1.ProgressType,DocumentDiagnosticRequest2.capabilities=messages_1.CM.create("textDocument.diagnostic","diagnosticProvider")})(DocumentDiagnosticRequest||(exports.DocumentDiagnosticRequest=DocumentDiagnosticRequest={}));var WorkspaceDiagnosticRequest;(function(WorkspaceDiagnosticRequest2){WorkspaceDiagnosticRequest2.method="workspace/diagnostic",WorkspaceDiagnosticRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WorkspaceDiagnosticRequest2.type=new messages_1.ProtocolRequestType(WorkspaceDiagnosticRequest2.method),WorkspaceDiagnosticRequest2.partialResult=new vscode_jsonrpc_1.ProgressType,WorkspaceDiagnosticRequest2.capabilities=messages_1.CM.create("workspace.diagnostics","diagnosticProvider.workspaceDiagnostics")})(WorkspaceDiagnosticRequest||(exports.WorkspaceDiagnosticRequest=WorkspaceDiagnosticRequest={}));var DiagnosticRefreshRequest;(function(DiagnosticRefreshRequest2){DiagnosticRefreshRequest2.method="workspace/diagnostic/refresh",DiagnosticRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,DiagnosticRefreshRequest2.type=new messages_1.ProtocolRequestType0(DiagnosticRefreshRequest2.method),DiagnosticRefreshRequest2.capabilities=messages_1.CM.create("workspace.diagnostics.refreshSupport",void 0)})(DiagnosticRefreshRequest||(exports.DiagnosticRefreshRequest=DiagnosticRefreshRequest={}))}});var require_protocol_notebook=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}):function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||(function(){var ownKeys=function(o){return ownKeys=Object.getOwnPropertyNames||function(o2){var ar=[];for(var k in o2)Object.prototype.hasOwnProperty.call(o2,k)&&(ar[ar.length]=k);return ar},ownKeys(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k=ownKeys(mod),i=0;i<k.length;i++)k[i]!=="default"&&__createBinding(result,mod,k[i]);return __setModuleDefault(result,mod),result}})();Object.defineProperty(exports,"__esModule",{value:!0});exports.DidCloseNotebookDocumentNotification=exports.DidSaveNotebookDocumentNotification=exports.DidChangeNotebookDocumentNotification=exports.NotebookCellArrayChange=exports.DidOpenNotebookDocumentNotification=exports.NotebookDocumentSyncRegistrationType=exports.NotebookDocument=exports.NotebookCell=exports.ExecutionSummary=exports.NotebookCellKind=void 0;var vscode_languageserver_types_1=(init_main(),__toCommonJS(main_exports)),Is3=__importStar(require_is2()),messages_1=require_messages2(),NotebookCellKind;(function(NotebookCellKind2){NotebookCellKind2.Markup=1,NotebookCellKind2.Code=2;function is(value){return value===1||value===2}NotebookCellKind2.is=is})(NotebookCellKind||(exports.NotebookCellKind=NotebookCellKind={}));var ExecutionSummary;(function(ExecutionSummary2){function create(executionOrder,success){let result={executionOrder};return(success===!0||success===!1)&&(result.success=success),result}ExecutionSummary2.create=create;function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&vscode_languageserver_types_1.uinteger.is(candidate.executionOrder)&&(candidate.success===void 0||Is3.boolean(candidate.success))}ExecutionSummary2.is=is;function equals(one,other){return one===other?!0:one==null||other===null||other===void 0?!1:one.executionOrder===other.executionOrder&&one.success===other.success}ExecutionSummary2.equals=equals})(ExecutionSummary||(exports.ExecutionSummary=ExecutionSummary={}));var NotebookCell;(function(NotebookCell2){function create(kind,document){return{kind,document}}NotebookCell2.create=create;function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&NotebookCellKind.is(candidate.kind)&&vscode_languageserver_types_1.DocumentUri.is(candidate.document)&&(candidate.metadata===void 0||Is3.objectLiteral(candidate.metadata))}NotebookCell2.is=is;function diff(one,two){let result=new Set;return one.document!==two.document&&result.add("document"),one.kind!==two.kind&&result.add("kind"),one.executionSummary!==two.executionSummary&&result.add("executionSummary"),(one.metadata!==void 0||two.metadata!==void 0)&&!equalsMetadata(one.metadata,two.metadata)&&result.add("metadata"),(one.executionSummary!==void 0||two.executionSummary!==void 0)&&!ExecutionSummary.equals(one.executionSummary,two.executionSummary)&&result.add("executionSummary"),result}NotebookCell2.diff=diff;function equalsMetadata(one,other){if(one===other)return!0;if(one==null||other===null||other===void 0||typeof one!=typeof other||typeof one!="object")return!1;let oneArray=Array.isArray(one),otherArray=Array.isArray(other);if(oneArray!==otherArray)return!1;if(oneArray&&otherArray){if(one.length!==other.length)return!1;for(let i=0;i<one.length;i++)if(!equalsMetadata(one[i],other[i]))return!1}if(Is3.objectLiteral(one)&&Is3.objectLiteral(other)){let oneKeys=Object.keys(one),otherKeys=Object.keys(other);if(oneKeys.length!==otherKeys.length||(oneKeys.sort(),otherKeys.sort(),!equalsMetadata(oneKeys,otherKeys)))return!1;for(let i=0;i<oneKeys.length;i++){let prop=oneKeys[i];if(!equalsMetadata(one[prop],other[prop]))return!1}}return!0}})(NotebookCell||(exports.NotebookCell=NotebookCell={}));var NotebookDocument;(function(NotebookDocument2){function create(uri,notebookType,version,cells){return{uri,notebookType,version,cells}}NotebookDocument2.create=create;function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&Is3.string(candidate.uri)&&vscode_languageserver_types_1.integer.is(candidate.version)&&Is3.typedArray(candidate.cells,NotebookCell.is)}NotebookDocument2.is=is})(NotebookDocument||(exports.NotebookDocument=NotebookDocument={}));var NotebookDocumentSyncRegistrationType;(function(NotebookDocumentSyncRegistrationType2){NotebookDocumentSyncRegistrationType2.method="notebookDocument/sync",NotebookDocumentSyncRegistrationType2.messageDirection=messages_1.MessageDirection.clientToServer,NotebookDocumentSyncRegistrationType2.type=new messages_1.RegistrationType(NotebookDocumentSyncRegistrationType2.method)})(NotebookDocumentSyncRegistrationType||(exports.NotebookDocumentSyncRegistrationType=NotebookDocumentSyncRegistrationType={}));var DidOpenNotebookDocumentNotification;(function(DidOpenNotebookDocumentNotification2){DidOpenNotebookDocumentNotification2.method="notebookDocument/didOpen",DidOpenNotebookDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidOpenNotebookDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidOpenNotebookDocumentNotification2.method),DidOpenNotebookDocumentNotification2.registrationMethod=NotebookDocumentSyncRegistrationType.method})(DidOpenNotebookDocumentNotification||(exports.DidOpenNotebookDocumentNotification=DidOpenNotebookDocumentNotification={}));var NotebookCellArrayChange;(function(NotebookCellArrayChange2){function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&vscode_languageserver_types_1.uinteger.is(candidate.start)&&vscode_languageserver_types_1.uinteger.is(candidate.deleteCount)&&(candidate.cells===void 0||Is3.typedArray(candidate.cells,NotebookCell.is))}NotebookCellArrayChange2.is=is;function create(start,deleteCount,cells){let result={start,deleteCount};return cells!==void 0&&(result.cells=cells),result}NotebookCellArrayChange2.create=create})(NotebookCellArrayChange||(exports.NotebookCellArrayChange=NotebookCellArrayChange={}));var DidChangeNotebookDocumentNotification;(function(DidChangeNotebookDocumentNotification2){DidChangeNotebookDocumentNotification2.method="notebookDocument/didChange",DidChangeNotebookDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeNotebookDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidChangeNotebookDocumentNotification2.method),DidChangeNotebookDocumentNotification2.registrationMethod=NotebookDocumentSyncRegistrationType.method})(DidChangeNotebookDocumentNotification||(exports.DidChangeNotebookDocumentNotification=DidChangeNotebookDocumentNotification={}));var DidSaveNotebookDocumentNotification;(function(DidSaveNotebookDocumentNotification2){DidSaveNotebookDocumentNotification2.method="notebookDocument/didSave",DidSaveNotebookDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidSaveNotebookDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidSaveNotebookDocumentNotification2.method),DidSaveNotebookDocumentNotification2.registrationMethod=NotebookDocumentSyncRegistrationType.method})(DidSaveNotebookDocumentNotification||(exports.DidSaveNotebookDocumentNotification=DidSaveNotebookDocumentNotification={}));var DidCloseNotebookDocumentNotification;(function(DidCloseNotebookDocumentNotification2){DidCloseNotebookDocumentNotification2.method="notebookDocument/didClose",DidCloseNotebookDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidCloseNotebookDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidCloseNotebookDocumentNotification2.method),DidCloseNotebookDocumentNotification2.registrationMethod=NotebookDocumentSyncRegistrationType.method})(DidCloseNotebookDocumentNotification||(exports.DidCloseNotebookDocumentNotification=DidCloseNotebookDocumentNotification={}))}});var require_protocol_inlineCompletion=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.InlineCompletionRequest=void 0;var messages_1=require_messages2(),InlineCompletionRequest;(function(InlineCompletionRequest2){InlineCompletionRequest2.method="textDocument/inlineCompletion",InlineCompletionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InlineCompletionRequest2.type=new messages_1.ProtocolRequestType(InlineCompletionRequest2.method),InlineCompletionRequest2.capabilities=messages_1.CM.create("textDocument.inlineCompletion","inlineCompletionProvider")})(InlineCompletionRequest||(exports.InlineCompletionRequest=InlineCompletionRequest={}))}});var require_protocol_textDocumentContent=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.textDocumentContent.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.TextDocumentContentRefreshRequest=exports.TextDocumentContentRequest=void 0;var messages_1=require_messages2(),TextDocumentContentRequest;(function(TextDocumentContentRequest2){TextDocumentContentRequest2.method="workspace/textDocumentContent",TextDocumentContentRequest2.messageDirection=messages_1.MessageDirection.clientToServer,TextDocumentContentRequest2.type=new messages_1.ProtocolRequestType(TextDocumentContentRequest2.method),TextDocumentContentRequest2.capabilities=messages_1.CM.create("workspace.textDocumentContent","workspace.textDocumentContent")})(TextDocumentContentRequest||(exports.TextDocumentContentRequest=TextDocumentContentRequest={}));var TextDocumentContentRefreshRequest;(function(TextDocumentContentRefreshRequest2){TextDocumentContentRefreshRequest2.method="workspace/textDocumentContent/refresh",TextDocumentContentRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,TextDocumentContentRefreshRequest2.type=new messages_1.ProtocolRequestType(TextDocumentContentRefreshRequest2.method)})(TextDocumentContentRefreshRequest||(exports.TextDocumentContentRefreshRequest=TextDocumentContentRefreshRequest={}))}});var require_protocol=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/protocol.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}):function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||(function(){var ownKeys=function(o){return ownKeys=Object.getOwnPropertyNames||function(o2){var ar=[];for(var k in o2)Object.prototype.hasOwnProperty.call(o2,k)&&(ar[ar.length]=k);return ar},ownKeys(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k=ownKeys(mod),i=0;i<k.length;i++)k[i]!=="default"&&__createBinding(result,mod,k[i]);return __setModuleDefault(result,mod),result}})();Object.defineProperty(exports,"__esModule",{value:!0});exports.CodeActionRequest=exports.DocumentSymbolRequest=exports.DocumentHighlightRequest=exports.ReferencesRequest=exports.DefinitionRequest=exports.SignatureHelpRequest=exports.SignatureHelpTriggerKind=exports.HoverRequest=exports.CompletionResolveRequest=exports.CompletionRequest=exports.CompletionTriggerKind=exports.PublishDiagnosticsNotification=exports.WatchKind=exports.GlobPattern=exports.RelativePattern=exports.FileChangeType=exports.DidChangeWatchedFilesNotification=exports.WillSaveTextDocumentWaitUntilRequest=exports.WillSaveTextDocumentNotification=exports.TextDocumentSaveReason=exports.DidSaveTextDocumentNotification=exports.DidCloseTextDocumentNotification=exports.DidChangeTextDocumentNotification=exports.TextDocumentContentChangeEvent=exports.DidOpenTextDocumentNotification=exports.TextDocumentSyncKind=exports.TelemetryEventNotification=exports.LogMessageNotification=exports.ShowMessageRequest=exports.ShowMessageNotification=exports.MessageType=exports.DidChangeConfigurationNotification=exports.ExitNotification=exports.ShutdownRequest=exports.InitializedNotification=exports.InitializeErrorCodes=exports.InitializeRequest=exports.WorkDoneProgressOptions=exports.TextDocumentRegistrationOptions=exports.StaticRegistrationOptions=exports.PositionEncodingKind=exports.RegularExpressionEngineKind=exports.FailureHandlingKind=exports.ResourceOperationKind=exports.UnregistrationRequest=exports.RegistrationRequest=exports.DocumentSelector=exports.NotebookCellTextDocumentFilter=exports.NotebookDocumentFilter=exports.TextDocumentFilter=void 0;exports.UniquenessLevel=exports.WillDeleteFilesRequest=exports.DidDeleteFilesNotification=exports.WillRenameFilesRequest=exports.DidRenameFilesNotification=exports.WillCreateFilesRequest=exports.DidCreateFilesNotification=exports.FileOperationPatternKind=exports.LinkedEditingRangeRequest=exports.ShowDocumentRequest=exports.SemanticTokensRegistrationType=exports.SemanticTokensRefreshRequest=exports.SemanticTokensRangeRequest=exports.SemanticTokensDeltaRequest=exports.SemanticTokensRequest=exports.TokenFormat=exports.CallHierarchyPrepareRequest=exports.CallHierarchyOutgoingCallsRequest=exports.CallHierarchyIncomingCallsRequest=exports.WorkDoneProgressCancelNotification=exports.WorkDoneProgressCreateRequest=exports.WorkDoneProgress=exports.SelectionRangeRequest=exports.DeclarationRequest=exports.FoldingRangeRefreshRequest=exports.FoldingRangeRequest=exports.ColorPresentationRequest=exports.DocumentColorRequest=exports.ConfigurationRequest=exports.DidChangeWorkspaceFoldersNotification=exports.WorkspaceFoldersRequest=exports.TypeDefinitionRequest=exports.ImplementationRequest=exports.ApplyWorkspaceEditRequest=exports.ExecuteCommandRequest=exports.PrepareRenameRequest=exports.RenameRequest=exports.PrepareSupportDefaultBehavior=exports.DocumentOnTypeFormattingRequest=exports.DocumentRangesFormattingRequest=exports.DocumentRangeFormattingRequest=exports.DocumentFormattingRequest=exports.DocumentLinkResolveRequest=exports.DocumentLinkRequest=exports.CodeLensRefreshRequest=exports.CodeLensResolveRequest=exports.CodeLensRequest=exports.WorkspaceSymbolResolveRequest=exports.WorkspaceSymbolRequest=exports.CodeActionResolveRequest=void 0;exports.TextDocumentContentRefreshRequest=exports.TextDocumentContentRequest=exports.InlineCompletionRequest=exports.DidCloseNotebookDocumentNotification=exports.DidSaveNotebookDocumentNotification=exports.DidChangeNotebookDocumentNotification=exports.NotebookCellArrayChange=exports.DidOpenNotebookDocumentNotification=exports.NotebookDocumentSyncRegistrationType=exports.NotebookDocument=exports.NotebookCell=exports.ExecutionSummary=exports.NotebookCellKind=exports.DiagnosticRefreshRequest=exports.WorkspaceDiagnosticRequest=exports.DocumentDiagnosticRequest=exports.DocumentDiagnosticReportKind=exports.DiagnosticServerCancellationData=exports.InlayHintRefreshRequest=exports.InlayHintResolveRequest=exports.InlayHintRequest=exports.InlineValueRefreshRequest=exports.InlineValueRequest=exports.TypeHierarchySupertypesRequest=exports.TypeHierarchySubtypesRequest=exports.TypeHierarchyPrepareRequest=exports.MonikerRequest=exports.MonikerKind=void 0;var messages_1=require_messages2(),vscode_languageserver_types_1=(init_main(),__toCommonJS(main_exports)),Is3=__importStar(require_is2()),protocol_implementation_1=require_protocol_implementation();Object.defineProperty(exports,"ImplementationRequest",{enumerable:!0,get:function(){return protocol_implementation_1.ImplementationRequest}});var protocol_typeDefinition_1=require_protocol_typeDefinition();Object.defineProperty(exports,"TypeDefinitionRequest",{enumerable:!0,get:function(){return protocol_typeDefinition_1.TypeDefinitionRequest}});var protocol_workspaceFolder_1=require_protocol_workspaceFolder();Object.defineProperty(exports,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return protocol_workspaceFolder_1.WorkspaceFoldersRequest}});Object.defineProperty(exports,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return protocol_workspaceFolder_1.DidChangeWorkspaceFoldersNotification}});var protocol_configuration_1=require_protocol_configuration();Object.defineProperty(exports,"ConfigurationRequest",{enumerable:!0,get:function(){return protocol_configuration_1.ConfigurationRequest}});var protocol_colorProvider_1=require_protocol_colorProvider();Object.defineProperty(exports,"DocumentColorRequest",{enumerable:!0,get:function(){return protocol_colorProvider_1.DocumentColorRequest}});Object.defineProperty(exports,"ColorPresentationRequest",{enumerable:!0,get:function(){return protocol_colorProvider_1.ColorPresentationRequest}});var protocol_foldingRange_1=require_protocol_foldingRange();Object.defineProperty(exports,"FoldingRangeRequest",{enumerable:!0,get:function(){return protocol_foldingRange_1.FoldingRangeRequest}});Object.defineProperty(exports,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return protocol_foldingRange_1.FoldingRangeRefreshRequest}});var protocol_declaration_1=require_protocol_declaration();Object.defineProperty(exports,"DeclarationRequest",{enumerable:!0,get:function(){return protocol_declaration_1.DeclarationRequest}});var protocol_selectionRange_1=require_protocol_selectionRange();Object.defineProperty(exports,"SelectionRangeRequest",{enumerable:!0,get:function(){return protocol_selectionRange_1.SelectionRangeRequest}});var protocol_progress_1=require_protocol_progress();Object.defineProperty(exports,"WorkDoneProgress",{enumerable:!0,get:function(){return protocol_progress_1.WorkDoneProgress}});Object.defineProperty(exports,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return protocol_progress_1.WorkDoneProgressCreateRequest}});Object.defineProperty(exports,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return protocol_progress_1.WorkDoneProgressCancelNotification}});var protocol_callHierarchy_1=require_protocol_callHierarchy();Object.defineProperty(exports,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return protocol_callHierarchy_1.CallHierarchyIncomingCallsRequest}});Object.defineProperty(exports,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return protocol_callHierarchy_1.CallHierarchyOutgoingCallsRequest}});Object.defineProperty(exports,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return protocol_callHierarchy_1.CallHierarchyPrepareRequest}});var protocol_semanticTokens_1=require_protocol_semanticTokens();Object.defineProperty(exports,"TokenFormat",{enumerable:!0,get:function(){return protocol_semanticTokens_1.TokenFormat}});Object.defineProperty(exports,"SemanticTokensRequest",{enumerable:!0,get:function(){return protocol_semanticTokens_1.SemanticTokensRequest}});Object.defineProperty(exports,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return protocol_semanticTokens_1.SemanticTokensDeltaRequest}});Object.defineProperty(exports,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return protocol_semanticTokens_1.SemanticTokensRangeRequest}});Object.defineProperty(exports,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return protocol_semanticTokens_1.SemanticTokensRefreshRequest}});Object.defineProperty(exports,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return protocol_semanticTokens_1.SemanticTokensRegistrationType}});var protocol_showDocument_1=require_protocol_showDocument();Object.defineProperty(exports,"ShowDocumentRequest",{enumerable:!0,get:function(){return protocol_showDocument_1.ShowDocumentRequest}});var protocol_linkedEditingRange_1=require_protocol_linkedEditingRange();Object.defineProperty(exports,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return protocol_linkedEditingRange_1.LinkedEditingRangeRequest}});var protocol_fileOperations_1=require_protocol_fileOperations();Object.defineProperty(exports,"FileOperationPatternKind",{enumerable:!0,get:function(){return protocol_fileOperations_1.FileOperationPatternKind}});Object.defineProperty(exports,"DidCreateFilesNotification",{enumerable:!0,get:function(){return protocol_fileOperations_1.DidCreateFilesNotification}});Object.defineProperty(exports,"WillCreateFilesRequest",{enumerable:!0,get:function(){return protocol_fileOperations_1.WillCreateFilesRequest}});Object.defineProperty(exports,"DidRenameFilesNotification",{enumerable:!0,get:function(){return protocol_fileOperations_1.DidRenameFilesNotification}});Object.defineProperty(exports,"WillRenameFilesRequest",{enumerable:!0,get:function(){return protocol_fileOperations_1.WillRenameFilesRequest}});Object.defineProperty(exports,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return protocol_fileOperations_1.DidDeleteFilesNotification}});Object.defineProperty(exports,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return protocol_fileOperations_1.WillDeleteFilesRequest}});var protocol_moniker_1=require_protocol_moniker();Object.defineProperty(exports,"UniquenessLevel",{enumerable:!0,get:function(){return protocol_moniker_1.UniquenessLevel}});Object.defineProperty(exports,"MonikerKind",{enumerable:!0,get:function(){return protocol_moniker_1.MonikerKind}});Object.defineProperty(exports,"MonikerRequest",{enumerable:!0,get:function(){return protocol_moniker_1.MonikerRequest}});var protocol_typeHierarchy_1=require_protocol_typeHierarchy();Object.defineProperty(exports,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return protocol_typeHierarchy_1.TypeHierarchyPrepareRequest}});Object.defineProperty(exports,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return protocol_typeHierarchy_1.TypeHierarchySubtypesRequest}});Object.defineProperty(exports,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return protocol_typeHierarchy_1.TypeHierarchySupertypesRequest}});var protocol_inlineValue_1=require_protocol_inlineValue();Object.defineProperty(exports,"InlineValueRequest",{enumerable:!0,get:function(){return protocol_inlineValue_1.InlineValueRequest}});Object.defineProperty(exports,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return protocol_inlineValue_1.InlineValueRefreshRequest}});var protocol_inlayHint_1=require_protocol_inlayHint();Object.defineProperty(exports,"InlayHintRequest",{enumerable:!0,get:function(){return protocol_inlayHint_1.InlayHintRequest}});Object.defineProperty(exports,"InlayHintResolveRequest",{enumerable:!0,get:function(){return protocol_inlayHint_1.InlayHintResolveRequest}});Object.defineProperty(exports,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return protocol_inlayHint_1.InlayHintRefreshRequest}});var protocol_diagnostic_1=require_protocol_diagnostic();Object.defineProperty(exports,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return protocol_diagnostic_1.DiagnosticServerCancellationData}});Object.defineProperty(exports,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return protocol_diagnostic_1.DocumentDiagnosticReportKind}});Object.defineProperty(exports,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return protocol_diagnostic_1.DocumentDiagnosticRequest}});Object.defineProperty(exports,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return protocol_diagnostic_1.WorkspaceDiagnosticRequest}});Object.defineProperty(exports,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return protocol_diagnostic_1.DiagnosticRefreshRequest}});var protocol_notebook_1=require_protocol_notebook();Object.defineProperty(exports,"NotebookCellKind",{enumerable:!0,get:function(){return protocol_notebook_1.NotebookCellKind}});Object.defineProperty(exports,"ExecutionSummary",{enumerable:!0,get:function(){return protocol_notebook_1.ExecutionSummary}});Object.defineProperty(exports,"NotebookCell",{enumerable:!0,get:function(){return protocol_notebook_1.NotebookCell}});Object.defineProperty(exports,"NotebookDocument",{enumerable:!0,get:function(){return protocol_notebook_1.NotebookDocument}});Object.defineProperty(exports,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return protocol_notebook_1.NotebookDocumentSyncRegistrationType}});Object.defineProperty(exports,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return protocol_notebook_1.DidOpenNotebookDocumentNotification}});Object.defineProperty(exports,"NotebookCellArrayChange",{enumerable:!0,get:function(){return protocol_notebook_1.NotebookCellArrayChange}});Object.defineProperty(exports,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return protocol_notebook_1.DidChangeNotebookDocumentNotification}});Object.defineProperty(exports,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return protocol_notebook_1.DidSaveNotebookDocumentNotification}});Object.defineProperty(exports,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return protocol_notebook_1.DidCloseNotebookDocumentNotification}});var protocol_inlineCompletion_1=require_protocol_inlineCompletion();Object.defineProperty(exports,"InlineCompletionRequest",{enumerable:!0,get:function(){return protocol_inlineCompletion_1.InlineCompletionRequest}});var protocol_textDocumentContent_1=require_protocol_textDocumentContent();Object.defineProperty(exports,"TextDocumentContentRequest",{enumerable:!0,get:function(){return protocol_textDocumentContent_1.TextDocumentContentRequest}});Object.defineProperty(exports,"TextDocumentContentRefreshRequest",{enumerable:!0,get:function(){return protocol_textDocumentContent_1.TextDocumentContentRefreshRequest}});var TextDocumentFilter;(function(TextDocumentFilter2){function is(value){let candidate=value;return Is3.string(candidate)||Is3.string(candidate.language)||Is3.string(candidate.scheme)||GlobPattern.is(candidate.pattern)}TextDocumentFilter2.is=is})(TextDocumentFilter||(exports.TextDocumentFilter=TextDocumentFilter={}));var NotebookDocumentFilter;(function(NotebookDocumentFilter2){function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&(Is3.string(candidate.notebookType)||Is3.string(candidate.scheme)||Is3.string(candidate.pattern))}NotebookDocumentFilter2.is=is})(NotebookDocumentFilter||(exports.NotebookDocumentFilter=NotebookDocumentFilter={}));var NotebookCellTextDocumentFilter;(function(NotebookCellTextDocumentFilter2){function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&(Is3.string(candidate.notebook)||NotebookDocumentFilter.is(candidate.notebook))&&(candidate.language===void 0||Is3.string(candidate.language))}NotebookCellTextDocumentFilter2.is=is})(NotebookCellTextDocumentFilter||(exports.NotebookCellTextDocumentFilter=NotebookCellTextDocumentFilter={}));var DocumentSelector;(function(DocumentSelector2){function is(value){if(!Array.isArray(value))return!1;for(let elem of value)if(!Is3.string(elem)&&!TextDocumentFilter.is(elem)&&!NotebookCellTextDocumentFilter.is(elem))return!1;return!0}DocumentSelector2.is=is})(DocumentSelector||(exports.DocumentSelector=DocumentSelector={}));var RegistrationRequest;(function(RegistrationRequest2){RegistrationRequest2.method="client/registerCapability",RegistrationRequest2.messageDirection=messages_1.MessageDirection.serverToClient,RegistrationRequest2.type=new messages_1.ProtocolRequestType(RegistrationRequest2.method)})(RegistrationRequest||(exports.RegistrationRequest=RegistrationRequest={}));var UnregistrationRequest;(function(UnregistrationRequest2){UnregistrationRequest2.method="client/unregisterCapability",UnregistrationRequest2.messageDirection=messages_1.MessageDirection.serverToClient,UnregistrationRequest2.type=new messages_1.ProtocolRequestType(UnregistrationRequest2.method)})(UnregistrationRequest||(exports.UnregistrationRequest=UnregistrationRequest={}));var ResourceOperationKind;(function(ResourceOperationKind2){ResourceOperationKind2.Create="create",ResourceOperationKind2.Rename="rename",ResourceOperationKind2.Delete="delete"})(ResourceOperationKind||(exports.ResourceOperationKind=ResourceOperationKind={}));var FailureHandlingKind;(function(FailureHandlingKind2){FailureHandlingKind2.Abort="abort",FailureHandlingKind2.Transactional="transactional",FailureHandlingKind2.TextOnlyTransactional="textOnlyTransactional",FailureHandlingKind2.Undo="undo"})(FailureHandlingKind||(exports.FailureHandlingKind=FailureHandlingKind={}));var RegularExpressionEngineKind;(function(RegularExpressionEngineKind2){RegularExpressionEngineKind2.ES2020="ES2020"})(RegularExpressionEngineKind||(exports.RegularExpressionEngineKind=RegularExpressionEngineKind={}));var PositionEncodingKind;(function(PositionEncodingKind2){PositionEncodingKind2.UTF8="utf-8",PositionEncodingKind2.UTF16="utf-16",PositionEncodingKind2.UTF32="utf-32"})(PositionEncodingKind||(exports.PositionEncodingKind=PositionEncodingKind={}));var StaticRegistrationOptions;(function(StaticRegistrationOptions2){function hasId(value){let candidate=value;return candidate&&Is3.string(candidate.id)&&candidate.id.length>0}StaticRegistrationOptions2.hasId=hasId})(StaticRegistrationOptions||(exports.StaticRegistrationOptions=StaticRegistrationOptions={}));var TextDocumentRegistrationOptions;(function(TextDocumentRegistrationOptions2){function is(value){let candidate=value;return candidate&&(candidate.documentSelector===null||DocumentSelector.is(candidate.documentSelector))}TextDocumentRegistrationOptions2.is=is})(TextDocumentRegistrationOptions||(exports.TextDocumentRegistrationOptions=TextDocumentRegistrationOptions={}));var WorkDoneProgressOptions;(function(WorkDoneProgressOptions2){function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&(candidate.workDoneProgress===void 0||Is3.boolean(candidate.workDoneProgress))}WorkDoneProgressOptions2.is=is;function hasWorkDoneProgress(value){let candidate=value;return candidate&&Is3.boolean(candidate.workDoneProgress)}WorkDoneProgressOptions2.hasWorkDoneProgress=hasWorkDoneProgress})(WorkDoneProgressOptions||(exports.WorkDoneProgressOptions=WorkDoneProgressOptions={}));var InitializeRequest;(function(InitializeRequest2){InitializeRequest2.method="initialize",InitializeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InitializeRequest2.type=new messages_1.ProtocolRequestType(InitializeRequest2.method)})(InitializeRequest||(exports.InitializeRequest=InitializeRequest={}));var InitializeErrorCodes;(function(InitializeErrorCodes2){InitializeErrorCodes2.unknownProtocolVersion=1})(InitializeErrorCodes||(exports.InitializeErrorCodes=InitializeErrorCodes={}));var InitializedNotification;(function(InitializedNotification2){InitializedNotification2.method="initialized",InitializedNotification2.messageDirection=messages_1.MessageDirection.clientToServer,InitializedNotification2.type=new messages_1.ProtocolNotificationType(InitializedNotification2.method)})(InitializedNotification||(exports.InitializedNotification=InitializedNotification={}));var ShutdownRequest;(function(ShutdownRequest2){ShutdownRequest2.method="shutdown",ShutdownRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ShutdownRequest2.type=new messages_1.ProtocolRequestType0(ShutdownRequest2.method)})(ShutdownRequest||(exports.ShutdownRequest=ShutdownRequest={}));var ExitNotification;(function(ExitNotification2){ExitNotification2.method="exit",ExitNotification2.messageDirection=messages_1.MessageDirection.clientToServer,ExitNotification2.type=new messages_1.ProtocolNotificationType0(ExitNotification2.method)})(ExitNotification||(exports.ExitNotification=ExitNotification={}));var DidChangeConfigurationNotification2;(function(DidChangeConfigurationNotification3){DidChangeConfigurationNotification3.method="workspace/didChangeConfiguration",DidChangeConfigurationNotification3.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeConfigurationNotification3.type=new messages_1.ProtocolNotificationType(DidChangeConfigurationNotification3.method),DidChangeConfigurationNotification3.capabilities=messages_1.CM.create("workspace.didChangeConfiguration",void 0)})(DidChangeConfigurationNotification2||(exports.DidChangeConfigurationNotification=DidChangeConfigurationNotification2={}));var MessageType;(function(MessageType2){MessageType2.Error=1,MessageType2.Warning=2,MessageType2.Info=3,MessageType2.Log=4,MessageType2.Debug=5})(MessageType||(exports.MessageType=MessageType={}));var ShowMessageNotification;(function(ShowMessageNotification2){ShowMessageNotification2.method="window/showMessage",ShowMessageNotification2.messageDirection=messages_1.MessageDirection.serverToClient,ShowMessageNotification2.type=new messages_1.ProtocolNotificationType(ShowMessageNotification2.method),ShowMessageNotification2.capabilities=messages_1.CM.create("window.showMessage",void 0)})(ShowMessageNotification||(exports.ShowMessageNotification=ShowMessageNotification={}));var ShowMessageRequest;(function(ShowMessageRequest2){ShowMessageRequest2.method="window/showMessageRequest",ShowMessageRequest2.messageDirection=messages_1.MessageDirection.serverToClient,ShowMessageRequest2.type=new messages_1.ProtocolRequestType(ShowMessageRequest2.method),ShowMessageRequest2.capabilities=messages_1.CM.create("window.showMessage",void 0)})(ShowMessageRequest||(exports.ShowMessageRequest=ShowMessageRequest={}));var LogMessageNotification;(function(LogMessageNotification2){LogMessageNotification2.method="window/logMessage",LogMessageNotification2.messageDirection=messages_1.MessageDirection.serverToClient,LogMessageNotification2.type=new messages_1.ProtocolNotificationType(LogMessageNotification2.method)})(LogMessageNotification||(exports.LogMessageNotification=LogMessageNotification={}));var TelemetryEventNotification;(function(TelemetryEventNotification2){TelemetryEventNotification2.method="telemetry/event",TelemetryEventNotification2.messageDirection=messages_1.MessageDirection.serverToClient,TelemetryEventNotification2.type=new messages_1.ProtocolNotificationType(TelemetryEventNotification2.method)})(TelemetryEventNotification||(exports.TelemetryEventNotification=TelemetryEventNotification={}));var TextDocumentSyncKind2;(function(TextDocumentSyncKind3){TextDocumentSyncKind3.None=0,TextDocumentSyncKind3.Full=1,TextDocumentSyncKind3.Incremental=2})(TextDocumentSyncKind2||(exports.TextDocumentSyncKind=TextDocumentSyncKind2={}));var DidOpenTextDocumentNotification;(function(DidOpenTextDocumentNotification2){DidOpenTextDocumentNotification2.method="textDocument/didOpen",DidOpenTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidOpenTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidOpenTextDocumentNotification2.method),DidOpenTextDocumentNotification2.capabilities=messages_1.CM.create("textDocument.synchronization","textDocumentSync.openClose")})(DidOpenTextDocumentNotification||(exports.DidOpenTextDocumentNotification=DidOpenTextDocumentNotification={}));var TextDocumentContentChangeEvent;(function(TextDocumentContentChangeEvent2){function isIncremental(event){let candidate=event;return candidate!=null&&typeof candidate.text=="string"&&candidate.range!==void 0&&(candidate.rangeLength===void 0||typeof candidate.rangeLength=="number")}TextDocumentContentChangeEvent2.isIncremental=isIncremental;function isFull(event){let candidate=event;return candidate!=null&&typeof candidate.text=="string"&&candidate.range===void 0&&candidate.rangeLength===void 0}TextDocumentContentChangeEvent2.isFull=isFull})(TextDocumentContentChangeEvent||(exports.TextDocumentContentChangeEvent=TextDocumentContentChangeEvent={}));var DidChangeTextDocumentNotification;(function(DidChangeTextDocumentNotification2){DidChangeTextDocumentNotification2.method="textDocument/didChange",DidChangeTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidChangeTextDocumentNotification2.method),DidChangeTextDocumentNotification2.capabilities=messages_1.CM.create("textDocument.synchronization","textDocumentSync")})(DidChangeTextDocumentNotification||(exports.DidChangeTextDocumentNotification=DidChangeTextDocumentNotification={}));var DidCloseTextDocumentNotification;(function(DidCloseTextDocumentNotification2){DidCloseTextDocumentNotification2.method="textDocument/didClose",DidCloseTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidCloseTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidCloseTextDocumentNotification2.method),DidCloseTextDocumentNotification2.capabilities=messages_1.CM.create("textDocument.synchronization","textDocumentSync.openClose")})(DidCloseTextDocumentNotification||(exports.DidCloseTextDocumentNotification=DidCloseTextDocumentNotification={}));var DidSaveTextDocumentNotification;(function(DidSaveTextDocumentNotification2){DidSaveTextDocumentNotification2.method="textDocument/didSave",DidSaveTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidSaveTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidSaveTextDocumentNotification2.method),DidSaveTextDocumentNotification2.capabilities=messages_1.CM.create("textDocument.synchronization.didSave","textDocumentSync.save")})(DidSaveTextDocumentNotification||(exports.DidSaveTextDocumentNotification=DidSaveTextDocumentNotification={}));var TextDocumentSaveReason;(function(TextDocumentSaveReason2){TextDocumentSaveReason2.Manual=1,TextDocumentSaveReason2.AfterDelay=2,TextDocumentSaveReason2.FocusOut=3})(TextDocumentSaveReason||(exports.TextDocumentSaveReason=TextDocumentSaveReason={}));var WillSaveTextDocumentNotification;(function(WillSaveTextDocumentNotification2){WillSaveTextDocumentNotification2.method="textDocument/willSave",WillSaveTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,WillSaveTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(WillSaveTextDocumentNotification2.method),WillSaveTextDocumentNotification2.capabilities=messages_1.CM.create("textDocument.synchronization.willSave","textDocumentSync.willSave")})(WillSaveTextDocumentNotification||(exports.WillSaveTextDocumentNotification=WillSaveTextDocumentNotification={}));var WillSaveTextDocumentWaitUntilRequest;(function(WillSaveTextDocumentWaitUntilRequest2){WillSaveTextDocumentWaitUntilRequest2.method="textDocument/willSaveWaitUntil",WillSaveTextDocumentWaitUntilRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WillSaveTextDocumentWaitUntilRequest2.type=new messages_1.ProtocolRequestType(WillSaveTextDocumentWaitUntilRequest2.method),WillSaveTextDocumentWaitUntilRequest2.capabilities=messages_1.CM.create("textDocument.synchronization.willSaveWaitUntil","textDocumentSync.willSaveWaitUntil")})(WillSaveTextDocumentWaitUntilRequest||(exports.WillSaveTextDocumentWaitUntilRequest=WillSaveTextDocumentWaitUntilRequest={}));var DidChangeWatchedFilesNotification;(function(DidChangeWatchedFilesNotification2){DidChangeWatchedFilesNotification2.method="workspace/didChangeWatchedFiles",DidChangeWatchedFilesNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeWatchedFilesNotification2.type=new messages_1.ProtocolNotificationType(DidChangeWatchedFilesNotification2.method),DidChangeWatchedFilesNotification2.capabilities=messages_1.CM.create("workspace.didChangeWatchedFiles",void 0)})(DidChangeWatchedFilesNotification||(exports.DidChangeWatchedFilesNotification=DidChangeWatchedFilesNotification={}));var FileChangeType;(function(FileChangeType2){FileChangeType2.Created=1,FileChangeType2.Changed=2,FileChangeType2.Deleted=3})(FileChangeType||(exports.FileChangeType=FileChangeType={}));var RelativePattern;(function(RelativePattern2){function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&(vscode_languageserver_types_1.URI.is(candidate.baseUri)||vscode_languageserver_types_1.WorkspaceFolder.is(candidate.baseUri))&&Is3.string(candidate.pattern)}RelativePattern2.is=is})(RelativePattern||(exports.RelativePattern=RelativePattern={}));var GlobPattern;(function(GlobPattern2){function is(value){let candidate=value;return Is3.string(candidate)||RelativePattern.is(candidate)}GlobPattern2.is=is})(GlobPattern||(exports.GlobPattern=GlobPattern={}));var WatchKind;(function(WatchKind2){WatchKind2.Create=1,WatchKind2.Change=2,WatchKind2.Delete=4})(WatchKind||(exports.WatchKind=WatchKind={}));var PublishDiagnosticsNotification;(function(PublishDiagnosticsNotification2){PublishDiagnosticsNotification2.method="textDocument/publishDiagnostics",PublishDiagnosticsNotification2.messageDirection=messages_1.MessageDirection.serverToClient,PublishDiagnosticsNotification2.type=new messages_1.ProtocolNotificationType(PublishDiagnosticsNotification2.method),PublishDiagnosticsNotification2.capabilities=messages_1.CM.create("textDocument.publishDiagnostics",void 0)})(PublishDiagnosticsNotification||(exports.PublishDiagnosticsNotification=PublishDiagnosticsNotification={}));var CompletionTriggerKind;(function(CompletionTriggerKind2){CompletionTriggerKind2.Invoked=1,CompletionTriggerKind2.TriggerCharacter=2,CompletionTriggerKind2.TriggerForIncompleteCompletions=3})(CompletionTriggerKind||(exports.CompletionTriggerKind=CompletionTriggerKind={}));var CompletionRequest;(function(CompletionRequest2){CompletionRequest2.method="textDocument/completion",CompletionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CompletionRequest2.type=new messages_1.ProtocolRequestType(CompletionRequest2.method),CompletionRequest2.capabilities=messages_1.CM.create("textDocument.completion","completionProvider")})(CompletionRequest||(exports.CompletionRequest=CompletionRequest={}));var CompletionResolveRequest;(function(CompletionResolveRequest2){CompletionResolveRequest2.method="completionItem/resolve",CompletionResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CompletionResolveRequest2.type=new messages_1.ProtocolRequestType(CompletionResolveRequest2.method),CompletionResolveRequest2.capabilities=messages_1.CM.create("textDocument.completion.completionItem.resolveSupport","completionProvider.resolveProvider")})(CompletionResolveRequest||(exports.CompletionResolveRequest=CompletionResolveRequest={}));var HoverRequest;(function(HoverRequest2){HoverRequest2.method="textDocument/hover",HoverRequest2.messageDirection=messages_1.MessageDirection.clientToServer,HoverRequest2.type=new messages_1.ProtocolRequestType(HoverRequest2.method),HoverRequest2.capabilities=messages_1.CM.create("textDocument.hover","hoverProvider")})(HoverRequest||(exports.HoverRequest=HoverRequest={}));var SignatureHelpTriggerKind;(function(SignatureHelpTriggerKind2){SignatureHelpTriggerKind2.Invoked=1,SignatureHelpTriggerKind2.TriggerCharacter=2,SignatureHelpTriggerKind2.ContentChange=3})(SignatureHelpTriggerKind||(exports.SignatureHelpTriggerKind=SignatureHelpTriggerKind={}));var SignatureHelpRequest;(function(SignatureHelpRequest2){SignatureHelpRequest2.method="textDocument/signatureHelp",SignatureHelpRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SignatureHelpRequest2.type=new messages_1.ProtocolRequestType(SignatureHelpRequest2.method),SignatureHelpRequest2.capabilities=messages_1.CM.create("textDocument.signatureHelp","signatureHelpProvider")})(SignatureHelpRequest||(exports.SignatureHelpRequest=SignatureHelpRequest={}));var DefinitionRequest;(function(DefinitionRequest2){DefinitionRequest2.method="textDocument/definition",DefinitionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DefinitionRequest2.type=new messages_1.ProtocolRequestType(DefinitionRequest2.method),DefinitionRequest2.capabilities=messages_1.CM.create("textDocument.definition","definitionProvider")})(DefinitionRequest||(exports.DefinitionRequest=DefinitionRequest={}));var ReferencesRequest;(function(ReferencesRequest2){ReferencesRequest2.method="textDocument/references",ReferencesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ReferencesRequest2.type=new messages_1.ProtocolRequestType(ReferencesRequest2.method),ReferencesRequest2.capabilities=messages_1.CM.create("textDocument.references","referencesProvider")})(ReferencesRequest||(exports.ReferencesRequest=ReferencesRequest={}));var DocumentHighlightRequest;(function(DocumentHighlightRequest2){DocumentHighlightRequest2.method="textDocument/documentHighlight",DocumentHighlightRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentHighlightRequest2.type=new messages_1.ProtocolRequestType(DocumentHighlightRequest2.method),DocumentHighlightRequest2.capabilities=messages_1.CM.create("textDocument.documentHighlight","documentHighlightProvider")})(DocumentHighlightRequest||(exports.DocumentHighlightRequest=DocumentHighlightRequest={}));var DocumentSymbolRequest;(function(DocumentSymbolRequest2){DocumentSymbolRequest2.method="textDocument/documentSymbol",DocumentSymbolRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentSymbolRequest2.type=new messages_1.ProtocolRequestType(DocumentSymbolRequest2.method),DocumentSymbolRequest2.capabilities=messages_1.CM.create("textDocument.documentSymbol","documentSymbolProvider")})(DocumentSymbolRequest||(exports.DocumentSymbolRequest=DocumentSymbolRequest={}));var CodeActionRequest;(function(CodeActionRequest2){CodeActionRequest2.method="textDocument/codeAction",CodeActionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CodeActionRequest2.type=new messages_1.ProtocolRequestType(CodeActionRequest2.method),CodeActionRequest2.capabilities=messages_1.CM.create("textDocument.codeAction","codeActionProvider")})(CodeActionRequest||(exports.CodeActionRequest=CodeActionRequest={}));var CodeActionResolveRequest;(function(CodeActionResolveRequest2){CodeActionResolveRequest2.method="codeAction/resolve",CodeActionResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CodeActionResolveRequest2.type=new messages_1.ProtocolRequestType(CodeActionResolveRequest2.method),CodeActionResolveRequest2.capabilities=messages_1.CM.create("textDocument.codeAction.resolveSupport","codeActionProvider.resolveProvider")})(CodeActionResolveRequest||(exports.CodeActionResolveRequest=CodeActionResolveRequest={}));var WorkspaceSymbolRequest;(function(WorkspaceSymbolRequest2){WorkspaceSymbolRequest2.method="workspace/symbol",WorkspaceSymbolRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WorkspaceSymbolRequest2.type=new messages_1.ProtocolRequestType(WorkspaceSymbolRequest2.method),WorkspaceSymbolRequest2.capabilities=messages_1.CM.create("workspace.symbol","workspaceSymbolProvider")})(WorkspaceSymbolRequest||(exports.WorkspaceSymbolRequest=WorkspaceSymbolRequest={}));var WorkspaceSymbolResolveRequest;(function(WorkspaceSymbolResolveRequest2){WorkspaceSymbolResolveRequest2.method="workspaceSymbol/resolve",WorkspaceSymbolResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WorkspaceSymbolResolveRequest2.type=new messages_1.ProtocolRequestType(WorkspaceSymbolResolveRequest2.method),WorkspaceSymbolResolveRequest2.capabilities=messages_1.CM.create("workspace.symbol.resolveSupport","workspaceSymbolProvider.resolveProvider")})(WorkspaceSymbolResolveRequest||(exports.WorkspaceSymbolResolveRequest=WorkspaceSymbolResolveRequest={}));var CodeLensRequest;(function(CodeLensRequest2){CodeLensRequest2.method="textDocument/codeLens",CodeLensRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CodeLensRequest2.type=new messages_1.ProtocolRequestType(CodeLensRequest2.method),CodeLensRequest2.capabilities=messages_1.CM.create("textDocument.codeLens","codeLensProvider")})(CodeLensRequest||(exports.CodeLensRequest=CodeLensRequest={}));var CodeLensResolveRequest;(function(CodeLensResolveRequest2){CodeLensResolveRequest2.method="codeLens/resolve",CodeLensResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CodeLensResolveRequest2.type=new messages_1.ProtocolRequestType(CodeLensResolveRequest2.method),CodeLensResolveRequest2.capabilities=messages_1.CM.create("textDocument.codeLens.resolveSupport","codeLensProvider.resolveProvider")})(CodeLensResolveRequest||(exports.CodeLensResolveRequest=CodeLensResolveRequest={}));var CodeLensRefreshRequest;(function(CodeLensRefreshRequest2){CodeLensRefreshRequest2.method="workspace/codeLens/refresh",CodeLensRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,CodeLensRefreshRequest2.type=new messages_1.ProtocolRequestType0(CodeLensRefreshRequest2.method),CodeLensRefreshRequest2.capabilities=messages_1.CM.create("workspace.codeLens",void 0)})(CodeLensRefreshRequest||(exports.CodeLensRefreshRequest=CodeLensRefreshRequest={}));var DocumentLinkRequest;(function(DocumentLinkRequest2){DocumentLinkRequest2.method="textDocument/documentLink",DocumentLinkRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentLinkRequest2.type=new messages_1.ProtocolRequestType(DocumentLinkRequest2.method),DocumentLinkRequest2.capabilities=messages_1.CM.create("textDocument.documentLink","documentLinkProvider")})(DocumentLinkRequest||(exports.DocumentLinkRequest=DocumentLinkRequest={}));var DocumentLinkResolveRequest;(function(DocumentLinkResolveRequest2){DocumentLinkResolveRequest2.method="documentLink/resolve",DocumentLinkResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentLinkResolveRequest2.type=new messages_1.ProtocolRequestType(DocumentLinkResolveRequest2.method),DocumentLinkResolveRequest2.capabilities=messages_1.CM.create("textDocument.documentLink","documentLinkProvider.resolveProvider")})(DocumentLinkResolveRequest||(exports.DocumentLinkResolveRequest=DocumentLinkResolveRequest={}));var DocumentFormattingRequest;(function(DocumentFormattingRequest2){DocumentFormattingRequest2.method="textDocument/formatting",DocumentFormattingRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentFormattingRequest2.type=new messages_1.ProtocolRequestType(DocumentFormattingRequest2.method),DocumentFormattingRequest2.capabilities=messages_1.CM.create("textDocument.formatting","documentFormattingProvider")})(DocumentFormattingRequest||(exports.DocumentFormattingRequest=DocumentFormattingRequest={}));var DocumentRangeFormattingRequest;(function(DocumentRangeFormattingRequest2){DocumentRangeFormattingRequest2.method="textDocument/rangeFormatting",DocumentRangeFormattingRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentRangeFormattingRequest2.type=new messages_1.ProtocolRequestType(DocumentRangeFormattingRequest2.method),DocumentRangeFormattingRequest2.capabilities=messages_1.CM.create("textDocument.rangeFormatting","documentRangeFormattingProvider")})(DocumentRangeFormattingRequest||(exports.DocumentRangeFormattingRequest=DocumentRangeFormattingRequest={}));var DocumentRangesFormattingRequest;(function(DocumentRangesFormattingRequest2){DocumentRangesFormattingRequest2.method="textDocument/rangesFormatting",DocumentRangesFormattingRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentRangesFormattingRequest2.type=new messages_1.ProtocolRequestType(DocumentRangesFormattingRequest2.method),DocumentRangesFormattingRequest2.capabilities=messages_1.CM.create("textDocument.rangeFormatting.rangesSupport","documentRangeFormattingProvider.rangesSupport")})(DocumentRangesFormattingRequest||(exports.DocumentRangesFormattingRequest=DocumentRangesFormattingRequest={}));var DocumentOnTypeFormattingRequest;(function(DocumentOnTypeFormattingRequest2){DocumentOnTypeFormattingRequest2.method="textDocument/onTypeFormatting",DocumentOnTypeFormattingRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentOnTypeFormattingRequest2.type=new messages_1.ProtocolRequestType(DocumentOnTypeFormattingRequest2.method),DocumentOnTypeFormattingRequest2.capabilities=messages_1.CM.create("textDocument.onTypeFormatting","documentOnTypeFormattingProvider")})(DocumentOnTypeFormattingRequest||(exports.DocumentOnTypeFormattingRequest=DocumentOnTypeFormattingRequest={}));var PrepareSupportDefaultBehavior;(function(PrepareSupportDefaultBehavior2){PrepareSupportDefaultBehavior2.Identifier=1})(PrepareSupportDefaultBehavior||(exports.PrepareSupportDefaultBehavior=PrepareSupportDefaultBehavior={}));var RenameRequest;(function(RenameRequest2){RenameRequest2.method="textDocument/rename",RenameRequest2.messageDirection=messages_1.MessageDirection.clientToServer,RenameRequest2.type=new messages_1.ProtocolRequestType(RenameRequest2.method),RenameRequest2.capabilities=messages_1.CM.create("textDocument.rename","renameProvider")})(RenameRequest||(exports.RenameRequest=RenameRequest={}));var PrepareRenameRequest;(function(PrepareRenameRequest2){PrepareRenameRequest2.method="textDocument/prepareRename",PrepareRenameRequest2.messageDirection=messages_1.MessageDirection.clientToServer,PrepareRenameRequest2.type=new messages_1.ProtocolRequestType(PrepareRenameRequest2.method),PrepareRenameRequest2.capabilities=messages_1.CM.create("textDocument.rename.prepareSupport","renameProvider.prepareProvider")})(PrepareRenameRequest||(exports.PrepareRenameRequest=PrepareRenameRequest={}));var ExecuteCommandRequest;(function(ExecuteCommandRequest2){ExecuteCommandRequest2.method="workspace/executeCommand",ExecuteCommandRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ExecuteCommandRequest2.type=new messages_1.ProtocolRequestType(ExecuteCommandRequest2.method),ExecuteCommandRequest2.capabilities=messages_1.CM.create("workspace.executeCommand","executeCommandProvider")})(ExecuteCommandRequest||(exports.ExecuteCommandRequest=ExecuteCommandRequest={}));var ApplyWorkspaceEditRequest;(function(ApplyWorkspaceEditRequest2){ApplyWorkspaceEditRequest2.method="workspace/applyEdit",ApplyWorkspaceEditRequest2.messageDirection=messages_1.MessageDirection.serverToClient,ApplyWorkspaceEditRequest2.type=new messages_1.ProtocolRequestType("workspace/applyEdit"),ApplyWorkspaceEditRequest2.capabilities=messages_1.CM.create("workspace.applyEdit",void 0)})(ApplyWorkspaceEditRequest||(exports.ApplyWorkspaceEditRequest=ApplyWorkspaceEditRequest={}))}});var require_connection2=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/connection.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.createProtocolConnection=createProtocolConnection;var vscode_jsonrpc_1=require_api();function createProtocolConnection(input,output,logger,options){return vscode_jsonrpc_1.ConnectionStrategy.is(options)&&(options={connectionStrategy:options}),(0,vscode_jsonrpc_1.createMessageConnection)(input,output,logger,options)}}});var require_api2=__commonJS({"node_modules/vscode-languageserver-protocol/lib/common/api.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__exportStar=exports&&exports.__exportStar||function(m2,exports2){for(var p in m2)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m2,p)};Object.defineProperty(exports,"__esModule",{value:!0});exports.LSPErrorCodes=exports.createProtocolConnection=void 0;__exportStar(require_api(),exports);__exportStar((init_main(),__toCommonJS(main_exports)),exports);__exportStar(require_messages2(),exports);__exportStar(require_protocol(),exports);var connection_1=require_connection2();Object.defineProperty(exports,"createProtocolConnection",{enumerable:!0,get:function(){return connection_1.createProtocolConnection}});var LSPErrorCodes;(function(LSPErrorCodes2){LSPErrorCodes2.lspReservedErrorRangeStart=-32899,LSPErrorCodes2.RequestFailed=-32803,LSPErrorCodes2.ServerCancelled=-32802,LSPErrorCodes2.ContentModified=-32801,LSPErrorCodes2.RequestCancelled=-32800,LSPErrorCodes2.lspReservedErrorRangeEnd=-32800})(LSPErrorCodes||(exports.LSPErrorCodes=LSPErrorCodes={}))}});var require_semanticTokens=__commonJS({"node_modules/vscode-languageserver/lib/common/semanticTokens.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.SemanticTokensBuilder=exports.SemanticTokensDiff=exports.SemanticTokensFeature=void 0;var vscode_languageserver_protocol_1=require_api2(),SemanticTokensFeature=Base=>class extends Base{get semanticTokens(){return{refresh:()=>this.connection.sendRequest(vscode_languageserver_protocol_1.SemanticTokensRefreshRequest.type),on:handler=>{let type=vscode_languageserver_protocol_1.SemanticTokensRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))},onDelta:handler=>{let type=vscode_languageserver_protocol_1.SemanticTokensDeltaRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))},onRange:handler=>{let type=vscode_languageserver_protocol_1.SemanticTokensRangeRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))}}}};exports.SemanticTokensFeature=SemanticTokensFeature;var SemanticTokensDiff=class{originalSequence;modifiedSequence;constructor(originalSequence,modifiedSequence){this.originalSequence=originalSequence,this.modifiedSequence=modifiedSequence}computeDiff(){let originalLength=this.originalSequence.length,modifiedLength=this.modifiedSequence.length,startIndex=0;for(;startIndex<modifiedLength&&startIndex<originalLength&&this.originalSequence[startIndex]===this.modifiedSequence[startIndex];)startIndex++;if(startIndex<modifiedLength&&startIndex<originalLength){let originalEndIndex=originalLength-1,modifiedEndIndex=modifiedLength-1;for(;originalEndIndex>=startIndex&&modifiedEndIndex>=startIndex&&this.originalSequence[originalEndIndex]===this.modifiedSequence[modifiedEndIndex];)originalEndIndex--,modifiedEndIndex--;(originalEndIndex<startIndex||modifiedEndIndex<startIndex)&&(originalEndIndex++,modifiedEndIndex++);let deleteCount=originalEndIndex-startIndex+1,newData=this.modifiedSequence.slice(startIndex,modifiedEndIndex+1);return newData.length===1&&newData[0]===this.originalSequence[originalEndIndex]?[{start:startIndex,deleteCount:deleteCount-1}]:[{start:startIndex,deleteCount,data:newData}]}else return startIndex<modifiedLength?[{start:startIndex,deleteCount:0,data:this.modifiedSequence.slice(startIndex)}]:startIndex<originalLength?[{start:startIndex,deleteCount:originalLength-startIndex}]:[]}};exports.SemanticTokensDiff=SemanticTokensDiff;var SemanticTokensBuilder2=class _SemanticTokensBuilder{_id;_prevLine;_prevChar;_dataIsSortedAndDeltaEncoded;_data;_dataNonDelta;_dataLen;_prevData;constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataNonDelta=[],this._dataLen=0,this._dataIsSortedAndDeltaEncoded=!0}push(line,char,length,tokenType,tokenModifiers2){this._dataIsSortedAndDeltaEncoded&&(line<this._prevLine||line===this._prevLine&&char<this._prevChar)&&(this._dataIsSortedAndDeltaEncoded=!1,this._dataNonDelta=_SemanticTokensBuilder._deltaDecode(this._data));let pushLine=line,pushChar=char;this._dataIsSortedAndDeltaEncoded&&this._dataLen>0&&(pushLine-=this._prevLine,pushLine===0&&(pushChar-=this._prevChar));let dataSource=this._dataIsSortedAndDeltaEncoded?this._data:this._dataNonDelta;dataSource[this._dataLen++]=pushLine,dataSource[this._dataLen++]=pushChar,dataSource[this._dataLen++]=length,dataSource[this._dataLen++]=tokenType,dataSource[this._dataLen++]=tokenModifiers2,this._prevLine=line,this._prevChar=char}get id(){return this._id.toString()}static _deltaDecode(data){let tokenCount=data.length/5|0,prevLine=0,prevChar=0,result=[];for(let i=0;i<tokenCount;i++){let dstOffset=5*i,line=data[dstOffset],char=data[dstOffset+1];line===0?(line=prevLine,char+=prevChar):line+=prevLine;let length=data[dstOffset+2],tokenType=data[dstOffset+3],tokenModifiers2=data[dstOffset+4];result[dstOffset+0]=line,result[dstOffset+1]=char,result[dstOffset+2]=length,result[dstOffset+3]=tokenType,result[dstOffset+4]=tokenModifiers2,prevLine=line,prevChar=char}return result}static _sortAndDeltaEncode(data){let pos=[],tokenCount=data.length/5|0;for(let i=0;i<tokenCount;i++)pos[i]=i;pos.sort((a,b)=>{let aLine=data[5*a],bLine=data[5*b];if(aLine===bLine){let aChar=data[5*a+1],bChar=data[5*b+1];return aChar-bChar}return aLine-bLine});let result=[],prevLine=0,prevChar=0;for(let i=0;i<tokenCount;i++){let srcOffset=5*pos[i],line=data[srcOffset+0],char=data[srcOffset+1],length=data[srcOffset+2],tokenType=data[srcOffset+3],tokenModifiers2=data[srcOffset+4],pushLine=line-prevLine,pushChar=pushLine===0?char-prevChar:char,dstOffset=5*i;result[dstOffset+0]=pushLine,result[dstOffset+1]=pushChar,result[dstOffset+2]=length,result[dstOffset+3]=tokenType,result[dstOffset+4]=tokenModifiers2,prevLine=line,prevChar=char}return result}getFinalDataDelta(){return this._dataIsSortedAndDeltaEncoded?this._data:_SemanticTokensBuilder._sortAndDeltaEncode(this._dataNonDelta)}previousResult(id){this.id===id&&(this._prevData=this.getFinalDataDelta()),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this.getFinalDataDelta()}}canBuildEdits(){return this._prevData!==void 0}buildEdits(){return this._prevData!==void 0?{resultId:this.id,edits:new SemanticTokensDiff(this._prevData,this.getFinalDataDelta()).computeDiff()}:this.build()}};exports.SemanticTokensBuilder=SemanticTokensBuilder2}});var require_inlineCompletion_proposed=__commonJS({"node_modules/vscode-languageserver/lib/common/inlineCompletion.proposed.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.InlineCompletionFeature=void 0;var vscode_languageserver_protocol_1=require_api2(),InlineCompletionFeature=Base=>class extends Base{get inlineCompletion(){return{on:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.InlineCompletionRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params)))}}};exports.InlineCompletionFeature=InlineCompletionFeature}});var require_textDocumentContent=__commonJS({"node_modules/vscode-languageserver/lib/common/textDocumentContent.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.TextDocumentContentFeature=void 0;var vscode_languageserver_protocol_1=require_api2(),TextDocumentContentFeature=Base=>class extends Base{get textDocumentContent(){return{refresh:uri=>this.connection.sendRequest(vscode_languageserver_protocol_1.TextDocumentContentRefreshRequest.type,{uri}),on:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.TextDocumentContentRequest.type,(params,cancel)=>handler(params,cancel))}}};exports.TextDocumentContentFeature=TextDocumentContentFeature}});var require_textDocuments=__commonJS({"node_modules/vscode-languageserver/lib/common/textDocuments.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.TextDocuments=void 0;var vscode_languageserver_protocol_1=require_api2(),TextDocuments2=class{_configuration;_syncedDocuments;_onDidChangeContent;_onDidOpen;_onDidClose;_onDidSave;_onWillSave;_willSaveWaitUntil;constructor(configuration){this._configuration=configuration,this._syncedDocuments=new Map,this._onDidChangeContent=new vscode_languageserver_protocol_1.Emitter,this._onDidOpen=new vscode_languageserver_protocol_1.Emitter,this._onDidClose=new vscode_languageserver_protocol_1.Emitter,this._onDidSave=new vscode_languageserver_protocol_1.Emitter,this._onWillSave=new vscode_languageserver_protocol_1.Emitter}get onDidOpen(){return this._onDidOpen.event}get onDidChangeContent(){return this._onDidChangeContent.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(handler){this._willSaveWaitUntil=handler}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(uri){return this._syncedDocuments.get(uri)}all(){return Array.from(this._syncedDocuments.values())}keys(){return Array.from(this._syncedDocuments.keys())}listen(connection2){connection2.__textDocumentSync=vscode_languageserver_protocol_1.TextDocumentSyncKind.Incremental;let disposables=[];return disposables.push(connection2.onDidOpenTextDocument(event=>{let td=event.textDocument,document=this._configuration.create(td.uri,td.languageId,td.version,td.text);this._syncedDocuments.set(td.uri,document);let toFire=Object.freeze({document});this._onDidOpen.fire(toFire),this._onDidChangeContent.fire(toFire)})),disposables.push(connection2.onDidChangeTextDocument(event=>{let td=event.textDocument,changes=event.contentChanges;if(changes.length===0)return;let{version}=td;if(version==null)throw new Error(`Received document change event for ${td.uri} without valid version identifier`);let syncedDocument=this._syncedDocuments.get(td.uri);syncedDocument!==void 0&&(syncedDocument=this._configuration.update(syncedDocument,changes,version),this._syncedDocuments.set(td.uri,syncedDocument),this._onDidChangeContent.fire(Object.freeze({document:syncedDocument})))})),disposables.push(connection2.onDidCloseTextDocument(event=>{let syncedDocument=this._syncedDocuments.get(event.textDocument.uri);syncedDocument!==void 0&&(this._syncedDocuments.delete(event.textDocument.uri),this._onDidClose.fire(Object.freeze({document:syncedDocument})))})),disposables.push(connection2.onWillSaveTextDocument(event=>{let syncedDocument=this._syncedDocuments.get(event.textDocument.uri);syncedDocument!==void 0&&this._onWillSave.fire(Object.freeze({document:syncedDocument,reason:event.reason}))})),disposables.push(connection2.onWillSaveTextDocumentWaitUntil((event,token)=>{let syncedDocument=this._syncedDocuments.get(event.textDocument.uri);return syncedDocument!==void 0&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:syncedDocument,reason:event.reason}),token):[]})),disposables.push(connection2.onDidSaveTextDocument(event=>{let syncedDocument=this._syncedDocuments.get(event.textDocument.uri);syncedDocument!==void 0&&this._onDidSave.fire(Object.freeze({document:syncedDocument}))})),vscode_languageserver_protocol_1.Disposable.create(()=>{disposables.forEach(disposable=>disposable.dispose())})}};exports.TextDocuments=TextDocuments2}});var require_notebook=__commonJS({"node_modules/vscode-languageserver/lib/common/notebook.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.NotebookDocuments=exports.NotebookSyncFeature=void 0;var vscode_languageserver_protocol_1=require_api2(),textDocuments_1=require_textDocuments(),NotebookSyncFeature=Base=>class extends Base{get synchronization(){return{onDidOpenNotebookDocument:handler=>this.connection.onNotification(vscode_languageserver_protocol_1.DidOpenNotebookDocumentNotification.type,params=>handler(params)),onDidChangeNotebookDocument:handler=>this.connection.onNotification(vscode_languageserver_protocol_1.DidChangeNotebookDocumentNotification.type,params=>handler(params)),onDidSaveNotebookDocument:handler=>this.connection.onNotification(vscode_languageserver_protocol_1.DidSaveNotebookDocumentNotification.type,params=>handler(params)),onDidCloseNotebookDocument:handler=>this.connection.onNotification(vscode_languageserver_protocol_1.DidCloseNotebookDocumentNotification.type,params=>handler(params))}}};exports.NotebookSyncFeature=NotebookSyncFeature;var CellTextDocumentConnection=class _CellTextDocumentConnection{static NULL_DISPOSE=Object.freeze({dispose:()=>{}});openHandler;changeHandler;closeHandler;onDidOpenTextDocument(handler){return this.openHandler=handler,vscode_languageserver_protocol_1.Disposable.create(()=>{this.openHandler=void 0})}openTextDocument(params){return this.openHandler&&this.openHandler(params)}onDidChangeTextDocument(handler){return this.changeHandler=handler,vscode_languageserver_protocol_1.Disposable.create(()=>{this.changeHandler=handler})}changeTextDocument(params){return this.changeHandler&&this.changeHandler(params)}onDidCloseTextDocument(handler){return this.closeHandler=handler,vscode_languageserver_protocol_1.Disposable.create(()=>{this.closeHandler=void 0})}closeTextDocument(params){return this.closeHandler&&this.closeHandler(params)}onWillSaveTextDocument(){return _CellTextDocumentConnection.NULL_DISPOSE}onWillSaveTextDocumentWaitUntil(){return _CellTextDocumentConnection.NULL_DISPOSE}onDidSaveTextDocument(){return _CellTextDocumentConnection.NULL_DISPOSE}},NotebookDocuments=class{notebookDocuments;notebookCellMap;_onDidOpen;_onDidSave;_onDidChange;_onDidClose;_cellTextDocuments;constructor(configurationOrTextDocuments){configurationOrTextDocuments instanceof textDocuments_1.TextDocuments?this._cellTextDocuments=configurationOrTextDocuments:this._cellTextDocuments=new textDocuments_1.TextDocuments(configurationOrTextDocuments),this.notebookDocuments=new Map,this.notebookCellMap=new Map,this._onDidOpen=new vscode_languageserver_protocol_1.Emitter,this._onDidChange=new vscode_languageserver_protocol_1.Emitter,this._onDidSave=new vscode_languageserver_protocol_1.Emitter,this._onDidClose=new vscode_languageserver_protocol_1.Emitter}get cellTextDocuments(){return this._cellTextDocuments}getCellTextDocument(cell){return this._cellTextDocuments.get(cell.document)}getNotebookDocument(uri){return this.notebookDocuments.get(uri)}getNotebookCell(uri){let value=this.notebookCellMap.get(uri);return value&&value[0]}findNotebookDocumentForCell(cell){let key=typeof cell=="string"?cell:cell.document,value=this.notebookCellMap.get(key);return value&&value[1]}get onDidOpen(){return this._onDidOpen.event}get onDidSave(){return this._onDidSave.event}get onDidChange(){return this._onDidChange.event}get onDidClose(){return this._onDidClose.event}listen(connection2){let cellTextDocumentConnection=new CellTextDocumentConnection,disposables=[];return disposables.push(this.cellTextDocuments.listen(cellTextDocumentConnection)),disposables.push(connection2.notebooks.synchronization.onDidOpenNotebookDocument(async params=>{this.notebookDocuments.set(params.notebookDocument.uri,params.notebookDocument);for(let cellTextDocument of params.cellTextDocuments)await cellTextDocumentConnection.openTextDocument({textDocument:cellTextDocument});this.updateCellMap(params.notebookDocument),this._onDidOpen.fire(params.notebookDocument)})),disposables.push(connection2.notebooks.synchronization.onDidChangeNotebookDocument(async params=>{let notebookDocument=this.notebookDocuments.get(params.notebookDocument.uri);if(notebookDocument===void 0)return;notebookDocument.version=params.notebookDocument.version;let oldMetadata=notebookDocument.metadata,metadataChanged=!1,change=params.change;change.metadata!==void 0&&(metadataChanged=!0,notebookDocument.metadata=change.metadata);let opened=[],closed=[],data=[],text=[];if(change.cells!==void 0){let changedCells=change.cells;if(changedCells.structure!==void 0){let array=changedCells.structure.array;if(notebookDocument.cells.splice(array.start,array.deleteCount,...array.cells!==void 0?array.cells:[]),changedCells.structure.didOpen!==void 0)for(let open of changedCells.structure.didOpen)await cellTextDocumentConnection.openTextDocument({textDocument:open}),opened.push(open.uri);if(changedCells.structure.didClose)for(let close of changedCells.structure.didClose)await cellTextDocumentConnection.closeTextDocument({textDocument:close}),closed.push(close.uri)}if(changedCells.data!==void 0){let cellUpdates=new Map(changedCells.data.map(cell=>[cell.document,cell]));for(let i=0;i<=notebookDocument.cells.length;i++){let change2=cellUpdates.get(notebookDocument.cells[i].document);if(change2!==void 0){let old=notebookDocument.cells.splice(i,1,change2);if(data.push({old:old[0],new:change2}),cellUpdates.delete(change2.document),cellUpdates.size===0)break}}}if(changedCells.textContent!==void 0)for(let cellTextDocument of changedCells.textContent)await cellTextDocumentConnection.changeTextDocument({textDocument:cellTextDocument.document,contentChanges:cellTextDocument.changes}),text.push(cellTextDocument.document.uri)}this.updateCellMap(notebookDocument);let changeEvent={notebookDocument};metadataChanged&&(changeEvent.metadata={old:oldMetadata,new:notebookDocument.metadata});let added=[];for(let open of opened)added.push(this.getNotebookCell(open));let removed=[];for(let close of closed)removed.push(this.getNotebookCell(close));let textContent=[];for(let change2 of text)textContent.push(this.getNotebookCell(change2));(added.length>0||removed.length>0||data.length>0||textContent.length>0)&&(changeEvent.cells={added,removed,changed:{data,textContent}}),(changeEvent.metadata!==void 0||changeEvent.cells!==void 0)&&this._onDidChange.fire(changeEvent)})),disposables.push(connection2.notebooks.synchronization.onDidSaveNotebookDocument(params=>{let notebookDocument=this.notebookDocuments.get(params.notebookDocument.uri);notebookDocument!==void 0&&this._onDidSave.fire(notebookDocument)})),disposables.push(connection2.notebooks.synchronization.onDidCloseNotebookDocument(async params=>{let notebookDocument=this.notebookDocuments.get(params.notebookDocument.uri);if(notebookDocument!==void 0){this._onDidClose.fire(notebookDocument);for(let cellTextDocument of params.cellTextDocuments)await cellTextDocumentConnection.closeTextDocument({textDocument:cellTextDocument});this.notebookDocuments.delete(params.notebookDocument.uri);for(let cell of notebookDocument.cells)this.notebookCellMap.delete(cell.document)}})),vscode_languageserver_protocol_1.Disposable.create(()=>{disposables.forEach(disposable=>disposable.dispose())})}updateCellMap(notebookDocument){for(let cell of notebookDocument.cells)this.notebookCellMap.set(cell.document,[cell,notebookDocument])}};exports.NotebookDocuments=NotebookDocuments}});var require_is3=__commonJS({"node_modules/vscode-languageserver/lib/common/utils/is.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.boolean=boolean;exports.string=string;exports.number=number;exports.error=error;exports.func=func;exports.array=array;exports.stringArray=stringArray;exports.typedArray=typedArray;exports.thenable=thenable;function boolean(value){return value===!0||value===!1}function string(value){return typeof value=="string"||value instanceof String}function number(value){return typeof value=="number"||value instanceof Number}function error(value){return value instanceof Error}function func(value){return typeof value=="function"}function array(value){return Array.isArray(value)}function stringArray(value){return array(value)&&value.every(elem=>string(elem))}function typedArray(value,check){return Array.isArray(value)&&value.every(check)}function thenable(value){return value&&func(value.then)}}});var require_uuid=__commonJS({"node_modules/vscode-languageserver/lib/common/utils/uuid.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.empty=void 0;exports.v4=v4;exports.isUUID=isUUID;exports.parse=parse;exports.generateUuid=generateUuid;var ValueUUID=class{_value;constructor(_value){this._value=_value}asHex(){return this._value}equals(other){return this.asHex()===other.asHex()}},V4UUID=class _V4UUID extends ValueUUID{static _chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"];static _timeHighBits=["8","9","a","b"];static _oneOf(array){return array[Math.floor(array.length*Math.random())]}static _randomHex(){return _V4UUID._oneOf(_V4UUID._chars)}constructor(){super([_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),"-",_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),"-","4",_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),"-",_V4UUID._oneOf(_V4UUID._timeHighBits),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),"-",_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex()].join(""))}};exports.empty=new ValueUUID("00000000-0000-0000-0000-000000000000");function v4(){return new V4UUID}var _UUIDPattern=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function isUUID(value){return _UUIDPattern.test(value)}function parse(value){if(!isUUID(value))throw new Error("invalid uuid");return new ValueUUID(value)}function generateUuid(){return v4().asHex()}}});var require_progress=__commonJS({"node_modules/vscode-languageserver/lib/common/progress.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ProgressFeature=void 0;exports.attachWorkDone=attachWorkDone;exports.attachPartialResult=attachPartialResult;var vscode_languageserver_protocol_1=require_api2(),uuid_1=require_uuid(),WorkDoneProgressReporterImpl=class _WorkDoneProgressReporterImpl{_connection;_token;static Instances=new Map;constructor(_connection,_token){this._connection=_connection,this._token=_token,_WorkDoneProgressReporterImpl.Instances.set(this._token,this)}begin(title,percentage,message,cancellable){let param={kind:"begin",title,message,cancellable};typeof percentage=="number"&&(param.percentage=Math.round(percentage)),this._connection.sendProgress(vscode_languageserver_protocol_1.WorkDoneProgress.type,this._token,param)}report(arg0,arg1){let param={kind:"report"};typeof arg0=="number"?(param.percentage=Math.round(arg0),arg1!==void 0&&(param.message=arg1)):param.message=arg0,this._connection.sendProgress(vscode_languageserver_protocol_1.WorkDoneProgress.type,this._token,param)}done(){_WorkDoneProgressReporterImpl.Instances.delete(this._token),this._connection.sendProgress(vscode_languageserver_protocol_1.WorkDoneProgress.type,this._token,{kind:"end"})}},WorkDoneProgressServerReporterImpl=class extends WorkDoneProgressReporterImpl{_source;constructor(connection2,token){super(connection2,token),this._source=new vscode_languageserver_protocol_1.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}},NullProgressReporter=class{constructor(){}begin(){}report(){}done(){}},NullProgressServerReporter=class extends NullProgressReporter{_source;constructor(){super(),this._source=new vscode_languageserver_protocol_1.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}};function attachWorkDone(connection2,params){if(params===void 0||params.workDoneToken===void 0)return new NullProgressReporter;let token=params.workDoneToken;return delete params.workDoneToken,new WorkDoneProgressReporterImpl(connection2,token)}var ProgressFeature=Base=>class extends Base{_progressSupported;constructor(){super(),this._progressSupported=!1}initialize(capabilities){super.initialize(capabilities),capabilities?.window?.workDoneProgress===!0&&(this._progressSupported=!0,this.connection.onNotification(vscode_languageserver_protocol_1.WorkDoneProgressCancelNotification.type,params=>{let progress=WorkDoneProgressReporterImpl.Instances.get(params.token);(progress instanceof WorkDoneProgressServerReporterImpl||progress instanceof NullProgressServerReporter)&&progress.cancel()}))}attachWorkDoneProgress(token){return token===void 0?new NullProgressReporter:new WorkDoneProgressReporterImpl(this.connection,token)}createWorkDoneProgress(){if(this._progressSupported){let token=(0,uuid_1.generateUuid)();return this.connection.sendRequest(vscode_languageserver_protocol_1.WorkDoneProgressCreateRequest.type,{token}).then(()=>new WorkDoneProgressServerReporterImpl(this.connection,token))}else return Promise.resolve(new NullProgressServerReporter)}};exports.ProgressFeature=ProgressFeature;var ResultProgress;(function(ResultProgress2){ResultProgress2.type=new vscode_languageserver_protocol_1.ProgressType})(ResultProgress||(ResultProgress={}));var ResultProgressReporterImpl=class{_connection;_token;constructor(_connection,_token){this._connection=_connection,this._token=_token}report(data){this._connection.sendProgress(ResultProgress.type,this._token,data)}};function attachPartialResult(connection2,params){if(params===void 0||params.partialResultToken===void 0)return;let token=params.partialResultToken;return delete params.partialResultToken,new ResultProgressReporterImpl(connection2,token)}}});var require_configuration=__commonJS({"node_modules/vscode-languageserver/lib/common/configuration.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}):function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||(function(){var ownKeys=function(o){return ownKeys=Object.getOwnPropertyNames||function(o2){var ar=[];for(var k in o2)Object.prototype.hasOwnProperty.call(o2,k)&&(ar[ar.length]=k);return ar},ownKeys(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k=ownKeys(mod),i=0;i<k.length;i++)k[i]!=="default"&&__createBinding(result,mod,k[i]);return __setModuleDefault(result,mod),result}})();Object.defineProperty(exports,"__esModule",{value:!0});exports.ConfigurationFeature=void 0;var vscode_languageserver_protocol_1=require_api2(),Is3=__importStar(require_is3()),ConfigurationFeature=Base=>class extends Base{getConfiguration(arg){return arg?Is3.string(arg)?this._getConfiguration({section:arg}):this._getConfiguration(arg):this._getConfiguration({})}_getConfiguration(arg){let params={items:Array.isArray(arg)?arg:[arg]};return this.connection.sendRequest(vscode_languageserver_protocol_1.ConfigurationRequest.type,params).then(result=>Array.isArray(result)?Array.isArray(arg)?result:result[0]:Array.isArray(arg)?[]:null)}};exports.ConfigurationFeature=ConfigurationFeature}});var require_workspaceFolder=__commonJS({"node_modules/vscode-languageserver/lib/common/workspaceFolder.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.WorkspaceFoldersFeature=void 0;var vscode_languageserver_protocol_1=require_api2(),WorkspaceFoldersFeature=Base=>class extends Base{_onDidChangeWorkspaceFolders;_unregistration;_notificationIsAutoRegistered;constructor(){super(),this._notificationIsAutoRegistered=!1}initialize(capabilities){super.initialize(capabilities);let workspaceCapabilities=capabilities.workspace;workspaceCapabilities&&workspaceCapabilities.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new vscode_languageserver_protocol_1.Emitter,this.connection.onNotification(vscode_languageserver_protocol_1.DidChangeWorkspaceFoldersNotification.type,params=>{this._onDidChangeWorkspaceFolders.fire(params.event)}))}fillServerCapabilities(capabilities){super.fillServerCapabilities(capabilities);let changeNotifications=capabilities.workspace?.workspaceFolders?.changeNotifications;this._notificationIsAutoRegistered=changeNotifications===!0||typeof changeNotifications=="string"}getWorkspaceFolders(){return this.connection.sendRequest(vscode_languageserver_protocol_1.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return!this._notificationIsAutoRegistered&&!this._unregistration&&(this._unregistration=this.connection.client.register(vscode_languageserver_protocol_1.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}};exports.WorkspaceFoldersFeature=WorkspaceFoldersFeature}});var require_callHierarchy=__commonJS({"node_modules/vscode-languageserver/lib/common/callHierarchy.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.CallHierarchyFeature=void 0;var vscode_languageserver_protocol_1=require_api2(),CallHierarchyFeature=Base=>class extends Base{get callHierarchy(){return{onPrepare:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.CallHierarchyPrepareRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),void 0)),onIncomingCalls:handler=>{let type=vscode_languageserver_protocol_1.CallHierarchyIncomingCallsRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))},onOutgoingCalls:handler=>{let type=vscode_languageserver_protocol_1.CallHierarchyOutgoingCallsRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))}}}};exports.CallHierarchyFeature=CallHierarchyFeature}});var require_showDocument=__commonJS({"node_modules/vscode-languageserver/lib/common/showDocument.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ShowDocumentFeature=void 0;var vscode_languageserver_protocol_1=require_api2(),ShowDocumentFeature=Base=>class extends Base{showDocument(params){return this.connection.sendRequest(vscode_languageserver_protocol_1.ShowDocumentRequest.type,params)}};exports.ShowDocumentFeature=ShowDocumentFeature}});var require_fileOperations=__commonJS({"node_modules/vscode-languageserver/lib/common/fileOperations.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.FileOperationsFeature=void 0;var vscode_languageserver_protocol_1=require_api2(),FileOperationsFeature=Base=>class extends Base{onDidCreateFiles(handler){return this.connection.onNotification(vscode_languageserver_protocol_1.DidCreateFilesNotification.type,params=>handler(params))}onDidRenameFiles(handler){return this.connection.onNotification(vscode_languageserver_protocol_1.DidRenameFilesNotification.type,params=>handler(params))}onDidDeleteFiles(handler){return this.connection.onNotification(vscode_languageserver_protocol_1.DidDeleteFilesNotification.type,params=>handler(params))}onWillCreateFiles(handler){return this.connection.onRequest(vscode_languageserver_protocol_1.WillCreateFilesRequest.type,(params,cancel)=>handler(params,cancel))}onWillRenameFiles(handler){return this.connection.onRequest(vscode_languageserver_protocol_1.WillRenameFilesRequest.type,(params,cancel)=>handler(params,cancel))}onWillDeleteFiles(handler){return this.connection.onRequest(vscode_languageserver_protocol_1.WillDeleteFilesRequest.type,(params,cancel)=>handler(params,cancel))}};exports.FileOperationsFeature=FileOperationsFeature}});var require_linkedEditingRange=__commonJS({"node_modules/vscode-languageserver/lib/common/linkedEditingRange.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.LinkedEditingRangeFeature=void 0;var vscode_languageserver_protocol_1=require_api2(),LinkedEditingRangeFeature=Base=>class extends Base{onLinkedEditingRange(handler){return this.connection.onRequest(vscode_languageserver_protocol_1.LinkedEditingRangeRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),void 0))}};exports.LinkedEditingRangeFeature=LinkedEditingRangeFeature}});var require_typeHierarchy=__commonJS({"node_modules/vscode-languageserver/lib/common/typeHierarchy.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.TypeHierarchyFeature=void 0;var vscode_languageserver_protocol_1=require_api2(),TypeHierarchyFeature=Base=>class extends Base{get typeHierarchy(){return{onPrepare:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.TypeHierarchyPrepareRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),void 0)),onSupertypes:handler=>{let type=vscode_languageserver_protocol_1.TypeHierarchySupertypesRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))},onSubtypes:handler=>{let type=vscode_languageserver_protocol_1.TypeHierarchySubtypesRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))}}}};exports.TypeHierarchyFeature=TypeHierarchyFeature}});var require_inlineValue=__commonJS({"node_modules/vscode-languageserver/lib/common/inlineValue.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.InlineValueFeature=void 0;var vscode_languageserver_protocol_1=require_api2(),InlineValueFeature=Base=>class extends Base{get inlineValue(){return{refresh:()=>this.connection.sendRequest(vscode_languageserver_protocol_1.InlineValueRefreshRequest.type),on:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.InlineValueRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params)))}}};exports.InlineValueFeature=InlineValueFeature}});var require_foldingRange=__commonJS({"node_modules/vscode-languageserver/lib/common/foldingRange.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.FoldingRangeFeature=void 0;var vscode_languageserver_protocol_1=require_api2(),FoldingRangeFeature=Base=>class extends Base{get foldingRange(){return{refresh:()=>this.connection.sendRequest(vscode_languageserver_protocol_1.FoldingRangeRefreshRequest.type),on:handler=>{let type=vscode_languageserver_protocol_1.FoldingRangeRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))}}}};exports.FoldingRangeFeature=FoldingRangeFeature}});var require_inlayHint=__commonJS({"node_modules/vscode-languageserver/lib/common/inlayHint.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.InlayHintFeature=void 0;var vscode_languageserver_protocol_1=require_api2(),InlayHintFeature=Base=>class extends Base{get inlayHint(){return{refresh:()=>this.connection.sendRequest(vscode_languageserver_protocol_1.InlayHintRefreshRequest.type),on:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.InlayHintRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params))),resolve:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.InlayHintResolveRequest.type,(params,cancel)=>handler(params,cancel))}}};exports.InlayHintFeature=InlayHintFeature}});var require_diagnostic=__commonJS({"node_modules/vscode-languageserver/lib/common/diagnostic.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.DiagnosticFeature=void 0;var vscode_languageserver_protocol_1=require_api2(),DiagnosticFeature=Base=>class extends Base{get diagnostics(){return{refresh:()=>this.connection.sendRequest(vscode_languageserver_protocol_1.DiagnosticRefreshRequest.type),on:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.DocumentDiagnosticRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(vscode_languageserver_protocol_1.DocumentDiagnosticRequest.partialResult,params))),onWorkspace:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.WorkspaceDiagnosticRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(vscode_languageserver_protocol_1.WorkspaceDiagnosticRequest.partialResult,params)))}}};exports.DiagnosticFeature=DiagnosticFeature}});var require_moniker=__commonJS({"node_modules/vscode-languageserver/lib/common/moniker.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.MonikerFeature=void 0;var vscode_languageserver_protocol_1=require_api2(),MonikerFeature=Base=>class extends Base{get moniker(){return{on:handler=>{let type=vscode_languageserver_protocol_1.MonikerRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))}}}};exports.MonikerFeature=MonikerFeature}});var require_server=__commonJS({"node_modules/vscode-languageserver/lib/common/server.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}):function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||(function(){var ownKeys=function(o){return ownKeys=Object.getOwnPropertyNames||function(o2){var ar=[];for(var k in o2)Object.prototype.hasOwnProperty.call(o2,k)&&(ar[ar.length]=k);return ar},ownKeys(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k=ownKeys(mod),i=0;i<k.length;i++)k[i]!=="default"&&__createBinding(result,mod,k[i]);return __setModuleDefault(result,mod),result}})();Object.defineProperty(exports,"__esModule",{value:!0});exports._NotebooksImpl=exports._LanguagesImpl=exports.BulkUnregistration=exports.BulkRegistration=exports.ErrorMessageTracker=void 0;exports.combineConsoleFeatures=combineConsoleFeatures;exports.combineTelemetryFeatures=combineTelemetryFeatures;exports.combineTracerFeatures=combineTracerFeatures;exports.combineClientFeatures=combineClientFeatures;exports.combineWindowFeatures=combineWindowFeatures;exports.combineWorkspaceFeatures=combineWorkspaceFeatures;exports.combineLanguagesFeatures=combineLanguagesFeatures;exports.combineNotebooksFeatures=combineNotebooksFeatures;exports.combineFeatures=combineFeatures;exports.createConnection=createConnection2;var vscode_languageserver_protocol_1=require_api2(),Is3=__importStar(require_is3()),UUID=__importStar(require_uuid()),progress_1=require_progress(),configuration_1=require_configuration(),workspaceFolder_1=require_workspaceFolder(),callHierarchy_1=require_callHierarchy(),semanticTokens_1=require_semanticTokens(),showDocument_1=require_showDocument(),fileOperations_1=require_fileOperations(),linkedEditingRange_1=require_linkedEditingRange(),typeHierarchy_1=require_typeHierarchy(),inlineValue_1=require_inlineValue(),foldingRange_1=require_foldingRange(),inlayHint_1=require_inlayHint(),diagnostic_1=require_diagnostic(),notebook_1=require_notebook(),moniker_1=require_moniker();function null2Undefined(value){if(value!==null)return value}var ErrorMessageTracker=class{_messages;constructor(){this._messages=Object.create(null)}add(message){let count=this._messages[message];count||(count=0),count++,this._messages[message]=count}sendErrors(connection2){Object.keys(this._messages).forEach(message=>{connection2.window.showErrorMessage(message)})}};exports.ErrorMessageTracker=ErrorMessageTracker;var RemoteConsoleImpl=class{_rawConnection;_connection;constructor(){}rawAttach(connection2){this._rawConnection=connection2}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(_capabilities){}initialize(_capabilities){}error(message){this.send(vscode_languageserver_protocol_1.MessageType.Error,message)}warn(message){this.send(vscode_languageserver_protocol_1.MessageType.Warning,message)}info(message){this.send(vscode_languageserver_protocol_1.MessageType.Info,message)}log(message){this.send(vscode_languageserver_protocol_1.MessageType.Log,message)}debug(message){this.send(vscode_languageserver_protocol_1.MessageType.Debug,message)}send(type,message){this._rawConnection&&this._rawConnection.sendNotification(vscode_languageserver_protocol_1.LogMessageNotification.type,{type,message}).catch(()=>{(0,vscode_languageserver_protocol_1.RAL)().console.error("Sending log message failed")})}},_RemoteWindowImpl=class{_connection;constructor(){}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}showErrorMessage(message,...actions){let params={type:vscode_languageserver_protocol_1.MessageType.Error,message,actions};return this.connection.sendRequest(vscode_languageserver_protocol_1.ShowMessageRequest.type,params).then(null2Undefined)}showWarningMessage(message,...actions){let params={type:vscode_languageserver_protocol_1.MessageType.Warning,message,actions};return this.connection.sendRequest(vscode_languageserver_protocol_1.ShowMessageRequest.type,params).then(null2Undefined)}showInformationMessage(message,...actions){let params={type:vscode_languageserver_protocol_1.MessageType.Info,message,actions};return this.connection.sendRequest(vscode_languageserver_protocol_1.ShowMessageRequest.type,params).then(null2Undefined)}},RemoteWindowImpl=(0,showDocument_1.ShowDocumentFeature)((0,progress_1.ProgressFeature)(_RemoteWindowImpl)),BulkRegistration;(function(BulkRegistration2){function create(){return new BulkRegistrationImpl}BulkRegistration2.create=create})(BulkRegistration||(exports.BulkRegistration=BulkRegistration={}));var BulkRegistrationImpl=class{_registrations=[];_registered=new Set;add(type,registerOptions){let method=Is3.string(type)?type:type.method;if(this._registered.has(method))throw new Error(`${method} is already added to this registration`);let id=UUID.generateUuid();this._registrations.push({id,method,registerOptions:registerOptions||{}}),this._registered.add(method)}asRegistrationParams(){return{registrations:this._registrations}}},BulkUnregistration;(function(BulkUnregistration2){function create(){return new BulkUnregistrationImpl(void 0,[])}BulkUnregistration2.create=create})(BulkUnregistration||(exports.BulkUnregistration=BulkUnregistration={}));var BulkUnregistrationImpl=class{_connection;_unregistrations=new Map;constructor(_connection,unregistrations){this._connection=_connection,unregistrations.forEach(unregistration=>{this._unregistrations.set(unregistration.method,unregistration)})}get isAttached(){return!!this._connection}attach(connection2){this._connection=connection2}add(unregistration){this._unregistrations.set(unregistration.method,unregistration)}dispose(){let unregistrations=[];for(let unregistration of this._unregistrations.values())unregistrations.push(unregistration);let params={unregisterations:unregistrations};this._connection.sendRequest(vscode_languageserver_protocol_1.UnregistrationRequest.type,params).catch(()=>{this._connection.console.info("Bulk unregistration failed.")})}disposeSingle(arg){let method=Is3.string(arg)?arg:arg.method,unregistration=this._unregistrations.get(method);if(!unregistration)return!1;let params={unregisterations:[unregistration]};return this._connection.sendRequest(vscode_languageserver_protocol_1.UnregistrationRequest.type,params).then(()=>{this._unregistrations.delete(method)},_error=>{this._connection.console.info(`Un-registering request handler for ${unregistration.id} failed.`)}),!0}},RemoteClientImpl=class{_connection;attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}register(typeOrRegistrations,registerOptionsOrType,registerOptions){return typeOrRegistrations instanceof BulkRegistrationImpl?this.registerMany(typeOrRegistrations):typeOrRegistrations instanceof BulkUnregistrationImpl?this.registerSingle1(typeOrRegistrations,registerOptionsOrType,registerOptions):this.registerSingle2(typeOrRegistrations,registerOptionsOrType)}registerSingle1(unregistration,type,registerOptions){let method=Is3.string(type)?type:type.method,id=UUID.generateUuid(),params={registrations:[{id,method,registerOptions:registerOptions||{}}]};return unregistration.isAttached||unregistration.attach(this.connection),this.connection.sendRequest(vscode_languageserver_protocol_1.RegistrationRequest.type,params).then(_result=>(unregistration.add({id,method}),unregistration),_error=>(this.connection.console.info(`Registering request handler for ${method} failed.`),Promise.reject(_error)))}registerSingle2(type,registerOptions){let method=Is3.string(type)?type:type.method,id=UUID.generateUuid(),params={registrations:[{id,method,registerOptions:registerOptions||{}}]};return this.connection.sendRequest(vscode_languageserver_protocol_1.RegistrationRequest.type,params).then(_result=>vscode_languageserver_protocol_1.Disposable.create(()=>{this.unregisterSingle(id,method).catch(()=>{this.connection.console.info(`Un-registering capability with id ${id} failed.`)})}),_error=>(this.connection.console.info(`Registering request handler for ${method} failed.`),Promise.reject(_error)))}unregisterSingle(id,method){let params={unregisterations:[{id,method}]};return this.connection.sendRequest(vscode_languageserver_protocol_1.UnregistrationRequest.type,params).catch(()=>{this.connection.console.info(`Un-registering request handler for ${id} failed.`)})}registerMany(registrations){let params=registrations.asRegistrationParams();return this.connection.sendRequest(vscode_languageserver_protocol_1.RegistrationRequest.type,params).then(()=>new BulkUnregistrationImpl(this._connection,params.registrations.map(registration=>({id:registration.id,method:registration.method}))),_error=>(this.connection.console.info("Bulk registration failed."),Promise.reject(_error)))}},_RemoteWorkspaceImpl=class{_connection;constructor(){}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}applyEdit(paramOrEdit){function isApplyWorkspaceEditParams(value){return value&&!!value.edit}let params=isApplyWorkspaceEditParams(paramOrEdit)?paramOrEdit:{edit:paramOrEdit};return this.connection.sendRequest(vscode_languageserver_protocol_1.ApplyWorkspaceEditRequest.type,params)}},RemoteWorkspaceImpl=(0,fileOperations_1.FileOperationsFeature)((0,workspaceFolder_1.WorkspaceFoldersFeature)((0,configuration_1.ConfigurationFeature)(_RemoteWorkspaceImpl))),TracerImpl=class{_trace;_connection;constructor(){this._trace=vscode_languageserver_protocol_1.Trace.Off}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}set trace(value){this._trace=value}log(message,verbose){this._trace!==vscode_languageserver_protocol_1.Trace.Off&&this.connection.sendNotification(vscode_languageserver_protocol_1.LogTraceNotification.type,{message,verbose:this._trace===vscode_languageserver_protocol_1.Trace.Verbose?verbose:void 0}).catch(()=>{})}},TelemetryImpl=class{_connection;constructor(){}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}logEvent(data){this.connection.sendNotification(vscode_languageserver_protocol_1.TelemetryEventNotification.type,data).catch(()=>{this.connection.console.log("Sending TelemetryEventNotification failed")})}},_LanguagesImpl=class{_connection;constructor(){}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}attachWorkDoneProgress(params){return(0,progress_1.attachWorkDone)(this.connection,params)}attachPartialResultProgress(_type,params){return(0,progress_1.attachPartialResult)(this.connection,params)}};exports._LanguagesImpl=_LanguagesImpl;var LanguagesImpl=(0,foldingRange_1.FoldingRangeFeature)((0,moniker_1.MonikerFeature)((0,diagnostic_1.DiagnosticFeature)((0,inlayHint_1.InlayHintFeature)((0,inlineValue_1.InlineValueFeature)((0,typeHierarchy_1.TypeHierarchyFeature)((0,linkedEditingRange_1.LinkedEditingRangeFeature)((0,semanticTokens_1.SemanticTokensFeature)((0,callHierarchy_1.CallHierarchyFeature)(_LanguagesImpl))))))))),_NotebooksImpl=class{_connection;constructor(){}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}attachWorkDoneProgress(params){return(0,progress_1.attachWorkDone)(this.connection,params)}attachPartialResultProgress(_type,params){return(0,progress_1.attachPartialResult)(this.connection,params)}};exports._NotebooksImpl=_NotebooksImpl;var NotebooksImpl=(0,notebook_1.NotebookSyncFeature)(_NotebooksImpl);function combineConsoleFeatures(one,two){return function(Base){return two(one(Base))}}function combineTelemetryFeatures(one,two){return function(Base){return two(one(Base))}}function combineTracerFeatures(one,two){return function(Base){return two(one(Base))}}function combineClientFeatures(one,two){return function(Base){return two(one(Base))}}function combineWindowFeatures(one,two){return function(Base){return two(one(Base))}}function combineWorkspaceFeatures(one,two){return function(Base){return two(one(Base))}}function combineLanguagesFeatures(one,two){return function(Base){return two(one(Base))}}function combineNotebooksFeatures(one,two){return function(Base){return two(one(Base))}}function combineFeatures(one,two){function combine(one2,two2,func){return one2&&two2?func(one2,two2):one2||two2}return{__brand:"features",console:combine(one.console,two.console,combineConsoleFeatures),tracer:combine(one.tracer,two.tracer,combineTracerFeatures),telemetry:combine(one.telemetry,two.telemetry,combineTelemetryFeatures),client:combine(one.client,two.client,combineClientFeatures),window:combine(one.window,two.window,combineWindowFeatures),workspace:combine(one.workspace,two.workspace,combineWorkspaceFeatures),languages:combine(one.languages,two.languages,combineLanguagesFeatures),notebooks:combine(one.notebooks,two.notebooks,combineNotebooksFeatures)}}function createConnection2(connectionFactory,watchDog,factories){let logger=factories&&factories.console?new(factories.console(RemoteConsoleImpl)):new RemoteConsoleImpl,connection2=connectionFactory(logger);logger.rawAttach(connection2);let tracer=factories&&factories.tracer?new(factories.tracer(TracerImpl)):new TracerImpl,telemetry=factories&&factories.telemetry?new(factories.telemetry(TelemetryImpl)):new TelemetryImpl,client=factories&&factories.client?new(factories.client(RemoteClientImpl)):new RemoteClientImpl,remoteWindow=factories&&factories.window?new(factories.window(RemoteWindowImpl)):new RemoteWindowImpl,workspace=factories&&factories.workspace?new(factories.workspace(RemoteWorkspaceImpl)):new RemoteWorkspaceImpl,languages=factories&&factories.languages?new(factories.languages(LanguagesImpl)):new LanguagesImpl,notebooks=factories&&factories.notebooks?new(factories.notebooks(NotebooksImpl)):new NotebooksImpl,allRemotes=[logger,tracer,telemetry,client,remoteWindow,workspace,languages,notebooks];function asPromise(value){return value instanceof Promise?value:Is3.thenable(value)?new Promise((resolve,reject)=>{value.then(resolved=>resolve(resolved),error=>reject(error))}):Promise.resolve(value)}let shutdownHandler,initializeHandler,exitHandler,protocolConnection={listen:()=>connection2.listen(),sendRequest:(type,...params)=>connection2.sendRequest(Is3.string(type)?type:type.method,...params),onRequest:(type,handler)=>connection2.onRequest(type,handler),sendNotification:(type,param)=>{let method=Is3.string(type)?type:type.method;return connection2.sendNotification(method,param)},onNotification:(type,handler)=>connection2.onNotification(type,handler),onProgress:connection2.onProgress,sendProgress:connection2.sendProgress,onInitialize:handler=>(initializeHandler=handler,{dispose:()=>{initializeHandler=void 0}}),onInitialized:handler=>connection2.onNotification(vscode_languageserver_protocol_1.InitializedNotification.type,handler),onShutdown:handler=>(shutdownHandler=handler,{dispose:()=>{shutdownHandler=void 0}}),onExit:handler=>(exitHandler=handler,{dispose:()=>{exitHandler=void 0}}),get console(){return logger},get telemetry(){return telemetry},get tracer(){return tracer},get client(){return client},get window(){return remoteWindow},get workspace(){return workspace},get languages(){return languages},get notebooks(){return notebooks},onDidChangeConfiguration:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidChangeConfigurationNotification.type,handler),onDidChangeWatchedFiles:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidChangeWatchedFilesNotification.type,handler),__textDocumentSync:void 0,onDidOpenTextDocument:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidOpenTextDocumentNotification.type,handler),onDidChangeTextDocument:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidChangeTextDocumentNotification.type,handler),onDidCloseTextDocument:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidCloseTextDocumentNotification.type,handler),onWillSaveTextDocument:handler=>connection2.onNotification(vscode_languageserver_protocol_1.WillSaveTextDocumentNotification.type,handler),onWillSaveTextDocumentWaitUntil:handler=>connection2.onRequest(vscode_languageserver_protocol_1.WillSaveTextDocumentWaitUntilRequest.type,handler),onDidSaveTextDocument:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidSaveTextDocumentNotification.type,handler),sendDiagnostics:params=>connection2.sendNotification(vscode_languageserver_protocol_1.PublishDiagnosticsNotification.type,params),onHover:handler=>connection2.onRequest(vscode_languageserver_protocol_1.HoverRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),onCompletion:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CompletionRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onCompletionResolve:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CompletionResolveRequest.type,handler),onSignatureHelp:handler=>connection2.onRequest(vscode_languageserver_protocol_1.SignatureHelpRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),onDeclaration:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DeclarationRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onDefinition:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DefinitionRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onTypeDefinition:handler=>connection2.onRequest(vscode_languageserver_protocol_1.TypeDefinitionRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onImplementation:handler=>connection2.onRequest(vscode_languageserver_protocol_1.ImplementationRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onReferences:handler=>connection2.onRequest(vscode_languageserver_protocol_1.ReferencesRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onDocumentHighlight:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentHighlightRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onDocumentSymbol:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentSymbolRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onWorkspaceSymbol:handler=>connection2.onRequest(vscode_languageserver_protocol_1.WorkspaceSymbolRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onWorkspaceSymbolResolve:handler=>connection2.onRequest(vscode_languageserver_protocol_1.WorkspaceSymbolResolveRequest.type,handler),onCodeAction:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CodeActionRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onCodeActionResolve:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CodeActionResolveRequest.type,(params,cancel)=>handler(params,cancel)),onCodeLens:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CodeLensRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onCodeLensResolve:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CodeLensResolveRequest.type,(params,cancel)=>handler(params,cancel)),onDocumentFormatting:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentFormattingRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),onDocumentRangeFormatting:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentRangeFormattingRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),onDocumentOnTypeFormatting:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentOnTypeFormattingRequest.type,(params,cancel)=>handler(params,cancel)),onRenameRequest:handler=>connection2.onRequest(vscode_languageserver_protocol_1.RenameRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),onPrepareRename:handler=>connection2.onRequest(vscode_languageserver_protocol_1.PrepareRenameRequest.type,(params,cancel)=>handler(params,cancel)),onDocumentLinks:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentLinkRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onDocumentLinkResolve:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentLinkResolveRequest.type,(params,cancel)=>handler(params,cancel)),onDocumentColor:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentColorRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onColorPresentation:handler=>connection2.onRequest(vscode_languageserver_protocol_1.ColorPresentationRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onFoldingRanges:handler=>connection2.onRequest(vscode_languageserver_protocol_1.FoldingRangeRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onSelectionRanges:handler=>connection2.onRequest(vscode_languageserver_protocol_1.SelectionRangeRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onExecuteCommand:handler=>connection2.onRequest(vscode_languageserver_protocol_1.ExecuteCommandRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),dispose:()=>connection2.dispose()};for(let remote of allRemotes)remote.attach(protocolConnection);return connection2.onRequest(vscode_languageserver_protocol_1.InitializeRequest.type,params=>{watchDog.initialize(params),Is3.string(params.trace)&&(tracer.trace=vscode_languageserver_protocol_1.Trace.fromString(params.trace));for(let remote of allRemotes)remote.initialize(params.capabilities);if(initializeHandler){let result=initializeHandler(params,new vscode_languageserver_protocol_1.CancellationTokenSource().token,(0,progress_1.attachWorkDone)(connection2,params),void 0);return asPromise(result).then(value=>{if(value instanceof vscode_languageserver_protocol_1.ResponseError)return value;let result2=value;result2||(result2={capabilities:{}});let capabilities=result2.capabilities;capabilities||(capabilities={},result2.capabilities=capabilities),capabilities.textDocumentSync===void 0||capabilities.textDocumentSync===null?capabilities.textDocumentSync=Is3.number(protocolConnection.__textDocumentSync)?protocolConnection.__textDocumentSync:vscode_languageserver_protocol_1.TextDocumentSyncKind.None:!Is3.number(capabilities.textDocumentSync)&&!Is3.number(capabilities.textDocumentSync.change)&&(capabilities.textDocumentSync.change=Is3.number(protocolConnection.__textDocumentSync)?protocolConnection.__textDocumentSync:vscode_languageserver_protocol_1.TextDocumentSyncKind.None);for(let remote of allRemotes)remote.fillServerCapabilities(capabilities);return result2})}else{let result={capabilities:{textDocumentSync:vscode_languageserver_protocol_1.TextDocumentSyncKind.None}};for(let remote of allRemotes)remote.fillServerCapabilities(result.capabilities);return result}}),connection2.onRequest(vscode_languageserver_protocol_1.ShutdownRequest.type,()=>{if(watchDog.shutdownReceived=!0,shutdownHandler)return shutdownHandler(new vscode_languageserver_protocol_1.CancellationTokenSource().token)}),connection2.onNotification(vscode_languageserver_protocol_1.ExitNotification.type,()=>{try{if(exitHandler)return exitHandler()}finally{watchDog.shutdownReceived?watchDog.exit(0):watchDog.exit(1)}}),connection2.onNotification(vscode_languageserver_protocol_1.SetTraceNotification.type,params=>{tracer.trace=vscode_languageserver_protocol_1.Trace.fromString(params.value)}),protocolConnection}}});var require_api3=__commonJS({"node_modules/vscode-languageserver/lib/common/api.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}):function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||(function(){var ownKeys=function(o){return ownKeys=Object.getOwnPropertyNames||function(o2){var ar=[];for(var k in o2)Object.prototype.hasOwnProperty.call(o2,k)&&(ar[ar.length]=k);return ar},ownKeys(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k=ownKeys(mod),i=0;i<k.length;i++)k[i]!=="default"&&__createBinding(result,mod,k[i]);return __setModuleDefault(result,mod),result}})(),__exportStar=exports&&exports.__exportStar||function(m2,exports2){for(var p in m2)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m2,p)};Object.defineProperty(exports,"__esModule",{value:!0});exports.ProposedFeatures=exports.NotebookDocuments=exports.TextDocuments=exports.SemanticTokensBuilder=void 0;var semanticTokens_1=require_semanticTokens();Object.defineProperty(exports,"SemanticTokensBuilder",{enumerable:!0,get:function(){return semanticTokens_1.SemanticTokensBuilder}});var ic=__importStar(require_inlineCompletion_proposed()),tdc=__importStar(require_textDocumentContent());__exportStar(require_api2(),exports);var textDocuments_1=require_textDocuments();Object.defineProperty(exports,"TextDocuments",{enumerable:!0,get:function(){return textDocuments_1.TextDocuments}});var notebook_1=require_notebook();Object.defineProperty(exports,"NotebookDocuments",{enumerable:!0,get:function(){return notebook_1.NotebookDocuments}});__exportStar(require_server(),exports);var ProposedFeatures2;(function(ProposedFeatures3){ProposedFeatures3.all={__brand:"features",workspace:tdc.TextDocumentContentFeature,languages:ic.InlineCompletionFeature}})(ProposedFeatures2||(exports.ProposedFeatures=ProposedFeatures2={}))}});var require_ril=__commonJS({"node_modules/vscode-jsonrpc/lib/browser/ril.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.PromiseImpl=exports.QueueMicrotaskImpl=void 0;var api_1=require_api(),MessageBuffer=class _MessageBuffer extends api_1.AbstractMessageBuffer{static emptyBuffer=new Uint8Array(0);asciiDecoder;constructor(encoding="utf-8"){super(encoding),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return _MessageBuffer.emptyBuffer}fromString(value,_encoding){return new TextEncoder().encode(value)}toString(value,encoding){return encoding==="ascii"?this.asciiDecoder.decode(value):new TextDecoder(encoding).decode(value)}asNative(buffer,length){return length===void 0?buffer:buffer.slice(0,length)}allocNative(length){return new Uint8Array(length)}},ReadableStreamWrapper=class{socket;_onData;_messageListener;constructor(socket){this.socket=socket,this._onData=new api_1.Emitter,this._messageListener=event=>{event.data.arrayBuffer().then(buffer=>{this._onData.fire(new Uint8Array(buffer))},()=>{(0,api_1.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(listener){return this.socket.addEventListener("close",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("close",listener))}onError(listener){return this.socket.addEventListener("error",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("error",listener))}onEnd(listener){return this.socket.addEventListener("end",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("end",listener))}onData(listener){return this._onData.event(listener)}},WritableStreamWrapper=class{socket;constructor(socket){this.socket=socket}onClose(listener){return this.socket.addEventListener("close",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("close",listener))}onError(listener){return this.socket.addEventListener("error",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("error",listener))}onEnd(listener){return this.socket.addEventListener("end",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("end",listener))}write(data,encoding){if(typeof data=="string"){if(encoding!==void 0&&encoding!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${encoding}`);this.socket.send(data)}else data.buffer instanceof ArrayBuffer?this.socket.send(data.buffer):this.socket.send(new Uint8Array(data.buffer).slice().buffer);return Promise.resolve()}end(){this.socket.close()}},QueueMicrotaskImpl=class{isDisposed;constructor(callback,...args){this.isDisposed=!1,queueMicrotask(()=>{this.isDisposed||callback(...args)})}dispose(){this.isDisposed=!0}};exports.QueueMicrotaskImpl=QueueMicrotaskImpl;var PromiseImpl=class{isDisposed;constructor(callback,...args){this.isDisposed=!1,Promise.resolve().then(()=>{this.isDisposed||callback(...args)},()=>{})}dispose(){this.isDisposed=!0}};exports.PromiseImpl=PromiseImpl;var _textEncoder=new TextEncoder,_ril=Object.freeze({messageBuffer:Object.freeze({create:encoding=>new MessageBuffer(encoding)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(msg,options)=>{if(options.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${options.charset}`);return Promise.resolve(_textEncoder.encode(JSON.stringify(msg,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(buffer,options)=>{if(!(buffer instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(options.charset).decode(buffer)))}})}),stream:Object.freeze({asReadableStream:socket=>new ReadableStreamWrapper(socket),asWritableStream:socket=>new WritableStreamWrapper(socket)}),console,timer:Object.freeze({setTimeout(callback,ms,...args){let handle=setTimeout(callback,ms,...args);return{dispose:()=>clearTimeout(handle)}},setImmediate(callback,...args){if(typeof globalThis.queueMicrotask=="function")return new QueueMicrotaskImpl(callback,...args);if(Promise!==void 0)return new PromiseImpl(callback,...args);{let handle=setTimeout(callback,0,...args);return{dispose:()=>clearTimeout(handle)}}},setInterval(callback,ms,...args){let handle=setInterval(callback,ms,...args);return{dispose:()=>clearInterval(handle)}}})});function RIL(){return _ril}(function(RIL2){function install(){api_1.RAL.install(_ril)}RIL2.install=install})(RIL||(RIL={}));exports.default=RIL}});var require_main=__commonJS({"node_modules/vscode-jsonrpc/lib/browser/main.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__exportStar=exports&&exports.__exportStar||function(m2,exports2){for(var p in m2)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m2,p)},__importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});exports.BrowserMessageWriter=exports.BrowserMessageReader=void 0;exports.createMessageConnection=createMessageConnection;var ril_1=__importDefault(require_ril());ril_1.default.install();var api_1=require_api();__exportStar(require_api(),exports);var BrowserMessageReader2=class extends api_1.AbstractMessageReader{_onData;_messageListener;constructor(port){super(),this._onData=new api_1.Emitter,this._messageListener=event=>{this._onData.fire(event.data)},port.addEventListener("error",event=>this.fireError(event)),port.onmessage=this._messageListener}listen(callback){return this._onData.event(callback)}};exports.BrowserMessageReader=BrowserMessageReader2;var BrowserMessageWriter2=class extends api_1.AbstractMessageWriter{port;errorCount;constructor(port){super(),this.port=port,this.errorCount=0,port.addEventListener("error",event=>this.fireError(event))}write(msg){try{return this.port.postMessage(msg),Promise.resolve()}catch(error){return this.handleError(error,msg),Promise.reject(error)}}handleError(error,msg){this.errorCount++,this.fireError(error,msg,this.errorCount)}end(){}};exports.BrowserMessageWriter=BrowserMessageWriter2;function createMessageConnection(reader,writer,logger,options){return logger===void 0&&(logger=api_1.NullLogger),api_1.ConnectionStrategy.is(options)&&(options={connectionStrategy:options}),(0,api_1.createMessageConnection)(reader,writer,logger,options)}}});var require_main2=__commonJS({"node_modules/vscode-languageserver-protocol/lib/browser/main.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__exportStar=exports&&exports.__exportStar||function(m2,exports2){for(var p in m2)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m2,p)};Object.defineProperty(exports,"__esModule",{value:!0});exports.createProtocolConnection=createProtocolConnection;var browser_1=require_main();__exportStar(require_main(),exports);__exportStar(require_api2(),exports);function createProtocolConnection(reader,writer,logger,options){return(0,browser_1.createMessageConnection)(reader,writer,logger,options)}}});var require_main3=__commonJS({"node_modules/vscode-languageserver/lib/browser/main.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__exportStar=exports&&exports.__exportStar||function(m2,exports2){for(var p in m2)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m2,p)};Object.defineProperty(exports,"__esModule",{value:!0});exports.createConnection=createConnection2;var api_1=require_api3();__exportStar(require_main2(),exports);__exportStar(require_api3(),exports);var _shutdownReceived=!1,watchDog={initialize:_params=>{},get shutdownReceived(){return _shutdownReceived},set shutdownReceived(value){_shutdownReceived=value},exit:_code=>{}};function createConnection2(arg1,arg2,arg3,arg4){let factories,reader,writer,options;arg1!==void 0&&arg1.__brand==="features"&&(factories=arg1,arg1=arg2,arg2=arg3,arg3=arg4),api_1.ConnectionStrategy.is(arg1)||api_1.ConnectionOptions.is(arg1)?options=arg1:(reader=arg1,writer=arg2,options=arg3);let connectionFactory=logger=>(0,api_1.createProtocolConnection)(reader,writer,logger,options);return(0,api_1.createConnection)(connectionFactory,watchDog,factories)}}});var require_is4=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/is.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.stringArray=exports.array=exports.func=exports.error=exports.number=exports.string=exports.boolean=void 0;function boolean(value){return value===!0||value===!1}exports.boolean=boolean;function string(value){return typeof value=="string"||value instanceof String}exports.string=string;function number(value){return typeof value=="number"||value instanceof Number}exports.number=number;function error(value){return value instanceof Error}exports.error=error;function func(value){return typeof value=="function"}exports.func=func;function array(value){return Array.isArray(value)}exports.array=array;function stringArray(value){return array(value)&&value.every(elem=>string(elem))}exports.stringArray=stringArray}});var require_messages3=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/messages.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.Message=exports.NotificationType9=exports.NotificationType8=exports.NotificationType7=exports.NotificationType6=exports.NotificationType5=exports.NotificationType4=exports.NotificationType3=exports.NotificationType2=exports.NotificationType1=exports.NotificationType0=exports.NotificationType=exports.RequestType9=exports.RequestType8=exports.RequestType7=exports.RequestType6=exports.RequestType5=exports.RequestType4=exports.RequestType3=exports.RequestType2=exports.RequestType1=exports.RequestType=exports.RequestType0=exports.AbstractMessageSignature=exports.ParameterStructures=exports.ResponseError=exports.ErrorCodes=void 0;var is=require_is4(),ErrorCodes;(function(ErrorCodes2){ErrorCodes2.ParseError=-32700,ErrorCodes2.InvalidRequest=-32600,ErrorCodes2.MethodNotFound=-32601,ErrorCodes2.InvalidParams=-32602,ErrorCodes2.InternalError=-32603,ErrorCodes2.jsonrpcReservedErrorRangeStart=-32099,ErrorCodes2.serverErrorStart=-32099,ErrorCodes2.MessageWriteError=-32099,ErrorCodes2.MessageReadError=-32098,ErrorCodes2.PendingResponseRejected=-32097,ErrorCodes2.ConnectionInactive=-32096,ErrorCodes2.ServerNotInitialized=-32002,ErrorCodes2.UnknownErrorCode=-32001,ErrorCodes2.jsonrpcReservedErrorRangeEnd=-32e3,ErrorCodes2.serverErrorEnd=-32e3})(ErrorCodes||(exports.ErrorCodes=ErrorCodes={}));var ResponseError=class _ResponseError extends Error{constructor(code,message,data){super(message),this.code=is.number(code)?code:ErrorCodes.UnknownErrorCode,this.data=data,Object.setPrototypeOf(this,_ResponseError.prototype)}toJson(){let result={code:this.code,message:this.message};return this.data!==void 0&&(result.data=this.data),result}};exports.ResponseError=ResponseError;var ParameterStructures=class _ParameterStructures{constructor(kind){this.kind=kind}static is(value){return value===_ParameterStructures.auto||value===_ParameterStructures.byName||value===_ParameterStructures.byPosition}toString(){return this.kind}};exports.ParameterStructures=ParameterStructures;ParameterStructures.auto=new ParameterStructures("auto");ParameterStructures.byPosition=new ParameterStructures("byPosition");ParameterStructures.byName=new ParameterStructures("byName");var AbstractMessageSignature=class{constructor(method,numberOfParams){this.method=method,this.numberOfParams=numberOfParams}get parameterStructures(){return ParameterStructures.auto}};exports.AbstractMessageSignature=AbstractMessageSignature;var RequestType0=class extends AbstractMessageSignature{constructor(method){super(method,0)}};exports.RequestType0=RequestType0;var RequestType=class extends AbstractMessageSignature{constructor(method,_parameterStructures=ParameterStructures.auto){super(method,1),this._parameterStructures=_parameterStructures}get parameterStructures(){return this._parameterStructures}};exports.RequestType=RequestType;var RequestType1=class extends AbstractMessageSignature{constructor(method,_parameterStructures=ParameterStructures.auto){super(method,1),this._parameterStructures=_parameterStructures}get parameterStructures(){return this._parameterStructures}};exports.RequestType1=RequestType1;var RequestType2=class extends AbstractMessageSignature{constructor(method){super(method,2)}};exports.RequestType2=RequestType2;var RequestType3=class extends AbstractMessageSignature{constructor(method){super(method,3)}};exports.RequestType3=RequestType3;var RequestType4=class extends AbstractMessageSignature{constructor(method){super(method,4)}};exports.RequestType4=RequestType4;var RequestType5=class extends AbstractMessageSignature{constructor(method){super(method,5)}};exports.RequestType5=RequestType5;var RequestType6=class extends AbstractMessageSignature{constructor(method){super(method,6)}};exports.RequestType6=RequestType6;var RequestType7=class extends AbstractMessageSignature{constructor(method){super(method,7)}};exports.RequestType7=RequestType7;var RequestType8=class extends AbstractMessageSignature{constructor(method){super(method,8)}};exports.RequestType8=RequestType8;var RequestType9=class extends AbstractMessageSignature{constructor(method){super(method,9)}};exports.RequestType9=RequestType9;var NotificationType=class extends AbstractMessageSignature{constructor(method,_parameterStructures=ParameterStructures.auto){super(method,1),this._parameterStructures=_parameterStructures}get parameterStructures(){return this._parameterStructures}};exports.NotificationType=NotificationType;var NotificationType0=class extends AbstractMessageSignature{constructor(method){super(method,0)}};exports.NotificationType0=NotificationType0;var NotificationType1=class extends AbstractMessageSignature{constructor(method,_parameterStructures=ParameterStructures.auto){super(method,1),this._parameterStructures=_parameterStructures}get parameterStructures(){return this._parameterStructures}};exports.NotificationType1=NotificationType1;var NotificationType2=class extends AbstractMessageSignature{constructor(method){super(method,2)}};exports.NotificationType2=NotificationType2;var NotificationType3=class extends AbstractMessageSignature{constructor(method){super(method,3)}};exports.NotificationType3=NotificationType3;var NotificationType4=class extends AbstractMessageSignature{constructor(method){super(method,4)}};exports.NotificationType4=NotificationType4;var NotificationType5=class extends AbstractMessageSignature{constructor(method){super(method,5)}};exports.NotificationType5=NotificationType5;var NotificationType6=class extends AbstractMessageSignature{constructor(method){super(method,6)}};exports.NotificationType6=NotificationType6;var NotificationType7=class extends AbstractMessageSignature{constructor(method){super(method,7)}};exports.NotificationType7=NotificationType7;var NotificationType8=class extends AbstractMessageSignature{constructor(method){super(method,8)}};exports.NotificationType8=NotificationType8;var NotificationType9=class extends AbstractMessageSignature{constructor(method){super(method,9)}};exports.NotificationType9=NotificationType9;var Message;(function(Message2){function isRequest(message){let candidate=message;return candidate&&is.string(candidate.method)&&(is.string(candidate.id)||is.number(candidate.id))}Message2.isRequest=isRequest;function isNotification(message){let candidate=message;return candidate&&is.string(candidate.method)&&message.id===void 0}Message2.isNotification=isNotification;function isResponse(message){let candidate=message;return candidate&&(candidate.result!==void 0||!!candidate.error)&&(is.string(candidate.id)||is.number(candidate.id)||candidate.id===null)}Message2.isResponse=isResponse})(Message||(exports.Message=Message={}))}});var require_linkedMap2=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/linkedMap.js"(exports){"use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0});exports.LRUCache=exports.LinkedMap=exports.Touch=void 0;var Touch;(function(Touch2){Touch2.None=0,Touch2.First=1,Touch2.AsOld=Touch2.First,Touch2.Last=2,Touch2.AsNew=Touch2.Last})(Touch||(exports.Touch=Touch={}));var LinkedMap=class{constructor(){this[_a]="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(){return this._head?.value}get last(){return this._tail?.value}has(key){return this._map.has(key)}get(key,touch=Touch.None){let item=this._map.get(key);if(item)return touch!==Touch.None&&this.touch(item,touch),item.value}set(key,value,touch=Touch.None){let item=this._map.get(key);if(item)item.value=value,touch!==Touch.None&&this.touch(item,touch);else{switch(item={key,value,next:void 0,previous:void 0},touch){case Touch.None:this.addItemLast(item);break;case Touch.First:this.addItemFirst(item);break;case Touch.Last: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){let item=this._map.get(key);if(item)return this._map.delete(key),this.removeItem(item),this._size--,item.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let item=this._head;return this._map.delete(item.key),this.removeItem(item),this._size--,item.value}forEach(callbackfn,thisArg){let state=this._state,current=this._head;for(;current;){if(thisArg?callbackfn.bind(thisArg)(current.value,current.key,this):callbackfn(current.value,current.key,this),this._state!==state)throw new Error("LinkedMap got modified during iteration.");current=current.next}}keys(){let state=this._state,current=this._head,iterator={[Symbol.iterator]:()=>iterator,next:()=>{if(this._state!==state)throw new Error("LinkedMap got modified during iteration.");if(current){let result={value:current.key,done:!1};return current=current.next,result}else return{value:void 0,done:!0}}};return iterator}values(){let state=this._state,current=this._head,iterator={[Symbol.iterator]:()=>iterator,next:()=>{if(this._state!==state)throw new Error("LinkedMap got modified during iteration.");if(current){let result={value:current.value,done:!1};return current=current.next,result}else return{value:void 0,done:!0}}};return iterator}entries(){let state=this._state,current=this._head,iterator={[Symbol.iterator]:()=>iterator,next:()=>{if(this._state!==state)throw new Error("LinkedMap got modified during iteration.");if(current){let result={value:[current.key,current.value],done:!1};return current=current.next,result}else return{value:void 0,done:!0}}};return iterator}[(_a=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(newSize){if(newSize>=this.size)return;if(newSize===0){this.clear();return}let current=this._head,currentSize=this.size;for(;current&¤tSize>newSize;)this._map.delete(current.key),current=current.next,currentSize--;this._head=current,this._size=currentSize,current&&(current.previous=void 0),this._state++}addItemFirst(item){if(!this._head&&!this._tail)this._tail=item;else if(this._head)item.next=this._head,this._head.previous=item;else throw new Error("Invalid list");this._head=item,this._state++}addItemLast(item){if(!this._head&&!this._tail)this._head=item;else if(this._tail)item.previous=this._tail,this._tail.next=item;else throw new Error("Invalid list");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{let next=item.next,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!==Touch.First&&touch!==Touch.Last)){if(touch===Touch.First){if(item===this._head)return;let next=item.next,previous=item.previous;item===this._tail?(previous.next=void 0,this._tail=previous):(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===Touch.Last){if(item===this._tail)return;let next=item.next,previous=item.previous;item===this._head?(next.previous=void 0,this._head=next):(next.previous=previous,previous.next=next),item.next=void 0,item.previous=this._tail,this._tail.next=item,this._tail=item,this._state++}}}toJSON(){let data=[];return this.forEach((value,key)=>{data.push([key,value])}),data}fromJSON(data){this.clear();for(let[key,value]of data)this.set(key,value)}};exports.LinkedMap=LinkedMap;var 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 ratio(){return this._ratio}set ratio(ratio){this._ratio=Math.min(Math.max(0,ratio),1),this.checkTrim()}get(key,touch=Touch.AsNew){return super.get(key,touch)}peek(key){return super.get(key,Touch.None)}set(key,value){return super.set(key,value,Touch.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};exports.LRUCache=LRUCache}});var require_disposable2=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/disposable.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.Disposable=void 0;var Disposable;(function(Disposable2){function create(func){return{dispose:func}}Disposable2.create=create})(Disposable||(exports.Disposable=Disposable={}))}});var require_ral2=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/ral.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _ral;function RAL(){if(_ral===void 0)throw new Error("No runtime abstraction layer installed");return _ral}(function(RAL2){function install(ral){if(ral===void 0)throw new Error("No runtime abstraction layer provided");_ral=ral}RAL2.install=install})(RAL||(RAL={}));exports.default=RAL}});var require_events2=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/events.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.Emitter=exports.Event=void 0;var ral_1=require_ral2(),Event;(function(Event2){let _disposable={dispose(){}};Event2.None=function(){return _disposable}})(Event||(exports.Event=Event={}));var CallbackList=class{add(callback,context=null,bucket){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(callback),this._contexts.push(context),Array.isArray(bucket)&&bucket.push({dispose:()=>this.remove(callback,context)})}remove(callback,context=null){if(!this._callbacks)return;let foundCallbackWithDifferentContext=!1;for(let i=0,len=this._callbacks.length;i<len;i++)if(this._callbacks[i]===callback)if(this._contexts[i]===context){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else foundCallbackWithDifferentContext=!0;if(foundCallbackWithDifferentContext)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...args){if(!this._callbacks)return[];let ret=[],callbacks=this._callbacks.slice(0),contexts=this._contexts.slice(0);for(let i=0,len=callbacks.length;i<len;i++)try{ret.push(callbacks[i].apply(contexts[i],args))}catch(e){(0,ral_1.default)().console.error(e)}return ret}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},Emitter=class _Emitter{constructor(_options){this._options=_options}get event(){return this._event||(this._event=(listener,thisArgs,disposables)=>{this._callbacks||(this._callbacks=new CallbackList),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(listener,thisArgs);let result={dispose:()=>{this._callbacks&&(this._callbacks.remove(listener,thisArgs),result.dispose=_Emitter._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(disposables)&&disposables.push(result),result}),this._event}fire(event){this._callbacks&&this._callbacks.invoke.call(this._callbacks,event)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};exports.Emitter=Emitter;Emitter._noop=function(){}}});var require_cancellation2=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/cancellation.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.CancellationTokenSource=exports.CancellationToken=void 0;var ral_1=require_ral2(),Is3=require_is4(),events_1=require_events2(),CancellationToken;(function(CancellationToken2){CancellationToken2.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:events_1.Event.None}),CancellationToken2.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:events_1.Event.None});function is(value){let candidate=value;return candidate&&(candidate===CancellationToken2.None||candidate===CancellationToken2.Cancelled||Is3.boolean(candidate.isCancellationRequested)&&!!candidate.onCancellationRequested)}CancellationToken2.is=is})(CancellationToken||(exports.CancellationToken=CancellationToken={}));var shortcutEvent=Object.freeze(function(callback,context){let handle=(0,ral_1.default)().timer.setTimeout(callback.bind(context),0);return{dispose(){handle.dispose()}}}),MutableToken=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?shortcutEvent:(this._emitter||(this._emitter=new events_1.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},CancellationTokenSource=class{get token(){return this._token||(this._token=new MutableToken),this._token}cancel(){this._token?this._token.cancel():this._token=CancellationToken.Cancelled}dispose(){this._token?this._token instanceof MutableToken&&this._token.dispose():this._token=CancellationToken.None}};exports.CancellationTokenSource=CancellationTokenSource}});var require_sharedArrayCancellation2=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.SharedArrayReceiverStrategy=exports.SharedArraySenderStrategy=void 0;var cancellation_1=require_cancellation2(),CancellationState;(function(CancellationState2){CancellationState2.Continue=0,CancellationState2.Cancelled=1})(CancellationState||(CancellationState={}));var SharedArraySenderStrategy=class{constructor(){this.buffers=new Map}enableCancellation(request){if(request.id===null)return;let buffer=new SharedArrayBuffer(4),data=new Int32Array(buffer,0,1);data[0]=CancellationState.Continue,this.buffers.set(request.id,buffer),request.$cancellationData=buffer}async sendCancellation(_conn,id){let buffer=this.buffers.get(id);if(buffer===void 0)return;let data=new Int32Array(buffer,0,1);Atomics.store(data,0,CancellationState.Cancelled)}cleanup(id){this.buffers.delete(id)}dispose(){this.buffers.clear()}};exports.SharedArraySenderStrategy=SharedArraySenderStrategy;var SharedArrayBufferCancellationToken=class{constructor(buffer){this.data=new Int32Array(buffer,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===CancellationState.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},SharedArrayBufferCancellationTokenSource=class{constructor(buffer){this.token=new SharedArrayBufferCancellationToken(buffer)}cancel(){}dispose(){}},SharedArrayReceiverStrategy=class{constructor(){this.kind="request"}createCancellationTokenSource(request){let buffer=request.$cancellationData;return buffer===void 0?new cancellation_1.CancellationTokenSource:new SharedArrayBufferCancellationTokenSource(buffer)}};exports.SharedArrayReceiverStrategy=SharedArrayReceiverStrategy}});var require_semaphore2=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/semaphore.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.Semaphore=void 0;var ral_1=require_ral2(),Semaphore=class{constructor(capacity=1){if(capacity<=0)throw new Error("Capacity must be greater than 0");this._capacity=capacity,this._active=0,this._waiting=[]}lock(thunk){return new Promise((resolve,reject)=>{this._waiting.push({thunk,resolve,reject}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,ral_1.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let next=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let result=next.thunk();result instanceof Promise?result.then(value=>{this._active--,next.resolve(value),this.runNext()},err=>{this._active--,next.reject(err),this.runNext()}):(this._active--,next.resolve(result),this.runNext())}catch(err){this._active--,next.reject(err),this.runNext()}}};exports.Semaphore=Semaphore}});var require_messageReader2=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/messageReader.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ReadableStreamMessageReader=exports.AbstractMessageReader=exports.MessageReader=void 0;var ral_1=require_ral2(),Is3=require_is4(),events_1=require_events2(),semaphore_1=require_semaphore2(),MessageReader;(function(MessageReader2){function is(value){let candidate=value;return candidate&&Is3.func(candidate.listen)&&Is3.func(candidate.dispose)&&Is3.func(candidate.onError)&&Is3.func(candidate.onClose)&&Is3.func(candidate.onPartialMessage)}MessageReader2.is=is})(MessageReader||(exports.MessageReader=MessageReader={}));var AbstractMessageReader=class{constructor(){this.errorEmitter=new events_1.Emitter,this.closeEmitter=new events_1.Emitter,this.partialMessageEmitter=new events_1.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(error){this.errorEmitter.fire(this.asError(error))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(info){this.partialMessageEmitter.fire(info)}asError(error){return error instanceof Error?error:new Error(`Reader received error. Reason: ${Is3.string(error.message)?error.message:"unknown"}`)}};exports.AbstractMessageReader=AbstractMessageReader;var ResolvedMessageReaderOptions;(function(ResolvedMessageReaderOptions2){function fromOptions(options){let charset,result,contentDecoder,contentDecoders=new Map,contentTypeDecoder,contentTypeDecoders=new Map;if(options===void 0||typeof options=="string")charset=options??"utf-8";else{if(charset=options.charset??"utf-8",options.contentDecoder!==void 0&&(contentDecoder=options.contentDecoder,contentDecoders.set(contentDecoder.name,contentDecoder)),options.contentDecoders!==void 0)for(let decoder of options.contentDecoders)contentDecoders.set(decoder.name,decoder);if(options.contentTypeDecoder!==void 0&&(contentTypeDecoder=options.contentTypeDecoder,contentTypeDecoders.set(contentTypeDecoder.name,contentTypeDecoder)),options.contentTypeDecoders!==void 0)for(let decoder of options.contentTypeDecoders)contentTypeDecoders.set(decoder.name,decoder)}return contentTypeDecoder===void 0&&(contentTypeDecoder=(0,ral_1.default)().applicationJson.decoder,contentTypeDecoders.set(contentTypeDecoder.name,contentTypeDecoder)),{charset,contentDecoder,contentDecoders,contentTypeDecoder,contentTypeDecoders}}ResolvedMessageReaderOptions2.fromOptions=fromOptions})(ResolvedMessageReaderOptions||(ResolvedMessageReaderOptions={}));var ReadableStreamMessageReader=class extends AbstractMessageReader{constructor(readable,options){super(),this.readable=readable,this.options=ResolvedMessageReaderOptions.fromOptions(options),this.buffer=(0,ral_1.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new semaphore_1.Semaphore(1)}set partialMessageTimeout(timeout){this._partialMessageTimeout=timeout}get partialMessageTimeout(){return this._partialMessageTimeout}listen(callback){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=callback;let result=this.readable.onData(data=>{this.onData(data)});return this.readable.onError(error=>this.fireError(error)),this.readable.onClose(()=>this.fireClose()),result}onData(data){try{for(this.buffer.append(data);;){if(this.nextMessageLength===-1){let headers=this.buffer.tryReadHeaders(!0);if(!headers)return;let contentLength=headers.get("content-length");if(!contentLength){this.fireError(new Error(`Header must provide a Content-Length property.
|
|
36
12
|
${JSON.stringify(Object.fromEntries(headers))}`));return}let length=parseInt(contentLength);if(isNaN(length)){this.fireError(new Error(`Content-Length value must be a number. Got ${contentLength}`));return}this.nextMessageLength=length}let body=this.buffer.tryReadBody(this.nextMessageLength);if(body===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let bytes=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(body):body,message=await this.options.contentTypeDecoder.decode(bytes,this.options);this.callback(message)}).catch(error=>{this.fireError(error)})}}catch(error){this.fireError(error)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,ral_1.default)().timer.setTimeout((token,timeout)=>{this.partialMessageTimer=void 0,token===this.messageToken&&(this.firePartialMessage({messageToken:token,waitingTime:timeout}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};exports.ReadableStreamMessageReader=ReadableStreamMessageReader}});var require_messageWriter2=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/messageWriter.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.WriteableStreamMessageWriter=exports.AbstractMessageWriter=exports.MessageWriter=void 0;var ral_1=require_ral2(),Is3=require_is4(),semaphore_1=require_semaphore2(),events_1=require_events2(),ContentLength="Content-Length: ",CRLF=`\r
|
|
37
13
|
`,MessageWriter;(function(MessageWriter2){function is(value){let candidate=value;return candidate&&Is3.func(candidate.dispose)&&Is3.func(candidate.onClose)&&Is3.func(candidate.onError)&&Is3.func(candidate.write)}MessageWriter2.is=is})(MessageWriter||(exports.MessageWriter=MessageWriter={}));var AbstractMessageWriter=class{constructor(){this.errorEmitter=new events_1.Emitter,this.closeEmitter=new events_1.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(error,message,count){this.errorEmitter.fire([this.asError(error),message,count])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(error){return error instanceof Error?error:new Error(`Writer received error. Reason: ${Is3.string(error.message)?error.message:"unknown"}`)}};exports.AbstractMessageWriter=AbstractMessageWriter;var ResolvedMessageWriterOptions;(function(ResolvedMessageWriterOptions2){function fromOptions(options){return options===void 0||typeof options=="string"?{charset:options??"utf-8",contentTypeEncoder:(0,ral_1.default)().applicationJson.encoder}:{charset:options.charset??"utf-8",contentEncoder:options.contentEncoder,contentTypeEncoder:options.contentTypeEncoder??(0,ral_1.default)().applicationJson.encoder}}ResolvedMessageWriterOptions2.fromOptions=fromOptions})(ResolvedMessageWriterOptions||(ResolvedMessageWriterOptions={}));var WriteableStreamMessageWriter=class extends AbstractMessageWriter{constructor(writable,options){super(),this.writable=writable,this.options=ResolvedMessageWriterOptions.fromOptions(options),this.errorCount=0,this.writeSemaphore=new semaphore_1.Semaphore(1),this.writable.onError(error=>this.fireError(error)),this.writable.onClose(()=>this.fireClose())}async write(msg){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(msg,this.options).then(buffer=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(buffer):buffer).then(buffer=>{let headers=[];return headers.push(ContentLength,buffer.byteLength.toString(),CRLF),headers.push(CRLF),this.doWrite(msg,headers,buffer)},error=>{throw this.fireError(error),error}))}async doWrite(msg,headers,data){try{return await this.writable.write(headers.join(""),"ascii"),this.writable.write(data)}catch(error){return this.handleError(error,msg),Promise.reject(error)}}handleError(error,msg){this.errorCount++,this.fireError(error,msg,this.errorCount)}end(){this.writable.end()}};exports.WriteableStreamMessageWriter=WriteableStreamMessageWriter}});var require_messageBuffer2=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.AbstractMessageBuffer=void 0;var CR=13,LF=10,CRLF=`\r
|
|
38
14
|
`,AbstractMessageBuffer=class{constructor(encoding="utf-8"){this._encoding=encoding,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(chunk){let toAppend=typeof chunk=="string"?this.fromString(chunk,this._encoding):chunk;this._chunks.push(toAppend),this._totalLength+=toAppend.byteLength}tryReadHeaders(lowerCaseKeys=!1){if(this._chunks.length===0)return;let state=0,chunkIndex=0,offset=0,chunkBytesRead=0;row:for(;chunkIndex<this._chunks.length;){let chunk=this._chunks[chunkIndex];for(offset=0;offset<chunk.length;){switch(chunk[offset]){case CR:switch(state){case 0:state=1;break;case 2:state=3;break;default:state=0}break;case LF:switch(state){case 1:state=2;break;case 3:state=4,offset++;break row;default:state=0}break;default:state=0}offset++}chunkBytesRead+=chunk.byteLength,chunkIndex++}if(state!==4)return;let buffer=this._read(chunkBytesRead+offset),result=new Map,headers=this.toString(buffer,"ascii").split(CRLF);if(headers.length<2)return result;for(let i=0;i<headers.length-2;i++){let header=headers[i],index2=header.indexOf(":");if(index2===-1)throw new Error(`Message header must separate key and value using ':'
|
|
@@ -62,11 +38,11 @@ ${JSON.stringify(message,null,4)}`);let responseMessage=message;if(Is3.string(re
|
|
|
62
38
|
|
|
63
39
|
`:message.error===void 0&&(data=`No result returned.
|
|
64
40
|
|
|
65
|
-
`)),responsePromise){let error=message.error?` Request failed: ${message.error.message} (${message.error.code}).`:"";tracer.log(`Received response '${responsePromise.method} - (${message.id})' in ${Date.now()-responsePromise.timerStart}ms.${error}`,data)}else tracer.log(`Received response ${message.id} without active response promise.`,data)}else logLSPMessage("receive-response",message)}function logLSPMessage(type,message){if(!tracer||trace===Trace.Off)return;let lspMessage={isLSPMessage:!0,type,message,timestamp:Date.now()};tracer.log(lspMessage)}function throwIfClosedOrDisposed(){if(isClosed())throw new ConnectionError(ConnectionErrors.Closed,"Connection is closed.");if(isDisposed())throw new ConnectionError(ConnectionErrors.Disposed,"Connection is disposed.")}function throwIfListening(){if(isListening())throw new ConnectionError(ConnectionErrors.AlreadyListening,"Connection is already listening")}function throwIfNotListening(){if(!isListening())throw new Error("Call listen() first.")}function undefinedToNull(param){return param===void 0?null:param}function nullToUndefined(param){if(param!==null)return param}function isNamedParam(param){return param!=null&&!Array.isArray(param)&&typeof param=="object"}function computeSingleParam(parameterStructures,param){switch(parameterStructures){case messages_1.ParameterStructures.auto:return isNamedParam(param)?nullToUndefined(param):[undefinedToNull(param)];case messages_1.ParameterStructures.byName:if(!isNamedParam(param))throw new Error("Received parameters by name but param is not an object literal.");return nullToUndefined(param);case messages_1.ParameterStructures.byPosition:return[undefinedToNull(param)];default:throw new Error(`Unknown parameter structure ${parameterStructures.toString()}`)}}function computeMessageParams(type,params){let result,numberOfParams=type.numberOfParams;switch(numberOfParams){case 0:result=void 0;break;case 1:result=computeSingleParam(type.parameterStructures,params[0]);break;default:result=[];for(let i=0;i<params.length&&i<numberOfParams;i++)result.push(undefinedToNull(params[i]));if(params.length<numberOfParams)for(let i=params.length;i<numberOfParams;i++)result.push(null);break}return result}let connection2={sendNotification:(type,...args)=>{throwIfClosedOrDisposed();let method,messageParams;if(Is3.string(type)){method=type;let first=args[0],paramStart=0,parameterStructures=messages_1.ParameterStructures.auto;messages_1.ParameterStructures.is(first)&&(paramStart=1,parameterStructures=first);let paramEnd=args.length,numberOfParams=paramEnd-paramStart;switch(numberOfParams){case 0:messageParams=void 0;break;case 1:messageParams=computeSingleParam(parameterStructures,args[paramStart]);break;default:if(parameterStructures===messages_1.ParameterStructures.byName)throw new Error(`Received ${numberOfParams} parameters for 'by Name' notification parameter structure.`);messageParams=args.slice(paramStart,paramEnd).map(value=>undefinedToNull(value));break}}else{let params=args;method=type.method,messageParams=computeMessageParams(type,params)}let notificationMessage={jsonrpc:version,method,params:messageParams};return traceSendingNotification(notificationMessage),messageWriter.write(notificationMessage).catch(error=>{throw logger.error("Sending notification failed."),error})},onNotification:(type,handler)=>{throwIfClosedOrDisposed();let method;return Is3.func(type)?starNotificationHandler=type:handler&&(Is3.string(type)?(method=type,notificationHandlers.set(type,{type:void 0,handler})):(method=type.method,notificationHandlers.set(type.method,{type,handler}))),{dispose:()=>{method!==void 0?notificationHandlers.delete(method):starNotificationHandler=void 0}}},onProgress:(_type,token,handler)=>{if(progressHandlers.has(token))throw new Error(`Progress handler for token ${token} already registered`);return progressHandlers.set(token,handler),{dispose:()=>{progressHandlers.delete(token)}}},sendProgress:(_type,token,value)=>connection2.sendNotification(ProgressNotification.type,{token,value}),onUnhandledProgress:unhandledProgressEmitter.event,sendRequest:(type,...args)=>{throwIfClosedOrDisposed(),throwIfNotListening();let method,messageParams,token;if(Is3.string(type)){method=type;let first=args[0],last=args[args.length-1],paramStart=0,parameterStructures=messages_1.ParameterStructures.auto;messages_1.ParameterStructures.is(first)&&(paramStart=1,parameterStructures=first);let paramEnd=args.length;cancellation_1.CancellationToken.is(last)&&(paramEnd=paramEnd-1,token=last);let numberOfParams=paramEnd-paramStart;switch(numberOfParams){case 0:messageParams=void 0;break;case 1:messageParams=computeSingleParam(parameterStructures,args[paramStart]);break;default:if(parameterStructures===messages_1.ParameterStructures.byName)throw new Error(`Received ${numberOfParams} parameters for 'by Name' request parameter structure.`);messageParams=args.slice(paramStart,paramEnd).map(value=>undefinedToNull(value));break}}else{let params=args;method=type.method,messageParams=computeMessageParams(type,params);let numberOfParams=type.numberOfParams;token=cancellation_1.CancellationToken.is(params[numberOfParams])?params[numberOfParams]:void 0}let id=sequenceNumber++,disposable;token&&(disposable=token.onCancellationRequested(()=>{let p=cancellationStrategy.sender.sendCancellation(connection2,id);return p===void 0?(logger.log(`Received no promise from cancellation strategy when cancelling id ${id}`),Promise.resolve()):p.catch(()=>{logger.log(`Sending cancellation messages for id ${id} failed`)})}));let requestMessage={jsonrpc:version,id,method,params:messageParams};return traceSendingRequest(requestMessage),typeof cancellationStrategy.sender.enableCancellation=="function"&&cancellationStrategy.sender.enableCancellation(requestMessage),new Promise(async(resolve,reject)=>{let resolveWithCleanup=r=>{resolve(r),cancellationStrategy.sender.cleanup(id),disposable?.dispose()},rejectWithCleanup=r=>{reject(r),cancellationStrategy.sender.cleanup(id),disposable?.dispose()},responsePromise={method,timerStart:Date.now(),resolve:resolveWithCleanup,reject:rejectWithCleanup};try{await messageWriter.write(requestMessage),responsePromises.set(id,responsePromise)}catch(error){throw logger.error("Sending request failed."),responsePromise.reject(new messages_1.ResponseError(messages_1.ErrorCodes.MessageWriteError,error.message?error.message:"Unknown reason")),error}})},onRequest:(type,handler)=>{throwIfClosedOrDisposed();let method=null;return StarRequestHandler.is(type)?(method=void 0,starRequestHandler=type):Is3.string(type)?(method=null,handler!==void 0&&(method=type,requestHandlers.set(type,{handler,type:void 0}))):handler!==void 0&&(method=type.method,requestHandlers.set(type.method,{type,handler})),{dispose:()=>{method!==null&&(method!==void 0?requestHandlers.delete(method):starRequestHandler=void 0)}}},hasPendingResponse:()=>responsePromises.size>0,trace:async(_value,_tracer,sendNotificationOrTraceOptions)=>{let _sendNotification=!1,_traceFormat=TraceFormat.Text;sendNotificationOrTraceOptions!==void 0&&(Is3.boolean(sendNotificationOrTraceOptions)?_sendNotification=sendNotificationOrTraceOptions:(_sendNotification=sendNotificationOrTraceOptions.sendNotification||!1,_traceFormat=sendNotificationOrTraceOptions.traceFormat||TraceFormat.Text)),trace=_value,traceFormat=_traceFormat,trace===Trace.Off?tracer=void 0:tracer=_tracer,_sendNotification&&!isClosed()&&!isDisposed()&&await connection2.sendNotification(SetTraceNotification.type,{value:Trace.toString(_value)})},onError:errorEmitter.event,onClose:closeEmitter.event,onUnhandledNotification:unhandledNotificationEmitter.event,onDispose:disposeEmitter.event,end:()=>{messageWriter.end()},dispose:()=>{if(isDisposed())return;state=ConnectionState.Disposed,disposeEmitter.fire(void 0);let error=new messages_1.ResponseError(messages_1.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let promise of responsePromises.values())promise.reject(error);responsePromises=new Map,requestTokens=new Map,knownCanceledRequests=new Set,messageQueue=new linkedMap_1.LinkedMap,Is3.func(messageWriter.dispose)&&messageWriter.dispose(),Is3.func(messageReader.dispose)&&messageReader.dispose()},listen:()=>{throwIfClosedOrDisposed(),throwIfListening(),state=ConnectionState.Listening,messageReader.listen(callback)},inspect:()=>{(0,ral_1.default)().console.log("inspect")}};return connection2.onNotification(LogTraceNotification.type,params=>{if(trace===Trace.Off||!tracer)return;let verbose=trace===Trace.Verbose||trace===Trace.Compact;tracer.log(params.message,verbose?params.verbose:void 0)}),connection2.onNotification(ProgressNotification.type,params=>{let handler=progressHandlers.get(params.token);handler?handler(params.value):unhandledProgressEmitter.fire(params)}),connection2}exports.createMessageConnection=createMessageConnection}});var require_api4=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/api.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ProgressType=exports.ProgressToken=exports.createMessageConnection=exports.NullLogger=exports.ConnectionOptions=exports.ConnectionStrategy=exports.AbstractMessageBuffer=exports.WriteableStreamMessageWriter=exports.AbstractMessageWriter=exports.MessageWriter=exports.ReadableStreamMessageReader=exports.AbstractMessageReader=exports.MessageReader=exports.SharedArrayReceiverStrategy=exports.SharedArraySenderStrategy=exports.CancellationToken=exports.CancellationTokenSource=exports.Emitter=exports.Event=exports.Disposable=exports.LRUCache=exports.Touch=exports.LinkedMap=exports.ParameterStructures=exports.NotificationType9=exports.NotificationType8=exports.NotificationType7=exports.NotificationType6=exports.NotificationType5=exports.NotificationType4=exports.NotificationType3=exports.NotificationType2=exports.NotificationType1=exports.NotificationType0=exports.NotificationType=exports.ErrorCodes=exports.ResponseError=exports.RequestType9=exports.RequestType8=exports.RequestType7=exports.RequestType6=exports.RequestType5=exports.RequestType4=exports.RequestType3=exports.RequestType2=exports.RequestType1=exports.RequestType0=exports.RequestType=exports.Message=exports.RAL=void 0;exports.MessageStrategy=exports.CancellationStrategy=exports.CancellationSenderStrategy=exports.CancellationReceiverStrategy=exports.ConnectionError=exports.ConnectionErrors=exports.LogTraceNotification=exports.SetTraceNotification=exports.TraceFormat=exports.TraceValues=exports.Trace=void 0;var messages_1=require_messages3();Object.defineProperty(exports,"Message",{enumerable:!0,get:function(){return messages_1.Message}});Object.defineProperty(exports,"RequestType",{enumerable:!0,get:function(){return messages_1.RequestType}});Object.defineProperty(exports,"RequestType0",{enumerable:!0,get:function(){return messages_1.RequestType0}});Object.defineProperty(exports,"RequestType1",{enumerable:!0,get:function(){return messages_1.RequestType1}});Object.defineProperty(exports,"RequestType2",{enumerable:!0,get:function(){return messages_1.RequestType2}});Object.defineProperty(exports,"RequestType3",{enumerable:!0,get:function(){return messages_1.RequestType3}});Object.defineProperty(exports,"RequestType4",{enumerable:!0,get:function(){return messages_1.RequestType4}});Object.defineProperty(exports,"RequestType5",{enumerable:!0,get:function(){return messages_1.RequestType5}});Object.defineProperty(exports,"RequestType6",{enumerable:!0,get:function(){return messages_1.RequestType6}});Object.defineProperty(exports,"RequestType7",{enumerable:!0,get:function(){return messages_1.RequestType7}});Object.defineProperty(exports,"RequestType8",{enumerable:!0,get:function(){return messages_1.RequestType8}});Object.defineProperty(exports,"RequestType9",{enumerable:!0,get:function(){return messages_1.RequestType9}});Object.defineProperty(exports,"ResponseError",{enumerable:!0,get:function(){return messages_1.ResponseError}});Object.defineProperty(exports,"ErrorCodes",{enumerable:!0,get:function(){return messages_1.ErrorCodes}});Object.defineProperty(exports,"NotificationType",{enumerable:!0,get:function(){return messages_1.NotificationType}});Object.defineProperty(exports,"NotificationType0",{enumerable:!0,get:function(){return messages_1.NotificationType0}});Object.defineProperty(exports,"NotificationType1",{enumerable:!0,get:function(){return messages_1.NotificationType1}});Object.defineProperty(exports,"NotificationType2",{enumerable:!0,get:function(){return messages_1.NotificationType2}});Object.defineProperty(exports,"NotificationType3",{enumerable:!0,get:function(){return messages_1.NotificationType3}});Object.defineProperty(exports,"NotificationType4",{enumerable:!0,get:function(){return messages_1.NotificationType4}});Object.defineProperty(exports,"NotificationType5",{enumerable:!0,get:function(){return messages_1.NotificationType5}});Object.defineProperty(exports,"NotificationType6",{enumerable:!0,get:function(){return messages_1.NotificationType6}});Object.defineProperty(exports,"NotificationType7",{enumerable:!0,get:function(){return messages_1.NotificationType7}});Object.defineProperty(exports,"NotificationType8",{enumerable:!0,get:function(){return messages_1.NotificationType8}});Object.defineProperty(exports,"NotificationType9",{enumerable:!0,get:function(){return messages_1.NotificationType9}});Object.defineProperty(exports,"ParameterStructures",{enumerable:!0,get:function(){return messages_1.ParameterStructures}});var linkedMap_1=require_linkedMap2();Object.defineProperty(exports,"LinkedMap",{enumerable:!0,get:function(){return linkedMap_1.LinkedMap}});Object.defineProperty(exports,"LRUCache",{enumerable:!0,get:function(){return linkedMap_1.LRUCache}});Object.defineProperty(exports,"Touch",{enumerable:!0,get:function(){return linkedMap_1.Touch}});var disposable_1=require_disposable2();Object.defineProperty(exports,"Disposable",{enumerable:!0,get:function(){return disposable_1.Disposable}});var events_1=require_events2();Object.defineProperty(exports,"Event",{enumerable:!0,get:function(){return events_1.Event}});Object.defineProperty(exports,"Emitter",{enumerable:!0,get:function(){return events_1.Emitter}});var cancellation_1=require_cancellation2();Object.defineProperty(exports,"CancellationTokenSource",{enumerable:!0,get:function(){return cancellation_1.CancellationTokenSource}});Object.defineProperty(exports,"CancellationToken",{enumerable:!0,get:function(){return cancellation_1.CancellationToken}});var sharedArrayCancellation_1=require_sharedArrayCancellation2();Object.defineProperty(exports,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return sharedArrayCancellation_1.SharedArraySenderStrategy}});Object.defineProperty(exports,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return sharedArrayCancellation_1.SharedArrayReceiverStrategy}});var messageReader_1=require_messageReader2();Object.defineProperty(exports,"MessageReader",{enumerable:!0,get:function(){return messageReader_1.MessageReader}});Object.defineProperty(exports,"AbstractMessageReader",{enumerable:!0,get:function(){return messageReader_1.AbstractMessageReader}});Object.defineProperty(exports,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return messageReader_1.ReadableStreamMessageReader}});var messageWriter_1=require_messageWriter2();Object.defineProperty(exports,"MessageWriter",{enumerable:!0,get:function(){return messageWriter_1.MessageWriter}});Object.defineProperty(exports,"AbstractMessageWriter",{enumerable:!0,get:function(){return messageWriter_1.AbstractMessageWriter}});Object.defineProperty(exports,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return messageWriter_1.WriteableStreamMessageWriter}});var messageBuffer_1=require_messageBuffer2();Object.defineProperty(exports,"AbstractMessageBuffer",{enumerable:!0,get:function(){return messageBuffer_1.AbstractMessageBuffer}});var connection_1=require_connection3();Object.defineProperty(exports,"ConnectionStrategy",{enumerable:!0,get:function(){return connection_1.ConnectionStrategy}});Object.defineProperty(exports,"ConnectionOptions",{enumerable:!0,get:function(){return connection_1.ConnectionOptions}});Object.defineProperty(exports,"NullLogger",{enumerable:!0,get:function(){return connection_1.NullLogger}});Object.defineProperty(exports,"createMessageConnection",{enumerable:!0,get:function(){return connection_1.createMessageConnection}});Object.defineProperty(exports,"ProgressToken",{enumerable:!0,get:function(){return connection_1.ProgressToken}});Object.defineProperty(exports,"ProgressType",{enumerable:!0,get:function(){return connection_1.ProgressType}});Object.defineProperty(exports,"Trace",{enumerable:!0,get:function(){return connection_1.Trace}});Object.defineProperty(exports,"TraceValues",{enumerable:!0,get:function(){return connection_1.TraceValues}});Object.defineProperty(exports,"TraceFormat",{enumerable:!0,get:function(){return connection_1.TraceFormat}});Object.defineProperty(exports,"SetTraceNotification",{enumerable:!0,get:function(){return connection_1.SetTraceNotification}});Object.defineProperty(exports,"LogTraceNotification",{enumerable:!0,get:function(){return connection_1.LogTraceNotification}});Object.defineProperty(exports,"ConnectionErrors",{enumerable:!0,get:function(){return connection_1.ConnectionErrors}});Object.defineProperty(exports,"ConnectionError",{enumerable:!0,get:function(){return connection_1.ConnectionError}});Object.defineProperty(exports,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return connection_1.CancellationReceiverStrategy}});Object.defineProperty(exports,"CancellationSenderStrategy",{enumerable:!0,get:function(){return connection_1.CancellationSenderStrategy}});Object.defineProperty(exports,"CancellationStrategy",{enumerable:!0,get:function(){return connection_1.CancellationStrategy}});Object.defineProperty(exports,"MessageStrategy",{enumerable:!0,get:function(){return connection_1.MessageStrategy}});var ral_1=require_ral2();exports.RAL=ral_1.default}});var require_ril2=__commonJS({"server/node_modules/vscode-jsonrpc/lib/browser/ril.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var api_1=require_api4(),MessageBuffer=class _MessageBuffer extends api_1.AbstractMessageBuffer{constructor(encoding="utf-8"){super(encoding),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return _MessageBuffer.emptyBuffer}fromString(value,_encoding){return new TextEncoder().encode(value)}toString(value,encoding){return encoding==="ascii"?this.asciiDecoder.decode(value):new TextDecoder(encoding).decode(value)}asNative(buffer,length){return length===void 0?buffer:buffer.slice(0,length)}allocNative(length){return new Uint8Array(length)}};MessageBuffer.emptyBuffer=new Uint8Array(0);var ReadableStreamWrapper=class{constructor(socket){this.socket=socket,this._onData=new api_1.Emitter,this._messageListener=event=>{event.data.arrayBuffer().then(buffer=>{this._onData.fire(new Uint8Array(buffer))},()=>{(0,api_1.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(listener){return this.socket.addEventListener("close",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("close",listener))}onError(listener){return this.socket.addEventListener("error",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("error",listener))}onEnd(listener){return this.socket.addEventListener("end",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("end",listener))}onData(listener){return this._onData.event(listener)}},WritableStreamWrapper=class{constructor(socket){this.socket=socket}onClose(listener){return this.socket.addEventListener("close",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("close",listener))}onError(listener){return this.socket.addEventListener("error",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("error",listener))}onEnd(listener){return this.socket.addEventListener("end",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("end",listener))}write(data,encoding){if(typeof data=="string"){if(encoding!==void 0&&encoding!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${encoding}`);this.socket.send(data)}else this.socket.send(data);return Promise.resolve()}end(){this.socket.close()}},_textEncoder=new TextEncoder,_ril=Object.freeze({messageBuffer:Object.freeze({create:encoding=>new MessageBuffer(encoding)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(msg,options)=>{if(options.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${options.charset}`);return Promise.resolve(_textEncoder.encode(JSON.stringify(msg,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(buffer,options)=>{if(!(buffer instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(options.charset).decode(buffer)))}})}),stream:Object.freeze({asReadableStream:socket=>new ReadableStreamWrapper(socket),asWritableStream:socket=>new WritableStreamWrapper(socket)}),console,timer:Object.freeze({setTimeout(callback,ms,...args){let handle=setTimeout(callback,ms,...args);return{dispose:()=>clearTimeout(handle)}},setImmediate(callback,...args){let handle=setTimeout(callback,0,...args);return{dispose:()=>clearTimeout(handle)}},setInterval(callback,ms,...args){let handle=setInterval(callback,ms,...args);return{dispose:()=>clearInterval(handle)}}})});function RIL(){return _ril}(function(RIL2){function install(){api_1.RAL.install(_ril)}RIL2.install=install})(RIL||(RIL={}));exports.default=RIL}});var require_main4=__commonJS({"server/node_modules/vscode-jsonrpc/lib/browser/main.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__exportStar=exports&&exports.__exportStar||function(m2,exports2){for(var p in m2)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m2,p)};Object.defineProperty(exports,"__esModule",{value:!0});exports.createMessageConnection=exports.BrowserMessageWriter=exports.BrowserMessageReader=void 0;var ril_1=require_ril2();ril_1.default.install();var api_1=require_api4();__exportStar(require_api4(),exports);var BrowserMessageReader2=class extends api_1.AbstractMessageReader{constructor(port){super(),this._onData=new api_1.Emitter,this._messageListener=event=>{this._onData.fire(event.data)},port.addEventListener("error",event=>this.fireError(event)),port.onmessage=this._messageListener}listen(callback){return this._onData.event(callback)}};exports.BrowserMessageReader=BrowserMessageReader2;var BrowserMessageWriter2=class extends api_1.AbstractMessageWriter{constructor(port){super(),this.port=port,this.errorCount=0,port.addEventListener("error",event=>this.fireError(event))}write(msg){try{return this.port.postMessage(msg),Promise.resolve()}catch(error){return this.handleError(error,msg),Promise.reject(error)}}handleError(error,msg){this.errorCount++,this.fireError(error,msg,this.errorCount)}end(){}};exports.BrowserMessageWriter=BrowserMessageWriter2;function createMessageConnection(reader,writer,logger,options){return logger===void 0&&(logger=api_1.NullLogger),api_1.ConnectionStrategy.is(options)&&(options={connectionStrategy:options}),(0,api_1.createMessageConnection)(reader,writer,logger,options)}exports.createMessageConnection=createMessageConnection}});var require_browser4=__commonJS({"server/node_modules/vscode-jsonrpc/browser.js"(exports,module){"use strict";module.exports=require_main4()}});var main_exports2={};__export(main_exports2,{AnnotatedTextEdit:()=>AnnotatedTextEdit2,ChangeAnnotation:()=>ChangeAnnotation2,ChangeAnnotationIdentifier:()=>ChangeAnnotationIdentifier2,CodeAction:()=>CodeAction2,CodeActionContext:()=>CodeActionContext2,CodeActionKind:()=>CodeActionKind2,CodeActionTriggerKind:()=>CodeActionTriggerKind2,CodeDescription:()=>CodeDescription2,CodeLens:()=>CodeLens2,Color:()=>Color2,ColorInformation:()=>ColorInformation2,ColorPresentation:()=>ColorPresentation2,Command:()=>Command2,CompletionItem:()=>CompletionItem2,CompletionItemKind:()=>CompletionItemKind2,CompletionItemLabelDetails:()=>CompletionItemLabelDetails2,CompletionItemTag:()=>CompletionItemTag2,CompletionList:()=>CompletionList2,CreateFile:()=>CreateFile2,DeleteFile:()=>DeleteFile2,Diagnostic:()=>Diagnostic2,DiagnosticRelatedInformation:()=>DiagnosticRelatedInformation2,DiagnosticSeverity:()=>DiagnosticSeverity2,DiagnosticTag:()=>DiagnosticTag2,DocumentHighlight:()=>DocumentHighlight2,DocumentHighlightKind:()=>DocumentHighlightKind2,DocumentLink:()=>DocumentLink2,DocumentSymbol:()=>DocumentSymbol2,DocumentUri:()=>DocumentUri2,EOL:()=>EOL2,FoldingRange:()=>FoldingRange2,FoldingRangeKind:()=>FoldingRangeKind2,FormattingOptions:()=>FormattingOptions2,Hover:()=>Hover2,InlayHint:()=>InlayHint2,InlayHintKind:()=>InlayHintKind2,InlayHintLabelPart:()=>InlayHintLabelPart2,InlineCompletionContext:()=>InlineCompletionContext2,InlineCompletionItem:()=>InlineCompletionItem2,InlineCompletionList:()=>InlineCompletionList2,InlineCompletionTriggerKind:()=>InlineCompletionTriggerKind2,InlineValueContext:()=>InlineValueContext2,InlineValueEvaluatableExpression:()=>InlineValueEvaluatableExpression2,InlineValueText:()=>InlineValueText2,InlineValueVariableLookup:()=>InlineValueVariableLookup2,InsertReplaceEdit:()=>InsertReplaceEdit2,InsertTextFormat:()=>InsertTextFormat2,InsertTextMode:()=>InsertTextMode2,Location:()=>Location2,LocationLink:()=>LocationLink2,MarkedString:()=>MarkedString2,MarkupContent:()=>MarkupContent2,MarkupKind:()=>MarkupKind2,OptionalVersionedTextDocumentIdentifier:()=>OptionalVersionedTextDocumentIdentifier2,ParameterInformation:()=>ParameterInformation2,Position:()=>Position2,Range:()=>Range2,RenameFile:()=>RenameFile2,SelectedCompletionInfo:()=>SelectedCompletionInfo2,SelectionRange:()=>SelectionRange2,SemanticTokenModifiers:()=>SemanticTokenModifiers2,SemanticTokenTypes:()=>SemanticTokenTypes2,SemanticTokens:()=>SemanticTokens2,SignatureInformation:()=>SignatureInformation2,StringValue:()=>StringValue2,SymbolInformation:()=>SymbolInformation2,SymbolKind:()=>SymbolKind2,SymbolTag:()=>SymbolTag2,TextDocument:()=>TextDocument3,TextDocumentEdit:()=>TextDocumentEdit2,TextDocumentIdentifier:()=>TextDocumentIdentifier2,TextDocumentItem:()=>TextDocumentItem2,TextEdit:()=>TextEdit2,URI:()=>URI2,VersionedTextDocumentIdentifier:()=>VersionedTextDocumentIdentifier2,WorkspaceChange:()=>WorkspaceChange2,WorkspaceEdit:()=>WorkspaceEdit2,WorkspaceFolder:()=>WorkspaceFolder2,WorkspaceSymbol:()=>WorkspaceSymbol2,integer:()=>integer2,uinteger:()=>uinteger2});var DocumentUri2,URI2,integer2,uinteger2,Position2,Range2,Location2,LocationLink2,Color2,ColorInformation2,ColorPresentation2,FoldingRangeKind2,FoldingRange2,DiagnosticRelatedInformation2,DiagnosticSeverity2,DiagnosticTag2,CodeDescription2,Diagnostic2,Command2,TextEdit2,ChangeAnnotation2,ChangeAnnotationIdentifier2,AnnotatedTextEdit2,TextDocumentEdit2,CreateFile2,RenameFile2,DeleteFile2,WorkspaceEdit2,TextEditChangeImpl2,ChangeAnnotations2,WorkspaceChange2,TextDocumentIdentifier2,VersionedTextDocumentIdentifier2,OptionalVersionedTextDocumentIdentifier2,TextDocumentItem2,MarkupKind2,MarkupContent2,CompletionItemKind2,InsertTextFormat2,CompletionItemTag2,InsertReplaceEdit2,InsertTextMode2,CompletionItemLabelDetails2,CompletionItem2,CompletionList2,MarkedString2,Hover2,ParameterInformation2,SignatureInformation2,DocumentHighlightKind2,DocumentHighlight2,SymbolKind2,SymbolTag2,SymbolInformation2,WorkspaceSymbol2,DocumentSymbol2,CodeActionKind2,CodeActionTriggerKind2,CodeActionContext2,CodeAction2,CodeLens2,FormattingOptions2,DocumentLink2,SelectionRange2,SemanticTokenTypes2,SemanticTokenModifiers2,SemanticTokens2,InlineValueText2,InlineValueVariableLookup2,InlineValueEvaluatableExpression2,InlineValueContext2,InlayHintKind2,InlayHintLabelPart2,InlayHint2,StringValue2,InlineCompletionItem2,InlineCompletionList2,InlineCompletionTriggerKind2,SelectedCompletionInfo2,InlineCompletionContext2,WorkspaceFolder2,EOL2,TextDocument3,FullTextDocument3,Is2,init_main2=__esm({"server/node_modules/vscode-languageserver-types/lib/esm/main.js"(){"use strict";(function(DocumentUri3){function is(value){return typeof value=="string"}DocumentUri3.is=is})(DocumentUri2||(DocumentUri2={}));(function(URI3){function is(value){return typeof value=="string"}URI3.is=is})(URI2||(URI2={}));(function(integer3){integer3.MIN_VALUE=-2147483648,integer3.MAX_VALUE=2147483647;function is(value){return typeof value=="number"&&integer3.MIN_VALUE<=value&&value<=integer3.MAX_VALUE}integer3.is=is})(integer2||(integer2={}));(function(uinteger3){uinteger3.MIN_VALUE=0,uinteger3.MAX_VALUE=2147483647;function is(value){return typeof value=="number"&&uinteger3.MIN_VALUE<=value&&value<=uinteger3.MAX_VALUE}uinteger3.is=is})(uinteger2||(uinteger2={}));(function(Position4){function create(line,character){return line===Number.MAX_VALUE&&(line=uinteger2.MAX_VALUE),character===Number.MAX_VALUE&&(character=uinteger2.MAX_VALUE),{line,character}}Position4.create=create;function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&Is2.uinteger(candidate.line)&&Is2.uinteger(candidate.character)}Position4.is=is})(Position2||(Position2={}));(function(Range4){function create(one,two,three,four){if(Is2.uinteger(one)&&Is2.uinteger(two)&&Is2.uinteger(three)&&Is2.uinteger(four))return{start:Position2.create(one,two),end:Position2.create(three,four)};if(Position2.is(one)&&Position2.is(two))return{start:one,end:two};throw new Error(`Range#create called with invalid arguments[${one}, ${two}, ${three}, ${four}]`)}Range4.create=create;function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&Position2.is(candidate.start)&&Position2.is(candidate.end)}Range4.is=is})(Range2||(Range2={}));(function(Location4){function create(uri,range){return{uri,range}}Location4.create=create;function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&Range2.is(candidate.range)&&(Is2.string(candidate.uri)||Is2.undefined(candidate.uri))}Location4.is=is})(Location2||(Location2={}));(function(LocationLink3){function create(targetUri,targetRange,targetSelectionRange,originSelectionRange){return{targetUri,targetRange,targetSelectionRange,originSelectionRange}}LocationLink3.create=create;function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&Range2.is(candidate.targetRange)&&Is2.string(candidate.targetUri)&&Range2.is(candidate.targetSelectionRange)&&(Range2.is(candidate.originSelectionRange)||Is2.undefined(candidate.originSelectionRange))}LocationLink3.is=is})(LocationLink2||(LocationLink2={}));(function(Color3){function create(red,green,blue,alpha){return{red,green,blue,alpha}}Color3.create=create;function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&Is2.numberRange(candidate.red,0,1)&&Is2.numberRange(candidate.green,0,1)&&Is2.numberRange(candidate.blue,0,1)&&Is2.numberRange(candidate.alpha,0,1)}Color3.is=is})(Color2||(Color2={}));(function(ColorInformation3){function create(range,color){return{range,color}}ColorInformation3.create=create;function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&Range2.is(candidate.range)&&Color2.is(candidate.color)}ColorInformation3.is=is})(ColorInformation2||(ColorInformation2={}));(function(ColorPresentation3){function create(label,textEdit,additionalTextEdits){return{label,textEdit,additionalTextEdits}}ColorPresentation3.create=create;function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&Is2.string(candidate.label)&&(Is2.undefined(candidate.textEdit)||TextEdit2.is(candidate))&&(Is2.undefined(candidate.additionalTextEdits)||Is2.typedArray(candidate.additionalTextEdits,TextEdit2.is))}ColorPresentation3.is=is})(ColorPresentation2||(ColorPresentation2={}));(function(FoldingRangeKind4){FoldingRangeKind4.Comment="comment",FoldingRangeKind4.Imports="imports",FoldingRangeKind4.Region="region"})(FoldingRangeKind2||(FoldingRangeKind2={}));(function(FoldingRange5){function create(startLine,endLine,startCharacter,endCharacter,kind,collapsedText){let result={startLine,endLine};return Is2.defined(startCharacter)&&(result.startCharacter=startCharacter),Is2.defined(endCharacter)&&(result.endCharacter=endCharacter),Is2.defined(kind)&&(result.kind=kind),Is2.defined(collapsedText)&&(result.collapsedText=collapsedText),result}FoldingRange5.create=create;function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&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))}FoldingRange5.is=is})(FoldingRange2||(FoldingRange2={}));(function(DiagnosticRelatedInformation3){function create(location,message){return{location,message}}DiagnosticRelatedInformation3.create=create;function is(value){let candidate=value;return Is2.defined(candidate)&&Location2.is(candidate.location)&&Is2.string(candidate.message)}DiagnosticRelatedInformation3.is=is})(DiagnosticRelatedInformation2||(DiagnosticRelatedInformation2={}));(function(DiagnosticSeverity7){DiagnosticSeverity7.Error=1,DiagnosticSeverity7.Warning=2,DiagnosticSeverity7.Information=3,DiagnosticSeverity7.Hint=4})(DiagnosticSeverity2||(DiagnosticSeverity2={}));(function(DiagnosticTag3){DiagnosticTag3.Unnecessary=1,DiagnosticTag3.Deprecated=2})(DiagnosticTag2||(DiagnosticTag2={}));(function(CodeDescription3){function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&Is2.string(candidate.href)}CodeDescription3.is=is})(CodeDescription2||(CodeDescription2={}));(function(Diagnostic7){function create(range,message,severity,code,source,relatedInformation){let result={range,message};return Is2.defined(severity)&&(result.severity=severity),Is2.defined(code)&&(result.code=code),Is2.defined(source)&&(result.source=source),Is2.defined(relatedInformation)&&(result.relatedInformation=relatedInformation),result}Diagnostic7.create=create;function is(value){var _a;let candidate=value;return Is2.defined(candidate)&&Range2.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((_a=candidate.codeDescription)===null||_a===void 0?void 0:_a.href))&&(Is2.string(candidate.source)||Is2.undefined(candidate.source))&&(Is2.undefined(candidate.relatedInformation)||Is2.typedArray(candidate.relatedInformation,DiagnosticRelatedInformation2.is))}Diagnostic7.is=is})(Diagnostic2||(Diagnostic2={}));(function(Command3){function create(title,command,...args){let result={title,command};return Is2.defined(args)&&args.length>0&&(result.arguments=args),result}Command3.create=create;function is(value){let candidate=value;return Is2.defined(candidate)&&Is2.string(candidate.title)&&Is2.string(candidate.command)}Command3.is=is})(Command2||(Command2={}));(function(TextEdit6){function replace(range,newText){return{range,newText}}TextEdit6.replace=replace;function insert(position,newText){return{range:{start:position,end:position},newText}}TextEdit6.insert=insert;function del(range){return{range,newText:""}}TextEdit6.del=del;function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&Is2.string(candidate.newText)&&Range2.is(candidate.range)}TextEdit6.is=is})(TextEdit2||(TextEdit2={}));(function(ChangeAnnotation3){function create(label,needsConfirmation,description){let result={label};return needsConfirmation!==void 0&&(result.needsConfirmation=needsConfirmation),description!==void 0&&(result.description=description),result}ChangeAnnotation3.create=create;function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&Is2.string(candidate.label)&&(Is2.boolean(candidate.needsConfirmation)||candidate.needsConfirmation===void 0)&&(Is2.string(candidate.description)||candidate.description===void 0)}ChangeAnnotation3.is=is})(ChangeAnnotation2||(ChangeAnnotation2={}));(function(ChangeAnnotationIdentifier3){function is(value){let candidate=value;return Is2.string(candidate)}ChangeAnnotationIdentifier3.is=is})(ChangeAnnotationIdentifier2||(ChangeAnnotationIdentifier2={}));(function(AnnotatedTextEdit3){function replace(range,newText,annotation){return{range,newText,annotationId:annotation}}AnnotatedTextEdit3.replace=replace;function insert(position,newText,annotation){return{range:{start:position,end:position},newText,annotationId:annotation}}AnnotatedTextEdit3.insert=insert;function del(range,annotation){return{range,newText:"",annotationId:annotation}}AnnotatedTextEdit3.del=del;function is(value){let candidate=value;return TextEdit2.is(candidate)&&(ChangeAnnotation2.is(candidate.annotationId)||ChangeAnnotationIdentifier2.is(candidate.annotationId))}AnnotatedTextEdit3.is=is})(AnnotatedTextEdit2||(AnnotatedTextEdit2={}));(function(TextDocumentEdit3){function create(textDocument,edits){return{textDocument,edits}}TextDocumentEdit3.create=create;function is(value){let candidate=value;return Is2.defined(candidate)&&OptionalVersionedTextDocumentIdentifier2.is(candidate.textDocument)&&Array.isArray(candidate.edits)}TextDocumentEdit3.is=is})(TextDocumentEdit2||(TextDocumentEdit2={}));(function(CreateFile3){function create(uri,options,annotation){let result={kind:"create",uri};return options!==void 0&&(options.overwrite!==void 0||options.ignoreIfExists!==void 0)&&(result.options=options),annotation!==void 0&&(result.annotationId=annotation),result}CreateFile3.create=create;function is(value){let 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))}CreateFile3.is=is})(CreateFile2||(CreateFile2={}));(function(RenameFile3){function create(oldUri,newUri,options,annotation){let result={kind:"rename",oldUri,newUri};return options!==void 0&&(options.overwrite!==void 0||options.ignoreIfExists!==void 0)&&(result.options=options),annotation!==void 0&&(result.annotationId=annotation),result}RenameFile3.create=create;function is(value){let 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))}RenameFile3.is=is})(RenameFile2||(RenameFile2={}));(function(DeleteFile3){function create(uri,options,annotation){let result={kind:"delete",uri};return options!==void 0&&(options.recursive!==void 0||options.ignoreIfNotExists!==void 0)&&(result.options=options),annotation!==void 0&&(result.annotationId=annotation),result}DeleteFile3.create=create;function is(value){let 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))}DeleteFile3.is=is})(DeleteFile2||(DeleteFile2={}));(function(WorkspaceEdit5){function is(value){let candidate=value;return candidate&&(candidate.changes!==void 0||candidate.documentChanges!==void 0)&&(candidate.documentChanges===void 0||candidate.documentChanges.every(change=>Is2.string(change.kind)?CreateFile2.is(change)||RenameFile2.is(change)||DeleteFile2.is(change):TextDocumentEdit2.is(change)))}WorkspaceEdit5.is=is})(WorkspaceEdit2||(WorkspaceEdit2={}));TextEditChangeImpl2=class{constructor(edits,changeAnnotations){this.edits=edits,this.changeAnnotations=changeAnnotations}insert(position,newText,annotation){let edit,id;if(annotation===void 0?edit=TextEdit2.insert(position,newText):ChangeAnnotationIdentifier2.is(annotation)?(id=annotation,edit=AnnotatedTextEdit2.insert(position,newText,annotation)):(this.assertChangeAnnotations(this.changeAnnotations),id=this.changeAnnotations.manage(annotation),edit=AnnotatedTextEdit2.insert(position,newText,id)),this.edits.push(edit),id!==void 0)return id}replace(range,newText,annotation){let edit,id;if(annotation===void 0?edit=TextEdit2.replace(range,newText):ChangeAnnotationIdentifier2.is(annotation)?(id=annotation,edit=AnnotatedTextEdit2.replace(range,newText,annotation)):(this.assertChangeAnnotations(this.changeAnnotations),id=this.changeAnnotations.manage(annotation),edit=AnnotatedTextEdit2.replace(range,newText,id)),this.edits.push(edit),id!==void 0)return id}delete(range,annotation){let edit,id;if(annotation===void 0?edit=TextEdit2.del(range):ChangeAnnotationIdentifier2.is(annotation)?(id=annotation,edit=AnnotatedTextEdit2.del(range,annotation)):(this.assertChangeAnnotations(this.changeAnnotations),id=this.changeAnnotations.manage(annotation),edit=AnnotatedTextEdit2.del(range,id)),this.edits.push(edit),id!==void 0)return id}add(edit){this.edits.push(edit)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(value){if(value===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}},ChangeAnnotations2=class{constructor(annotations){this._annotations=annotations===void 0?Object.create(null):annotations,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(idOrAnnotation,annotation){let id;if(ChangeAnnotationIdentifier2.is(idOrAnnotation)?id=idOrAnnotation:(id=this.nextId(),annotation=idOrAnnotation),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}`);return this._annotations[id]=annotation,this._size++,id}nextId(){return this._counter++,this._counter.toString()}},WorkspaceChange2=class{constructor(workspaceEdit){this._textEditChanges=Object.create(null),workspaceEdit!==void 0?(this._workspaceEdit=workspaceEdit,workspaceEdit.documentChanges?(this._changeAnnotations=new ChangeAnnotations2(workspaceEdit.changeAnnotations),workspaceEdit.changeAnnotations=this._changeAnnotations.all(),workspaceEdit.documentChanges.forEach(change=>{if(TextDocumentEdit2.is(change)){let textEditChange=new TextEditChangeImpl2(change.edits,this._changeAnnotations);this._textEditChanges[change.textDocument.uri]=textEditChange}})):workspaceEdit.changes&&Object.keys(workspaceEdit.changes).forEach(key=>{let textEditChange=new TextEditChangeImpl2(workspaceEdit.changes[key]);this._textEditChanges[key]=textEditChange})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(key){if(OptionalVersionedTextDocumentIdentifier2.is(key)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let textDocument={uri:key.uri,version:key.version},result=this._textEditChanges[textDocument.uri];if(!result){let edits=[],textDocumentEdit={textDocument,edits};this._workspaceEdit.documentChanges.push(textDocumentEdit),result=new TextEditChangeImpl2(edits,this._changeAnnotations),this._textEditChanges[textDocument.uri]=result}return result}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let result=this._textEditChanges[key];if(!result){let edits=[];this._workspaceEdit.changes[key]=edits,result=new TextEditChangeImpl2(edits),this._textEditChanges[key]=result}return result}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new ChangeAnnotations2,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(uri,optionsOrAnnotation,options){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let annotation;ChangeAnnotation2.is(optionsOrAnnotation)||ChangeAnnotationIdentifier2.is(optionsOrAnnotation)?annotation=optionsOrAnnotation:options=optionsOrAnnotation;let operation,id;if(annotation===void 0?operation=CreateFile2.create(uri,options):(id=ChangeAnnotationIdentifier2.is(annotation)?annotation:this._changeAnnotations.manage(annotation),operation=CreateFile2.create(uri,options,id)),this._workspaceEdit.documentChanges.push(operation),id!==void 0)return id}renameFile(oldUri,newUri,optionsOrAnnotation,options){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let annotation;ChangeAnnotation2.is(optionsOrAnnotation)||ChangeAnnotationIdentifier2.is(optionsOrAnnotation)?annotation=optionsOrAnnotation:options=optionsOrAnnotation;let operation,id;if(annotation===void 0?operation=RenameFile2.create(oldUri,newUri,options):(id=ChangeAnnotationIdentifier2.is(annotation)?annotation:this._changeAnnotations.manage(annotation),operation=RenameFile2.create(oldUri,newUri,options,id)),this._workspaceEdit.documentChanges.push(operation),id!==void 0)return id}deleteFile(uri,optionsOrAnnotation,options){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let annotation;ChangeAnnotation2.is(optionsOrAnnotation)||ChangeAnnotationIdentifier2.is(optionsOrAnnotation)?annotation=optionsOrAnnotation:options=optionsOrAnnotation;let operation,id;if(annotation===void 0?operation=DeleteFile2.create(uri,options):(id=ChangeAnnotationIdentifier2.is(annotation)?annotation:this._changeAnnotations.manage(annotation),operation=DeleteFile2.create(uri,options,id)),this._workspaceEdit.documentChanges.push(operation),id!==void 0)return id}};(function(TextDocumentIdentifier3){function create(uri){return{uri}}TextDocumentIdentifier3.create=create;function is(value){let candidate=value;return Is2.defined(candidate)&&Is2.string(candidate.uri)}TextDocumentIdentifier3.is=is})(TextDocumentIdentifier2||(TextDocumentIdentifier2={}));(function(VersionedTextDocumentIdentifier3){function create(uri,version){return{uri,version}}VersionedTextDocumentIdentifier3.create=create;function is(value){let candidate=value;return Is2.defined(candidate)&&Is2.string(candidate.uri)&&Is2.integer(candidate.version)}VersionedTextDocumentIdentifier3.is=is})(VersionedTextDocumentIdentifier2||(VersionedTextDocumentIdentifier2={}));(function(OptionalVersionedTextDocumentIdentifier3){function create(uri,version){return{uri,version}}OptionalVersionedTextDocumentIdentifier3.create=create;function is(value){let candidate=value;return Is2.defined(candidate)&&Is2.string(candidate.uri)&&(candidate.version===null||Is2.integer(candidate.version))}OptionalVersionedTextDocumentIdentifier3.is=is})(OptionalVersionedTextDocumentIdentifier2||(OptionalVersionedTextDocumentIdentifier2={}));(function(TextDocumentItem3){function create(uri,languageId,version,text){return{uri,languageId,version,text}}TextDocumentItem3.create=create;function is(value){let candidate=value;return Is2.defined(candidate)&&Is2.string(candidate.uri)&&Is2.string(candidate.languageId)&&Is2.integer(candidate.version)&&Is2.string(candidate.text)}TextDocumentItem3.is=is})(TextDocumentItem2||(TextDocumentItem2={}));(function(MarkupKind4){MarkupKind4.PlainText="plaintext",MarkupKind4.Markdown="markdown";function is(value){let candidate=value;return candidate===MarkupKind4.PlainText||candidate===MarkupKind4.Markdown}MarkupKind4.is=is})(MarkupKind2||(MarkupKind2={}));(function(MarkupContent4){function is(value){let candidate=value;return Is2.objectLiteral(value)&&MarkupKind2.is(candidate.kind)&&Is2.string(candidate.value)}MarkupContent4.is=is})(MarkupContent2||(MarkupContent2={}));(function(CompletionItemKind4){CompletionItemKind4.Text=1,CompletionItemKind4.Method=2,CompletionItemKind4.Function=3,CompletionItemKind4.Constructor=4,CompletionItemKind4.Field=5,CompletionItemKind4.Variable=6,CompletionItemKind4.Class=7,CompletionItemKind4.Interface=8,CompletionItemKind4.Module=9,CompletionItemKind4.Property=10,CompletionItemKind4.Unit=11,CompletionItemKind4.Value=12,CompletionItemKind4.Enum=13,CompletionItemKind4.Keyword=14,CompletionItemKind4.Snippet=15,CompletionItemKind4.Color=16,CompletionItemKind4.File=17,CompletionItemKind4.Reference=18,CompletionItemKind4.Folder=19,CompletionItemKind4.EnumMember=20,CompletionItemKind4.Constant=21,CompletionItemKind4.Struct=22,CompletionItemKind4.Event=23,CompletionItemKind4.Operator=24,CompletionItemKind4.TypeParameter=25})(CompletionItemKind2||(CompletionItemKind2={}));(function(InsertTextFormat4){InsertTextFormat4.PlainText=1,InsertTextFormat4.Snippet=2})(InsertTextFormat2||(InsertTextFormat2={}));(function(CompletionItemTag3){CompletionItemTag3.Deprecated=1})(CompletionItemTag2||(CompletionItemTag2={}));(function(InsertReplaceEdit3){function create(newText,insert,replace){return{newText,insert,replace}}InsertReplaceEdit3.create=create;function is(value){let candidate=value;return candidate&&Is2.string(candidate.newText)&&Range2.is(candidate.insert)&&Range2.is(candidate.replace)}InsertReplaceEdit3.is=is})(InsertReplaceEdit2||(InsertReplaceEdit2={}));(function(InsertTextMode3){InsertTextMode3.asIs=1,InsertTextMode3.adjustIndentation=2})(InsertTextMode2||(InsertTextMode2={}));(function(CompletionItemLabelDetails3){function is(value){let candidate=value;return candidate&&(Is2.string(candidate.detail)||candidate.detail===void 0)&&(Is2.string(candidate.description)||candidate.description===void 0)}CompletionItemLabelDetails3.is=is})(CompletionItemLabelDetails2||(CompletionItemLabelDetails2={}));(function(CompletionItem5){function create(label){return{label}}CompletionItem5.create=create})(CompletionItem2||(CompletionItem2={}));(function(CompletionList3){function create(items,isIncomplete){return{items:items||[],isIncomplete:!!isIncomplete}}CompletionList3.create=create})(CompletionList2||(CompletionList2={}));(function(MarkedString3){function fromPlainText(plainText){return plainText.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}MarkedString3.fromPlainText=fromPlainText;function is(value){let candidate=value;return Is2.string(candidate)||Is2.objectLiteral(candidate)&&Is2.string(candidate.language)&&Is2.string(candidate.value)}MarkedString3.is=is})(MarkedString2||(MarkedString2={}));(function(Hover5){function is(value){let 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||Range2.is(value.range))}Hover5.is=is})(Hover2||(Hover2={}));(function(ParameterInformation3){function create(label,documentation){return documentation?{label,documentation}:{label}}ParameterInformation3.create=create})(ParameterInformation2||(ParameterInformation2={}));(function(SignatureInformation3){function create(label,documentation,...parameters){let result={label};return Is2.defined(documentation)&&(result.documentation=documentation),Is2.defined(parameters)?result.parameters=parameters:result.parameters=[],result}SignatureInformation3.create=create})(SignatureInformation2||(SignatureInformation2={}));(function(DocumentHighlightKind3){DocumentHighlightKind3.Text=1,DocumentHighlightKind3.Read=2,DocumentHighlightKind3.Write=3})(DocumentHighlightKind2||(DocumentHighlightKind2={}));(function(DocumentHighlight3){function create(range,kind){let result={range};return Is2.number(kind)&&(result.kind=kind),result}DocumentHighlight3.create=create})(DocumentHighlight2||(DocumentHighlight2={}));(function(SymbolKind4){SymbolKind4.File=1,SymbolKind4.Module=2,SymbolKind4.Namespace=3,SymbolKind4.Package=4,SymbolKind4.Class=5,SymbolKind4.Method=6,SymbolKind4.Property=7,SymbolKind4.Field=8,SymbolKind4.Constructor=9,SymbolKind4.Enum=10,SymbolKind4.Interface=11,SymbolKind4.Function=12,SymbolKind4.Variable=13,SymbolKind4.Constant=14,SymbolKind4.String=15,SymbolKind4.Number=16,SymbolKind4.Boolean=17,SymbolKind4.Array=18,SymbolKind4.Object=19,SymbolKind4.Key=20,SymbolKind4.Null=21,SymbolKind4.EnumMember=22,SymbolKind4.Struct=23,SymbolKind4.Event=24,SymbolKind4.Operator=25,SymbolKind4.TypeParameter=26})(SymbolKind2||(SymbolKind2={}));(function(SymbolTag3){SymbolTag3.Deprecated=1})(SymbolTag2||(SymbolTag2={}));(function(SymbolInformation3){function create(name,kind,range,uri,containerName){let result={name,kind,location:{uri,range}};return containerName&&(result.containerName=containerName),result}SymbolInformation3.create=create})(SymbolInformation2||(SymbolInformation2={}));(function(WorkspaceSymbol3){function create(name,kind,uri,range){return range!==void 0?{name,kind,location:{uri,range}}:{name,kind,location:{uri}}}WorkspaceSymbol3.create=create})(WorkspaceSymbol2||(WorkspaceSymbol2={}));(function(DocumentSymbol4){function create(name,detail,kind,range,selectionRange,children){let result={name,detail,kind,range,selectionRange};return children!==void 0&&(result.children=children),result}DocumentSymbol4.create=create;function is(value){let candidate=value;return candidate&&Is2.string(candidate.name)&&Is2.number(candidate.kind)&&Range2.is(candidate.range)&&Range2.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))}DocumentSymbol4.is=is})(DocumentSymbol2||(DocumentSymbol2={}));(function(CodeActionKind5){CodeActionKind5.Empty="",CodeActionKind5.QuickFix="quickfix",CodeActionKind5.Refactor="refactor",CodeActionKind5.RefactorExtract="refactor.extract",CodeActionKind5.RefactorInline="refactor.inline",CodeActionKind5.RefactorRewrite="refactor.rewrite",CodeActionKind5.Source="source",CodeActionKind5.SourceOrganizeImports="source.organizeImports",CodeActionKind5.SourceFixAll="source.fixAll"})(CodeActionKind2||(CodeActionKind2={}));(function(CodeActionTriggerKind3){CodeActionTriggerKind3.Invoked=1,CodeActionTriggerKind3.Automatic=2})(CodeActionTriggerKind2||(CodeActionTriggerKind2={}));(function(CodeActionContext3){function create(diagnostics,only,triggerKind){let result={diagnostics};return only!=null&&(result.only=only),triggerKind!=null&&(result.triggerKind=triggerKind),result}CodeActionContext3.create=create;function is(value){let candidate=value;return Is2.defined(candidate)&&Is2.typedArray(candidate.diagnostics,Diagnostic2.is)&&(candidate.only===void 0||Is2.typedArray(candidate.only,Is2.string))&&(candidate.triggerKind===void 0||candidate.triggerKind===CodeActionTriggerKind2.Invoked||candidate.triggerKind===CodeActionTriggerKind2.Automatic)}CodeActionContext3.is=is})(CodeActionContext2||(CodeActionContext2={}));(function(CodeAction4){function create(title,kindOrCommandOrEdit,kind){let result={title},checkKind=!0;return typeof kindOrCommandOrEdit=="string"?(checkKind=!1,result.kind=kindOrCommandOrEdit):Command2.is(kindOrCommandOrEdit)?result.command=kindOrCommandOrEdit:result.edit=kindOrCommandOrEdit,checkKind&&kind!==void 0&&(result.kind=kind),result}CodeAction4.create=create;function is(value){let 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||Command2.is(candidate.command))&&(candidate.isPreferred===void 0||Is2.boolean(candidate.isPreferred))&&(candidate.edit===void 0||WorkspaceEdit2.is(candidate.edit))}CodeAction4.is=is})(CodeAction2||(CodeAction2={}));(function(CodeLens3){function create(range,data){let result={range};return Is2.defined(data)&&(result.data=data),result}CodeLens3.create=create;function is(value){let candidate=value;return Is2.defined(candidate)&&Range2.is(candidate.range)&&(Is2.undefined(candidate.command)||Command2.is(candidate.command))}CodeLens3.is=is})(CodeLens2||(CodeLens2={}));(function(FormattingOptions3){function create(tabSize,insertSpaces){return{tabSize,insertSpaces}}FormattingOptions3.create=create;function is(value){let candidate=value;return Is2.defined(candidate)&&Is2.uinteger(candidate.tabSize)&&Is2.boolean(candidate.insertSpaces)}FormattingOptions3.is=is})(FormattingOptions2||(FormattingOptions2={}));(function(DocumentLink3){function create(range,target,data){return{range,target,data}}DocumentLink3.create=create;function is(value){let candidate=value;return Is2.defined(candidate)&&Range2.is(candidate.range)&&(Is2.undefined(candidate.target)||Is2.string(candidate.target))}DocumentLink3.is=is})(DocumentLink2||(DocumentLink2={}));(function(SelectionRange3){function create(range,parent){return{range,parent}}SelectionRange3.create=create;function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&Range2.is(candidate.range)&&(candidate.parent===void 0||SelectionRange3.is(candidate.parent))}SelectionRange3.is=is})(SelectionRange2||(SelectionRange2={}));(function(SemanticTokenTypes3){SemanticTokenTypes3.namespace="namespace",SemanticTokenTypes3.type="type",SemanticTokenTypes3.class="class",SemanticTokenTypes3.enum="enum",SemanticTokenTypes3.interface="interface",SemanticTokenTypes3.struct="struct",SemanticTokenTypes3.typeParameter="typeParameter",SemanticTokenTypes3.parameter="parameter",SemanticTokenTypes3.variable="variable",SemanticTokenTypes3.property="property",SemanticTokenTypes3.enumMember="enumMember",SemanticTokenTypes3.event="event",SemanticTokenTypes3.function="function",SemanticTokenTypes3.method="method",SemanticTokenTypes3.macro="macro",SemanticTokenTypes3.keyword="keyword",SemanticTokenTypes3.modifier="modifier",SemanticTokenTypes3.comment="comment",SemanticTokenTypes3.string="string",SemanticTokenTypes3.number="number",SemanticTokenTypes3.regexp="regexp",SemanticTokenTypes3.operator="operator",SemanticTokenTypes3.decorator="decorator"})(SemanticTokenTypes2||(SemanticTokenTypes2={}));(function(SemanticTokenModifiers3){SemanticTokenModifiers3.declaration="declaration",SemanticTokenModifiers3.definition="definition",SemanticTokenModifiers3.readonly="readonly",SemanticTokenModifiers3.static="static",SemanticTokenModifiers3.deprecated="deprecated",SemanticTokenModifiers3.abstract="abstract",SemanticTokenModifiers3.async="async",SemanticTokenModifiers3.modification="modification",SemanticTokenModifiers3.documentation="documentation",SemanticTokenModifiers3.defaultLibrary="defaultLibrary"})(SemanticTokenModifiers2||(SemanticTokenModifiers2={}));(function(SemanticTokens5){function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&(candidate.resultId===void 0||typeof candidate.resultId=="string")&&Array.isArray(candidate.data)&&(candidate.data.length===0||typeof candidate.data[0]=="number")}SemanticTokens5.is=is})(SemanticTokens2||(SemanticTokens2={}));(function(InlineValueText3){function create(range,text){return{range,text}}InlineValueText3.create=create;function is(value){let candidate=value;return candidate!=null&&Range2.is(candidate.range)&&Is2.string(candidate.text)}InlineValueText3.is=is})(InlineValueText2||(InlineValueText2={}));(function(InlineValueVariableLookup3){function create(range,variableName,caseSensitiveLookup){return{range,variableName,caseSensitiveLookup}}InlineValueVariableLookup3.create=create;function is(value){let candidate=value;return candidate!=null&&Range2.is(candidate.range)&&Is2.boolean(candidate.caseSensitiveLookup)&&(Is2.string(candidate.variableName)||candidate.variableName===void 0)}InlineValueVariableLookup3.is=is})(InlineValueVariableLookup2||(InlineValueVariableLookup2={}));(function(InlineValueEvaluatableExpression3){function create(range,expression){return{range,expression}}InlineValueEvaluatableExpression3.create=create;function is(value){let candidate=value;return candidate!=null&&Range2.is(candidate.range)&&(Is2.string(candidate.expression)||candidate.expression===void 0)}InlineValueEvaluatableExpression3.is=is})(InlineValueEvaluatableExpression2||(InlineValueEvaluatableExpression2={}));(function(InlineValueContext3){function create(frameId,stoppedLocation){return{frameId,stoppedLocation}}InlineValueContext3.create=create;function is(value){let candidate=value;return Is2.defined(candidate)&&Range2.is(value.stoppedLocation)}InlineValueContext3.is=is})(InlineValueContext2||(InlineValueContext2={}));(function(InlayHintKind3){InlayHintKind3.Type=1,InlayHintKind3.Parameter=2;function is(value){return value===1||value===2}InlayHintKind3.is=is})(InlayHintKind2||(InlayHintKind2={}));(function(InlayHintLabelPart3){function create(value){return{value}}InlayHintLabelPart3.create=create;function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&(candidate.tooltip===void 0||Is2.string(candidate.tooltip)||MarkupContent2.is(candidate.tooltip))&&(candidate.location===void 0||Location2.is(candidate.location))&&(candidate.command===void 0||Command2.is(candidate.command))}InlayHintLabelPart3.is=is})(InlayHintLabelPart2||(InlayHintLabelPart2={}));(function(InlayHint3){function create(position,label,kind){let result={position,label};return kind!==void 0&&(result.kind=kind),result}InlayHint3.create=create;function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&Position2.is(candidate.position)&&(Is2.string(candidate.label)||Is2.typedArray(candidate.label,InlayHintLabelPart2.is))&&(candidate.kind===void 0||InlayHintKind2.is(candidate.kind))&&candidate.textEdits===void 0||Is2.typedArray(candidate.textEdits,TextEdit2.is)&&(candidate.tooltip===void 0||Is2.string(candidate.tooltip)||MarkupContent2.is(candidate.tooltip))&&(candidate.paddingLeft===void 0||Is2.boolean(candidate.paddingLeft))&&(candidate.paddingRight===void 0||Is2.boolean(candidate.paddingRight))}InlayHint3.is=is})(InlayHint2||(InlayHint2={}));(function(StringValue3){function createSnippet(value){return{kind:"snippet",value}}StringValue3.createSnippet=createSnippet})(StringValue2||(StringValue2={}));(function(InlineCompletionItem3){function create(insertText,filterText,range,command){return{insertText,filterText,range,command}}InlineCompletionItem3.create=create})(InlineCompletionItem2||(InlineCompletionItem2={}));(function(InlineCompletionList3){function create(items){return{items}}InlineCompletionList3.create=create})(InlineCompletionList2||(InlineCompletionList2={}));(function(InlineCompletionTriggerKind3){InlineCompletionTriggerKind3.Invoked=0,InlineCompletionTriggerKind3.Automatic=1})(InlineCompletionTriggerKind2||(InlineCompletionTriggerKind2={}));(function(SelectedCompletionInfo3){function create(range,text){return{range,text}}SelectedCompletionInfo3.create=create})(SelectedCompletionInfo2||(SelectedCompletionInfo2={}));(function(InlineCompletionContext3){function create(triggerKind,selectedCompletionInfo){return{triggerKind,selectedCompletionInfo}}InlineCompletionContext3.create=create})(InlineCompletionContext2||(InlineCompletionContext2={}));(function(WorkspaceFolder3){function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&URI2.is(candidate.uri)&&Is2.string(candidate.name)}WorkspaceFolder3.is=is})(WorkspaceFolder2||(WorkspaceFolder2={}));EOL2=[`
|
|
41
|
+
`)),responsePromise){let error=message.error?` Request failed: ${message.error.message} (${message.error.code}).`:"";tracer.log(`Received response '${responsePromise.method} - (${message.id})' in ${Date.now()-responsePromise.timerStart}ms.${error}`,data)}else tracer.log(`Received response ${message.id} without active response promise.`,data)}else logLSPMessage("receive-response",message)}function logLSPMessage(type,message){if(!tracer||trace===Trace.Off)return;let lspMessage={isLSPMessage:!0,type,message,timestamp:Date.now()};tracer.log(lspMessage)}function throwIfClosedOrDisposed(){if(isClosed())throw new ConnectionError(ConnectionErrors.Closed,"Connection is closed.");if(isDisposed())throw new ConnectionError(ConnectionErrors.Disposed,"Connection is disposed.")}function throwIfListening(){if(isListening())throw new ConnectionError(ConnectionErrors.AlreadyListening,"Connection is already listening")}function throwIfNotListening(){if(!isListening())throw new Error("Call listen() first.")}function undefinedToNull(param){return param===void 0?null:param}function nullToUndefined(param){if(param!==null)return param}function isNamedParam(param){return param!=null&&!Array.isArray(param)&&typeof param=="object"}function computeSingleParam(parameterStructures,param){switch(parameterStructures){case messages_1.ParameterStructures.auto:return isNamedParam(param)?nullToUndefined(param):[undefinedToNull(param)];case messages_1.ParameterStructures.byName:if(!isNamedParam(param))throw new Error("Received parameters by name but param is not an object literal.");return nullToUndefined(param);case messages_1.ParameterStructures.byPosition:return[undefinedToNull(param)];default:throw new Error(`Unknown parameter structure ${parameterStructures.toString()}`)}}function computeMessageParams(type,params){let result,numberOfParams=type.numberOfParams;switch(numberOfParams){case 0:result=void 0;break;case 1:result=computeSingleParam(type.parameterStructures,params[0]);break;default:result=[];for(let i=0;i<params.length&&i<numberOfParams;i++)result.push(undefinedToNull(params[i]));if(params.length<numberOfParams)for(let i=params.length;i<numberOfParams;i++)result.push(null);break}return result}let connection2={sendNotification:(type,...args)=>{throwIfClosedOrDisposed();let method,messageParams;if(Is3.string(type)){method=type;let first=args[0],paramStart=0,parameterStructures=messages_1.ParameterStructures.auto;messages_1.ParameterStructures.is(first)&&(paramStart=1,parameterStructures=first);let paramEnd=args.length,numberOfParams=paramEnd-paramStart;switch(numberOfParams){case 0:messageParams=void 0;break;case 1:messageParams=computeSingleParam(parameterStructures,args[paramStart]);break;default:if(parameterStructures===messages_1.ParameterStructures.byName)throw new Error(`Received ${numberOfParams} parameters for 'by Name' notification parameter structure.`);messageParams=args.slice(paramStart,paramEnd).map(value=>undefinedToNull(value));break}}else{let params=args;method=type.method,messageParams=computeMessageParams(type,params)}let notificationMessage={jsonrpc:version,method,params:messageParams};return traceSendingNotification(notificationMessage),messageWriter.write(notificationMessage).catch(error=>{throw logger.error("Sending notification failed."),error})},onNotification:(type,handler)=>{throwIfClosedOrDisposed();let method;return Is3.func(type)?starNotificationHandler=type:handler&&(Is3.string(type)?(method=type,notificationHandlers.set(type,{type:void 0,handler})):(method=type.method,notificationHandlers.set(type.method,{type,handler}))),{dispose:()=>{method!==void 0?notificationHandlers.delete(method):starNotificationHandler=void 0}}},onProgress:(_type,token,handler)=>{if(progressHandlers.has(token))throw new Error(`Progress handler for token ${token} already registered`);return progressHandlers.set(token,handler),{dispose:()=>{progressHandlers.delete(token)}}},sendProgress:(_type,token,value)=>connection2.sendNotification(ProgressNotification.type,{token,value}),onUnhandledProgress:unhandledProgressEmitter.event,sendRequest:(type,...args)=>{throwIfClosedOrDisposed(),throwIfNotListening();let method,messageParams,token;if(Is3.string(type)){method=type;let first=args[0],last=args[args.length-1],paramStart=0,parameterStructures=messages_1.ParameterStructures.auto;messages_1.ParameterStructures.is(first)&&(paramStart=1,parameterStructures=first);let paramEnd=args.length;cancellation_1.CancellationToken.is(last)&&(paramEnd=paramEnd-1,token=last);let numberOfParams=paramEnd-paramStart;switch(numberOfParams){case 0:messageParams=void 0;break;case 1:messageParams=computeSingleParam(parameterStructures,args[paramStart]);break;default:if(parameterStructures===messages_1.ParameterStructures.byName)throw new Error(`Received ${numberOfParams} parameters for 'by Name' request parameter structure.`);messageParams=args.slice(paramStart,paramEnd).map(value=>undefinedToNull(value));break}}else{let params=args;method=type.method,messageParams=computeMessageParams(type,params);let numberOfParams=type.numberOfParams;token=cancellation_1.CancellationToken.is(params[numberOfParams])?params[numberOfParams]:void 0}let id=sequenceNumber++,disposable;token&&(disposable=token.onCancellationRequested(()=>{let p=cancellationStrategy.sender.sendCancellation(connection2,id);return p===void 0?(logger.log(`Received no promise from cancellation strategy when cancelling id ${id}`),Promise.resolve()):p.catch(()=>{logger.log(`Sending cancellation messages for id ${id} failed`)})}));let requestMessage={jsonrpc:version,id,method,params:messageParams};return traceSendingRequest(requestMessage),typeof cancellationStrategy.sender.enableCancellation=="function"&&cancellationStrategy.sender.enableCancellation(requestMessage),new Promise(async(resolve,reject)=>{let resolveWithCleanup=r=>{resolve(r),cancellationStrategy.sender.cleanup(id),disposable?.dispose()},rejectWithCleanup=r=>{reject(r),cancellationStrategy.sender.cleanup(id),disposable?.dispose()},responsePromise={method,timerStart:Date.now(),resolve:resolveWithCleanup,reject:rejectWithCleanup};try{await messageWriter.write(requestMessage),responsePromises.set(id,responsePromise)}catch(error){throw logger.error("Sending request failed."),responsePromise.reject(new messages_1.ResponseError(messages_1.ErrorCodes.MessageWriteError,error.message?error.message:"Unknown reason")),error}})},onRequest:(type,handler)=>{throwIfClosedOrDisposed();let method=null;return StarRequestHandler.is(type)?(method=void 0,starRequestHandler=type):Is3.string(type)?(method=null,handler!==void 0&&(method=type,requestHandlers.set(type,{handler,type:void 0}))):handler!==void 0&&(method=type.method,requestHandlers.set(type.method,{type,handler})),{dispose:()=>{method!==null&&(method!==void 0?requestHandlers.delete(method):starRequestHandler=void 0)}}},hasPendingResponse:()=>responsePromises.size>0,trace:async(_value,_tracer,sendNotificationOrTraceOptions)=>{let _sendNotification=!1,_traceFormat=TraceFormat.Text;sendNotificationOrTraceOptions!==void 0&&(Is3.boolean(sendNotificationOrTraceOptions)?_sendNotification=sendNotificationOrTraceOptions:(_sendNotification=sendNotificationOrTraceOptions.sendNotification||!1,_traceFormat=sendNotificationOrTraceOptions.traceFormat||TraceFormat.Text)),trace=_value,traceFormat=_traceFormat,trace===Trace.Off?tracer=void 0:tracer=_tracer,_sendNotification&&!isClosed()&&!isDisposed()&&await connection2.sendNotification(SetTraceNotification.type,{value:Trace.toString(_value)})},onError:errorEmitter.event,onClose:closeEmitter.event,onUnhandledNotification:unhandledNotificationEmitter.event,onDispose:disposeEmitter.event,end:()=>{messageWriter.end()},dispose:()=>{if(isDisposed())return;state=ConnectionState.Disposed,disposeEmitter.fire(void 0);let error=new messages_1.ResponseError(messages_1.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let promise of responsePromises.values())promise.reject(error);responsePromises=new Map,requestTokens=new Map,knownCanceledRequests=new Set,messageQueue=new linkedMap_1.LinkedMap,Is3.func(messageWriter.dispose)&&messageWriter.dispose(),Is3.func(messageReader.dispose)&&messageReader.dispose()},listen:()=>{throwIfClosedOrDisposed(),throwIfListening(),state=ConnectionState.Listening,messageReader.listen(callback)},inspect:()=>{(0,ral_1.default)().console.log("inspect")}};return connection2.onNotification(LogTraceNotification.type,params=>{if(trace===Trace.Off||!tracer)return;let verbose=trace===Trace.Verbose||trace===Trace.Compact;tracer.log(params.message,verbose?params.verbose:void 0)}),connection2.onNotification(ProgressNotification.type,params=>{let handler=progressHandlers.get(params.token);handler?handler(params.value):unhandledProgressEmitter.fire(params)}),connection2}exports.createMessageConnection=createMessageConnection}});var require_api4=__commonJS({"server/node_modules/vscode-jsonrpc/lib/common/api.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ProgressType=exports.ProgressToken=exports.createMessageConnection=exports.NullLogger=exports.ConnectionOptions=exports.ConnectionStrategy=exports.AbstractMessageBuffer=exports.WriteableStreamMessageWriter=exports.AbstractMessageWriter=exports.MessageWriter=exports.ReadableStreamMessageReader=exports.AbstractMessageReader=exports.MessageReader=exports.SharedArrayReceiverStrategy=exports.SharedArraySenderStrategy=exports.CancellationToken=exports.CancellationTokenSource=exports.Emitter=exports.Event=exports.Disposable=exports.LRUCache=exports.Touch=exports.LinkedMap=exports.ParameterStructures=exports.NotificationType9=exports.NotificationType8=exports.NotificationType7=exports.NotificationType6=exports.NotificationType5=exports.NotificationType4=exports.NotificationType3=exports.NotificationType2=exports.NotificationType1=exports.NotificationType0=exports.NotificationType=exports.ErrorCodes=exports.ResponseError=exports.RequestType9=exports.RequestType8=exports.RequestType7=exports.RequestType6=exports.RequestType5=exports.RequestType4=exports.RequestType3=exports.RequestType2=exports.RequestType1=exports.RequestType0=exports.RequestType=exports.Message=exports.RAL=void 0;exports.MessageStrategy=exports.CancellationStrategy=exports.CancellationSenderStrategy=exports.CancellationReceiverStrategy=exports.ConnectionError=exports.ConnectionErrors=exports.LogTraceNotification=exports.SetTraceNotification=exports.TraceFormat=exports.TraceValues=exports.Trace=void 0;var messages_1=require_messages3();Object.defineProperty(exports,"Message",{enumerable:!0,get:function(){return messages_1.Message}});Object.defineProperty(exports,"RequestType",{enumerable:!0,get:function(){return messages_1.RequestType}});Object.defineProperty(exports,"RequestType0",{enumerable:!0,get:function(){return messages_1.RequestType0}});Object.defineProperty(exports,"RequestType1",{enumerable:!0,get:function(){return messages_1.RequestType1}});Object.defineProperty(exports,"RequestType2",{enumerable:!0,get:function(){return messages_1.RequestType2}});Object.defineProperty(exports,"RequestType3",{enumerable:!0,get:function(){return messages_1.RequestType3}});Object.defineProperty(exports,"RequestType4",{enumerable:!0,get:function(){return messages_1.RequestType4}});Object.defineProperty(exports,"RequestType5",{enumerable:!0,get:function(){return messages_1.RequestType5}});Object.defineProperty(exports,"RequestType6",{enumerable:!0,get:function(){return messages_1.RequestType6}});Object.defineProperty(exports,"RequestType7",{enumerable:!0,get:function(){return messages_1.RequestType7}});Object.defineProperty(exports,"RequestType8",{enumerable:!0,get:function(){return messages_1.RequestType8}});Object.defineProperty(exports,"RequestType9",{enumerable:!0,get:function(){return messages_1.RequestType9}});Object.defineProperty(exports,"ResponseError",{enumerable:!0,get:function(){return messages_1.ResponseError}});Object.defineProperty(exports,"ErrorCodes",{enumerable:!0,get:function(){return messages_1.ErrorCodes}});Object.defineProperty(exports,"NotificationType",{enumerable:!0,get:function(){return messages_1.NotificationType}});Object.defineProperty(exports,"NotificationType0",{enumerable:!0,get:function(){return messages_1.NotificationType0}});Object.defineProperty(exports,"NotificationType1",{enumerable:!0,get:function(){return messages_1.NotificationType1}});Object.defineProperty(exports,"NotificationType2",{enumerable:!0,get:function(){return messages_1.NotificationType2}});Object.defineProperty(exports,"NotificationType3",{enumerable:!0,get:function(){return messages_1.NotificationType3}});Object.defineProperty(exports,"NotificationType4",{enumerable:!0,get:function(){return messages_1.NotificationType4}});Object.defineProperty(exports,"NotificationType5",{enumerable:!0,get:function(){return messages_1.NotificationType5}});Object.defineProperty(exports,"NotificationType6",{enumerable:!0,get:function(){return messages_1.NotificationType6}});Object.defineProperty(exports,"NotificationType7",{enumerable:!0,get:function(){return messages_1.NotificationType7}});Object.defineProperty(exports,"NotificationType8",{enumerable:!0,get:function(){return messages_1.NotificationType8}});Object.defineProperty(exports,"NotificationType9",{enumerable:!0,get:function(){return messages_1.NotificationType9}});Object.defineProperty(exports,"ParameterStructures",{enumerable:!0,get:function(){return messages_1.ParameterStructures}});var linkedMap_1=require_linkedMap2();Object.defineProperty(exports,"LinkedMap",{enumerable:!0,get:function(){return linkedMap_1.LinkedMap}});Object.defineProperty(exports,"LRUCache",{enumerable:!0,get:function(){return linkedMap_1.LRUCache}});Object.defineProperty(exports,"Touch",{enumerable:!0,get:function(){return linkedMap_1.Touch}});var disposable_1=require_disposable2();Object.defineProperty(exports,"Disposable",{enumerable:!0,get:function(){return disposable_1.Disposable}});var events_1=require_events2();Object.defineProperty(exports,"Event",{enumerable:!0,get:function(){return events_1.Event}});Object.defineProperty(exports,"Emitter",{enumerable:!0,get:function(){return events_1.Emitter}});var cancellation_1=require_cancellation2();Object.defineProperty(exports,"CancellationTokenSource",{enumerable:!0,get:function(){return cancellation_1.CancellationTokenSource}});Object.defineProperty(exports,"CancellationToken",{enumerable:!0,get:function(){return cancellation_1.CancellationToken}});var sharedArrayCancellation_1=require_sharedArrayCancellation2();Object.defineProperty(exports,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return sharedArrayCancellation_1.SharedArraySenderStrategy}});Object.defineProperty(exports,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return sharedArrayCancellation_1.SharedArrayReceiverStrategy}});var messageReader_1=require_messageReader2();Object.defineProperty(exports,"MessageReader",{enumerable:!0,get:function(){return messageReader_1.MessageReader}});Object.defineProperty(exports,"AbstractMessageReader",{enumerable:!0,get:function(){return messageReader_1.AbstractMessageReader}});Object.defineProperty(exports,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return messageReader_1.ReadableStreamMessageReader}});var messageWriter_1=require_messageWriter2();Object.defineProperty(exports,"MessageWriter",{enumerable:!0,get:function(){return messageWriter_1.MessageWriter}});Object.defineProperty(exports,"AbstractMessageWriter",{enumerable:!0,get:function(){return messageWriter_1.AbstractMessageWriter}});Object.defineProperty(exports,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return messageWriter_1.WriteableStreamMessageWriter}});var messageBuffer_1=require_messageBuffer2();Object.defineProperty(exports,"AbstractMessageBuffer",{enumerable:!0,get:function(){return messageBuffer_1.AbstractMessageBuffer}});var connection_1=require_connection3();Object.defineProperty(exports,"ConnectionStrategy",{enumerable:!0,get:function(){return connection_1.ConnectionStrategy}});Object.defineProperty(exports,"ConnectionOptions",{enumerable:!0,get:function(){return connection_1.ConnectionOptions}});Object.defineProperty(exports,"NullLogger",{enumerable:!0,get:function(){return connection_1.NullLogger}});Object.defineProperty(exports,"createMessageConnection",{enumerable:!0,get:function(){return connection_1.createMessageConnection}});Object.defineProperty(exports,"ProgressToken",{enumerable:!0,get:function(){return connection_1.ProgressToken}});Object.defineProperty(exports,"ProgressType",{enumerable:!0,get:function(){return connection_1.ProgressType}});Object.defineProperty(exports,"Trace",{enumerable:!0,get:function(){return connection_1.Trace}});Object.defineProperty(exports,"TraceValues",{enumerable:!0,get:function(){return connection_1.TraceValues}});Object.defineProperty(exports,"TraceFormat",{enumerable:!0,get:function(){return connection_1.TraceFormat}});Object.defineProperty(exports,"SetTraceNotification",{enumerable:!0,get:function(){return connection_1.SetTraceNotification}});Object.defineProperty(exports,"LogTraceNotification",{enumerable:!0,get:function(){return connection_1.LogTraceNotification}});Object.defineProperty(exports,"ConnectionErrors",{enumerable:!0,get:function(){return connection_1.ConnectionErrors}});Object.defineProperty(exports,"ConnectionError",{enumerable:!0,get:function(){return connection_1.ConnectionError}});Object.defineProperty(exports,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return connection_1.CancellationReceiverStrategy}});Object.defineProperty(exports,"CancellationSenderStrategy",{enumerable:!0,get:function(){return connection_1.CancellationSenderStrategy}});Object.defineProperty(exports,"CancellationStrategy",{enumerable:!0,get:function(){return connection_1.CancellationStrategy}});Object.defineProperty(exports,"MessageStrategy",{enumerable:!0,get:function(){return connection_1.MessageStrategy}});var ral_1=require_ral2();exports.RAL=ral_1.default}});var require_ril2=__commonJS({"server/node_modules/vscode-jsonrpc/lib/browser/ril.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var api_1=require_api4(),MessageBuffer=class _MessageBuffer extends api_1.AbstractMessageBuffer{constructor(encoding="utf-8"){super(encoding),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return _MessageBuffer.emptyBuffer}fromString(value,_encoding){return new TextEncoder().encode(value)}toString(value,encoding){return encoding==="ascii"?this.asciiDecoder.decode(value):new TextDecoder(encoding).decode(value)}asNative(buffer,length){return length===void 0?buffer:buffer.slice(0,length)}allocNative(length){return new Uint8Array(length)}};MessageBuffer.emptyBuffer=new Uint8Array(0);var ReadableStreamWrapper=class{constructor(socket){this.socket=socket,this._onData=new api_1.Emitter,this._messageListener=event=>{event.data.arrayBuffer().then(buffer=>{this._onData.fire(new Uint8Array(buffer))},()=>{(0,api_1.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(listener){return this.socket.addEventListener("close",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("close",listener))}onError(listener){return this.socket.addEventListener("error",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("error",listener))}onEnd(listener){return this.socket.addEventListener("end",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("end",listener))}onData(listener){return this._onData.event(listener)}},WritableStreamWrapper=class{constructor(socket){this.socket=socket}onClose(listener){return this.socket.addEventListener("close",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("close",listener))}onError(listener){return this.socket.addEventListener("error",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("error",listener))}onEnd(listener){return this.socket.addEventListener("end",listener),api_1.Disposable.create(()=>this.socket.removeEventListener("end",listener))}write(data,encoding){if(typeof data=="string"){if(encoding!==void 0&&encoding!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${encoding}`);this.socket.send(data)}else this.socket.send(data);return Promise.resolve()}end(){this.socket.close()}},_textEncoder=new TextEncoder,_ril=Object.freeze({messageBuffer:Object.freeze({create:encoding=>new MessageBuffer(encoding)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(msg,options)=>{if(options.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${options.charset}`);return Promise.resolve(_textEncoder.encode(JSON.stringify(msg,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(buffer,options)=>{if(!(buffer instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(options.charset).decode(buffer)))}})}),stream:Object.freeze({asReadableStream:socket=>new ReadableStreamWrapper(socket),asWritableStream:socket=>new WritableStreamWrapper(socket)}),console,timer:Object.freeze({setTimeout(callback,ms,...args){let handle=setTimeout(callback,ms,...args);return{dispose:()=>clearTimeout(handle)}},setImmediate(callback,...args){let handle=setTimeout(callback,0,...args);return{dispose:()=>clearTimeout(handle)}},setInterval(callback,ms,...args){let handle=setInterval(callback,ms,...args);return{dispose:()=>clearInterval(handle)}}})});function RIL(){return _ril}(function(RIL2){function install(){api_1.RAL.install(_ril)}RIL2.install=install})(RIL||(RIL={}));exports.default=RIL}});var require_main4=__commonJS({"server/node_modules/vscode-jsonrpc/lib/browser/main.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__exportStar=exports&&exports.__exportStar||function(m2,exports2){for(var p in m2)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m2,p)};Object.defineProperty(exports,"__esModule",{value:!0});exports.createMessageConnection=exports.BrowserMessageWriter=exports.BrowserMessageReader=void 0;var ril_1=require_ril2();ril_1.default.install();var api_1=require_api4();__exportStar(require_api4(),exports);var BrowserMessageReader2=class extends api_1.AbstractMessageReader{constructor(port){super(),this._onData=new api_1.Emitter,this._messageListener=event=>{this._onData.fire(event.data)},port.addEventListener("error",event=>this.fireError(event)),port.onmessage=this._messageListener}listen(callback){return this._onData.event(callback)}};exports.BrowserMessageReader=BrowserMessageReader2;var BrowserMessageWriter2=class extends api_1.AbstractMessageWriter{constructor(port){super(),this.port=port,this.errorCount=0,port.addEventListener("error",event=>this.fireError(event))}write(msg){try{return this.port.postMessage(msg),Promise.resolve()}catch(error){return this.handleError(error,msg),Promise.reject(error)}}handleError(error,msg){this.errorCount++,this.fireError(error,msg,this.errorCount)}end(){}};exports.BrowserMessageWriter=BrowserMessageWriter2;function createMessageConnection(reader,writer,logger,options){return logger===void 0&&(logger=api_1.NullLogger),api_1.ConnectionStrategy.is(options)&&(options={connectionStrategy:options}),(0,api_1.createMessageConnection)(reader,writer,logger,options)}exports.createMessageConnection=createMessageConnection}});var require_browser=__commonJS({"server/node_modules/vscode-jsonrpc/browser.js"(exports,module){"use strict";module.exports=require_main4()}});var main_exports2={};__export(main_exports2,{AnnotatedTextEdit:()=>AnnotatedTextEdit2,ChangeAnnotation:()=>ChangeAnnotation2,ChangeAnnotationIdentifier:()=>ChangeAnnotationIdentifier2,CodeAction:()=>CodeAction2,CodeActionContext:()=>CodeActionContext2,CodeActionKind:()=>CodeActionKind2,CodeActionTriggerKind:()=>CodeActionTriggerKind2,CodeDescription:()=>CodeDescription2,CodeLens:()=>CodeLens2,Color:()=>Color2,ColorInformation:()=>ColorInformation2,ColorPresentation:()=>ColorPresentation2,Command:()=>Command2,CompletionItem:()=>CompletionItem2,CompletionItemKind:()=>CompletionItemKind2,CompletionItemLabelDetails:()=>CompletionItemLabelDetails2,CompletionItemTag:()=>CompletionItemTag2,CompletionList:()=>CompletionList2,CreateFile:()=>CreateFile2,DeleteFile:()=>DeleteFile2,Diagnostic:()=>Diagnostic2,DiagnosticRelatedInformation:()=>DiagnosticRelatedInformation2,DiagnosticSeverity:()=>DiagnosticSeverity2,DiagnosticTag:()=>DiagnosticTag2,DocumentHighlight:()=>DocumentHighlight2,DocumentHighlightKind:()=>DocumentHighlightKind2,DocumentLink:()=>DocumentLink2,DocumentSymbol:()=>DocumentSymbol2,DocumentUri:()=>DocumentUri2,EOL:()=>EOL2,FoldingRange:()=>FoldingRange2,FoldingRangeKind:()=>FoldingRangeKind2,FormattingOptions:()=>FormattingOptions2,Hover:()=>Hover2,InlayHint:()=>InlayHint2,InlayHintKind:()=>InlayHintKind2,InlayHintLabelPart:()=>InlayHintLabelPart2,InlineCompletionContext:()=>InlineCompletionContext2,InlineCompletionItem:()=>InlineCompletionItem2,InlineCompletionList:()=>InlineCompletionList2,InlineCompletionTriggerKind:()=>InlineCompletionTriggerKind2,InlineValueContext:()=>InlineValueContext2,InlineValueEvaluatableExpression:()=>InlineValueEvaluatableExpression2,InlineValueText:()=>InlineValueText2,InlineValueVariableLookup:()=>InlineValueVariableLookup2,InsertReplaceEdit:()=>InsertReplaceEdit2,InsertTextFormat:()=>InsertTextFormat2,InsertTextMode:()=>InsertTextMode2,Location:()=>Location2,LocationLink:()=>LocationLink2,MarkedString:()=>MarkedString2,MarkupContent:()=>MarkupContent2,MarkupKind:()=>MarkupKind2,OptionalVersionedTextDocumentIdentifier:()=>OptionalVersionedTextDocumentIdentifier2,ParameterInformation:()=>ParameterInformation2,Position:()=>Position2,Range:()=>Range2,RenameFile:()=>RenameFile2,SelectedCompletionInfo:()=>SelectedCompletionInfo2,SelectionRange:()=>SelectionRange2,SemanticTokenModifiers:()=>SemanticTokenModifiers2,SemanticTokenTypes:()=>SemanticTokenTypes2,SemanticTokens:()=>SemanticTokens2,SignatureInformation:()=>SignatureInformation2,StringValue:()=>StringValue2,SymbolInformation:()=>SymbolInformation2,SymbolKind:()=>SymbolKind2,SymbolTag:()=>SymbolTag2,TextDocument:()=>TextDocument3,TextDocumentEdit:()=>TextDocumentEdit2,TextDocumentIdentifier:()=>TextDocumentIdentifier2,TextDocumentItem:()=>TextDocumentItem2,TextEdit:()=>TextEdit2,URI:()=>URI2,VersionedTextDocumentIdentifier:()=>VersionedTextDocumentIdentifier2,WorkspaceChange:()=>WorkspaceChange2,WorkspaceEdit:()=>WorkspaceEdit2,WorkspaceFolder:()=>WorkspaceFolder2,WorkspaceSymbol:()=>WorkspaceSymbol2,integer:()=>integer2,uinteger:()=>uinteger2});var DocumentUri2,URI2,integer2,uinteger2,Position2,Range2,Location2,LocationLink2,Color2,ColorInformation2,ColorPresentation2,FoldingRangeKind2,FoldingRange2,DiagnosticRelatedInformation2,DiagnosticSeverity2,DiagnosticTag2,CodeDescription2,Diagnostic2,Command2,TextEdit2,ChangeAnnotation2,ChangeAnnotationIdentifier2,AnnotatedTextEdit2,TextDocumentEdit2,CreateFile2,RenameFile2,DeleteFile2,WorkspaceEdit2,TextEditChangeImpl2,ChangeAnnotations2,WorkspaceChange2,TextDocumentIdentifier2,VersionedTextDocumentIdentifier2,OptionalVersionedTextDocumentIdentifier2,TextDocumentItem2,MarkupKind2,MarkupContent2,CompletionItemKind2,InsertTextFormat2,CompletionItemTag2,InsertReplaceEdit2,InsertTextMode2,CompletionItemLabelDetails2,CompletionItem2,CompletionList2,MarkedString2,Hover2,ParameterInformation2,SignatureInformation2,DocumentHighlightKind2,DocumentHighlight2,SymbolKind2,SymbolTag2,SymbolInformation2,WorkspaceSymbol2,DocumentSymbol2,CodeActionKind2,CodeActionTriggerKind2,CodeActionContext2,CodeAction2,CodeLens2,FormattingOptions2,DocumentLink2,SelectionRange2,SemanticTokenTypes2,SemanticTokenModifiers2,SemanticTokens2,InlineValueText2,InlineValueVariableLookup2,InlineValueEvaluatableExpression2,InlineValueContext2,InlayHintKind2,InlayHintLabelPart2,InlayHint2,StringValue2,InlineCompletionItem2,InlineCompletionList2,InlineCompletionTriggerKind2,SelectedCompletionInfo2,InlineCompletionContext2,WorkspaceFolder2,EOL2,TextDocument3,FullTextDocument3,Is2,init_main2=__esm({"server/node_modules/vscode-languageserver-types/lib/esm/main.js"(){"use strict";(function(DocumentUri3){function is(value){return typeof value=="string"}DocumentUri3.is=is})(DocumentUri2||(DocumentUri2={}));(function(URI3){function is(value){return typeof value=="string"}URI3.is=is})(URI2||(URI2={}));(function(integer3){integer3.MIN_VALUE=-2147483648,integer3.MAX_VALUE=2147483647;function is(value){return typeof value=="number"&&integer3.MIN_VALUE<=value&&value<=integer3.MAX_VALUE}integer3.is=is})(integer2||(integer2={}));(function(uinteger3){uinteger3.MIN_VALUE=0,uinteger3.MAX_VALUE=2147483647;function is(value){return typeof value=="number"&&uinteger3.MIN_VALUE<=value&&value<=uinteger3.MAX_VALUE}uinteger3.is=is})(uinteger2||(uinteger2={}));(function(Position4){function create(line,character){return line===Number.MAX_VALUE&&(line=uinteger2.MAX_VALUE),character===Number.MAX_VALUE&&(character=uinteger2.MAX_VALUE),{line,character}}Position4.create=create;function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&Is2.uinteger(candidate.line)&&Is2.uinteger(candidate.character)}Position4.is=is})(Position2||(Position2={}));(function(Range4){function create(one,two,three,four){if(Is2.uinteger(one)&&Is2.uinteger(two)&&Is2.uinteger(three)&&Is2.uinteger(four))return{start:Position2.create(one,two),end:Position2.create(three,four)};if(Position2.is(one)&&Position2.is(two))return{start:one,end:two};throw new Error(`Range#create called with invalid arguments[${one}, ${two}, ${three}, ${four}]`)}Range4.create=create;function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&Position2.is(candidate.start)&&Position2.is(candidate.end)}Range4.is=is})(Range2||(Range2={}));(function(Location4){function create(uri,range){return{uri,range}}Location4.create=create;function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&Range2.is(candidate.range)&&(Is2.string(candidate.uri)||Is2.undefined(candidate.uri))}Location4.is=is})(Location2||(Location2={}));(function(LocationLink3){function create(targetUri,targetRange,targetSelectionRange,originSelectionRange){return{targetUri,targetRange,targetSelectionRange,originSelectionRange}}LocationLink3.create=create;function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&Range2.is(candidate.targetRange)&&Is2.string(candidate.targetUri)&&Range2.is(candidate.targetSelectionRange)&&(Range2.is(candidate.originSelectionRange)||Is2.undefined(candidate.originSelectionRange))}LocationLink3.is=is})(LocationLink2||(LocationLink2={}));(function(Color3){function create(red,green,blue,alpha){return{red,green,blue,alpha}}Color3.create=create;function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&Is2.numberRange(candidate.red,0,1)&&Is2.numberRange(candidate.green,0,1)&&Is2.numberRange(candidate.blue,0,1)&&Is2.numberRange(candidate.alpha,0,1)}Color3.is=is})(Color2||(Color2={}));(function(ColorInformation3){function create(range,color){return{range,color}}ColorInformation3.create=create;function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&Range2.is(candidate.range)&&Color2.is(candidate.color)}ColorInformation3.is=is})(ColorInformation2||(ColorInformation2={}));(function(ColorPresentation3){function create(label,textEdit,additionalTextEdits){return{label,textEdit,additionalTextEdits}}ColorPresentation3.create=create;function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&Is2.string(candidate.label)&&(Is2.undefined(candidate.textEdit)||TextEdit2.is(candidate))&&(Is2.undefined(candidate.additionalTextEdits)||Is2.typedArray(candidate.additionalTextEdits,TextEdit2.is))}ColorPresentation3.is=is})(ColorPresentation2||(ColorPresentation2={}));(function(FoldingRangeKind4){FoldingRangeKind4.Comment="comment",FoldingRangeKind4.Imports="imports",FoldingRangeKind4.Region="region"})(FoldingRangeKind2||(FoldingRangeKind2={}));(function(FoldingRange5){function create(startLine,endLine,startCharacter,endCharacter,kind,collapsedText){let result={startLine,endLine};return Is2.defined(startCharacter)&&(result.startCharacter=startCharacter),Is2.defined(endCharacter)&&(result.endCharacter=endCharacter),Is2.defined(kind)&&(result.kind=kind),Is2.defined(collapsedText)&&(result.collapsedText=collapsedText),result}FoldingRange5.create=create;function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&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))}FoldingRange5.is=is})(FoldingRange2||(FoldingRange2={}));(function(DiagnosticRelatedInformation3){function create(location,message){return{location,message}}DiagnosticRelatedInformation3.create=create;function is(value){let candidate=value;return Is2.defined(candidate)&&Location2.is(candidate.location)&&Is2.string(candidate.message)}DiagnosticRelatedInformation3.is=is})(DiagnosticRelatedInformation2||(DiagnosticRelatedInformation2={}));(function(DiagnosticSeverity7){DiagnosticSeverity7.Error=1,DiagnosticSeverity7.Warning=2,DiagnosticSeverity7.Information=3,DiagnosticSeverity7.Hint=4})(DiagnosticSeverity2||(DiagnosticSeverity2={}));(function(DiagnosticTag3){DiagnosticTag3.Unnecessary=1,DiagnosticTag3.Deprecated=2})(DiagnosticTag2||(DiagnosticTag2={}));(function(CodeDescription3){function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&Is2.string(candidate.href)}CodeDescription3.is=is})(CodeDescription2||(CodeDescription2={}));(function(Diagnostic7){function create(range,message,severity,code,source,relatedInformation){let result={range,message};return Is2.defined(severity)&&(result.severity=severity),Is2.defined(code)&&(result.code=code),Is2.defined(source)&&(result.source=source),Is2.defined(relatedInformation)&&(result.relatedInformation=relatedInformation),result}Diagnostic7.create=create;function is(value){var _a;let candidate=value;return Is2.defined(candidate)&&Range2.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((_a=candidate.codeDescription)===null||_a===void 0?void 0:_a.href))&&(Is2.string(candidate.source)||Is2.undefined(candidate.source))&&(Is2.undefined(candidate.relatedInformation)||Is2.typedArray(candidate.relatedInformation,DiagnosticRelatedInformation2.is))}Diagnostic7.is=is})(Diagnostic2||(Diagnostic2={}));(function(Command3){function create(title,command,...args){let result={title,command};return Is2.defined(args)&&args.length>0&&(result.arguments=args),result}Command3.create=create;function is(value){let candidate=value;return Is2.defined(candidate)&&Is2.string(candidate.title)&&Is2.string(candidate.command)}Command3.is=is})(Command2||(Command2={}));(function(TextEdit6){function replace(range,newText){return{range,newText}}TextEdit6.replace=replace;function insert(position,newText){return{range:{start:position,end:position},newText}}TextEdit6.insert=insert;function del(range){return{range,newText:""}}TextEdit6.del=del;function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&Is2.string(candidate.newText)&&Range2.is(candidate.range)}TextEdit6.is=is})(TextEdit2||(TextEdit2={}));(function(ChangeAnnotation3){function create(label,needsConfirmation,description){let result={label};return needsConfirmation!==void 0&&(result.needsConfirmation=needsConfirmation),description!==void 0&&(result.description=description),result}ChangeAnnotation3.create=create;function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&Is2.string(candidate.label)&&(Is2.boolean(candidate.needsConfirmation)||candidate.needsConfirmation===void 0)&&(Is2.string(candidate.description)||candidate.description===void 0)}ChangeAnnotation3.is=is})(ChangeAnnotation2||(ChangeAnnotation2={}));(function(ChangeAnnotationIdentifier3){function is(value){let candidate=value;return Is2.string(candidate)}ChangeAnnotationIdentifier3.is=is})(ChangeAnnotationIdentifier2||(ChangeAnnotationIdentifier2={}));(function(AnnotatedTextEdit3){function replace(range,newText,annotation){return{range,newText,annotationId:annotation}}AnnotatedTextEdit3.replace=replace;function insert(position,newText,annotation){return{range:{start:position,end:position},newText,annotationId:annotation}}AnnotatedTextEdit3.insert=insert;function del(range,annotation){return{range,newText:"",annotationId:annotation}}AnnotatedTextEdit3.del=del;function is(value){let candidate=value;return TextEdit2.is(candidate)&&(ChangeAnnotation2.is(candidate.annotationId)||ChangeAnnotationIdentifier2.is(candidate.annotationId))}AnnotatedTextEdit3.is=is})(AnnotatedTextEdit2||(AnnotatedTextEdit2={}));(function(TextDocumentEdit3){function create(textDocument,edits){return{textDocument,edits}}TextDocumentEdit3.create=create;function is(value){let candidate=value;return Is2.defined(candidate)&&OptionalVersionedTextDocumentIdentifier2.is(candidate.textDocument)&&Array.isArray(candidate.edits)}TextDocumentEdit3.is=is})(TextDocumentEdit2||(TextDocumentEdit2={}));(function(CreateFile3){function create(uri,options,annotation){let result={kind:"create",uri};return options!==void 0&&(options.overwrite!==void 0||options.ignoreIfExists!==void 0)&&(result.options=options),annotation!==void 0&&(result.annotationId=annotation),result}CreateFile3.create=create;function is(value){let 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))}CreateFile3.is=is})(CreateFile2||(CreateFile2={}));(function(RenameFile3){function create(oldUri,newUri,options,annotation){let result={kind:"rename",oldUri,newUri};return options!==void 0&&(options.overwrite!==void 0||options.ignoreIfExists!==void 0)&&(result.options=options),annotation!==void 0&&(result.annotationId=annotation),result}RenameFile3.create=create;function is(value){let 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))}RenameFile3.is=is})(RenameFile2||(RenameFile2={}));(function(DeleteFile3){function create(uri,options,annotation){let result={kind:"delete",uri};return options!==void 0&&(options.recursive!==void 0||options.ignoreIfNotExists!==void 0)&&(result.options=options),annotation!==void 0&&(result.annotationId=annotation),result}DeleteFile3.create=create;function is(value){let 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))}DeleteFile3.is=is})(DeleteFile2||(DeleteFile2={}));(function(WorkspaceEdit5){function is(value){let candidate=value;return candidate&&(candidate.changes!==void 0||candidate.documentChanges!==void 0)&&(candidate.documentChanges===void 0||candidate.documentChanges.every(change=>Is2.string(change.kind)?CreateFile2.is(change)||RenameFile2.is(change)||DeleteFile2.is(change):TextDocumentEdit2.is(change)))}WorkspaceEdit5.is=is})(WorkspaceEdit2||(WorkspaceEdit2={}));TextEditChangeImpl2=class{constructor(edits,changeAnnotations){this.edits=edits,this.changeAnnotations=changeAnnotations}insert(position,newText,annotation){let edit,id;if(annotation===void 0?edit=TextEdit2.insert(position,newText):ChangeAnnotationIdentifier2.is(annotation)?(id=annotation,edit=AnnotatedTextEdit2.insert(position,newText,annotation)):(this.assertChangeAnnotations(this.changeAnnotations),id=this.changeAnnotations.manage(annotation),edit=AnnotatedTextEdit2.insert(position,newText,id)),this.edits.push(edit),id!==void 0)return id}replace(range,newText,annotation){let edit,id;if(annotation===void 0?edit=TextEdit2.replace(range,newText):ChangeAnnotationIdentifier2.is(annotation)?(id=annotation,edit=AnnotatedTextEdit2.replace(range,newText,annotation)):(this.assertChangeAnnotations(this.changeAnnotations),id=this.changeAnnotations.manage(annotation),edit=AnnotatedTextEdit2.replace(range,newText,id)),this.edits.push(edit),id!==void 0)return id}delete(range,annotation){let edit,id;if(annotation===void 0?edit=TextEdit2.del(range):ChangeAnnotationIdentifier2.is(annotation)?(id=annotation,edit=AnnotatedTextEdit2.del(range,annotation)):(this.assertChangeAnnotations(this.changeAnnotations),id=this.changeAnnotations.manage(annotation),edit=AnnotatedTextEdit2.del(range,id)),this.edits.push(edit),id!==void 0)return id}add(edit){this.edits.push(edit)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(value){if(value===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}},ChangeAnnotations2=class{constructor(annotations){this._annotations=annotations===void 0?Object.create(null):annotations,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(idOrAnnotation,annotation){let id;if(ChangeAnnotationIdentifier2.is(idOrAnnotation)?id=idOrAnnotation:(id=this.nextId(),annotation=idOrAnnotation),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}`);return this._annotations[id]=annotation,this._size++,id}nextId(){return this._counter++,this._counter.toString()}},WorkspaceChange2=class{constructor(workspaceEdit){this._textEditChanges=Object.create(null),workspaceEdit!==void 0?(this._workspaceEdit=workspaceEdit,workspaceEdit.documentChanges?(this._changeAnnotations=new ChangeAnnotations2(workspaceEdit.changeAnnotations),workspaceEdit.changeAnnotations=this._changeAnnotations.all(),workspaceEdit.documentChanges.forEach(change=>{if(TextDocumentEdit2.is(change)){let textEditChange=new TextEditChangeImpl2(change.edits,this._changeAnnotations);this._textEditChanges[change.textDocument.uri]=textEditChange}})):workspaceEdit.changes&&Object.keys(workspaceEdit.changes).forEach(key=>{let textEditChange=new TextEditChangeImpl2(workspaceEdit.changes[key]);this._textEditChanges[key]=textEditChange})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(key){if(OptionalVersionedTextDocumentIdentifier2.is(key)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let textDocument={uri:key.uri,version:key.version},result=this._textEditChanges[textDocument.uri];if(!result){let edits=[],textDocumentEdit={textDocument,edits};this._workspaceEdit.documentChanges.push(textDocumentEdit),result=new TextEditChangeImpl2(edits,this._changeAnnotations),this._textEditChanges[textDocument.uri]=result}return result}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let result=this._textEditChanges[key];if(!result){let edits=[];this._workspaceEdit.changes[key]=edits,result=new TextEditChangeImpl2(edits),this._textEditChanges[key]=result}return result}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new ChangeAnnotations2,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(uri,optionsOrAnnotation,options){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let annotation;ChangeAnnotation2.is(optionsOrAnnotation)||ChangeAnnotationIdentifier2.is(optionsOrAnnotation)?annotation=optionsOrAnnotation:options=optionsOrAnnotation;let operation,id;if(annotation===void 0?operation=CreateFile2.create(uri,options):(id=ChangeAnnotationIdentifier2.is(annotation)?annotation:this._changeAnnotations.manage(annotation),operation=CreateFile2.create(uri,options,id)),this._workspaceEdit.documentChanges.push(operation),id!==void 0)return id}renameFile(oldUri,newUri,optionsOrAnnotation,options){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let annotation;ChangeAnnotation2.is(optionsOrAnnotation)||ChangeAnnotationIdentifier2.is(optionsOrAnnotation)?annotation=optionsOrAnnotation:options=optionsOrAnnotation;let operation,id;if(annotation===void 0?operation=RenameFile2.create(oldUri,newUri,options):(id=ChangeAnnotationIdentifier2.is(annotation)?annotation:this._changeAnnotations.manage(annotation),operation=RenameFile2.create(oldUri,newUri,options,id)),this._workspaceEdit.documentChanges.push(operation),id!==void 0)return id}deleteFile(uri,optionsOrAnnotation,options){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let annotation;ChangeAnnotation2.is(optionsOrAnnotation)||ChangeAnnotationIdentifier2.is(optionsOrAnnotation)?annotation=optionsOrAnnotation:options=optionsOrAnnotation;let operation,id;if(annotation===void 0?operation=DeleteFile2.create(uri,options):(id=ChangeAnnotationIdentifier2.is(annotation)?annotation:this._changeAnnotations.manage(annotation),operation=DeleteFile2.create(uri,options,id)),this._workspaceEdit.documentChanges.push(operation),id!==void 0)return id}};(function(TextDocumentIdentifier3){function create(uri){return{uri}}TextDocumentIdentifier3.create=create;function is(value){let candidate=value;return Is2.defined(candidate)&&Is2.string(candidate.uri)}TextDocumentIdentifier3.is=is})(TextDocumentIdentifier2||(TextDocumentIdentifier2={}));(function(VersionedTextDocumentIdentifier3){function create(uri,version){return{uri,version}}VersionedTextDocumentIdentifier3.create=create;function is(value){let candidate=value;return Is2.defined(candidate)&&Is2.string(candidate.uri)&&Is2.integer(candidate.version)}VersionedTextDocumentIdentifier3.is=is})(VersionedTextDocumentIdentifier2||(VersionedTextDocumentIdentifier2={}));(function(OptionalVersionedTextDocumentIdentifier3){function create(uri,version){return{uri,version}}OptionalVersionedTextDocumentIdentifier3.create=create;function is(value){let candidate=value;return Is2.defined(candidate)&&Is2.string(candidate.uri)&&(candidate.version===null||Is2.integer(candidate.version))}OptionalVersionedTextDocumentIdentifier3.is=is})(OptionalVersionedTextDocumentIdentifier2||(OptionalVersionedTextDocumentIdentifier2={}));(function(TextDocumentItem3){function create(uri,languageId,version,text){return{uri,languageId,version,text}}TextDocumentItem3.create=create;function is(value){let candidate=value;return Is2.defined(candidate)&&Is2.string(candidate.uri)&&Is2.string(candidate.languageId)&&Is2.integer(candidate.version)&&Is2.string(candidate.text)}TextDocumentItem3.is=is})(TextDocumentItem2||(TextDocumentItem2={}));(function(MarkupKind4){MarkupKind4.PlainText="plaintext",MarkupKind4.Markdown="markdown";function is(value){let candidate=value;return candidate===MarkupKind4.PlainText||candidate===MarkupKind4.Markdown}MarkupKind4.is=is})(MarkupKind2||(MarkupKind2={}));(function(MarkupContent4){function is(value){let candidate=value;return Is2.objectLiteral(value)&&MarkupKind2.is(candidate.kind)&&Is2.string(candidate.value)}MarkupContent4.is=is})(MarkupContent2||(MarkupContent2={}));(function(CompletionItemKind4){CompletionItemKind4.Text=1,CompletionItemKind4.Method=2,CompletionItemKind4.Function=3,CompletionItemKind4.Constructor=4,CompletionItemKind4.Field=5,CompletionItemKind4.Variable=6,CompletionItemKind4.Class=7,CompletionItemKind4.Interface=8,CompletionItemKind4.Module=9,CompletionItemKind4.Property=10,CompletionItemKind4.Unit=11,CompletionItemKind4.Value=12,CompletionItemKind4.Enum=13,CompletionItemKind4.Keyword=14,CompletionItemKind4.Snippet=15,CompletionItemKind4.Color=16,CompletionItemKind4.File=17,CompletionItemKind4.Reference=18,CompletionItemKind4.Folder=19,CompletionItemKind4.EnumMember=20,CompletionItemKind4.Constant=21,CompletionItemKind4.Struct=22,CompletionItemKind4.Event=23,CompletionItemKind4.Operator=24,CompletionItemKind4.TypeParameter=25})(CompletionItemKind2||(CompletionItemKind2={}));(function(InsertTextFormat4){InsertTextFormat4.PlainText=1,InsertTextFormat4.Snippet=2})(InsertTextFormat2||(InsertTextFormat2={}));(function(CompletionItemTag3){CompletionItemTag3.Deprecated=1})(CompletionItemTag2||(CompletionItemTag2={}));(function(InsertReplaceEdit3){function create(newText,insert,replace){return{newText,insert,replace}}InsertReplaceEdit3.create=create;function is(value){let candidate=value;return candidate&&Is2.string(candidate.newText)&&Range2.is(candidate.insert)&&Range2.is(candidate.replace)}InsertReplaceEdit3.is=is})(InsertReplaceEdit2||(InsertReplaceEdit2={}));(function(InsertTextMode3){InsertTextMode3.asIs=1,InsertTextMode3.adjustIndentation=2})(InsertTextMode2||(InsertTextMode2={}));(function(CompletionItemLabelDetails3){function is(value){let candidate=value;return candidate&&(Is2.string(candidate.detail)||candidate.detail===void 0)&&(Is2.string(candidate.description)||candidate.description===void 0)}CompletionItemLabelDetails3.is=is})(CompletionItemLabelDetails2||(CompletionItemLabelDetails2={}));(function(CompletionItem5){function create(label){return{label}}CompletionItem5.create=create})(CompletionItem2||(CompletionItem2={}));(function(CompletionList3){function create(items,isIncomplete){return{items:items||[],isIncomplete:!!isIncomplete}}CompletionList3.create=create})(CompletionList2||(CompletionList2={}));(function(MarkedString3){function fromPlainText(plainText){return plainText.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}MarkedString3.fromPlainText=fromPlainText;function is(value){let candidate=value;return Is2.string(candidate)||Is2.objectLiteral(candidate)&&Is2.string(candidate.language)&&Is2.string(candidate.value)}MarkedString3.is=is})(MarkedString2||(MarkedString2={}));(function(Hover5){function is(value){let 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||Range2.is(value.range))}Hover5.is=is})(Hover2||(Hover2={}));(function(ParameterInformation3){function create(label,documentation){return documentation?{label,documentation}:{label}}ParameterInformation3.create=create})(ParameterInformation2||(ParameterInformation2={}));(function(SignatureInformation3){function create(label,documentation,...parameters){let result={label};return Is2.defined(documentation)&&(result.documentation=documentation),Is2.defined(parameters)?result.parameters=parameters:result.parameters=[],result}SignatureInformation3.create=create})(SignatureInformation2||(SignatureInformation2={}));(function(DocumentHighlightKind3){DocumentHighlightKind3.Text=1,DocumentHighlightKind3.Read=2,DocumentHighlightKind3.Write=3})(DocumentHighlightKind2||(DocumentHighlightKind2={}));(function(DocumentHighlight3){function create(range,kind){let result={range};return Is2.number(kind)&&(result.kind=kind),result}DocumentHighlight3.create=create})(DocumentHighlight2||(DocumentHighlight2={}));(function(SymbolKind4){SymbolKind4.File=1,SymbolKind4.Module=2,SymbolKind4.Namespace=3,SymbolKind4.Package=4,SymbolKind4.Class=5,SymbolKind4.Method=6,SymbolKind4.Property=7,SymbolKind4.Field=8,SymbolKind4.Constructor=9,SymbolKind4.Enum=10,SymbolKind4.Interface=11,SymbolKind4.Function=12,SymbolKind4.Variable=13,SymbolKind4.Constant=14,SymbolKind4.String=15,SymbolKind4.Number=16,SymbolKind4.Boolean=17,SymbolKind4.Array=18,SymbolKind4.Object=19,SymbolKind4.Key=20,SymbolKind4.Null=21,SymbolKind4.EnumMember=22,SymbolKind4.Struct=23,SymbolKind4.Event=24,SymbolKind4.Operator=25,SymbolKind4.TypeParameter=26})(SymbolKind2||(SymbolKind2={}));(function(SymbolTag3){SymbolTag3.Deprecated=1})(SymbolTag2||(SymbolTag2={}));(function(SymbolInformation3){function create(name,kind,range,uri,containerName){let result={name,kind,location:{uri,range}};return containerName&&(result.containerName=containerName),result}SymbolInformation3.create=create})(SymbolInformation2||(SymbolInformation2={}));(function(WorkspaceSymbol3){function create(name,kind,uri,range){return range!==void 0?{name,kind,location:{uri,range}}:{name,kind,location:{uri}}}WorkspaceSymbol3.create=create})(WorkspaceSymbol2||(WorkspaceSymbol2={}));(function(DocumentSymbol4){function create(name,detail,kind,range,selectionRange,children){let result={name,detail,kind,range,selectionRange};return children!==void 0&&(result.children=children),result}DocumentSymbol4.create=create;function is(value){let candidate=value;return candidate&&Is2.string(candidate.name)&&Is2.number(candidate.kind)&&Range2.is(candidate.range)&&Range2.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))}DocumentSymbol4.is=is})(DocumentSymbol2||(DocumentSymbol2={}));(function(CodeActionKind5){CodeActionKind5.Empty="",CodeActionKind5.QuickFix="quickfix",CodeActionKind5.Refactor="refactor",CodeActionKind5.RefactorExtract="refactor.extract",CodeActionKind5.RefactorInline="refactor.inline",CodeActionKind5.RefactorRewrite="refactor.rewrite",CodeActionKind5.Source="source",CodeActionKind5.SourceOrganizeImports="source.organizeImports",CodeActionKind5.SourceFixAll="source.fixAll"})(CodeActionKind2||(CodeActionKind2={}));(function(CodeActionTriggerKind3){CodeActionTriggerKind3.Invoked=1,CodeActionTriggerKind3.Automatic=2})(CodeActionTriggerKind2||(CodeActionTriggerKind2={}));(function(CodeActionContext3){function create(diagnostics,only,triggerKind){let result={diagnostics};return only!=null&&(result.only=only),triggerKind!=null&&(result.triggerKind=triggerKind),result}CodeActionContext3.create=create;function is(value){let candidate=value;return Is2.defined(candidate)&&Is2.typedArray(candidate.diagnostics,Diagnostic2.is)&&(candidate.only===void 0||Is2.typedArray(candidate.only,Is2.string))&&(candidate.triggerKind===void 0||candidate.triggerKind===CodeActionTriggerKind2.Invoked||candidate.triggerKind===CodeActionTriggerKind2.Automatic)}CodeActionContext3.is=is})(CodeActionContext2||(CodeActionContext2={}));(function(CodeAction4){function create(title,kindOrCommandOrEdit,kind){let result={title},checkKind=!0;return typeof kindOrCommandOrEdit=="string"?(checkKind=!1,result.kind=kindOrCommandOrEdit):Command2.is(kindOrCommandOrEdit)?result.command=kindOrCommandOrEdit:result.edit=kindOrCommandOrEdit,checkKind&&kind!==void 0&&(result.kind=kind),result}CodeAction4.create=create;function is(value){let 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||Command2.is(candidate.command))&&(candidate.isPreferred===void 0||Is2.boolean(candidate.isPreferred))&&(candidate.edit===void 0||WorkspaceEdit2.is(candidate.edit))}CodeAction4.is=is})(CodeAction2||(CodeAction2={}));(function(CodeLens3){function create(range,data){let result={range};return Is2.defined(data)&&(result.data=data),result}CodeLens3.create=create;function is(value){let candidate=value;return Is2.defined(candidate)&&Range2.is(candidate.range)&&(Is2.undefined(candidate.command)||Command2.is(candidate.command))}CodeLens3.is=is})(CodeLens2||(CodeLens2={}));(function(FormattingOptions3){function create(tabSize,insertSpaces){return{tabSize,insertSpaces}}FormattingOptions3.create=create;function is(value){let candidate=value;return Is2.defined(candidate)&&Is2.uinteger(candidate.tabSize)&&Is2.boolean(candidate.insertSpaces)}FormattingOptions3.is=is})(FormattingOptions2||(FormattingOptions2={}));(function(DocumentLink3){function create(range,target,data){return{range,target,data}}DocumentLink3.create=create;function is(value){let candidate=value;return Is2.defined(candidate)&&Range2.is(candidate.range)&&(Is2.undefined(candidate.target)||Is2.string(candidate.target))}DocumentLink3.is=is})(DocumentLink2||(DocumentLink2={}));(function(SelectionRange3){function create(range,parent){return{range,parent}}SelectionRange3.create=create;function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&Range2.is(candidate.range)&&(candidate.parent===void 0||SelectionRange3.is(candidate.parent))}SelectionRange3.is=is})(SelectionRange2||(SelectionRange2={}));(function(SemanticTokenTypes3){SemanticTokenTypes3.namespace="namespace",SemanticTokenTypes3.type="type",SemanticTokenTypes3.class="class",SemanticTokenTypes3.enum="enum",SemanticTokenTypes3.interface="interface",SemanticTokenTypes3.struct="struct",SemanticTokenTypes3.typeParameter="typeParameter",SemanticTokenTypes3.parameter="parameter",SemanticTokenTypes3.variable="variable",SemanticTokenTypes3.property="property",SemanticTokenTypes3.enumMember="enumMember",SemanticTokenTypes3.event="event",SemanticTokenTypes3.function="function",SemanticTokenTypes3.method="method",SemanticTokenTypes3.macro="macro",SemanticTokenTypes3.keyword="keyword",SemanticTokenTypes3.modifier="modifier",SemanticTokenTypes3.comment="comment",SemanticTokenTypes3.string="string",SemanticTokenTypes3.number="number",SemanticTokenTypes3.regexp="regexp",SemanticTokenTypes3.operator="operator",SemanticTokenTypes3.decorator="decorator"})(SemanticTokenTypes2||(SemanticTokenTypes2={}));(function(SemanticTokenModifiers3){SemanticTokenModifiers3.declaration="declaration",SemanticTokenModifiers3.definition="definition",SemanticTokenModifiers3.readonly="readonly",SemanticTokenModifiers3.static="static",SemanticTokenModifiers3.deprecated="deprecated",SemanticTokenModifiers3.abstract="abstract",SemanticTokenModifiers3.async="async",SemanticTokenModifiers3.modification="modification",SemanticTokenModifiers3.documentation="documentation",SemanticTokenModifiers3.defaultLibrary="defaultLibrary"})(SemanticTokenModifiers2||(SemanticTokenModifiers2={}));(function(SemanticTokens5){function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&(candidate.resultId===void 0||typeof candidate.resultId=="string")&&Array.isArray(candidate.data)&&(candidate.data.length===0||typeof candidate.data[0]=="number")}SemanticTokens5.is=is})(SemanticTokens2||(SemanticTokens2={}));(function(InlineValueText3){function create(range,text){return{range,text}}InlineValueText3.create=create;function is(value){let candidate=value;return candidate!=null&&Range2.is(candidate.range)&&Is2.string(candidate.text)}InlineValueText3.is=is})(InlineValueText2||(InlineValueText2={}));(function(InlineValueVariableLookup3){function create(range,variableName,caseSensitiveLookup){return{range,variableName,caseSensitiveLookup}}InlineValueVariableLookup3.create=create;function is(value){let candidate=value;return candidate!=null&&Range2.is(candidate.range)&&Is2.boolean(candidate.caseSensitiveLookup)&&(Is2.string(candidate.variableName)||candidate.variableName===void 0)}InlineValueVariableLookup3.is=is})(InlineValueVariableLookup2||(InlineValueVariableLookup2={}));(function(InlineValueEvaluatableExpression3){function create(range,expression){return{range,expression}}InlineValueEvaluatableExpression3.create=create;function is(value){let candidate=value;return candidate!=null&&Range2.is(candidate.range)&&(Is2.string(candidate.expression)||candidate.expression===void 0)}InlineValueEvaluatableExpression3.is=is})(InlineValueEvaluatableExpression2||(InlineValueEvaluatableExpression2={}));(function(InlineValueContext3){function create(frameId,stoppedLocation){return{frameId,stoppedLocation}}InlineValueContext3.create=create;function is(value){let candidate=value;return Is2.defined(candidate)&&Range2.is(value.stoppedLocation)}InlineValueContext3.is=is})(InlineValueContext2||(InlineValueContext2={}));(function(InlayHintKind3){InlayHintKind3.Type=1,InlayHintKind3.Parameter=2;function is(value){return value===1||value===2}InlayHintKind3.is=is})(InlayHintKind2||(InlayHintKind2={}));(function(InlayHintLabelPart3){function create(value){return{value}}InlayHintLabelPart3.create=create;function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&(candidate.tooltip===void 0||Is2.string(candidate.tooltip)||MarkupContent2.is(candidate.tooltip))&&(candidate.location===void 0||Location2.is(candidate.location))&&(candidate.command===void 0||Command2.is(candidate.command))}InlayHintLabelPart3.is=is})(InlayHintLabelPart2||(InlayHintLabelPart2={}));(function(InlayHint3){function create(position,label,kind){let result={position,label};return kind!==void 0&&(result.kind=kind),result}InlayHint3.create=create;function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&Position2.is(candidate.position)&&(Is2.string(candidate.label)||Is2.typedArray(candidate.label,InlayHintLabelPart2.is))&&(candidate.kind===void 0||InlayHintKind2.is(candidate.kind))&&candidate.textEdits===void 0||Is2.typedArray(candidate.textEdits,TextEdit2.is)&&(candidate.tooltip===void 0||Is2.string(candidate.tooltip)||MarkupContent2.is(candidate.tooltip))&&(candidate.paddingLeft===void 0||Is2.boolean(candidate.paddingLeft))&&(candidate.paddingRight===void 0||Is2.boolean(candidate.paddingRight))}InlayHint3.is=is})(InlayHint2||(InlayHint2={}));(function(StringValue3){function createSnippet(value){return{kind:"snippet",value}}StringValue3.createSnippet=createSnippet})(StringValue2||(StringValue2={}));(function(InlineCompletionItem3){function create(insertText,filterText,range,command){return{insertText,filterText,range,command}}InlineCompletionItem3.create=create})(InlineCompletionItem2||(InlineCompletionItem2={}));(function(InlineCompletionList3){function create(items){return{items}}InlineCompletionList3.create=create})(InlineCompletionList2||(InlineCompletionList2={}));(function(InlineCompletionTriggerKind3){InlineCompletionTriggerKind3.Invoked=0,InlineCompletionTriggerKind3.Automatic=1})(InlineCompletionTriggerKind2||(InlineCompletionTriggerKind2={}));(function(SelectedCompletionInfo3){function create(range,text){return{range,text}}SelectedCompletionInfo3.create=create})(SelectedCompletionInfo2||(SelectedCompletionInfo2={}));(function(InlineCompletionContext3){function create(triggerKind,selectedCompletionInfo){return{triggerKind,selectedCompletionInfo}}InlineCompletionContext3.create=create})(InlineCompletionContext2||(InlineCompletionContext2={}));(function(WorkspaceFolder3){function is(value){let candidate=value;return Is2.objectLiteral(candidate)&&URI2.is(candidate.uri)&&Is2.string(candidate.name)}WorkspaceFolder3.is=is})(WorkspaceFolder2||(WorkspaceFolder2={}));EOL2=[`
|
|
66
42
|
`,`\r
|
|
67
43
|
`,"\r"];(function(TextDocument4){function create(uri,languageId,version,content){return new FullTextDocument3(uri,languageId,version,content)}TextDocument4.create=create;function is(value){let 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))}TextDocument4.is=is;function applyEdits(document,edits){let text=document.getText(),sortedEdits=mergeSort2(edits,(a,b)=>{let diff=a.range.start.line-b.range.start.line;return diff===0?a.range.start.character-b.range.start.character:diff}),lastModifiedOffset=text.length;for(let i=sortedEdits.length-1;i>=0;i--){let e=sortedEdits[i],startOffset=document.offsetAt(e.range.start),endOffset=document.offsetAt(e.range.end);if(endOffset<=lastModifiedOffset)text=text.substring(0,startOffset)+e.newText+text.substring(endOffset,text.length);else throw new Error("Overlapping edit");lastModifiedOffset=startOffset}return text}TextDocument4.applyEdits=applyEdits;function mergeSort2(data,compare){if(data.length<=1)return data;let p=data.length/2|0,left=data.slice(0,p),right=data.slice(p);mergeSort2(left,compare),mergeSort2(right,compare);let leftIdx=0,rightIdx=0,i=0;for(;leftIdx<left.length&&rightIdx<right.length;)compare(left[leftIdx],right[rightIdx])<=0?data[i++]=left[leftIdx++]:data[i++]=right[rightIdx++];for(;leftIdx<left.length;)data[i++]=left[leftIdx++];for(;rightIdx<right.length;)data[i++]=right[rightIdx++];return data}})(TextDocument3||(TextDocument3={}));FullTextDocument3=class{constructor(uri,languageId,version,content){this._uri=uri,this._languageId=languageId,this._version=version,this._content=content,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(range){if(range){let start=this.offsetAt(range.start),end=this.offsetAt(range.end);return this._content.substring(start,end)}return this._content}update(event,version){this._content=event.text,this._version=version,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let lineOffsets=[],text=this._content,isLineStart=!0;for(let i=0;i<text.length;i++){isLineStart&&(lineOffsets.push(i),isLineStart=!1);let ch=text.charAt(i);isLineStart=ch==="\r"||ch===`
|
|
68
44
|
`,ch==="\r"&&i+1<text.length&&text.charAt(i+1)===`
|
|
69
|
-
`&&i++}isLineStart&&text.length>0&&lineOffsets.push(text.length),this._lineOffsets=lineOffsets}return this._lineOffsets}positionAt(offset){offset=Math.max(Math.min(offset,this._content.length),0);let lineOffsets=this.getLineOffsets(),low=0,high=lineOffsets.length;if(high===0)return Position2.create(0,offset);for(;low<high;){let mid=Math.floor((low+high)/2);lineOffsets[mid]>offset?high=mid:low=mid+1}let line=low-1;return Position2.create(line,offset-lineOffsets[line])}offsetAt(position){let lineOffsets=this.getLineOffsets();if(position.line>=lineOffsets.length)return this._content.length;if(position.line<0)return 0;let lineOffset=lineOffsets[position.line],nextLineOffset=position.line+1<lineOffsets.length?lineOffsets[position.line+1]:this._content.length;return Math.max(Math.min(lineOffset+position.character,nextLineOffset),lineOffset)}get lineCount(){return this.getLineOffsets().length}};(function(Is3){let toString=Object.prototype.toString;function defined(value){return typeof value<"u"}Is3.defined=defined;function undefined2(value){return typeof value>"u"}Is3.undefined=undefined2;function boolean(value){return value===!0||value===!1}Is3.boolean=boolean;function string(value){return toString.call(value)==="[object String]"}Is3.string=string;function number(value){return toString.call(value)==="[object Number]"}Is3.number=number;function numberRange(value,min,max){return toString.call(value)==="[object Number]"&&min<=value&&value<=max}Is3.numberRange=numberRange;function integer3(value){return toString.call(value)==="[object Number]"&&-2147483648<=value&&value<=2147483647}Is3.integer=integer3;function uinteger3(value){return toString.call(value)==="[object Number]"&&0<=value&&value<=2147483647}Is3.uinteger=uinteger3;function func(value){return toString.call(value)==="[object Function]"}Is3.func=func;function objectLiteral(value){return value!==null&&typeof value=="object"}Is3.objectLiteral=objectLiteral;function typedArray(value,check){return Array.isArray(value)&&value.every(check)}Is3.typedArray=typedArray})(Is2||(Is2={}))}});var require_messages4=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/messages.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ProtocolNotificationType=exports.ProtocolNotificationType0=exports.ProtocolRequestType=exports.ProtocolRequestType0=exports.RegistrationType=exports.MessageDirection=void 0;var vscode_jsonrpc_1=require_main4(),MessageDirection;(function(MessageDirection2){MessageDirection2.clientToServer="clientToServer",MessageDirection2.serverToClient="serverToClient",MessageDirection2.both="both"})(MessageDirection||(exports.MessageDirection=MessageDirection={}));var RegistrationType=class{constructor(method){this.method=method}};exports.RegistrationType=RegistrationType;var ProtocolRequestType0=class extends vscode_jsonrpc_1.RequestType0{constructor(method){super(method)}};exports.ProtocolRequestType0=ProtocolRequestType0;var ProtocolRequestType=class extends vscode_jsonrpc_1.RequestType{constructor(method){super(method,vscode_jsonrpc_1.ParameterStructures.byName)}};exports.ProtocolRequestType=ProtocolRequestType;var ProtocolNotificationType0=class extends vscode_jsonrpc_1.NotificationType0{constructor(method){super(method)}};exports.ProtocolNotificationType0=ProtocolNotificationType0;var ProtocolNotificationType=class extends vscode_jsonrpc_1.NotificationType{constructor(method){super(method,vscode_jsonrpc_1.ParameterStructures.byName)}};exports.ProtocolNotificationType=ProtocolNotificationType}});var require_is5=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.objectLiteral=exports.typedArray=exports.stringArray=exports.array=exports.func=exports.error=exports.number=exports.string=exports.boolean=void 0;function boolean(value){return value===!0||value===!1}exports.boolean=boolean;function string(value){return typeof value=="string"||value instanceof String}exports.string=string;function number(value){return typeof value=="number"||value instanceof Number}exports.number=number;function error(value){return value instanceof Error}exports.error=error;function func(value){return typeof value=="function"}exports.func=func;function array(value){return Array.isArray(value)}exports.array=array;function stringArray(value){return array(value)&&value.every(elem=>string(elem))}exports.stringArray=stringArray;function typedArray(value,check){return Array.isArray(value)&&value.every(check)}exports.typedArray=typedArray;function objectLiteral(value){return value!==null&&typeof value=="object"}exports.objectLiteral=objectLiteral}});var require_protocol_implementation2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ImplementationRequest=void 0;var messages_1=require_messages4(),ImplementationRequest;(function(ImplementationRequest2){ImplementationRequest2.method="textDocument/implementation",ImplementationRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ImplementationRequest2.type=new messages_1.ProtocolRequestType(ImplementationRequest2.method)})(ImplementationRequest||(exports.ImplementationRequest=ImplementationRequest={}))}});var require_protocol_typeDefinition2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.TypeDefinitionRequest=void 0;var messages_1=require_messages4(),TypeDefinitionRequest;(function(TypeDefinitionRequest2){TypeDefinitionRequest2.method="textDocument/typeDefinition",TypeDefinitionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,TypeDefinitionRequest2.type=new messages_1.ProtocolRequestType(TypeDefinitionRequest2.method)})(TypeDefinitionRequest||(exports.TypeDefinitionRequest=TypeDefinitionRequest={}))}});var require_protocol_workspaceFolder2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.DidChangeWorkspaceFoldersNotification=exports.WorkspaceFoldersRequest=void 0;var messages_1=require_messages4(),WorkspaceFoldersRequest;(function(WorkspaceFoldersRequest2){WorkspaceFoldersRequest2.method="workspace/workspaceFolders",WorkspaceFoldersRequest2.messageDirection=messages_1.MessageDirection.serverToClient,WorkspaceFoldersRequest2.type=new messages_1.ProtocolRequestType0(WorkspaceFoldersRequest2.method)})(WorkspaceFoldersRequest||(exports.WorkspaceFoldersRequest=WorkspaceFoldersRequest={}));var DidChangeWorkspaceFoldersNotification;(function(DidChangeWorkspaceFoldersNotification2){DidChangeWorkspaceFoldersNotification2.method="workspace/didChangeWorkspaceFolders",DidChangeWorkspaceFoldersNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeWorkspaceFoldersNotification2.type=new messages_1.ProtocolNotificationType(DidChangeWorkspaceFoldersNotification2.method)})(DidChangeWorkspaceFoldersNotification||(exports.DidChangeWorkspaceFoldersNotification=DidChangeWorkspaceFoldersNotification={}))}});var require_protocol_configuration2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ConfigurationRequest=void 0;var messages_1=require_messages4(),ConfigurationRequest;(function(ConfigurationRequest2){ConfigurationRequest2.method="workspace/configuration",ConfigurationRequest2.messageDirection=messages_1.MessageDirection.serverToClient,ConfigurationRequest2.type=new messages_1.ProtocolRequestType(ConfigurationRequest2.method)})(ConfigurationRequest||(exports.ConfigurationRequest=ConfigurationRequest={}))}});var require_protocol_colorProvider2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ColorPresentationRequest=exports.DocumentColorRequest=void 0;var messages_1=require_messages4(),DocumentColorRequest;(function(DocumentColorRequest2){DocumentColorRequest2.method="textDocument/documentColor",DocumentColorRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentColorRequest2.type=new messages_1.ProtocolRequestType(DocumentColorRequest2.method)})(DocumentColorRequest||(exports.DocumentColorRequest=DocumentColorRequest={}));var ColorPresentationRequest;(function(ColorPresentationRequest2){ColorPresentationRequest2.method="textDocument/colorPresentation",ColorPresentationRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ColorPresentationRequest2.type=new messages_1.ProtocolRequestType(ColorPresentationRequest2.method)})(ColorPresentationRequest||(exports.ColorPresentationRequest=ColorPresentationRequest={}))}});var require_protocol_foldingRange2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.FoldingRangeRefreshRequest=exports.FoldingRangeRequest=void 0;var messages_1=require_messages4(),FoldingRangeRequest;(function(FoldingRangeRequest2){FoldingRangeRequest2.method="textDocument/foldingRange",FoldingRangeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,FoldingRangeRequest2.type=new messages_1.ProtocolRequestType(FoldingRangeRequest2.method)})(FoldingRangeRequest||(exports.FoldingRangeRequest=FoldingRangeRequest={}));var FoldingRangeRefreshRequest;(function(FoldingRangeRefreshRequest2){FoldingRangeRefreshRequest2.method="workspace/foldingRange/refresh",FoldingRangeRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,FoldingRangeRefreshRequest2.type=new messages_1.ProtocolRequestType0(FoldingRangeRefreshRequest2.method)})(FoldingRangeRefreshRequest||(exports.FoldingRangeRefreshRequest=FoldingRangeRefreshRequest={}))}});var require_protocol_declaration2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.DeclarationRequest=void 0;var messages_1=require_messages4(),DeclarationRequest;(function(DeclarationRequest2){DeclarationRequest2.method="textDocument/declaration",DeclarationRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DeclarationRequest2.type=new messages_1.ProtocolRequestType(DeclarationRequest2.method)})(DeclarationRequest||(exports.DeclarationRequest=DeclarationRequest={}))}});var require_protocol_selectionRange2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.SelectionRangeRequest=void 0;var messages_1=require_messages4(),SelectionRangeRequest;(function(SelectionRangeRequest2){SelectionRangeRequest2.method="textDocument/selectionRange",SelectionRangeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SelectionRangeRequest2.type=new messages_1.ProtocolRequestType(SelectionRangeRequest2.method)})(SelectionRangeRequest||(exports.SelectionRangeRequest=SelectionRangeRequest={}))}});var require_protocol_progress2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.WorkDoneProgressCancelNotification=exports.WorkDoneProgressCreateRequest=exports.WorkDoneProgress=void 0;var vscode_jsonrpc_1=require_main4(),messages_1=require_messages4(),WorkDoneProgress;(function(WorkDoneProgress2){WorkDoneProgress2.type=new vscode_jsonrpc_1.ProgressType;function is(value){return value===WorkDoneProgress2.type}WorkDoneProgress2.is=is})(WorkDoneProgress||(exports.WorkDoneProgress=WorkDoneProgress={}));var WorkDoneProgressCreateRequest;(function(WorkDoneProgressCreateRequest2){WorkDoneProgressCreateRequest2.method="window/workDoneProgress/create",WorkDoneProgressCreateRequest2.messageDirection=messages_1.MessageDirection.serverToClient,WorkDoneProgressCreateRequest2.type=new messages_1.ProtocolRequestType(WorkDoneProgressCreateRequest2.method)})(WorkDoneProgressCreateRequest||(exports.WorkDoneProgressCreateRequest=WorkDoneProgressCreateRequest={}));var WorkDoneProgressCancelNotification;(function(WorkDoneProgressCancelNotification2){WorkDoneProgressCancelNotification2.method="window/workDoneProgress/cancel",WorkDoneProgressCancelNotification2.messageDirection=messages_1.MessageDirection.clientToServer,WorkDoneProgressCancelNotification2.type=new messages_1.ProtocolNotificationType(WorkDoneProgressCancelNotification2.method)})(WorkDoneProgressCancelNotification||(exports.WorkDoneProgressCancelNotification=WorkDoneProgressCancelNotification={}))}});var require_protocol_callHierarchy2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.CallHierarchyOutgoingCallsRequest=exports.CallHierarchyIncomingCallsRequest=exports.CallHierarchyPrepareRequest=void 0;var messages_1=require_messages4(),CallHierarchyPrepareRequest;(function(CallHierarchyPrepareRequest2){CallHierarchyPrepareRequest2.method="textDocument/prepareCallHierarchy",CallHierarchyPrepareRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CallHierarchyPrepareRequest2.type=new messages_1.ProtocolRequestType(CallHierarchyPrepareRequest2.method)})(CallHierarchyPrepareRequest||(exports.CallHierarchyPrepareRequest=CallHierarchyPrepareRequest={}));var CallHierarchyIncomingCallsRequest;(function(CallHierarchyIncomingCallsRequest2){CallHierarchyIncomingCallsRequest2.method="callHierarchy/incomingCalls",CallHierarchyIncomingCallsRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CallHierarchyIncomingCallsRequest2.type=new messages_1.ProtocolRequestType(CallHierarchyIncomingCallsRequest2.method)})(CallHierarchyIncomingCallsRequest||(exports.CallHierarchyIncomingCallsRequest=CallHierarchyIncomingCallsRequest={}));var CallHierarchyOutgoingCallsRequest;(function(CallHierarchyOutgoingCallsRequest2){CallHierarchyOutgoingCallsRequest2.method="callHierarchy/outgoingCalls",CallHierarchyOutgoingCallsRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CallHierarchyOutgoingCallsRequest2.type=new messages_1.ProtocolRequestType(CallHierarchyOutgoingCallsRequest2.method)})(CallHierarchyOutgoingCallsRequest||(exports.CallHierarchyOutgoingCallsRequest=CallHierarchyOutgoingCallsRequest={}))}});var require_protocol_semanticTokens2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.SemanticTokensRefreshRequest=exports.SemanticTokensRangeRequest=exports.SemanticTokensDeltaRequest=exports.SemanticTokensRequest=exports.SemanticTokensRegistrationType=exports.TokenFormat=void 0;var messages_1=require_messages4(),TokenFormat;(function(TokenFormat2){TokenFormat2.Relative="relative"})(TokenFormat||(exports.TokenFormat=TokenFormat={}));var SemanticTokensRegistrationType;(function(SemanticTokensRegistrationType2){SemanticTokensRegistrationType2.method="textDocument/semanticTokens",SemanticTokensRegistrationType2.type=new messages_1.RegistrationType(SemanticTokensRegistrationType2.method)})(SemanticTokensRegistrationType||(exports.SemanticTokensRegistrationType=SemanticTokensRegistrationType={}));var SemanticTokensRequest;(function(SemanticTokensRequest2){SemanticTokensRequest2.method="textDocument/semanticTokens/full",SemanticTokensRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SemanticTokensRequest2.type=new messages_1.ProtocolRequestType(SemanticTokensRequest2.method),SemanticTokensRequest2.registrationMethod=SemanticTokensRegistrationType.method})(SemanticTokensRequest||(exports.SemanticTokensRequest=SemanticTokensRequest={}));var SemanticTokensDeltaRequest;(function(SemanticTokensDeltaRequest2){SemanticTokensDeltaRequest2.method="textDocument/semanticTokens/full/delta",SemanticTokensDeltaRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SemanticTokensDeltaRequest2.type=new messages_1.ProtocolRequestType(SemanticTokensDeltaRequest2.method),SemanticTokensDeltaRequest2.registrationMethod=SemanticTokensRegistrationType.method})(SemanticTokensDeltaRequest||(exports.SemanticTokensDeltaRequest=SemanticTokensDeltaRequest={}));var SemanticTokensRangeRequest;(function(SemanticTokensRangeRequest2){SemanticTokensRangeRequest2.method="textDocument/semanticTokens/range",SemanticTokensRangeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SemanticTokensRangeRequest2.type=new messages_1.ProtocolRequestType(SemanticTokensRangeRequest2.method),SemanticTokensRangeRequest2.registrationMethod=SemanticTokensRegistrationType.method})(SemanticTokensRangeRequest||(exports.SemanticTokensRangeRequest=SemanticTokensRangeRequest={}));var SemanticTokensRefreshRequest;(function(SemanticTokensRefreshRequest2){SemanticTokensRefreshRequest2.method="workspace/semanticTokens/refresh",SemanticTokensRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,SemanticTokensRefreshRequest2.type=new messages_1.ProtocolRequestType0(SemanticTokensRefreshRequest2.method)})(SemanticTokensRefreshRequest||(exports.SemanticTokensRefreshRequest=SemanticTokensRefreshRequest={}))}});var require_protocol_showDocument2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ShowDocumentRequest=void 0;var messages_1=require_messages4(),ShowDocumentRequest;(function(ShowDocumentRequest2){ShowDocumentRequest2.method="window/showDocument",ShowDocumentRequest2.messageDirection=messages_1.MessageDirection.serverToClient,ShowDocumentRequest2.type=new messages_1.ProtocolRequestType(ShowDocumentRequest2.method)})(ShowDocumentRequest||(exports.ShowDocumentRequest=ShowDocumentRequest={}))}});var require_protocol_linkedEditingRange2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.LinkedEditingRangeRequest=void 0;var messages_1=require_messages4(),LinkedEditingRangeRequest;(function(LinkedEditingRangeRequest2){LinkedEditingRangeRequest2.method="textDocument/linkedEditingRange",LinkedEditingRangeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,LinkedEditingRangeRequest2.type=new messages_1.ProtocolRequestType(LinkedEditingRangeRequest2.method)})(LinkedEditingRangeRequest||(exports.LinkedEditingRangeRequest=LinkedEditingRangeRequest={}))}});var require_protocol_fileOperations2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.WillDeleteFilesRequest=exports.DidDeleteFilesNotification=exports.DidRenameFilesNotification=exports.WillRenameFilesRequest=exports.DidCreateFilesNotification=exports.WillCreateFilesRequest=exports.FileOperationPatternKind=void 0;var messages_1=require_messages4(),FileOperationPatternKind;(function(FileOperationPatternKind2){FileOperationPatternKind2.file="file",FileOperationPatternKind2.folder="folder"})(FileOperationPatternKind||(exports.FileOperationPatternKind=FileOperationPatternKind={}));var WillCreateFilesRequest;(function(WillCreateFilesRequest2){WillCreateFilesRequest2.method="workspace/willCreateFiles",WillCreateFilesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WillCreateFilesRequest2.type=new messages_1.ProtocolRequestType(WillCreateFilesRequest2.method)})(WillCreateFilesRequest||(exports.WillCreateFilesRequest=WillCreateFilesRequest={}));var DidCreateFilesNotification;(function(DidCreateFilesNotification2){DidCreateFilesNotification2.method="workspace/didCreateFiles",DidCreateFilesNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidCreateFilesNotification2.type=new messages_1.ProtocolNotificationType(DidCreateFilesNotification2.method)})(DidCreateFilesNotification||(exports.DidCreateFilesNotification=DidCreateFilesNotification={}));var WillRenameFilesRequest;(function(WillRenameFilesRequest2){WillRenameFilesRequest2.method="workspace/willRenameFiles",WillRenameFilesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WillRenameFilesRequest2.type=new messages_1.ProtocolRequestType(WillRenameFilesRequest2.method)})(WillRenameFilesRequest||(exports.WillRenameFilesRequest=WillRenameFilesRequest={}));var DidRenameFilesNotification;(function(DidRenameFilesNotification2){DidRenameFilesNotification2.method="workspace/didRenameFiles",DidRenameFilesNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidRenameFilesNotification2.type=new messages_1.ProtocolNotificationType(DidRenameFilesNotification2.method)})(DidRenameFilesNotification||(exports.DidRenameFilesNotification=DidRenameFilesNotification={}));var DidDeleteFilesNotification;(function(DidDeleteFilesNotification2){DidDeleteFilesNotification2.method="workspace/didDeleteFiles",DidDeleteFilesNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidDeleteFilesNotification2.type=new messages_1.ProtocolNotificationType(DidDeleteFilesNotification2.method)})(DidDeleteFilesNotification||(exports.DidDeleteFilesNotification=DidDeleteFilesNotification={}));var WillDeleteFilesRequest;(function(WillDeleteFilesRequest2){WillDeleteFilesRequest2.method="workspace/willDeleteFiles",WillDeleteFilesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WillDeleteFilesRequest2.type=new messages_1.ProtocolRequestType(WillDeleteFilesRequest2.method)})(WillDeleteFilesRequest||(exports.WillDeleteFilesRequest=WillDeleteFilesRequest={}))}});var require_protocol_moniker2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.MonikerRequest=exports.MonikerKind=exports.UniquenessLevel=void 0;var messages_1=require_messages4(),UniquenessLevel;(function(UniquenessLevel2){UniquenessLevel2.document="document",UniquenessLevel2.project="project",UniquenessLevel2.group="group",UniquenessLevel2.scheme="scheme",UniquenessLevel2.global="global"})(UniquenessLevel||(exports.UniquenessLevel=UniquenessLevel={}));var MonikerKind;(function(MonikerKind2){MonikerKind2.$import="import",MonikerKind2.$export="export",MonikerKind2.local="local"})(MonikerKind||(exports.MonikerKind=MonikerKind={}));var MonikerRequest;(function(MonikerRequest2){MonikerRequest2.method="textDocument/moniker",MonikerRequest2.messageDirection=messages_1.MessageDirection.clientToServer,MonikerRequest2.type=new messages_1.ProtocolRequestType(MonikerRequest2.method)})(MonikerRequest||(exports.MonikerRequest=MonikerRequest={}))}});var require_protocol_typeHierarchy2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.TypeHierarchySubtypesRequest=exports.TypeHierarchySupertypesRequest=exports.TypeHierarchyPrepareRequest=void 0;var messages_1=require_messages4(),TypeHierarchyPrepareRequest;(function(TypeHierarchyPrepareRequest2){TypeHierarchyPrepareRequest2.method="textDocument/prepareTypeHierarchy",TypeHierarchyPrepareRequest2.messageDirection=messages_1.MessageDirection.clientToServer,TypeHierarchyPrepareRequest2.type=new messages_1.ProtocolRequestType(TypeHierarchyPrepareRequest2.method)})(TypeHierarchyPrepareRequest||(exports.TypeHierarchyPrepareRequest=TypeHierarchyPrepareRequest={}));var TypeHierarchySupertypesRequest;(function(TypeHierarchySupertypesRequest2){TypeHierarchySupertypesRequest2.method="typeHierarchy/supertypes",TypeHierarchySupertypesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,TypeHierarchySupertypesRequest2.type=new messages_1.ProtocolRequestType(TypeHierarchySupertypesRequest2.method)})(TypeHierarchySupertypesRequest||(exports.TypeHierarchySupertypesRequest=TypeHierarchySupertypesRequest={}));var TypeHierarchySubtypesRequest;(function(TypeHierarchySubtypesRequest2){TypeHierarchySubtypesRequest2.method="typeHierarchy/subtypes",TypeHierarchySubtypesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,TypeHierarchySubtypesRequest2.type=new messages_1.ProtocolRequestType(TypeHierarchySubtypesRequest2.method)})(TypeHierarchySubtypesRequest||(exports.TypeHierarchySubtypesRequest=TypeHierarchySubtypesRequest={}))}});var require_protocol_inlineValue2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.InlineValueRefreshRequest=exports.InlineValueRequest=void 0;var messages_1=require_messages4(),InlineValueRequest;(function(InlineValueRequest2){InlineValueRequest2.method="textDocument/inlineValue",InlineValueRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InlineValueRequest2.type=new messages_1.ProtocolRequestType(InlineValueRequest2.method)})(InlineValueRequest||(exports.InlineValueRequest=InlineValueRequest={}));var InlineValueRefreshRequest;(function(InlineValueRefreshRequest2){InlineValueRefreshRequest2.method="workspace/inlineValue/refresh",InlineValueRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,InlineValueRefreshRequest2.type=new messages_1.ProtocolRequestType0(InlineValueRefreshRequest2.method)})(InlineValueRefreshRequest||(exports.InlineValueRefreshRequest=InlineValueRefreshRequest={}))}});var require_protocol_inlayHint2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.InlayHintRefreshRequest=exports.InlayHintResolveRequest=exports.InlayHintRequest=void 0;var messages_1=require_messages4(),InlayHintRequest;(function(InlayHintRequest2){InlayHintRequest2.method="textDocument/inlayHint",InlayHintRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InlayHintRequest2.type=new messages_1.ProtocolRequestType(InlayHintRequest2.method)})(InlayHintRequest||(exports.InlayHintRequest=InlayHintRequest={}));var InlayHintResolveRequest;(function(InlayHintResolveRequest2){InlayHintResolveRequest2.method="inlayHint/resolve",InlayHintResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InlayHintResolveRequest2.type=new messages_1.ProtocolRequestType(InlayHintResolveRequest2.method)})(InlayHintResolveRequest||(exports.InlayHintResolveRequest=InlayHintResolveRequest={}));var InlayHintRefreshRequest;(function(InlayHintRefreshRequest2){InlayHintRefreshRequest2.method="workspace/inlayHint/refresh",InlayHintRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,InlayHintRefreshRequest2.type=new messages_1.ProtocolRequestType0(InlayHintRefreshRequest2.method)})(InlayHintRefreshRequest||(exports.InlayHintRefreshRequest=InlayHintRefreshRequest={}))}});var require_protocol_diagnostic2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.DiagnosticRefreshRequest=exports.WorkspaceDiagnosticRequest=exports.DocumentDiagnosticRequest=exports.DocumentDiagnosticReportKind=exports.DiagnosticServerCancellationData=void 0;var vscode_jsonrpc_1=require_main4(),Is3=require_is5(),messages_1=require_messages4(),DiagnosticServerCancellationData;(function(DiagnosticServerCancellationData2){function is(value){let candidate=value;return candidate&&Is3.boolean(candidate.retriggerRequest)}DiagnosticServerCancellationData2.is=is})(DiagnosticServerCancellationData||(exports.DiagnosticServerCancellationData=DiagnosticServerCancellationData={}));var DocumentDiagnosticReportKind;(function(DocumentDiagnosticReportKind2){DocumentDiagnosticReportKind2.Full="full",DocumentDiagnosticReportKind2.Unchanged="unchanged"})(DocumentDiagnosticReportKind||(exports.DocumentDiagnosticReportKind=DocumentDiagnosticReportKind={}));var DocumentDiagnosticRequest;(function(DocumentDiagnosticRequest2){DocumentDiagnosticRequest2.method="textDocument/diagnostic",DocumentDiagnosticRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentDiagnosticRequest2.type=new messages_1.ProtocolRequestType(DocumentDiagnosticRequest2.method),DocumentDiagnosticRequest2.partialResult=new vscode_jsonrpc_1.ProgressType})(DocumentDiagnosticRequest||(exports.DocumentDiagnosticRequest=DocumentDiagnosticRequest={}));var WorkspaceDiagnosticRequest;(function(WorkspaceDiagnosticRequest2){WorkspaceDiagnosticRequest2.method="workspace/diagnostic",WorkspaceDiagnosticRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WorkspaceDiagnosticRequest2.type=new messages_1.ProtocolRequestType(WorkspaceDiagnosticRequest2.method),WorkspaceDiagnosticRequest2.partialResult=new vscode_jsonrpc_1.ProgressType})(WorkspaceDiagnosticRequest||(exports.WorkspaceDiagnosticRequest=WorkspaceDiagnosticRequest={}));var DiagnosticRefreshRequest;(function(DiagnosticRefreshRequest2){DiagnosticRefreshRequest2.method="workspace/diagnostic/refresh",DiagnosticRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,DiagnosticRefreshRequest2.type=new messages_1.ProtocolRequestType0(DiagnosticRefreshRequest2.method)})(DiagnosticRefreshRequest||(exports.DiagnosticRefreshRequest=DiagnosticRefreshRequest={}))}});var require_protocol_notebook2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.DidCloseNotebookDocumentNotification=exports.DidSaveNotebookDocumentNotification=exports.DidChangeNotebookDocumentNotification=exports.NotebookCellArrayChange=exports.DidOpenNotebookDocumentNotification=exports.NotebookDocumentSyncRegistrationType=exports.NotebookDocument=exports.NotebookCell=exports.ExecutionSummary=exports.NotebookCellKind=void 0;var vscode_languageserver_types_1=(init_main2(),__toCommonJS(main_exports2)),Is3=require_is5(),messages_1=require_messages4(),NotebookCellKind;(function(NotebookCellKind2){NotebookCellKind2.Markup=1,NotebookCellKind2.Code=2;function is(value){return value===1||value===2}NotebookCellKind2.is=is})(NotebookCellKind||(exports.NotebookCellKind=NotebookCellKind={}));var ExecutionSummary;(function(ExecutionSummary2){function create(executionOrder,success){let result={executionOrder};return(success===!0||success===!1)&&(result.success=success),result}ExecutionSummary2.create=create;function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&vscode_languageserver_types_1.uinteger.is(candidate.executionOrder)&&(candidate.success===void 0||Is3.boolean(candidate.success))}ExecutionSummary2.is=is;function equals(one,other){return one===other?!0:one==null||other===null||other===void 0?!1:one.executionOrder===other.executionOrder&&one.success===other.success}ExecutionSummary2.equals=equals})(ExecutionSummary||(exports.ExecutionSummary=ExecutionSummary={}));var NotebookCell;(function(NotebookCell2){function create(kind,document){return{kind,document}}NotebookCell2.create=create;function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&NotebookCellKind.is(candidate.kind)&&vscode_languageserver_types_1.DocumentUri.is(candidate.document)&&(candidate.metadata===void 0||Is3.objectLiteral(candidate.metadata))}NotebookCell2.is=is;function diff(one,two){let result=new Set;return one.document!==two.document&&result.add("document"),one.kind!==two.kind&&result.add("kind"),one.executionSummary!==two.executionSummary&&result.add("executionSummary"),(one.metadata!==void 0||two.metadata!==void 0)&&!equalsMetadata(one.metadata,two.metadata)&&result.add("metadata"),(one.executionSummary!==void 0||two.executionSummary!==void 0)&&!ExecutionSummary.equals(one.executionSummary,two.executionSummary)&&result.add("executionSummary"),result}NotebookCell2.diff=diff;function equalsMetadata(one,other){if(one===other)return!0;if(one==null||other===null||other===void 0||typeof one!=typeof other||typeof one!="object")return!1;let oneArray=Array.isArray(one),otherArray=Array.isArray(other);if(oneArray!==otherArray)return!1;if(oneArray&&otherArray){if(one.length!==other.length)return!1;for(let i=0;i<one.length;i++)if(!equalsMetadata(one[i],other[i]))return!1}if(Is3.objectLiteral(one)&&Is3.objectLiteral(other)){let oneKeys=Object.keys(one),otherKeys=Object.keys(other);if(oneKeys.length!==otherKeys.length||(oneKeys.sort(),otherKeys.sort(),!equalsMetadata(oneKeys,otherKeys)))return!1;for(let i=0;i<oneKeys.length;i++){let prop=oneKeys[i];if(!equalsMetadata(one[prop],other[prop]))return!1}}return!0}})(NotebookCell||(exports.NotebookCell=NotebookCell={}));var NotebookDocument;(function(NotebookDocument2){function create(uri,notebookType,version,cells){return{uri,notebookType,version,cells}}NotebookDocument2.create=create;function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&Is3.string(candidate.uri)&&vscode_languageserver_types_1.integer.is(candidate.version)&&Is3.typedArray(candidate.cells,NotebookCell.is)}NotebookDocument2.is=is})(NotebookDocument||(exports.NotebookDocument=NotebookDocument={}));var NotebookDocumentSyncRegistrationType;(function(NotebookDocumentSyncRegistrationType2){NotebookDocumentSyncRegistrationType2.method="notebookDocument/sync",NotebookDocumentSyncRegistrationType2.messageDirection=messages_1.MessageDirection.clientToServer,NotebookDocumentSyncRegistrationType2.type=new messages_1.RegistrationType(NotebookDocumentSyncRegistrationType2.method)})(NotebookDocumentSyncRegistrationType||(exports.NotebookDocumentSyncRegistrationType=NotebookDocumentSyncRegistrationType={}));var DidOpenNotebookDocumentNotification;(function(DidOpenNotebookDocumentNotification2){DidOpenNotebookDocumentNotification2.method="notebookDocument/didOpen",DidOpenNotebookDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidOpenNotebookDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidOpenNotebookDocumentNotification2.method),DidOpenNotebookDocumentNotification2.registrationMethod=NotebookDocumentSyncRegistrationType.method})(DidOpenNotebookDocumentNotification||(exports.DidOpenNotebookDocumentNotification=DidOpenNotebookDocumentNotification={}));var NotebookCellArrayChange;(function(NotebookCellArrayChange2){function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&vscode_languageserver_types_1.uinteger.is(candidate.start)&&vscode_languageserver_types_1.uinteger.is(candidate.deleteCount)&&(candidate.cells===void 0||Is3.typedArray(candidate.cells,NotebookCell.is))}NotebookCellArrayChange2.is=is;function create(start,deleteCount,cells){let result={start,deleteCount};return cells!==void 0&&(result.cells=cells),result}NotebookCellArrayChange2.create=create})(NotebookCellArrayChange||(exports.NotebookCellArrayChange=NotebookCellArrayChange={}));var DidChangeNotebookDocumentNotification;(function(DidChangeNotebookDocumentNotification2){DidChangeNotebookDocumentNotification2.method="notebookDocument/didChange",DidChangeNotebookDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeNotebookDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidChangeNotebookDocumentNotification2.method),DidChangeNotebookDocumentNotification2.registrationMethod=NotebookDocumentSyncRegistrationType.method})(DidChangeNotebookDocumentNotification||(exports.DidChangeNotebookDocumentNotification=DidChangeNotebookDocumentNotification={}));var DidSaveNotebookDocumentNotification;(function(DidSaveNotebookDocumentNotification2){DidSaveNotebookDocumentNotification2.method="notebookDocument/didSave",DidSaveNotebookDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidSaveNotebookDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidSaveNotebookDocumentNotification2.method),DidSaveNotebookDocumentNotification2.registrationMethod=NotebookDocumentSyncRegistrationType.method})(DidSaveNotebookDocumentNotification||(exports.DidSaveNotebookDocumentNotification=DidSaveNotebookDocumentNotification={}));var DidCloseNotebookDocumentNotification;(function(DidCloseNotebookDocumentNotification2){DidCloseNotebookDocumentNotification2.method="notebookDocument/didClose",DidCloseNotebookDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidCloseNotebookDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidCloseNotebookDocumentNotification2.method),DidCloseNotebookDocumentNotification2.registrationMethod=NotebookDocumentSyncRegistrationType.method})(DidCloseNotebookDocumentNotification||(exports.DidCloseNotebookDocumentNotification=DidCloseNotebookDocumentNotification={}))}});var require_protocol_inlineCompletion2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.InlineCompletionRequest=void 0;var messages_1=require_messages4(),InlineCompletionRequest;(function(InlineCompletionRequest2){InlineCompletionRequest2.method="textDocument/inlineCompletion",InlineCompletionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InlineCompletionRequest2.type=new messages_1.ProtocolRequestType(InlineCompletionRequest2.method)})(InlineCompletionRequest||(exports.InlineCompletionRequest=InlineCompletionRequest={}))}});var require_protocol2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.WorkspaceSymbolRequest=exports.CodeActionResolveRequest=exports.CodeActionRequest=exports.DocumentSymbolRequest=exports.DocumentHighlightRequest=exports.ReferencesRequest=exports.DefinitionRequest=exports.SignatureHelpRequest=exports.SignatureHelpTriggerKind=exports.HoverRequest=exports.CompletionResolveRequest=exports.CompletionRequest=exports.CompletionTriggerKind=exports.PublishDiagnosticsNotification=exports.WatchKind=exports.RelativePattern=exports.FileChangeType=exports.DidChangeWatchedFilesNotification=exports.WillSaveTextDocumentWaitUntilRequest=exports.WillSaveTextDocumentNotification=exports.TextDocumentSaveReason=exports.DidSaveTextDocumentNotification=exports.DidCloseTextDocumentNotification=exports.DidChangeTextDocumentNotification=exports.TextDocumentContentChangeEvent=exports.DidOpenTextDocumentNotification=exports.TextDocumentSyncKind=exports.TelemetryEventNotification=exports.LogMessageNotification=exports.ShowMessageRequest=exports.ShowMessageNotification=exports.MessageType=exports.DidChangeConfigurationNotification=exports.ExitNotification=exports.ShutdownRequest=exports.InitializedNotification=exports.InitializeErrorCodes=exports.InitializeRequest=exports.WorkDoneProgressOptions=exports.TextDocumentRegistrationOptions=exports.StaticRegistrationOptions=exports.PositionEncodingKind=exports.FailureHandlingKind=exports.ResourceOperationKind=exports.UnregistrationRequest=exports.RegistrationRequest=exports.DocumentSelector=exports.NotebookCellTextDocumentFilter=exports.NotebookDocumentFilter=exports.TextDocumentFilter=void 0;exports.MonikerRequest=exports.MonikerKind=exports.UniquenessLevel=exports.WillDeleteFilesRequest=exports.DidDeleteFilesNotification=exports.WillRenameFilesRequest=exports.DidRenameFilesNotification=exports.WillCreateFilesRequest=exports.DidCreateFilesNotification=exports.FileOperationPatternKind=exports.LinkedEditingRangeRequest=exports.ShowDocumentRequest=exports.SemanticTokensRegistrationType=exports.SemanticTokensRefreshRequest=exports.SemanticTokensRangeRequest=exports.SemanticTokensDeltaRequest=exports.SemanticTokensRequest=exports.TokenFormat=exports.CallHierarchyPrepareRequest=exports.CallHierarchyOutgoingCallsRequest=exports.CallHierarchyIncomingCallsRequest=exports.WorkDoneProgressCancelNotification=exports.WorkDoneProgressCreateRequest=exports.WorkDoneProgress=exports.SelectionRangeRequest=exports.DeclarationRequest=exports.FoldingRangeRefreshRequest=exports.FoldingRangeRequest=exports.ColorPresentationRequest=exports.DocumentColorRequest=exports.ConfigurationRequest=exports.DidChangeWorkspaceFoldersNotification=exports.WorkspaceFoldersRequest=exports.TypeDefinitionRequest=exports.ImplementationRequest=exports.ApplyWorkspaceEditRequest=exports.ExecuteCommandRequest=exports.PrepareRenameRequest=exports.RenameRequest=exports.PrepareSupportDefaultBehavior=exports.DocumentOnTypeFormattingRequest=exports.DocumentRangesFormattingRequest=exports.DocumentRangeFormattingRequest=exports.DocumentFormattingRequest=exports.DocumentLinkResolveRequest=exports.DocumentLinkRequest=exports.CodeLensRefreshRequest=exports.CodeLensResolveRequest=exports.CodeLensRequest=exports.WorkspaceSymbolResolveRequest=void 0;exports.InlineCompletionRequest=exports.DidCloseNotebookDocumentNotification=exports.DidSaveNotebookDocumentNotification=exports.DidChangeNotebookDocumentNotification=exports.NotebookCellArrayChange=exports.DidOpenNotebookDocumentNotification=exports.NotebookDocumentSyncRegistrationType=exports.NotebookDocument=exports.NotebookCell=exports.ExecutionSummary=exports.NotebookCellKind=exports.DiagnosticRefreshRequest=exports.WorkspaceDiagnosticRequest=exports.DocumentDiagnosticRequest=exports.DocumentDiagnosticReportKind=exports.DiagnosticServerCancellationData=exports.InlayHintRefreshRequest=exports.InlayHintResolveRequest=exports.InlayHintRequest=exports.InlineValueRefreshRequest=exports.InlineValueRequest=exports.TypeHierarchySupertypesRequest=exports.TypeHierarchySubtypesRequest=exports.TypeHierarchyPrepareRequest=void 0;var messages_1=require_messages4(),vscode_languageserver_types_1=(init_main2(),__toCommonJS(main_exports2)),Is3=require_is5(),protocol_implementation_1=require_protocol_implementation2();Object.defineProperty(exports,"ImplementationRequest",{enumerable:!0,get:function(){return protocol_implementation_1.ImplementationRequest}});var protocol_typeDefinition_1=require_protocol_typeDefinition2();Object.defineProperty(exports,"TypeDefinitionRequest",{enumerable:!0,get:function(){return protocol_typeDefinition_1.TypeDefinitionRequest}});var protocol_workspaceFolder_1=require_protocol_workspaceFolder2();Object.defineProperty(exports,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return protocol_workspaceFolder_1.WorkspaceFoldersRequest}});Object.defineProperty(exports,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return protocol_workspaceFolder_1.DidChangeWorkspaceFoldersNotification}});var protocol_configuration_1=require_protocol_configuration2();Object.defineProperty(exports,"ConfigurationRequest",{enumerable:!0,get:function(){return protocol_configuration_1.ConfigurationRequest}});var protocol_colorProvider_1=require_protocol_colorProvider2();Object.defineProperty(exports,"DocumentColorRequest",{enumerable:!0,get:function(){return protocol_colorProvider_1.DocumentColorRequest}});Object.defineProperty(exports,"ColorPresentationRequest",{enumerable:!0,get:function(){return protocol_colorProvider_1.ColorPresentationRequest}});var protocol_foldingRange_1=require_protocol_foldingRange2();Object.defineProperty(exports,"FoldingRangeRequest",{enumerable:!0,get:function(){return protocol_foldingRange_1.FoldingRangeRequest}});Object.defineProperty(exports,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return protocol_foldingRange_1.FoldingRangeRefreshRequest}});var protocol_declaration_1=require_protocol_declaration2();Object.defineProperty(exports,"DeclarationRequest",{enumerable:!0,get:function(){return protocol_declaration_1.DeclarationRequest}});var protocol_selectionRange_1=require_protocol_selectionRange2();Object.defineProperty(exports,"SelectionRangeRequest",{enumerable:!0,get:function(){return protocol_selectionRange_1.SelectionRangeRequest}});var protocol_progress_1=require_protocol_progress2();Object.defineProperty(exports,"WorkDoneProgress",{enumerable:!0,get:function(){return protocol_progress_1.WorkDoneProgress}});Object.defineProperty(exports,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return protocol_progress_1.WorkDoneProgressCreateRequest}});Object.defineProperty(exports,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return protocol_progress_1.WorkDoneProgressCancelNotification}});var protocol_callHierarchy_1=require_protocol_callHierarchy2();Object.defineProperty(exports,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return protocol_callHierarchy_1.CallHierarchyIncomingCallsRequest}});Object.defineProperty(exports,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return protocol_callHierarchy_1.CallHierarchyOutgoingCallsRequest}});Object.defineProperty(exports,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return protocol_callHierarchy_1.CallHierarchyPrepareRequest}});var protocol_semanticTokens_1=require_protocol_semanticTokens2();Object.defineProperty(exports,"TokenFormat",{enumerable:!0,get:function(){return protocol_semanticTokens_1.TokenFormat}});Object.defineProperty(exports,"SemanticTokensRequest",{enumerable:!0,get:function(){return protocol_semanticTokens_1.SemanticTokensRequest}});Object.defineProperty(exports,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return protocol_semanticTokens_1.SemanticTokensDeltaRequest}});Object.defineProperty(exports,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return protocol_semanticTokens_1.SemanticTokensRangeRequest}});Object.defineProperty(exports,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return protocol_semanticTokens_1.SemanticTokensRefreshRequest}});Object.defineProperty(exports,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return protocol_semanticTokens_1.SemanticTokensRegistrationType}});var protocol_showDocument_1=require_protocol_showDocument2();Object.defineProperty(exports,"ShowDocumentRequest",{enumerable:!0,get:function(){return protocol_showDocument_1.ShowDocumentRequest}});var protocol_linkedEditingRange_1=require_protocol_linkedEditingRange2();Object.defineProperty(exports,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return protocol_linkedEditingRange_1.LinkedEditingRangeRequest}});var protocol_fileOperations_1=require_protocol_fileOperations2();Object.defineProperty(exports,"FileOperationPatternKind",{enumerable:!0,get:function(){return protocol_fileOperations_1.FileOperationPatternKind}});Object.defineProperty(exports,"DidCreateFilesNotification",{enumerable:!0,get:function(){return protocol_fileOperations_1.DidCreateFilesNotification}});Object.defineProperty(exports,"WillCreateFilesRequest",{enumerable:!0,get:function(){return protocol_fileOperations_1.WillCreateFilesRequest}});Object.defineProperty(exports,"DidRenameFilesNotification",{enumerable:!0,get:function(){return protocol_fileOperations_1.DidRenameFilesNotification}});Object.defineProperty(exports,"WillRenameFilesRequest",{enumerable:!0,get:function(){return protocol_fileOperations_1.WillRenameFilesRequest}});Object.defineProperty(exports,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return protocol_fileOperations_1.DidDeleteFilesNotification}});Object.defineProperty(exports,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return protocol_fileOperations_1.WillDeleteFilesRequest}});var protocol_moniker_1=require_protocol_moniker2();Object.defineProperty(exports,"UniquenessLevel",{enumerable:!0,get:function(){return protocol_moniker_1.UniquenessLevel}});Object.defineProperty(exports,"MonikerKind",{enumerable:!0,get:function(){return protocol_moniker_1.MonikerKind}});Object.defineProperty(exports,"MonikerRequest",{enumerable:!0,get:function(){return protocol_moniker_1.MonikerRequest}});var protocol_typeHierarchy_1=require_protocol_typeHierarchy2();Object.defineProperty(exports,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return protocol_typeHierarchy_1.TypeHierarchyPrepareRequest}});Object.defineProperty(exports,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return protocol_typeHierarchy_1.TypeHierarchySubtypesRequest}});Object.defineProperty(exports,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return protocol_typeHierarchy_1.TypeHierarchySupertypesRequest}});var protocol_inlineValue_1=require_protocol_inlineValue2();Object.defineProperty(exports,"InlineValueRequest",{enumerable:!0,get:function(){return protocol_inlineValue_1.InlineValueRequest}});Object.defineProperty(exports,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return protocol_inlineValue_1.InlineValueRefreshRequest}});var protocol_inlayHint_1=require_protocol_inlayHint2();Object.defineProperty(exports,"InlayHintRequest",{enumerable:!0,get:function(){return protocol_inlayHint_1.InlayHintRequest}});Object.defineProperty(exports,"InlayHintResolveRequest",{enumerable:!0,get:function(){return protocol_inlayHint_1.InlayHintResolveRequest}});Object.defineProperty(exports,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return protocol_inlayHint_1.InlayHintRefreshRequest}});var protocol_diagnostic_1=require_protocol_diagnostic2();Object.defineProperty(exports,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return protocol_diagnostic_1.DiagnosticServerCancellationData}});Object.defineProperty(exports,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return protocol_diagnostic_1.DocumentDiagnosticReportKind}});Object.defineProperty(exports,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return protocol_diagnostic_1.DocumentDiagnosticRequest}});Object.defineProperty(exports,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return protocol_diagnostic_1.WorkspaceDiagnosticRequest}});Object.defineProperty(exports,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return protocol_diagnostic_1.DiagnosticRefreshRequest}});var protocol_notebook_1=require_protocol_notebook2();Object.defineProperty(exports,"NotebookCellKind",{enumerable:!0,get:function(){return protocol_notebook_1.NotebookCellKind}});Object.defineProperty(exports,"ExecutionSummary",{enumerable:!0,get:function(){return protocol_notebook_1.ExecutionSummary}});Object.defineProperty(exports,"NotebookCell",{enumerable:!0,get:function(){return protocol_notebook_1.NotebookCell}});Object.defineProperty(exports,"NotebookDocument",{enumerable:!0,get:function(){return protocol_notebook_1.NotebookDocument}});Object.defineProperty(exports,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return protocol_notebook_1.NotebookDocumentSyncRegistrationType}});Object.defineProperty(exports,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return protocol_notebook_1.DidOpenNotebookDocumentNotification}});Object.defineProperty(exports,"NotebookCellArrayChange",{enumerable:!0,get:function(){return protocol_notebook_1.NotebookCellArrayChange}});Object.defineProperty(exports,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return protocol_notebook_1.DidChangeNotebookDocumentNotification}});Object.defineProperty(exports,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return protocol_notebook_1.DidSaveNotebookDocumentNotification}});Object.defineProperty(exports,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return protocol_notebook_1.DidCloseNotebookDocumentNotification}});var protocol_inlineCompletion_1=require_protocol_inlineCompletion2();Object.defineProperty(exports,"InlineCompletionRequest",{enumerable:!0,get:function(){return protocol_inlineCompletion_1.InlineCompletionRequest}});var TextDocumentFilter;(function(TextDocumentFilter2){function is(value){let candidate=value;return Is3.string(candidate)||Is3.string(candidate.language)||Is3.string(candidate.scheme)||Is3.string(candidate.pattern)}TextDocumentFilter2.is=is})(TextDocumentFilter||(exports.TextDocumentFilter=TextDocumentFilter={}));var NotebookDocumentFilter;(function(NotebookDocumentFilter2){function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&(Is3.string(candidate.notebookType)||Is3.string(candidate.scheme)||Is3.string(candidate.pattern))}NotebookDocumentFilter2.is=is})(NotebookDocumentFilter||(exports.NotebookDocumentFilter=NotebookDocumentFilter={}));var NotebookCellTextDocumentFilter;(function(NotebookCellTextDocumentFilter2){function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&(Is3.string(candidate.notebook)||NotebookDocumentFilter.is(candidate.notebook))&&(candidate.language===void 0||Is3.string(candidate.language))}NotebookCellTextDocumentFilter2.is=is})(NotebookCellTextDocumentFilter||(exports.NotebookCellTextDocumentFilter=NotebookCellTextDocumentFilter={}));var DocumentSelector;(function(DocumentSelector2){function is(value){if(!Array.isArray(value))return!1;for(let elem of value)if(!Is3.string(elem)&&!TextDocumentFilter.is(elem)&&!NotebookCellTextDocumentFilter.is(elem))return!1;return!0}DocumentSelector2.is=is})(DocumentSelector||(exports.DocumentSelector=DocumentSelector={}));var RegistrationRequest;(function(RegistrationRequest2){RegistrationRequest2.method="client/registerCapability",RegistrationRequest2.messageDirection=messages_1.MessageDirection.serverToClient,RegistrationRequest2.type=new messages_1.ProtocolRequestType(RegistrationRequest2.method)})(RegistrationRequest||(exports.RegistrationRequest=RegistrationRequest={}));var UnregistrationRequest;(function(UnregistrationRequest2){UnregistrationRequest2.method="client/unregisterCapability",UnregistrationRequest2.messageDirection=messages_1.MessageDirection.serverToClient,UnregistrationRequest2.type=new messages_1.ProtocolRequestType(UnregistrationRequest2.method)})(UnregistrationRequest||(exports.UnregistrationRequest=UnregistrationRequest={}));var ResourceOperationKind;(function(ResourceOperationKind2){ResourceOperationKind2.Create="create",ResourceOperationKind2.Rename="rename",ResourceOperationKind2.Delete="delete"})(ResourceOperationKind||(exports.ResourceOperationKind=ResourceOperationKind={}));var FailureHandlingKind;(function(FailureHandlingKind2){FailureHandlingKind2.Abort="abort",FailureHandlingKind2.Transactional="transactional",FailureHandlingKind2.TextOnlyTransactional="textOnlyTransactional",FailureHandlingKind2.Undo="undo"})(FailureHandlingKind||(exports.FailureHandlingKind=FailureHandlingKind={}));var PositionEncodingKind;(function(PositionEncodingKind2){PositionEncodingKind2.UTF8="utf-8",PositionEncodingKind2.UTF16="utf-16",PositionEncodingKind2.UTF32="utf-32"})(PositionEncodingKind||(exports.PositionEncodingKind=PositionEncodingKind={}));var StaticRegistrationOptions;(function(StaticRegistrationOptions2){function hasId(value){let candidate=value;return candidate&&Is3.string(candidate.id)&&candidate.id.length>0}StaticRegistrationOptions2.hasId=hasId})(StaticRegistrationOptions||(exports.StaticRegistrationOptions=StaticRegistrationOptions={}));var TextDocumentRegistrationOptions;(function(TextDocumentRegistrationOptions2){function is(value){let candidate=value;return candidate&&(candidate.documentSelector===null||DocumentSelector.is(candidate.documentSelector))}TextDocumentRegistrationOptions2.is=is})(TextDocumentRegistrationOptions||(exports.TextDocumentRegistrationOptions=TextDocumentRegistrationOptions={}));var WorkDoneProgressOptions;(function(WorkDoneProgressOptions2){function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&(candidate.workDoneProgress===void 0||Is3.boolean(candidate.workDoneProgress))}WorkDoneProgressOptions2.is=is;function hasWorkDoneProgress(value){let candidate=value;return candidate&&Is3.boolean(candidate.workDoneProgress)}WorkDoneProgressOptions2.hasWorkDoneProgress=hasWorkDoneProgress})(WorkDoneProgressOptions||(exports.WorkDoneProgressOptions=WorkDoneProgressOptions={}));var InitializeRequest;(function(InitializeRequest2){InitializeRequest2.method="initialize",InitializeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InitializeRequest2.type=new messages_1.ProtocolRequestType(InitializeRequest2.method)})(InitializeRequest||(exports.InitializeRequest=InitializeRequest={}));var InitializeErrorCodes;(function(InitializeErrorCodes2){InitializeErrorCodes2.unknownProtocolVersion=1})(InitializeErrorCodes||(exports.InitializeErrorCodes=InitializeErrorCodes={}));var InitializedNotification;(function(InitializedNotification2){InitializedNotification2.method="initialized",InitializedNotification2.messageDirection=messages_1.MessageDirection.clientToServer,InitializedNotification2.type=new messages_1.ProtocolNotificationType(InitializedNotification2.method)})(InitializedNotification||(exports.InitializedNotification=InitializedNotification={}));var ShutdownRequest;(function(ShutdownRequest2){ShutdownRequest2.method="shutdown",ShutdownRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ShutdownRequest2.type=new messages_1.ProtocolRequestType0(ShutdownRequest2.method)})(ShutdownRequest||(exports.ShutdownRequest=ShutdownRequest={}));var ExitNotification;(function(ExitNotification2){ExitNotification2.method="exit",ExitNotification2.messageDirection=messages_1.MessageDirection.clientToServer,ExitNotification2.type=new messages_1.ProtocolNotificationType0(ExitNotification2.method)})(ExitNotification||(exports.ExitNotification=ExitNotification={}));var DidChangeConfigurationNotification2;(function(DidChangeConfigurationNotification3){DidChangeConfigurationNotification3.method="workspace/didChangeConfiguration",DidChangeConfigurationNotification3.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeConfigurationNotification3.type=new messages_1.ProtocolNotificationType(DidChangeConfigurationNotification3.method)})(DidChangeConfigurationNotification2||(exports.DidChangeConfigurationNotification=DidChangeConfigurationNotification2={}));var MessageType;(function(MessageType2){MessageType2.Error=1,MessageType2.Warning=2,MessageType2.Info=3,MessageType2.Log=4,MessageType2.Debug=5})(MessageType||(exports.MessageType=MessageType={}));var ShowMessageNotification;(function(ShowMessageNotification2){ShowMessageNotification2.method="window/showMessage",ShowMessageNotification2.messageDirection=messages_1.MessageDirection.serverToClient,ShowMessageNotification2.type=new messages_1.ProtocolNotificationType(ShowMessageNotification2.method)})(ShowMessageNotification||(exports.ShowMessageNotification=ShowMessageNotification={}));var ShowMessageRequest;(function(ShowMessageRequest2){ShowMessageRequest2.method="window/showMessageRequest",ShowMessageRequest2.messageDirection=messages_1.MessageDirection.serverToClient,ShowMessageRequest2.type=new messages_1.ProtocolRequestType(ShowMessageRequest2.method)})(ShowMessageRequest||(exports.ShowMessageRequest=ShowMessageRequest={}));var LogMessageNotification;(function(LogMessageNotification2){LogMessageNotification2.method="window/logMessage",LogMessageNotification2.messageDirection=messages_1.MessageDirection.serverToClient,LogMessageNotification2.type=new messages_1.ProtocolNotificationType(LogMessageNotification2.method)})(LogMessageNotification||(exports.LogMessageNotification=LogMessageNotification={}));var TelemetryEventNotification;(function(TelemetryEventNotification2){TelemetryEventNotification2.method="telemetry/event",TelemetryEventNotification2.messageDirection=messages_1.MessageDirection.serverToClient,TelemetryEventNotification2.type=new messages_1.ProtocolNotificationType(TelemetryEventNotification2.method)})(TelemetryEventNotification||(exports.TelemetryEventNotification=TelemetryEventNotification={}));var TextDocumentSyncKind2;(function(TextDocumentSyncKind3){TextDocumentSyncKind3.None=0,TextDocumentSyncKind3.Full=1,TextDocumentSyncKind3.Incremental=2})(TextDocumentSyncKind2||(exports.TextDocumentSyncKind=TextDocumentSyncKind2={}));var DidOpenTextDocumentNotification;(function(DidOpenTextDocumentNotification2){DidOpenTextDocumentNotification2.method="textDocument/didOpen",DidOpenTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidOpenTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidOpenTextDocumentNotification2.method)})(DidOpenTextDocumentNotification||(exports.DidOpenTextDocumentNotification=DidOpenTextDocumentNotification={}));var TextDocumentContentChangeEvent;(function(TextDocumentContentChangeEvent2){function isIncremental(event){let candidate=event;return candidate!=null&&typeof candidate.text=="string"&&candidate.range!==void 0&&(candidate.rangeLength===void 0||typeof candidate.rangeLength=="number")}TextDocumentContentChangeEvent2.isIncremental=isIncremental;function isFull(event){let candidate=event;return candidate!=null&&typeof candidate.text=="string"&&candidate.range===void 0&&candidate.rangeLength===void 0}TextDocumentContentChangeEvent2.isFull=isFull})(TextDocumentContentChangeEvent||(exports.TextDocumentContentChangeEvent=TextDocumentContentChangeEvent={}));var DidChangeTextDocumentNotification;(function(DidChangeTextDocumentNotification2){DidChangeTextDocumentNotification2.method="textDocument/didChange",DidChangeTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidChangeTextDocumentNotification2.method)})(DidChangeTextDocumentNotification||(exports.DidChangeTextDocumentNotification=DidChangeTextDocumentNotification={}));var DidCloseTextDocumentNotification;(function(DidCloseTextDocumentNotification2){DidCloseTextDocumentNotification2.method="textDocument/didClose",DidCloseTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidCloseTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidCloseTextDocumentNotification2.method)})(DidCloseTextDocumentNotification||(exports.DidCloseTextDocumentNotification=DidCloseTextDocumentNotification={}));var DidSaveTextDocumentNotification;(function(DidSaveTextDocumentNotification2){DidSaveTextDocumentNotification2.method="textDocument/didSave",DidSaveTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidSaveTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidSaveTextDocumentNotification2.method)})(DidSaveTextDocumentNotification||(exports.DidSaveTextDocumentNotification=DidSaveTextDocumentNotification={}));var TextDocumentSaveReason;(function(TextDocumentSaveReason2){TextDocumentSaveReason2.Manual=1,TextDocumentSaveReason2.AfterDelay=2,TextDocumentSaveReason2.FocusOut=3})(TextDocumentSaveReason||(exports.TextDocumentSaveReason=TextDocumentSaveReason={}));var WillSaveTextDocumentNotification;(function(WillSaveTextDocumentNotification2){WillSaveTextDocumentNotification2.method="textDocument/willSave",WillSaveTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,WillSaveTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(WillSaveTextDocumentNotification2.method)})(WillSaveTextDocumentNotification||(exports.WillSaveTextDocumentNotification=WillSaveTextDocumentNotification={}));var WillSaveTextDocumentWaitUntilRequest;(function(WillSaveTextDocumentWaitUntilRequest2){WillSaveTextDocumentWaitUntilRequest2.method="textDocument/willSaveWaitUntil",WillSaveTextDocumentWaitUntilRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WillSaveTextDocumentWaitUntilRequest2.type=new messages_1.ProtocolRequestType(WillSaveTextDocumentWaitUntilRequest2.method)})(WillSaveTextDocumentWaitUntilRequest||(exports.WillSaveTextDocumentWaitUntilRequest=WillSaveTextDocumentWaitUntilRequest={}));var DidChangeWatchedFilesNotification;(function(DidChangeWatchedFilesNotification2){DidChangeWatchedFilesNotification2.method="workspace/didChangeWatchedFiles",DidChangeWatchedFilesNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeWatchedFilesNotification2.type=new messages_1.ProtocolNotificationType(DidChangeWatchedFilesNotification2.method)})(DidChangeWatchedFilesNotification||(exports.DidChangeWatchedFilesNotification=DidChangeWatchedFilesNotification={}));var FileChangeType;(function(FileChangeType2){FileChangeType2.Created=1,FileChangeType2.Changed=2,FileChangeType2.Deleted=3})(FileChangeType||(exports.FileChangeType=FileChangeType={}));var RelativePattern;(function(RelativePattern2){function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&(vscode_languageserver_types_1.URI.is(candidate.baseUri)||vscode_languageserver_types_1.WorkspaceFolder.is(candidate.baseUri))&&Is3.string(candidate.pattern)}RelativePattern2.is=is})(RelativePattern||(exports.RelativePattern=RelativePattern={}));var WatchKind;(function(WatchKind2){WatchKind2.Create=1,WatchKind2.Change=2,WatchKind2.Delete=4})(WatchKind||(exports.WatchKind=WatchKind={}));var PublishDiagnosticsNotification;(function(PublishDiagnosticsNotification2){PublishDiagnosticsNotification2.method="textDocument/publishDiagnostics",PublishDiagnosticsNotification2.messageDirection=messages_1.MessageDirection.serverToClient,PublishDiagnosticsNotification2.type=new messages_1.ProtocolNotificationType(PublishDiagnosticsNotification2.method)})(PublishDiagnosticsNotification||(exports.PublishDiagnosticsNotification=PublishDiagnosticsNotification={}));var CompletionTriggerKind;(function(CompletionTriggerKind2){CompletionTriggerKind2.Invoked=1,CompletionTriggerKind2.TriggerCharacter=2,CompletionTriggerKind2.TriggerForIncompleteCompletions=3})(CompletionTriggerKind||(exports.CompletionTriggerKind=CompletionTriggerKind={}));var CompletionRequest;(function(CompletionRequest2){CompletionRequest2.method="textDocument/completion",CompletionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CompletionRequest2.type=new messages_1.ProtocolRequestType(CompletionRequest2.method)})(CompletionRequest||(exports.CompletionRequest=CompletionRequest={}));var CompletionResolveRequest;(function(CompletionResolveRequest2){CompletionResolveRequest2.method="completionItem/resolve",CompletionResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CompletionResolveRequest2.type=new messages_1.ProtocolRequestType(CompletionResolveRequest2.method)})(CompletionResolveRequest||(exports.CompletionResolveRequest=CompletionResolveRequest={}));var HoverRequest;(function(HoverRequest2){HoverRequest2.method="textDocument/hover",HoverRequest2.messageDirection=messages_1.MessageDirection.clientToServer,HoverRequest2.type=new messages_1.ProtocolRequestType(HoverRequest2.method)})(HoverRequest||(exports.HoverRequest=HoverRequest={}));var SignatureHelpTriggerKind;(function(SignatureHelpTriggerKind2){SignatureHelpTriggerKind2.Invoked=1,SignatureHelpTriggerKind2.TriggerCharacter=2,SignatureHelpTriggerKind2.ContentChange=3})(SignatureHelpTriggerKind||(exports.SignatureHelpTriggerKind=SignatureHelpTriggerKind={}));var SignatureHelpRequest;(function(SignatureHelpRequest2){SignatureHelpRequest2.method="textDocument/signatureHelp",SignatureHelpRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SignatureHelpRequest2.type=new messages_1.ProtocolRequestType(SignatureHelpRequest2.method)})(SignatureHelpRequest||(exports.SignatureHelpRequest=SignatureHelpRequest={}));var DefinitionRequest;(function(DefinitionRequest2){DefinitionRequest2.method="textDocument/definition",DefinitionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DefinitionRequest2.type=new messages_1.ProtocolRequestType(DefinitionRequest2.method)})(DefinitionRequest||(exports.DefinitionRequest=DefinitionRequest={}));var ReferencesRequest;(function(ReferencesRequest2){ReferencesRequest2.method="textDocument/references",ReferencesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ReferencesRequest2.type=new messages_1.ProtocolRequestType(ReferencesRequest2.method)})(ReferencesRequest||(exports.ReferencesRequest=ReferencesRequest={}));var DocumentHighlightRequest;(function(DocumentHighlightRequest2){DocumentHighlightRequest2.method="textDocument/documentHighlight",DocumentHighlightRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentHighlightRequest2.type=new messages_1.ProtocolRequestType(DocumentHighlightRequest2.method)})(DocumentHighlightRequest||(exports.DocumentHighlightRequest=DocumentHighlightRequest={}));var DocumentSymbolRequest;(function(DocumentSymbolRequest2){DocumentSymbolRequest2.method="textDocument/documentSymbol",DocumentSymbolRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentSymbolRequest2.type=new messages_1.ProtocolRequestType(DocumentSymbolRequest2.method)})(DocumentSymbolRequest||(exports.DocumentSymbolRequest=DocumentSymbolRequest={}));var CodeActionRequest;(function(CodeActionRequest2){CodeActionRequest2.method="textDocument/codeAction",CodeActionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CodeActionRequest2.type=new messages_1.ProtocolRequestType(CodeActionRequest2.method)})(CodeActionRequest||(exports.CodeActionRequest=CodeActionRequest={}));var CodeActionResolveRequest;(function(CodeActionResolveRequest2){CodeActionResolveRequest2.method="codeAction/resolve",CodeActionResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CodeActionResolveRequest2.type=new messages_1.ProtocolRequestType(CodeActionResolveRequest2.method)})(CodeActionResolveRequest||(exports.CodeActionResolveRequest=CodeActionResolveRequest={}));var WorkspaceSymbolRequest;(function(WorkspaceSymbolRequest2){WorkspaceSymbolRequest2.method="workspace/symbol",WorkspaceSymbolRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WorkspaceSymbolRequest2.type=new messages_1.ProtocolRequestType(WorkspaceSymbolRequest2.method)})(WorkspaceSymbolRequest||(exports.WorkspaceSymbolRequest=WorkspaceSymbolRequest={}));var WorkspaceSymbolResolveRequest;(function(WorkspaceSymbolResolveRequest2){WorkspaceSymbolResolveRequest2.method="workspaceSymbol/resolve",WorkspaceSymbolResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WorkspaceSymbolResolveRequest2.type=new messages_1.ProtocolRequestType(WorkspaceSymbolResolveRequest2.method)})(WorkspaceSymbolResolveRequest||(exports.WorkspaceSymbolResolveRequest=WorkspaceSymbolResolveRequest={}));var CodeLensRequest;(function(CodeLensRequest2){CodeLensRequest2.method="textDocument/codeLens",CodeLensRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CodeLensRequest2.type=new messages_1.ProtocolRequestType(CodeLensRequest2.method)})(CodeLensRequest||(exports.CodeLensRequest=CodeLensRequest={}));var CodeLensResolveRequest;(function(CodeLensResolveRequest2){CodeLensResolveRequest2.method="codeLens/resolve",CodeLensResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CodeLensResolveRequest2.type=new messages_1.ProtocolRequestType(CodeLensResolveRequest2.method)})(CodeLensResolveRequest||(exports.CodeLensResolveRequest=CodeLensResolveRequest={}));var CodeLensRefreshRequest;(function(CodeLensRefreshRequest2){CodeLensRefreshRequest2.method="workspace/codeLens/refresh",CodeLensRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,CodeLensRefreshRequest2.type=new messages_1.ProtocolRequestType0(CodeLensRefreshRequest2.method)})(CodeLensRefreshRequest||(exports.CodeLensRefreshRequest=CodeLensRefreshRequest={}));var DocumentLinkRequest;(function(DocumentLinkRequest2){DocumentLinkRequest2.method="textDocument/documentLink",DocumentLinkRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentLinkRequest2.type=new messages_1.ProtocolRequestType(DocumentLinkRequest2.method)})(DocumentLinkRequest||(exports.DocumentLinkRequest=DocumentLinkRequest={}));var DocumentLinkResolveRequest;(function(DocumentLinkResolveRequest2){DocumentLinkResolveRequest2.method="documentLink/resolve",DocumentLinkResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentLinkResolveRequest2.type=new messages_1.ProtocolRequestType(DocumentLinkResolveRequest2.method)})(DocumentLinkResolveRequest||(exports.DocumentLinkResolveRequest=DocumentLinkResolveRequest={}));var DocumentFormattingRequest;(function(DocumentFormattingRequest2){DocumentFormattingRequest2.method="textDocument/formatting",DocumentFormattingRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentFormattingRequest2.type=new messages_1.ProtocolRequestType(DocumentFormattingRequest2.method)})(DocumentFormattingRequest||(exports.DocumentFormattingRequest=DocumentFormattingRequest={}));var DocumentRangeFormattingRequest;(function(DocumentRangeFormattingRequest2){DocumentRangeFormattingRequest2.method="textDocument/rangeFormatting",DocumentRangeFormattingRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentRangeFormattingRequest2.type=new messages_1.ProtocolRequestType(DocumentRangeFormattingRequest2.method)})(DocumentRangeFormattingRequest||(exports.DocumentRangeFormattingRequest=DocumentRangeFormattingRequest={}));var DocumentRangesFormattingRequest;(function(DocumentRangesFormattingRequest2){DocumentRangesFormattingRequest2.method="textDocument/rangesFormatting",DocumentRangesFormattingRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentRangesFormattingRequest2.type=new messages_1.ProtocolRequestType(DocumentRangesFormattingRequest2.method)})(DocumentRangesFormattingRequest||(exports.DocumentRangesFormattingRequest=DocumentRangesFormattingRequest={}));var DocumentOnTypeFormattingRequest;(function(DocumentOnTypeFormattingRequest2){DocumentOnTypeFormattingRequest2.method="textDocument/onTypeFormatting",DocumentOnTypeFormattingRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentOnTypeFormattingRequest2.type=new messages_1.ProtocolRequestType(DocumentOnTypeFormattingRequest2.method)})(DocumentOnTypeFormattingRequest||(exports.DocumentOnTypeFormattingRequest=DocumentOnTypeFormattingRequest={}));var PrepareSupportDefaultBehavior;(function(PrepareSupportDefaultBehavior2){PrepareSupportDefaultBehavior2.Identifier=1})(PrepareSupportDefaultBehavior||(exports.PrepareSupportDefaultBehavior=PrepareSupportDefaultBehavior={}));var RenameRequest;(function(RenameRequest2){RenameRequest2.method="textDocument/rename",RenameRequest2.messageDirection=messages_1.MessageDirection.clientToServer,RenameRequest2.type=new messages_1.ProtocolRequestType(RenameRequest2.method)})(RenameRequest||(exports.RenameRequest=RenameRequest={}));var PrepareRenameRequest;(function(PrepareRenameRequest2){PrepareRenameRequest2.method="textDocument/prepareRename",PrepareRenameRequest2.messageDirection=messages_1.MessageDirection.clientToServer,PrepareRenameRequest2.type=new messages_1.ProtocolRequestType(PrepareRenameRequest2.method)})(PrepareRenameRequest||(exports.PrepareRenameRequest=PrepareRenameRequest={}));var ExecuteCommandRequest;(function(ExecuteCommandRequest2){ExecuteCommandRequest2.method="workspace/executeCommand",ExecuteCommandRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ExecuteCommandRequest2.type=new messages_1.ProtocolRequestType(ExecuteCommandRequest2.method)})(ExecuteCommandRequest||(exports.ExecuteCommandRequest=ExecuteCommandRequest={}));var ApplyWorkspaceEditRequest;(function(ApplyWorkspaceEditRequest2){ApplyWorkspaceEditRequest2.method="workspace/applyEdit",ApplyWorkspaceEditRequest2.messageDirection=messages_1.MessageDirection.serverToClient,ApplyWorkspaceEditRequest2.type=new messages_1.ProtocolRequestType("workspace/applyEdit")})(ApplyWorkspaceEditRequest||(exports.ApplyWorkspaceEditRequest=ApplyWorkspaceEditRequest={}))}});var require_connection4=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/connection.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.createProtocolConnection=void 0;var vscode_jsonrpc_1=require_main4();function createProtocolConnection(input,output,logger,options){return vscode_jsonrpc_1.ConnectionStrategy.is(options)&&(options={connectionStrategy:options}),(0,vscode_jsonrpc_1.createMessageConnection)(input,output,logger,options)}exports.createProtocolConnection=createProtocolConnection}});var require_api5=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/api.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__exportStar=exports&&exports.__exportStar||function(m2,exports2){for(var p in m2)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m2,p)};Object.defineProperty(exports,"__esModule",{value:!0});exports.LSPErrorCodes=exports.createProtocolConnection=void 0;__exportStar(require_main4(),exports);__exportStar((init_main2(),__toCommonJS(main_exports2)),exports);__exportStar(require_messages4(),exports);__exportStar(require_protocol2(),exports);var connection_1=require_connection4();Object.defineProperty(exports,"createProtocolConnection",{enumerable:!0,get:function(){return connection_1.createProtocolConnection}});var LSPErrorCodes;(function(LSPErrorCodes2){LSPErrorCodes2.lspReservedErrorRangeStart=-32899,LSPErrorCodes2.RequestFailed=-32803,LSPErrorCodes2.ServerCancelled=-32802,LSPErrorCodes2.ContentModified=-32801,LSPErrorCodes2.RequestCancelled=-32800,LSPErrorCodes2.lspReservedErrorRangeEnd=-32800})(LSPErrorCodes||(exports.LSPErrorCodes=LSPErrorCodes={}))}});var require_main5=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/browser/main.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__exportStar=exports&&exports.__exportStar||function(m2,exports2){for(var p in m2)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m2,p)};Object.defineProperty(exports,"__esModule",{value:!0});exports.createProtocolConnection=void 0;var browser_1=require_browser4();__exportStar(require_browser4(),exports);__exportStar(require_api5(),exports);function createProtocolConnection(reader,writer,logger,options){return(0,browser_1.createMessageConnection)(reader,writer,logger,options)}exports.createProtocolConnection=createProtocolConnection}});var require_semanticTokens2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/semanticTokens.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.SemanticTokensBuilder=exports.SemanticTokensDiff=exports.SemanticTokensFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),SemanticTokensFeature=Base=>class extends Base{get semanticTokens(){return{refresh:()=>this.connection.sendRequest(vscode_languageserver_protocol_1.SemanticTokensRefreshRequest.type),on:handler=>{let type=vscode_languageserver_protocol_1.SemanticTokensRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))},onDelta:handler=>{let type=vscode_languageserver_protocol_1.SemanticTokensDeltaRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))},onRange:handler=>{let type=vscode_languageserver_protocol_1.SemanticTokensRangeRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))}}}};exports.SemanticTokensFeature=SemanticTokensFeature;var SemanticTokensDiff=class{constructor(originalSequence,modifiedSequence){this.originalSequence=originalSequence,this.modifiedSequence=modifiedSequence}computeDiff(){let originalLength=this.originalSequence.length,modifiedLength=this.modifiedSequence.length,startIndex=0;for(;startIndex<modifiedLength&&startIndex<originalLength&&this.originalSequence[startIndex]===this.modifiedSequence[startIndex];)startIndex++;if(startIndex<modifiedLength&&startIndex<originalLength){let originalEndIndex=originalLength-1,modifiedEndIndex=modifiedLength-1;for(;originalEndIndex>=startIndex&&modifiedEndIndex>=startIndex&&this.originalSequence[originalEndIndex]===this.modifiedSequence[modifiedEndIndex];)originalEndIndex--,modifiedEndIndex--;(originalEndIndex<startIndex||modifiedEndIndex<startIndex)&&(originalEndIndex++,modifiedEndIndex++);let deleteCount=originalEndIndex-startIndex+1,newData=this.modifiedSequence.slice(startIndex,modifiedEndIndex+1);return newData.length===1&&newData[0]===this.originalSequence[originalEndIndex]?[{start:startIndex,deleteCount:deleteCount-1}]:[{start:startIndex,deleteCount,data:newData}]}else return startIndex<modifiedLength?[{start:startIndex,deleteCount:0,data:this.modifiedSequence.slice(startIndex)}]:startIndex<originalLength?[{start:startIndex,deleteCount:originalLength-startIndex}]:[]}};exports.SemanticTokensDiff=SemanticTokensDiff;var SemanticTokensBuilder2=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(line,char,length,tokenType,tokenModifiers2){let pushLine=line,pushChar=char;this._dataLen>0&&(pushLine-=this._prevLine,pushLine===0&&(pushChar-=this._prevChar)),this._data[this._dataLen++]=pushLine,this._data[this._dataLen++]=pushChar,this._data[this._dataLen++]=length,this._data[this._dataLen++]=tokenType,this._data[this._dataLen++]=tokenModifiers2,this._prevLine=line,this._prevChar=char}get id(){return this._id.toString()}previousResult(id){this.id===id&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return this._prevData!==void 0}buildEdits(){return this._prevData!==void 0?{resultId:this.id,edits:new SemanticTokensDiff(this._prevData,this._data).computeDiff()}:this.build()}};exports.SemanticTokensBuilder=SemanticTokensBuilder2}});var require_inlineCompletion_proposed2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/inlineCompletion.proposed.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.InlineCompletionFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),InlineCompletionFeature=Base=>class extends Base{get inlineCompletion(){return{on:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.InlineCompletionRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params)))}}};exports.InlineCompletionFeature=InlineCompletionFeature}});var require_textDocuments2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/textDocuments.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.TextDocuments=void 0;var vscode_languageserver_protocol_1=require_main5(),TextDocuments2=class{constructor(configuration){this._configuration=configuration,this._syncedDocuments=new Map,this._onDidChangeContent=new vscode_languageserver_protocol_1.Emitter,this._onDidOpen=new vscode_languageserver_protocol_1.Emitter,this._onDidClose=new vscode_languageserver_protocol_1.Emitter,this._onDidSave=new vscode_languageserver_protocol_1.Emitter,this._onWillSave=new vscode_languageserver_protocol_1.Emitter}get onDidOpen(){return this._onDidOpen.event}get onDidChangeContent(){return this._onDidChangeContent.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(handler){this._willSaveWaitUntil=handler}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(uri){return this._syncedDocuments.get(uri)}all(){return Array.from(this._syncedDocuments.values())}keys(){return Array.from(this._syncedDocuments.keys())}listen(connection2){connection2.__textDocumentSync=vscode_languageserver_protocol_1.TextDocumentSyncKind.Incremental;let disposables=[];return disposables.push(connection2.onDidOpenTextDocument(event=>{let td=event.textDocument,document=this._configuration.create(td.uri,td.languageId,td.version,td.text);this._syncedDocuments.set(td.uri,document);let toFire=Object.freeze({document});this._onDidOpen.fire(toFire),this._onDidChangeContent.fire(toFire)})),disposables.push(connection2.onDidChangeTextDocument(event=>{let td=event.textDocument,changes=event.contentChanges;if(changes.length===0)return;let{version}=td;if(version==null)throw new Error(`Received document change event for ${td.uri} without valid version identifier`);let syncedDocument=this._syncedDocuments.get(td.uri);syncedDocument!==void 0&&(syncedDocument=this._configuration.update(syncedDocument,changes,version),this._syncedDocuments.set(td.uri,syncedDocument),this._onDidChangeContent.fire(Object.freeze({document:syncedDocument})))})),disposables.push(connection2.onDidCloseTextDocument(event=>{let syncedDocument=this._syncedDocuments.get(event.textDocument.uri);syncedDocument!==void 0&&(this._syncedDocuments.delete(event.textDocument.uri),this._onDidClose.fire(Object.freeze({document:syncedDocument})))})),disposables.push(connection2.onWillSaveTextDocument(event=>{let syncedDocument=this._syncedDocuments.get(event.textDocument.uri);syncedDocument!==void 0&&this._onWillSave.fire(Object.freeze({document:syncedDocument,reason:event.reason}))})),disposables.push(connection2.onWillSaveTextDocumentWaitUntil((event,token)=>{let syncedDocument=this._syncedDocuments.get(event.textDocument.uri);return syncedDocument!==void 0&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:syncedDocument,reason:event.reason}),token):[]})),disposables.push(connection2.onDidSaveTextDocument(event=>{let syncedDocument=this._syncedDocuments.get(event.textDocument.uri);syncedDocument!==void 0&&this._onDidSave.fire(Object.freeze({document:syncedDocument}))})),vscode_languageserver_protocol_1.Disposable.create(()=>{disposables.forEach(disposable=>disposable.dispose())})}};exports.TextDocuments=TextDocuments2}});var require_notebook2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/notebook.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.NotebookDocuments=exports.NotebookSyncFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),textDocuments_1=require_textDocuments2(),NotebookSyncFeature=Base=>class extends Base{get synchronization(){return{onDidOpenNotebookDocument:handler=>this.connection.onNotification(vscode_languageserver_protocol_1.DidOpenNotebookDocumentNotification.type,params=>{handler(params)}),onDidChangeNotebookDocument:handler=>this.connection.onNotification(vscode_languageserver_protocol_1.DidChangeNotebookDocumentNotification.type,params=>{handler(params)}),onDidSaveNotebookDocument:handler=>this.connection.onNotification(vscode_languageserver_protocol_1.DidSaveNotebookDocumentNotification.type,params=>{handler(params)}),onDidCloseNotebookDocument:handler=>this.connection.onNotification(vscode_languageserver_protocol_1.DidCloseNotebookDocumentNotification.type,params=>{handler(params)})}}};exports.NotebookSyncFeature=NotebookSyncFeature;var CellTextDocumentConnection=class _CellTextDocumentConnection{onDidOpenTextDocument(handler){return this.openHandler=handler,vscode_languageserver_protocol_1.Disposable.create(()=>{this.openHandler=void 0})}openTextDocument(params){this.openHandler&&this.openHandler(params)}onDidChangeTextDocument(handler){return this.changeHandler=handler,vscode_languageserver_protocol_1.Disposable.create(()=>{this.changeHandler=handler})}changeTextDocument(params){this.changeHandler&&this.changeHandler(params)}onDidCloseTextDocument(handler){return this.closeHandler=handler,vscode_languageserver_protocol_1.Disposable.create(()=>{this.closeHandler=void 0})}closeTextDocument(params){this.closeHandler&&this.closeHandler(params)}onWillSaveTextDocument(){return _CellTextDocumentConnection.NULL_DISPOSE}onWillSaveTextDocumentWaitUntil(){return _CellTextDocumentConnection.NULL_DISPOSE}onDidSaveTextDocument(){return _CellTextDocumentConnection.NULL_DISPOSE}};CellTextDocumentConnection.NULL_DISPOSE=Object.freeze({dispose:()=>{}});var NotebookDocuments=class{constructor(configurationOrTextDocuments){configurationOrTextDocuments instanceof textDocuments_1.TextDocuments?this._cellTextDocuments=configurationOrTextDocuments:this._cellTextDocuments=new textDocuments_1.TextDocuments(configurationOrTextDocuments),this.notebookDocuments=new Map,this.notebookCellMap=new Map,this._onDidOpen=new vscode_languageserver_protocol_1.Emitter,this._onDidChange=new vscode_languageserver_protocol_1.Emitter,this._onDidSave=new vscode_languageserver_protocol_1.Emitter,this._onDidClose=new vscode_languageserver_protocol_1.Emitter}get cellTextDocuments(){return this._cellTextDocuments}getCellTextDocument(cell){return this._cellTextDocuments.get(cell.document)}getNotebookDocument(uri){return this.notebookDocuments.get(uri)}getNotebookCell(uri){let value=this.notebookCellMap.get(uri);return value&&value[0]}findNotebookDocumentForCell(cell){let key=typeof cell=="string"?cell:cell.document,value=this.notebookCellMap.get(key);return value&&value[1]}get onDidOpen(){return this._onDidOpen.event}get onDidSave(){return this._onDidSave.event}get onDidChange(){return this._onDidChange.event}get onDidClose(){return this._onDidClose.event}listen(connection2){let cellTextDocumentConnection=new CellTextDocumentConnection,disposables=[];return disposables.push(this.cellTextDocuments.listen(cellTextDocumentConnection)),disposables.push(connection2.notebooks.synchronization.onDidOpenNotebookDocument(params=>{this.notebookDocuments.set(params.notebookDocument.uri,params.notebookDocument);for(let cellTextDocument of params.cellTextDocuments)cellTextDocumentConnection.openTextDocument({textDocument:cellTextDocument});this.updateCellMap(params.notebookDocument),this._onDidOpen.fire(params.notebookDocument)})),disposables.push(connection2.notebooks.synchronization.onDidChangeNotebookDocument(params=>{let notebookDocument=this.notebookDocuments.get(params.notebookDocument.uri);if(notebookDocument===void 0)return;notebookDocument.version=params.notebookDocument.version;let oldMetadata=notebookDocument.metadata,metadataChanged=!1,change=params.change;change.metadata!==void 0&&(metadataChanged=!0,notebookDocument.metadata=change.metadata);let opened=[],closed=[],data=[],text=[];if(change.cells!==void 0){let changedCells=change.cells;if(changedCells.structure!==void 0){let array=changedCells.structure.array;if(notebookDocument.cells.splice(array.start,array.deleteCount,...array.cells!==void 0?array.cells:[]),changedCells.structure.didOpen!==void 0)for(let open of changedCells.structure.didOpen)cellTextDocumentConnection.openTextDocument({textDocument:open}),opened.push(open.uri);if(changedCells.structure.didClose)for(let close of changedCells.structure.didClose)cellTextDocumentConnection.closeTextDocument({textDocument:close}),closed.push(close.uri)}if(changedCells.data!==void 0){let cellUpdates=new Map(changedCells.data.map(cell=>[cell.document,cell]));for(let i=0;i<=notebookDocument.cells.length;i++){let change2=cellUpdates.get(notebookDocument.cells[i].document);if(change2!==void 0){let old=notebookDocument.cells.splice(i,1,change2);if(data.push({old:old[0],new:change2}),cellUpdates.delete(change2.document),cellUpdates.size===0)break}}}if(changedCells.textContent!==void 0)for(let cellTextDocument of changedCells.textContent)cellTextDocumentConnection.changeTextDocument({textDocument:cellTextDocument.document,contentChanges:cellTextDocument.changes}),text.push(cellTextDocument.document.uri)}this.updateCellMap(notebookDocument);let changeEvent={notebookDocument};metadataChanged&&(changeEvent.metadata={old:oldMetadata,new:notebookDocument.metadata});let added=[];for(let open of opened)added.push(this.getNotebookCell(open));let removed=[];for(let close of closed)removed.push(this.getNotebookCell(close));let textContent=[];for(let change2 of text)textContent.push(this.getNotebookCell(change2));(added.length>0||removed.length>0||data.length>0||textContent.length>0)&&(changeEvent.cells={added,removed,changed:{data,textContent}}),(changeEvent.metadata!==void 0||changeEvent.cells!==void 0)&&this._onDidChange.fire(changeEvent)})),disposables.push(connection2.notebooks.synchronization.onDidSaveNotebookDocument(params=>{let notebookDocument=this.notebookDocuments.get(params.notebookDocument.uri);notebookDocument!==void 0&&this._onDidSave.fire(notebookDocument)})),disposables.push(connection2.notebooks.synchronization.onDidCloseNotebookDocument(params=>{let notebookDocument=this.notebookDocuments.get(params.notebookDocument.uri);if(notebookDocument!==void 0){this._onDidClose.fire(notebookDocument);for(let cellTextDocument of params.cellTextDocuments)cellTextDocumentConnection.closeTextDocument({textDocument:cellTextDocument});this.notebookDocuments.delete(params.notebookDocument.uri);for(let cell of notebookDocument.cells)this.notebookCellMap.delete(cell.document)}})),vscode_languageserver_protocol_1.Disposable.create(()=>{disposables.forEach(disposable=>disposable.dispose())})}updateCellMap(notebookDocument){for(let cell of notebookDocument.cells)this.notebookCellMap.set(cell.document,[cell,notebookDocument])}};exports.NotebookDocuments=NotebookDocuments}});var require_is6=__commonJS({"server/node_modules/vscode-languageserver/lib/common/utils/is.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.thenable=exports.typedArray=exports.stringArray=exports.array=exports.func=exports.error=exports.number=exports.string=exports.boolean=void 0;function boolean(value){return value===!0||value===!1}exports.boolean=boolean;function string(value){return typeof value=="string"||value instanceof String}exports.string=string;function number(value){return typeof value=="number"||value instanceof Number}exports.number=number;function error(value){return value instanceof Error}exports.error=error;function func(value){return typeof value=="function"}exports.func=func;function array(value){return Array.isArray(value)}exports.array=array;function stringArray(value){return array(value)&&value.every(elem=>string(elem))}exports.stringArray=stringArray;function typedArray(value,check){return Array.isArray(value)&&value.every(check)}exports.typedArray=typedArray;function thenable(value){return value&&func(value.then)}exports.thenable=thenable}});var require_uuid2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/utils/uuid.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.generateUuid=exports.parse=exports.isUUID=exports.v4=exports.empty=void 0;var ValueUUID=class{constructor(_value){this._value=_value}asHex(){return this._value}equals(other){return this.asHex()===other.asHex()}},V4UUID=class _V4UUID extends ValueUUID{static _oneOf(array){return array[Math.floor(array.length*Math.random())]}static _randomHex(){return _V4UUID._oneOf(_V4UUID._chars)}constructor(){super([_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),"-",_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),"-","4",_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),"-",_V4UUID._oneOf(_V4UUID._timeHighBits),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),"-",_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex()].join(""))}};V4UUID._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"];V4UUID._timeHighBits=["8","9","a","b"];exports.empty=new ValueUUID("00000000-0000-0000-0000-000000000000");function v4(){return new V4UUID}exports.v4=v4;var _UUIDPattern=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function isUUID(value){return _UUIDPattern.test(value)}exports.isUUID=isUUID;function parse(value){if(!isUUID(value))throw new Error("invalid uuid");return new ValueUUID(value)}exports.parse=parse;function generateUuid(){return v4().asHex()}exports.generateUuid=generateUuid}});var require_progress2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/progress.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.attachPartialResult=exports.ProgressFeature=exports.attachWorkDone=void 0;var vscode_languageserver_protocol_1=require_main5(),uuid_1=require_uuid2(),WorkDoneProgressReporterImpl=class _WorkDoneProgressReporterImpl{constructor(_connection,_token){this._connection=_connection,this._token=_token,_WorkDoneProgressReporterImpl.Instances.set(this._token,this)}begin(title,percentage,message,cancellable){let param={kind:"begin",title,percentage,message,cancellable};this._connection.sendProgress(vscode_languageserver_protocol_1.WorkDoneProgress.type,this._token,param)}report(arg0,arg1){let param={kind:"report"};typeof arg0=="number"?(param.percentage=arg0,arg1!==void 0&&(param.message=arg1)):param.message=arg0,this._connection.sendProgress(vscode_languageserver_protocol_1.WorkDoneProgress.type,this._token,param)}done(){_WorkDoneProgressReporterImpl.Instances.delete(this._token),this._connection.sendProgress(vscode_languageserver_protocol_1.WorkDoneProgress.type,this._token,{kind:"end"})}};WorkDoneProgressReporterImpl.Instances=new Map;var WorkDoneProgressServerReporterImpl=class extends WorkDoneProgressReporterImpl{constructor(connection2,token){super(connection2,token),this._source=new vscode_languageserver_protocol_1.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}},NullProgressReporter=class{constructor(){}begin(){}report(){}done(){}},NullProgressServerReporter=class extends NullProgressReporter{constructor(){super(),this._source=new vscode_languageserver_protocol_1.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}};function attachWorkDone(connection2,params){if(params===void 0||params.workDoneToken===void 0)return new NullProgressReporter;let token=params.workDoneToken;return delete params.workDoneToken,new WorkDoneProgressReporterImpl(connection2,token)}exports.attachWorkDone=attachWorkDone;var ProgressFeature=Base=>class extends Base{constructor(){super(),this._progressSupported=!1}initialize(capabilities){super.initialize(capabilities),capabilities?.window?.workDoneProgress===!0&&(this._progressSupported=!0,this.connection.onNotification(vscode_languageserver_protocol_1.WorkDoneProgressCancelNotification.type,params=>{let progress=WorkDoneProgressReporterImpl.Instances.get(params.token);(progress instanceof WorkDoneProgressServerReporterImpl||progress instanceof NullProgressServerReporter)&&progress.cancel()}))}attachWorkDoneProgress(token){return token===void 0?new NullProgressReporter:new WorkDoneProgressReporterImpl(this.connection,token)}createWorkDoneProgress(){if(this._progressSupported){let token=(0,uuid_1.generateUuid)();return this.connection.sendRequest(vscode_languageserver_protocol_1.WorkDoneProgressCreateRequest.type,{token}).then(()=>new WorkDoneProgressServerReporterImpl(this.connection,token))}else return Promise.resolve(new NullProgressServerReporter)}};exports.ProgressFeature=ProgressFeature;var ResultProgress;(function(ResultProgress2){ResultProgress2.type=new vscode_languageserver_protocol_1.ProgressType})(ResultProgress||(ResultProgress={}));var ResultProgressReporterImpl=class{constructor(_connection,_token){this._connection=_connection,this._token=_token}report(data){this._connection.sendProgress(ResultProgress.type,this._token,data)}};function attachPartialResult(connection2,params){if(params===void 0||params.partialResultToken===void 0)return;let token=params.partialResultToken;return delete params.partialResultToken,new ResultProgressReporterImpl(connection2,token)}exports.attachPartialResult=attachPartialResult}});var require_configuration2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/configuration.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ConfigurationFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),Is3=require_is6(),ConfigurationFeature=Base=>class extends Base{getConfiguration(arg){return arg?Is3.string(arg)?this._getConfiguration({section:arg}):this._getConfiguration(arg):this._getConfiguration({})}_getConfiguration(arg){let params={items:Array.isArray(arg)?arg:[arg]};return this.connection.sendRequest(vscode_languageserver_protocol_1.ConfigurationRequest.type,params).then(result=>Array.isArray(result)?Array.isArray(arg)?result:result[0]:Array.isArray(arg)?[]:null)}};exports.ConfigurationFeature=ConfigurationFeature}});var require_workspaceFolder2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/workspaceFolder.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.WorkspaceFoldersFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),WorkspaceFoldersFeature=Base=>class extends Base{constructor(){super(),this._notificationIsAutoRegistered=!1}initialize(capabilities){super.initialize(capabilities);let workspaceCapabilities=capabilities.workspace;workspaceCapabilities&&workspaceCapabilities.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new vscode_languageserver_protocol_1.Emitter,this.connection.onNotification(vscode_languageserver_protocol_1.DidChangeWorkspaceFoldersNotification.type,params=>{this._onDidChangeWorkspaceFolders.fire(params.event)}))}fillServerCapabilities(capabilities){super.fillServerCapabilities(capabilities);let changeNotifications=capabilities.workspace?.workspaceFolders?.changeNotifications;this._notificationIsAutoRegistered=changeNotifications===!0||typeof changeNotifications=="string"}getWorkspaceFolders(){return this.connection.sendRequest(vscode_languageserver_protocol_1.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return!this._notificationIsAutoRegistered&&!this._unregistration&&(this._unregistration=this.connection.client.register(vscode_languageserver_protocol_1.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}};exports.WorkspaceFoldersFeature=WorkspaceFoldersFeature}});var require_callHierarchy2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/callHierarchy.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.CallHierarchyFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),CallHierarchyFeature=Base=>class extends Base{get callHierarchy(){return{onPrepare:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.CallHierarchyPrepareRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),void 0)),onIncomingCalls:handler=>{let type=vscode_languageserver_protocol_1.CallHierarchyIncomingCallsRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))},onOutgoingCalls:handler=>{let type=vscode_languageserver_protocol_1.CallHierarchyOutgoingCallsRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))}}}};exports.CallHierarchyFeature=CallHierarchyFeature}});var require_showDocument2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/showDocument.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ShowDocumentFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),ShowDocumentFeature=Base=>class extends Base{showDocument(params){return this.connection.sendRequest(vscode_languageserver_protocol_1.ShowDocumentRequest.type,params)}};exports.ShowDocumentFeature=ShowDocumentFeature}});var require_fileOperations2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/fileOperations.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.FileOperationsFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),FileOperationsFeature=Base=>class extends Base{onDidCreateFiles(handler){return this.connection.onNotification(vscode_languageserver_protocol_1.DidCreateFilesNotification.type,params=>{handler(params)})}onDidRenameFiles(handler){return this.connection.onNotification(vscode_languageserver_protocol_1.DidRenameFilesNotification.type,params=>{handler(params)})}onDidDeleteFiles(handler){return this.connection.onNotification(vscode_languageserver_protocol_1.DidDeleteFilesNotification.type,params=>{handler(params)})}onWillCreateFiles(handler){return this.connection.onRequest(vscode_languageserver_protocol_1.WillCreateFilesRequest.type,(params,cancel)=>handler(params,cancel))}onWillRenameFiles(handler){return this.connection.onRequest(vscode_languageserver_protocol_1.WillRenameFilesRequest.type,(params,cancel)=>handler(params,cancel))}onWillDeleteFiles(handler){return this.connection.onRequest(vscode_languageserver_protocol_1.WillDeleteFilesRequest.type,(params,cancel)=>handler(params,cancel))}};exports.FileOperationsFeature=FileOperationsFeature}});var require_linkedEditingRange2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/linkedEditingRange.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.LinkedEditingRangeFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),LinkedEditingRangeFeature=Base=>class extends Base{onLinkedEditingRange(handler){return this.connection.onRequest(vscode_languageserver_protocol_1.LinkedEditingRangeRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),void 0))}};exports.LinkedEditingRangeFeature=LinkedEditingRangeFeature}});var require_typeHierarchy2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/typeHierarchy.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.TypeHierarchyFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),TypeHierarchyFeature=Base=>class extends Base{get typeHierarchy(){return{onPrepare:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.TypeHierarchyPrepareRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),void 0)),onSupertypes:handler=>{let type=vscode_languageserver_protocol_1.TypeHierarchySupertypesRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))},onSubtypes:handler=>{let type=vscode_languageserver_protocol_1.TypeHierarchySubtypesRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))}}}};exports.TypeHierarchyFeature=TypeHierarchyFeature}});var require_inlineValue2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/inlineValue.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.InlineValueFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),InlineValueFeature=Base=>class extends Base{get inlineValue(){return{refresh:()=>this.connection.sendRequest(vscode_languageserver_protocol_1.InlineValueRefreshRequest.type),on:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.InlineValueRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params)))}}};exports.InlineValueFeature=InlineValueFeature}});var require_foldingRange2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/foldingRange.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.FoldingRangeFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),FoldingRangeFeature=Base=>class extends Base{get foldingRange(){return{refresh:()=>this.connection.sendRequest(vscode_languageserver_protocol_1.FoldingRangeRefreshRequest.type),on:handler=>{let type=vscode_languageserver_protocol_1.FoldingRangeRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))}}}};exports.FoldingRangeFeature=FoldingRangeFeature}});var require_inlayHint2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/inlayHint.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.InlayHintFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),InlayHintFeature=Base=>class extends Base{get inlayHint(){return{refresh:()=>this.connection.sendRequest(vscode_languageserver_protocol_1.InlayHintRefreshRequest.type),on:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.InlayHintRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params))),resolve:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.InlayHintResolveRequest.type,(params,cancel)=>handler(params,cancel))}}};exports.InlayHintFeature=InlayHintFeature}});var require_diagnostic2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/diagnostic.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.DiagnosticFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),DiagnosticFeature=Base=>class extends Base{get diagnostics(){return{refresh:()=>this.connection.sendRequest(vscode_languageserver_protocol_1.DiagnosticRefreshRequest.type),on:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.DocumentDiagnosticRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(vscode_languageserver_protocol_1.DocumentDiagnosticRequest.partialResult,params))),onWorkspace:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.WorkspaceDiagnosticRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(vscode_languageserver_protocol_1.WorkspaceDiagnosticRequest.partialResult,params)))}}};exports.DiagnosticFeature=DiagnosticFeature}});var require_moniker2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/moniker.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.MonikerFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),MonikerFeature=Base=>class extends Base{get moniker(){return{on:handler=>{let type=vscode_languageserver_protocol_1.MonikerRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))}}}};exports.MonikerFeature=MonikerFeature}});var require_server2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/server.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.createConnection=exports.combineFeatures=exports.combineNotebooksFeatures=exports.combineLanguagesFeatures=exports.combineWorkspaceFeatures=exports.combineWindowFeatures=exports.combineClientFeatures=exports.combineTracerFeatures=exports.combineTelemetryFeatures=exports.combineConsoleFeatures=exports._NotebooksImpl=exports._LanguagesImpl=exports.BulkUnregistration=exports.BulkRegistration=exports.ErrorMessageTracker=void 0;var vscode_languageserver_protocol_1=require_main5(),Is3=require_is6(),UUID=require_uuid2(),progress_1=require_progress2(),configuration_1=require_configuration2(),workspaceFolder_1=require_workspaceFolder2(),callHierarchy_1=require_callHierarchy2(),semanticTokens_1=require_semanticTokens2(),showDocument_1=require_showDocument2(),fileOperations_1=require_fileOperations2(),linkedEditingRange_1=require_linkedEditingRange2(),typeHierarchy_1=require_typeHierarchy2(),inlineValue_1=require_inlineValue2(),foldingRange_1=require_foldingRange2(),inlayHint_1=require_inlayHint2(),diagnostic_1=require_diagnostic2(),notebook_1=require_notebook2(),moniker_1=require_moniker2();function null2Undefined(value){if(value!==null)return value}var ErrorMessageTracker=class{constructor(){this._messages=Object.create(null)}add(message){let count=this._messages[message];count||(count=0),count++,this._messages[message]=count}sendErrors(connection2){Object.keys(this._messages).forEach(message=>{connection2.window.showErrorMessage(message)})}};exports.ErrorMessageTracker=ErrorMessageTracker;var RemoteConsoleImpl=class{constructor(){}rawAttach(connection2){this._rawConnection=connection2}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(_capabilities){}initialize(_capabilities){}error(message){this.send(vscode_languageserver_protocol_1.MessageType.Error,message)}warn(message){this.send(vscode_languageserver_protocol_1.MessageType.Warning,message)}info(message){this.send(vscode_languageserver_protocol_1.MessageType.Info,message)}log(message){this.send(vscode_languageserver_protocol_1.MessageType.Log,message)}debug(message){this.send(vscode_languageserver_protocol_1.MessageType.Debug,message)}send(type,message){this._rawConnection&&this._rawConnection.sendNotification(vscode_languageserver_protocol_1.LogMessageNotification.type,{type,message}).catch(()=>{(0,vscode_languageserver_protocol_1.RAL)().console.error("Sending log message failed")})}},_RemoteWindowImpl=class{constructor(){}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}showErrorMessage(message,...actions){let params={type:vscode_languageserver_protocol_1.MessageType.Error,message,actions};return this.connection.sendRequest(vscode_languageserver_protocol_1.ShowMessageRequest.type,params).then(null2Undefined)}showWarningMessage(message,...actions){let params={type:vscode_languageserver_protocol_1.MessageType.Warning,message,actions};return this.connection.sendRequest(vscode_languageserver_protocol_1.ShowMessageRequest.type,params).then(null2Undefined)}showInformationMessage(message,...actions){let params={type:vscode_languageserver_protocol_1.MessageType.Info,message,actions};return this.connection.sendRequest(vscode_languageserver_protocol_1.ShowMessageRequest.type,params).then(null2Undefined)}},RemoteWindowImpl=(0,showDocument_1.ShowDocumentFeature)((0,progress_1.ProgressFeature)(_RemoteWindowImpl)),BulkRegistration;(function(BulkRegistration2){function create(){return new BulkRegistrationImpl}BulkRegistration2.create=create})(BulkRegistration||(exports.BulkRegistration=BulkRegistration={}));var BulkRegistrationImpl=class{constructor(){this._registrations=[],this._registered=new Set}add(type,registerOptions){let method=Is3.string(type)?type:type.method;if(this._registered.has(method))throw new Error(`${method} is already added to this registration`);let id=UUID.generateUuid();this._registrations.push({id,method,registerOptions:registerOptions||{}}),this._registered.add(method)}asRegistrationParams(){return{registrations:this._registrations}}},BulkUnregistration;(function(BulkUnregistration2){function create(){return new BulkUnregistrationImpl(void 0,[])}BulkUnregistration2.create=create})(BulkUnregistration||(exports.BulkUnregistration=BulkUnregistration={}));var BulkUnregistrationImpl=class{constructor(_connection,unregistrations){this._connection=_connection,this._unregistrations=new Map,unregistrations.forEach(unregistration=>{this._unregistrations.set(unregistration.method,unregistration)})}get isAttached(){return!!this._connection}attach(connection2){this._connection=connection2}add(unregistration){this._unregistrations.set(unregistration.method,unregistration)}dispose(){let unregistrations=[];for(let unregistration of this._unregistrations.values())unregistrations.push(unregistration);let params={unregisterations:unregistrations};this._connection.sendRequest(vscode_languageserver_protocol_1.UnregistrationRequest.type,params).catch(()=>{this._connection.console.info("Bulk unregistration failed.")})}disposeSingle(arg){let method=Is3.string(arg)?arg:arg.method,unregistration=this._unregistrations.get(method);if(!unregistration)return!1;let params={unregisterations:[unregistration]};return this._connection.sendRequest(vscode_languageserver_protocol_1.UnregistrationRequest.type,params).then(()=>{this._unregistrations.delete(method)},_error=>{this._connection.console.info(`Un-registering request handler for ${unregistration.id} failed.`)}),!0}},RemoteClientImpl=class{attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}register(typeOrRegistrations,registerOptionsOrType,registerOptions){return typeOrRegistrations instanceof BulkRegistrationImpl?this.registerMany(typeOrRegistrations):typeOrRegistrations instanceof BulkUnregistrationImpl?this.registerSingle1(typeOrRegistrations,registerOptionsOrType,registerOptions):this.registerSingle2(typeOrRegistrations,registerOptionsOrType)}registerSingle1(unregistration,type,registerOptions){let method=Is3.string(type)?type:type.method,id=UUID.generateUuid(),params={registrations:[{id,method,registerOptions:registerOptions||{}}]};return unregistration.isAttached||unregistration.attach(this.connection),this.connection.sendRequest(vscode_languageserver_protocol_1.RegistrationRequest.type,params).then(_result=>(unregistration.add({id,method}),unregistration),_error=>(this.connection.console.info(`Registering request handler for ${method} failed.`),Promise.reject(_error)))}registerSingle2(type,registerOptions){let method=Is3.string(type)?type:type.method,id=UUID.generateUuid(),params={registrations:[{id,method,registerOptions:registerOptions||{}}]};return this.connection.sendRequest(vscode_languageserver_protocol_1.RegistrationRequest.type,params).then(_result=>vscode_languageserver_protocol_1.Disposable.create(()=>{this.unregisterSingle(id,method).catch(()=>{this.connection.console.info(`Un-registering capability with id ${id} failed.`)})}),_error=>(this.connection.console.info(`Registering request handler for ${method} failed.`),Promise.reject(_error)))}unregisterSingle(id,method){let params={unregisterations:[{id,method}]};return this.connection.sendRequest(vscode_languageserver_protocol_1.UnregistrationRequest.type,params).catch(()=>{this.connection.console.info(`Un-registering request handler for ${id} failed.`)})}registerMany(registrations){let params=registrations.asRegistrationParams();return this.connection.sendRequest(vscode_languageserver_protocol_1.RegistrationRequest.type,params).then(()=>new BulkUnregistrationImpl(this._connection,params.registrations.map(registration=>({id:registration.id,method:registration.method}))),_error=>(this.connection.console.info("Bulk registration failed."),Promise.reject(_error)))}},_RemoteWorkspaceImpl=class{constructor(){}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}applyEdit(paramOrEdit){function isApplyWorkspaceEditParams(value){return value&&!!value.edit}let params=isApplyWorkspaceEditParams(paramOrEdit)?paramOrEdit:{edit:paramOrEdit};return this.connection.sendRequest(vscode_languageserver_protocol_1.ApplyWorkspaceEditRequest.type,params)}},RemoteWorkspaceImpl=(0,fileOperations_1.FileOperationsFeature)((0,workspaceFolder_1.WorkspaceFoldersFeature)((0,configuration_1.ConfigurationFeature)(_RemoteWorkspaceImpl))),TracerImpl=class{constructor(){this._trace=vscode_languageserver_protocol_1.Trace.Off}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}set trace(value){this._trace=value}log(message,verbose){this._trace!==vscode_languageserver_protocol_1.Trace.Off&&this.connection.sendNotification(vscode_languageserver_protocol_1.LogTraceNotification.type,{message,verbose:this._trace===vscode_languageserver_protocol_1.Trace.Verbose?verbose:void 0}).catch(()=>{})}},TelemetryImpl=class{constructor(){}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}logEvent(data){this.connection.sendNotification(vscode_languageserver_protocol_1.TelemetryEventNotification.type,data).catch(()=>{this.connection.console.log("Sending TelemetryEventNotification failed")})}},_LanguagesImpl=class{constructor(){}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}attachWorkDoneProgress(params){return(0,progress_1.attachWorkDone)(this.connection,params)}attachPartialResultProgress(_type,params){return(0,progress_1.attachPartialResult)(this.connection,params)}};exports._LanguagesImpl=_LanguagesImpl;var LanguagesImpl=(0,foldingRange_1.FoldingRangeFeature)((0,moniker_1.MonikerFeature)((0,diagnostic_1.DiagnosticFeature)((0,inlayHint_1.InlayHintFeature)((0,inlineValue_1.InlineValueFeature)((0,typeHierarchy_1.TypeHierarchyFeature)((0,linkedEditingRange_1.LinkedEditingRangeFeature)((0,semanticTokens_1.SemanticTokensFeature)((0,callHierarchy_1.CallHierarchyFeature)(_LanguagesImpl))))))))),_NotebooksImpl=class{constructor(){}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}attachWorkDoneProgress(params){return(0,progress_1.attachWorkDone)(this.connection,params)}attachPartialResultProgress(_type,params){return(0,progress_1.attachPartialResult)(this.connection,params)}};exports._NotebooksImpl=_NotebooksImpl;var NotebooksImpl=(0,notebook_1.NotebookSyncFeature)(_NotebooksImpl);function combineConsoleFeatures(one,two){return function(Base){return two(one(Base))}}exports.combineConsoleFeatures=combineConsoleFeatures;function combineTelemetryFeatures(one,two){return function(Base){return two(one(Base))}}exports.combineTelemetryFeatures=combineTelemetryFeatures;function combineTracerFeatures(one,two){return function(Base){return two(one(Base))}}exports.combineTracerFeatures=combineTracerFeatures;function combineClientFeatures(one,two){return function(Base){return two(one(Base))}}exports.combineClientFeatures=combineClientFeatures;function combineWindowFeatures(one,two){return function(Base){return two(one(Base))}}exports.combineWindowFeatures=combineWindowFeatures;function combineWorkspaceFeatures(one,two){return function(Base){return two(one(Base))}}exports.combineWorkspaceFeatures=combineWorkspaceFeatures;function combineLanguagesFeatures(one,two){return function(Base){return two(one(Base))}}exports.combineLanguagesFeatures=combineLanguagesFeatures;function combineNotebooksFeatures(one,two){return function(Base){return two(one(Base))}}exports.combineNotebooksFeatures=combineNotebooksFeatures;function combineFeatures(one,two){function combine(one2,two2,func){return one2&&two2?func(one2,two2):one2||two2}return{__brand:"features",console:combine(one.console,two.console,combineConsoleFeatures),tracer:combine(one.tracer,two.tracer,combineTracerFeatures),telemetry:combine(one.telemetry,two.telemetry,combineTelemetryFeatures),client:combine(one.client,two.client,combineClientFeatures),window:combine(one.window,two.window,combineWindowFeatures),workspace:combine(one.workspace,two.workspace,combineWorkspaceFeatures),languages:combine(one.languages,two.languages,combineLanguagesFeatures),notebooks:combine(one.notebooks,two.notebooks,combineNotebooksFeatures)}}exports.combineFeatures=combineFeatures;function createConnection2(connectionFactory,watchDog,factories){let logger=factories&&factories.console?new(factories.console(RemoteConsoleImpl)):new RemoteConsoleImpl,connection2=connectionFactory(logger);logger.rawAttach(connection2);let tracer=factories&&factories.tracer?new(factories.tracer(TracerImpl)):new TracerImpl,telemetry=factories&&factories.telemetry?new(factories.telemetry(TelemetryImpl)):new TelemetryImpl,client=factories&&factories.client?new(factories.client(RemoteClientImpl)):new RemoteClientImpl,remoteWindow=factories&&factories.window?new(factories.window(RemoteWindowImpl)):new RemoteWindowImpl,workspace=factories&&factories.workspace?new(factories.workspace(RemoteWorkspaceImpl)):new RemoteWorkspaceImpl,languages=factories&&factories.languages?new(factories.languages(LanguagesImpl)):new LanguagesImpl,notebooks=factories&&factories.notebooks?new(factories.notebooks(NotebooksImpl)):new NotebooksImpl,allRemotes=[logger,tracer,telemetry,client,remoteWindow,workspace,languages,notebooks];function asPromise(value){return value instanceof Promise?value:Is3.thenable(value)?new Promise((resolve,reject)=>{value.then(resolved=>resolve(resolved),error=>reject(error))}):Promise.resolve(value)}let shutdownHandler,initializeHandler,exitHandler,protocolConnection={listen:()=>connection2.listen(),sendRequest:(type,...params)=>connection2.sendRequest(Is3.string(type)?type:type.method,...params),onRequest:(type,handler)=>connection2.onRequest(type,handler),sendNotification:(type,param)=>{let method=Is3.string(type)?type:type.method;return connection2.sendNotification(method,param)},onNotification:(type,handler)=>connection2.onNotification(type,handler),onProgress:connection2.onProgress,sendProgress:connection2.sendProgress,onInitialize:handler=>(initializeHandler=handler,{dispose:()=>{initializeHandler=void 0}}),onInitialized:handler=>connection2.onNotification(vscode_languageserver_protocol_1.InitializedNotification.type,handler),onShutdown:handler=>(shutdownHandler=handler,{dispose:()=>{shutdownHandler=void 0}}),onExit:handler=>(exitHandler=handler,{dispose:()=>{exitHandler=void 0}}),get console(){return logger},get telemetry(){return telemetry},get tracer(){return tracer},get client(){return client},get window(){return remoteWindow},get workspace(){return workspace},get languages(){return languages},get notebooks(){return notebooks},onDidChangeConfiguration:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidChangeConfigurationNotification.type,handler),onDidChangeWatchedFiles:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidChangeWatchedFilesNotification.type,handler),__textDocumentSync:void 0,onDidOpenTextDocument:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidOpenTextDocumentNotification.type,handler),onDidChangeTextDocument:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidChangeTextDocumentNotification.type,handler),onDidCloseTextDocument:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidCloseTextDocumentNotification.type,handler),onWillSaveTextDocument:handler=>connection2.onNotification(vscode_languageserver_protocol_1.WillSaveTextDocumentNotification.type,handler),onWillSaveTextDocumentWaitUntil:handler=>connection2.onRequest(vscode_languageserver_protocol_1.WillSaveTextDocumentWaitUntilRequest.type,handler),onDidSaveTextDocument:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidSaveTextDocumentNotification.type,handler),sendDiagnostics:params=>connection2.sendNotification(vscode_languageserver_protocol_1.PublishDiagnosticsNotification.type,params),onHover:handler=>connection2.onRequest(vscode_languageserver_protocol_1.HoverRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),onCompletion:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CompletionRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onCompletionResolve:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CompletionResolveRequest.type,handler),onSignatureHelp:handler=>connection2.onRequest(vscode_languageserver_protocol_1.SignatureHelpRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),onDeclaration:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DeclarationRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onDefinition:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DefinitionRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onTypeDefinition:handler=>connection2.onRequest(vscode_languageserver_protocol_1.TypeDefinitionRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onImplementation:handler=>connection2.onRequest(vscode_languageserver_protocol_1.ImplementationRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onReferences:handler=>connection2.onRequest(vscode_languageserver_protocol_1.ReferencesRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onDocumentHighlight:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentHighlightRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onDocumentSymbol:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentSymbolRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onWorkspaceSymbol:handler=>connection2.onRequest(vscode_languageserver_protocol_1.WorkspaceSymbolRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onWorkspaceSymbolResolve:handler=>connection2.onRequest(vscode_languageserver_protocol_1.WorkspaceSymbolResolveRequest.type,handler),onCodeAction:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CodeActionRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onCodeActionResolve:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CodeActionResolveRequest.type,(params,cancel)=>handler(params,cancel)),onCodeLens:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CodeLensRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onCodeLensResolve:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CodeLensResolveRequest.type,(params,cancel)=>handler(params,cancel)),onDocumentFormatting:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentFormattingRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),onDocumentRangeFormatting:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentRangeFormattingRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),onDocumentOnTypeFormatting:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentOnTypeFormattingRequest.type,(params,cancel)=>handler(params,cancel)),onRenameRequest:handler=>connection2.onRequest(vscode_languageserver_protocol_1.RenameRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),onPrepareRename:handler=>connection2.onRequest(vscode_languageserver_protocol_1.PrepareRenameRequest.type,(params,cancel)=>handler(params,cancel)),onDocumentLinks:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentLinkRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onDocumentLinkResolve:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentLinkResolveRequest.type,(params,cancel)=>handler(params,cancel)),onDocumentColor:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentColorRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onColorPresentation:handler=>connection2.onRequest(vscode_languageserver_protocol_1.ColorPresentationRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onFoldingRanges:handler=>connection2.onRequest(vscode_languageserver_protocol_1.FoldingRangeRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onSelectionRanges:handler=>connection2.onRequest(vscode_languageserver_protocol_1.SelectionRangeRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onExecuteCommand:handler=>connection2.onRequest(vscode_languageserver_protocol_1.ExecuteCommandRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),dispose:()=>connection2.dispose()};for(let remote of allRemotes)remote.attach(protocolConnection);return connection2.onRequest(vscode_languageserver_protocol_1.InitializeRequest.type,params=>{watchDog.initialize(params),Is3.string(params.trace)&&(tracer.trace=vscode_languageserver_protocol_1.Trace.fromString(params.trace));for(let remote of allRemotes)remote.initialize(params.capabilities);if(initializeHandler){let result=initializeHandler(params,new vscode_languageserver_protocol_1.CancellationTokenSource().token,(0,progress_1.attachWorkDone)(connection2,params),void 0);return asPromise(result).then(value=>{if(value instanceof vscode_languageserver_protocol_1.ResponseError)return value;let result2=value;result2||(result2={capabilities:{}});let capabilities=result2.capabilities;capabilities||(capabilities={},result2.capabilities=capabilities),capabilities.textDocumentSync===void 0||capabilities.textDocumentSync===null?capabilities.textDocumentSync=Is3.number(protocolConnection.__textDocumentSync)?protocolConnection.__textDocumentSync:vscode_languageserver_protocol_1.TextDocumentSyncKind.None:!Is3.number(capabilities.textDocumentSync)&&!Is3.number(capabilities.textDocumentSync.change)&&(capabilities.textDocumentSync.change=Is3.number(protocolConnection.__textDocumentSync)?protocolConnection.__textDocumentSync:vscode_languageserver_protocol_1.TextDocumentSyncKind.None);for(let remote of allRemotes)remote.fillServerCapabilities(capabilities);return result2})}else{let result={capabilities:{textDocumentSync:vscode_languageserver_protocol_1.TextDocumentSyncKind.None}};for(let remote of allRemotes)remote.fillServerCapabilities(result.capabilities);return result}}),connection2.onRequest(vscode_languageserver_protocol_1.ShutdownRequest.type,()=>{if(watchDog.shutdownReceived=!0,shutdownHandler)return shutdownHandler(new vscode_languageserver_protocol_1.CancellationTokenSource().token)}),connection2.onNotification(vscode_languageserver_protocol_1.ExitNotification.type,()=>{try{exitHandler&&exitHandler()}finally{watchDog.shutdownReceived?watchDog.exit(0):watchDog.exit(1)}}),connection2.onNotification(vscode_languageserver_protocol_1.SetTraceNotification.type,params=>{tracer.trace=vscode_languageserver_protocol_1.Trace.fromString(params.value)}),protocolConnection}exports.createConnection=createConnection2}});var require_api6=__commonJS({"server/node_modules/vscode-languageserver/lib/common/api.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__exportStar=exports&&exports.__exportStar||function(m2,exports2){for(var p in m2)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m2,p)};Object.defineProperty(exports,"__esModule",{value:!0});exports.ProposedFeatures=exports.NotebookDocuments=exports.TextDocuments=exports.SemanticTokensBuilder=void 0;var semanticTokens_1=require_semanticTokens2();Object.defineProperty(exports,"SemanticTokensBuilder",{enumerable:!0,get:function(){return semanticTokens_1.SemanticTokensBuilder}});var ic=require_inlineCompletion_proposed2();__exportStar(require_main5(),exports);var textDocuments_1=require_textDocuments2();Object.defineProperty(exports,"TextDocuments",{enumerable:!0,get:function(){return textDocuments_1.TextDocuments}});var notebook_1=require_notebook2();Object.defineProperty(exports,"NotebookDocuments",{enumerable:!0,get:function(){return notebook_1.NotebookDocuments}});__exportStar(require_server2(),exports);var ProposedFeatures2;(function(ProposedFeatures3){ProposedFeatures3.all={__brand:"features",languages:ic.InlineCompletionFeature}})(ProposedFeatures2||(exports.ProposedFeatures=ProposedFeatures2={}))}});var require_browser5=__commonJS({"server/node_modules/vscode-languageserver-protocol/browser.js"(exports,module){"use strict";module.exports=require_main5()}});var require_main6=__commonJS({"server/node_modules/vscode-languageserver/lib/browser/main.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__exportStar=exports&&exports.__exportStar||function(m2,exports2){for(var p in m2)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m2,p)};Object.defineProperty(exports,"__esModule",{value:!0});exports.createConnection=void 0;var api_1=require_api6();__exportStar(require_browser5(),exports);__exportStar(require_api6(),exports);var _shutdownReceived=!1,watchDog={initialize:_params=>{},get shutdownReceived(){return _shutdownReceived},set shutdownReceived(value){_shutdownReceived=value},exit:_code=>{}};function createConnection2(arg1,arg2,arg3,arg4){let factories,reader,writer,options;arg1!==void 0&&arg1.__brand==="features"&&(factories=arg1,arg1=arg2,arg2=arg3,arg3=arg4),api_1.ConnectionStrategy.is(arg1)||api_1.ConnectionOptions.is(arg1)?options=arg1:(reader=arg1,writer=arg2,options=arg3);let connectionFactory=logger=>(0,api_1.createProtocolConnection)(reader,writer,logger,options);return(0,api_1.createConnection)(connectionFactory,watchDog,factories)}exports.createConnection=createConnection2}});var require_browser6=__commonJS({"server/node_modules/vscode-languageserver/browser.js"(exports,module){"use strict";module.exports=require_main6()}});var import_node11=__toESM(require_browser3());function readFileSync(_path,_enc){throw new Error("fs.readFileSync is not available in the browser")}function normalizeArray(parts,allowAboveRoot){let res=[];for(let p of parts)!p||p==="."||(p===".."?res.length&&res[res.length-1]!==".."?res.pop():allowAboveRoot&&res.push(".."):res.push(p));return res}function join(...parts){let joined=parts.filter(Boolean).join("/"),isAbsolute=joined.startsWith("/"),normalized=normalizeArray(joined.split("/"),!isAbsolute).join("/");return(isAbsolute?"/":"")+(normalized||(isAbsolute?"":"."))}function fileURLToPath(url){let href=typeof url=="string"?url:url.href;if(href.startsWith("file://")){let withoutScheme=href.slice(7),path=withoutScheme.startsWith("/")?withoutScheme:`/${withoutScheme}`;return decodeURIComponent(path)}return decodeURIComponent(href)}function pathToFileURL(path){let normalized=path.replace(/\\/g,"/"),encoded=(normalized.startsWith("/")?normalized:`/${normalized}`).split("/").map(encodeURIComponent).join("/");return new URL(`file://${encoded}`)}var Worker=class{constructor(_path,_opts){throw new Error("worker_threads is not available in the browser; using inline parsing")}on(_event,_cb){return this}postMessage(_value){}terminate(){return Promise.resolve(0)}};var FullTextDocument2=class _FullTextDocument{constructor(uri,languageId,version,content){this._uri=uri,this._languageId=languageId,this._version=version,this._content=content,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(range){if(range){let start=this.offsetAt(range.start),end=this.offsetAt(range.end);return this._content.substring(start,end)}return this._content}update(changes,version){for(let change of changes)if(_FullTextDocument.isIncremental(change)){let range=getWellformedRange(change.range),startOffset=this.offsetAt(range.start),endOffset=this.offsetAt(range.end);this._content=this._content.substring(0,startOffset)+change.text+this._content.substring(endOffset,this._content.length);let startLine=Math.max(range.start.line,0),endLine=Math.max(range.end.line,0),lineOffsets=this._lineOffsets,addedLineOffsets=computeLineOffsets(change.text,!1,startOffset);if(endLine-startLine===addedLineOffsets.length)for(let i=0,len=addedLineOffsets.length;i<len;i++)lineOffsets[i+startLine+1]=addedLineOffsets[i];else addedLineOffsets.length<1e4?lineOffsets.splice(startLine+1,endLine-startLine,...addedLineOffsets):this._lineOffsets=lineOffsets=lineOffsets.slice(0,startLine+1).concat(addedLineOffsets,lineOffsets.slice(endLine+1));let diff=change.text.length-(endOffset-startOffset);if(diff!==0)for(let i=startLine+1+addedLineOffsets.length,len=lineOffsets.length;i<len;i++)lineOffsets[i]=lineOffsets[i]+diff}else if(_FullTextDocument.isFull(change))this._content=change.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=version}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=computeLineOffsets(this._content,!0)),this._lineOffsets}positionAt(offset){offset=Math.max(Math.min(offset,this._content.length),0);let lineOffsets=this.getLineOffsets(),low=0,high=lineOffsets.length;if(high===0)return{line:0,character:offset};for(;low<high;){let mid=Math.floor((low+high)/2);lineOffsets[mid]>offset?high=mid:low=mid+1}let line=low-1;return offset=this.ensureBeforeEOL(offset,lineOffsets[line]),{line,character:offset-lineOffsets[line]}}offsetAt(position){let lineOffsets=this.getLineOffsets();if(position.line>=lineOffsets.length)return this._content.length;if(position.line<0)return 0;let lineOffset=lineOffsets[position.line];if(position.character<=0)return lineOffset;let nextLineOffset=position.line+1<lineOffsets.length?lineOffsets[position.line+1]:this._content.length,offset=Math.min(lineOffset+position.character,nextLineOffset);return this.ensureBeforeEOL(offset,lineOffset)}ensureBeforeEOL(offset,lineOffset){for(;offset>lineOffset&&isEOL(this._content.charCodeAt(offset-1));)offset--;return offset}get lineCount(){return this.getLineOffsets().length}static isIncremental(event){let candidate=event;return candidate!=null&&typeof candidate.text=="string"&&candidate.range!==void 0&&(candidate.rangeLength===void 0||typeof candidate.rangeLength=="number")}static isFull(event){let candidate=event;return candidate!=null&&typeof candidate.text=="string"&&candidate.range===void 0&&candidate.rangeLength===void 0}},TextDocument2;(function(TextDocument4){function create(uri,languageId,version,content){return new FullTextDocument2(uri,languageId,version,content)}TextDocument4.create=create;function update(document,changes,version){if(document instanceof FullTextDocument2)return document.update(changes,version),document;throw new Error("TextDocument.update: document must be created by TextDocument.create")}TextDocument4.update=update;function applyEdits(document,edits){let text=document.getText(),sortedEdits=mergeSort(edits.map(getWellformedEdit),(a,b)=>{let diff=a.range.start.line-b.range.start.line;return diff===0?a.range.start.character-b.range.start.character:diff}),lastModifiedOffset=0,spans=[];for(let e of sortedEdits){let startOffset=document.offsetAt(e.range.start);if(startOffset<lastModifiedOffset)throw new Error("Overlapping edit");startOffset>lastModifiedOffset&&spans.push(text.substring(lastModifiedOffset,startOffset)),e.newText.length&&spans.push(e.newText),lastModifiedOffset=document.offsetAt(e.range.end)}return spans.push(text.substr(lastModifiedOffset)),spans.join("")}TextDocument4.applyEdits=applyEdits})(TextDocument2||(TextDocument2={}));function mergeSort(data,compare){if(data.length<=1)return data;let p=data.length/2|0,left=data.slice(0,p),right=data.slice(p);mergeSort(left,compare),mergeSort(right,compare);let leftIdx=0,rightIdx=0,i=0;for(;leftIdx<left.length&&rightIdx<right.length;)compare(left[leftIdx],right[rightIdx])<=0?data[i++]=left[leftIdx++]:data[i++]=right[rightIdx++];for(;leftIdx<left.length;)data[i++]=left[leftIdx++];for(;rightIdx<right.length;)data[i++]=right[rightIdx++];return data}function computeLineOffsets(text,isAtLineStart,textOffset=0){let result=isAtLineStart?[textOffset]:[];for(let i=0;i<text.length;i++){let ch=text.charCodeAt(i);isEOL(ch)&&(ch===13&&i+1<text.length&&text.charCodeAt(i+1)===10&&i++,result.push(textOffset+i+1))}return result}function isEOL(char){return char===13||char===10}function getWellformedRange(range){let start=range.start,end=range.end;return start.line>end.line||start.line===end.line&&start.character>end.character?{start:end,end:start}:range}function getWellformedEdit(textEdit){let range=getWellformedRange(textEdit.range);return range!==textEdit.range?{newText:textEdit.newText,range}:textEdit}var __defProp2=Object.defineProperty,__name=(target,value)=>__defProp2(target,"name",{value,configurable:!0}),IntStream;(IntStream2=>{IntStream2.EOF=-1,IntStream2.UNKNOWN_SOURCE_NAME="<unknown>"})(IntStream||(IntStream={}));var Token;(Token22=>{Token22.INVALID_TYPE=0,Token22.EPSILON=-2,Token22.MIN_USER_TOKEN_TYPE=1,Token22.EOF=IntStream.EOF,Token22.DEFAULT_CHANNEL=0,Token22.HIDDEN_CHANNEL=1,Token22.MIN_USER_CHANNEL_VALUE=2})(Token||(Token={}));var isToken=__name(candidate=>{let token=candidate;return token.tokenSource!==void 0&&token.channel!==void 0},"isToken"),BitSet=class{static{__name(this,"BitSet")}data;constructor(data){data?this.data=new Uint32Array(data.map(value=>value>>>0)):this.data=new Uint32Array(1)}[Symbol.iterator](){let length=this.data.length,currentIndex=0,currentWord=this.data[currentIndex],words=this.data;return{[Symbol.iterator](){return this},next:__name(()=>{for(;currentIndex<length;)if(currentWord!==0){let t=currentWord&-currentWord,value=(currentIndex<<5)+this.bitCount(t-1);return currentWord^=t,{done:!1,value}}else currentIndex++,currentIndex<length&&(currentWord=words[currentIndex]);return{done:!0,value:void 0}},"next")}}clear(index2){index2===void 0?this.data=new Uint32Array:(this.resize(index2),this.data[index2>>>5]&=~(1<<index2))}or(set){let minCount=Math.min(this.data.length,set.data.length);for(let k=0;k<minCount;++k)this.data[k]|=set.data[k];if(this.data.length<set.data.length){this.resize((set.data.length<<5)-1);let c=set.data.length;for(let k=minCount;k<c;++k)this.data[k]=set.data[k]}}get(index2){if(index2<0)throw new RangeError("index cannot be negative");let slot=index2>>>5;return slot>=this.data.length?!1:(this.data[slot]&1<<index2%32)!==0}get length(){let result=0,c=this.data.length,w=this.data;for(let i=0;i<c;i++)result+=this.bitCount(w[i]);return result}values(){let result=new Array(this.length),pos=0,length=this.data.length;for(let k=0;k<length;++k){let w=this.data[k];for(;w!==0;){let t=w&-w;result[pos++]=(k<<5)+this.bitCount(t-1),w^=t}}return result}nextSetBit(fromIndex){if(fromIndex<0)throw new RangeError("index cannot be negative");for(let index2 of this)if(index2>=fromIndex)return index2}set(index2){if(index2<0)throw new RangeError("index cannot be negative");this.resize(index2),this.data[index2>>>5]|=1<<index2%32}toString(){return"{"+this.values().join(", ")+"}"}resize(index2){let count=index2+32>>>5;if(count<=this.data.length)return;let data=new Uint32Array(count);data.set(this.data),data.fill(0,this.data.length),this.data=data}bitCount(v){return v=v-(v>>1&1431655765),v=(v&858993459)+(v>>2&858993459),v=v+(v>>4)&252645135,v=v+(v>>8),v=v+(v>>16),v&63}},c1=3432918353,c2=461845907,r1=15,r2=13,m=5,n=3864292196,MurmurHash=class _MurmurHash{static{__name(this,"MurmurHash")}static defaultSeed=701;constructor(){}static initialize(seed=_MurmurHash.defaultSeed){return seed}static updateFromComparable(hash,value){return this.update(hash,value?.hashCode()??0)}static update(hash,value){return value=Math.imul(value,c1),value=value<<r1|value>>>32-r1,value=Math.imul(value,c2),hash=hash^value,hash=hash<<r2|hash>>>32-r2,hash=Math.imul(hash,m)+n,hash}static finish(hash,entryCount){return hash^=entryCount*4,hash^=hash>>>16,hash=Math.imul(hash,2246822507),hash^=hash>>>13,hash=Math.imul(hash,3266489909),hash^=hash>>>16,hash}static hashCode(value,seed){return _MurmurHash.finish(_MurmurHash.update(seed??_MurmurHash.defaultSeed,value),1)}},ObjectEqualityComparator=class _ObjectEqualityComparator{static{__name(this,"ObjectEqualityComparator")}static instance=new _ObjectEqualityComparator;hashCode(obj){return obj==null?0:obj.hashCode()}equals(a,b){return a==null?b==null:a.equals(b)}},DefaultEqualityComparator=class _DefaultEqualityComparator{static{__name(this,"DefaultEqualityComparator")}static instance=new _DefaultEqualityComparator;hashCode(obj){return obj==null?0:ObjectEqualityComparator.instance.hashCode(obj)}equals(a,b){return a==null?b==null:typeof a=="string"||typeof a=="number"?a===b:ObjectEqualityComparator.instance.equals(a,b)}},HashSet=class _HashSet{static{__name(this,"HashSet")}static defaultLoadFactor=.75;static initialCapacity=16;comparator;buckets;threshold;itemCount=0;constructor(comparatorOrSet,initialCapacity=_HashSet.initialCapacity){if(comparatorOrSet instanceof _HashSet){this.comparator=comparatorOrSet.comparator,this.buckets=comparatorOrSet.buckets.slice(0);for(let i=0;i<this.buckets.length;i++){let bucket=this.buckets[i];bucket&&(this.buckets[i]=bucket.slice(0))}this.itemCount=comparatorOrSet.itemCount,this.threshold=comparatorOrSet.threshold}else this.comparator=comparatorOrSet??DefaultEqualityComparator.instance,this.buckets=this.createBuckets(initialCapacity),this.threshold=Math.floor(_HashSet.initialCapacity*_HashSet.defaultLoadFactor)}getOrAdd(o){this.itemCount>this.threshold&&this.expand();let b=this.getBucket(o),bucket=this.buckets[b];if(!bucket)return bucket=[o],this.buckets[b]=bucket,++this.itemCount,o;for(let existing of bucket)if(this.comparator.equals(existing,o))return existing;return bucket.push(o),++this.itemCount,o}get(o){if(o==null)return o;let b=this.getBucket(o),bucket=this.buckets[b];if(bucket){for(let e of bucket)if(this.comparator.equals(e,o))return e}}remove(o){if(o==null)return!1;let b=this.getBucket(o),bucket=this.buckets[b];if(!bucket)return!1;for(let i=0;i<bucket.length;i++){let existing=bucket[i];if(this.comparator.equals(existing,o))return bucket.splice(i,1),--this.itemCount,!0}return!1}hashCode(){let hash=MurmurHash.initialize();for(let bucket of this.buckets)if(bucket!=null)for(let o of bucket){if(o==null)break;hash=MurmurHash.update(hash,this.comparator.hashCode(o))}return hash=MurmurHash.finish(hash,this.size),hash}equals(o){return o===this?!0:!(o instanceof _HashSet)||o.size!==this.size?!1:this.containsAll(o)}add(t){return this.getOrAdd(t)===t}contains(o){return this.containsFast(o)}containsFast(obj){return obj==null?!1:this.get(obj)!==void 0}*[Symbol.iterator](){yield*this.toArray()}toArray(){let a=new Array(this.size),i=0;for(let bucket of this.buckets)if(bucket!=null)for(let o of bucket){if(o==null)break;a[i++]=o}return a}containsAll(collection){if(collection instanceof _HashSet){for(let bucket of collection.buckets)if(bucket!=null)for(let o of bucket){if(o==null)break;if(!this.containsFast(o))return!1}}else for(let o of collection)if(!this.containsFast(o))return!1;return!0}addAll(c){let changed=!1;for(let o of c)this.getOrAdd(o)!==o&&(changed=!0);return changed}clear(){this.buckets=this.createBuckets(_HashSet.initialCapacity),this.itemCount=0,this.threshold=Math.floor(_HashSet.initialCapacity*_HashSet.defaultLoadFactor)}toString(){if(this.size===0)return"{}";let buf="{",first=!0;for(let bucket of this.buckets)if(bucket!=null)for(let o of bucket){if(o==null)break;first?first=!1:buf+=", ",buf+=o.toString()}return buf+="}",buf}toTableString(){let buf="";for(let bucket of this.buckets){if(bucket==null){buf+=`null
|
|
45
|
+
`&&i++}isLineStart&&text.length>0&&lineOffsets.push(text.length),this._lineOffsets=lineOffsets}return this._lineOffsets}positionAt(offset){offset=Math.max(Math.min(offset,this._content.length),0);let lineOffsets=this.getLineOffsets(),low=0,high=lineOffsets.length;if(high===0)return Position2.create(0,offset);for(;low<high;){let mid=Math.floor((low+high)/2);lineOffsets[mid]>offset?high=mid:low=mid+1}let line=low-1;return Position2.create(line,offset-lineOffsets[line])}offsetAt(position){let lineOffsets=this.getLineOffsets();if(position.line>=lineOffsets.length)return this._content.length;if(position.line<0)return 0;let lineOffset=lineOffsets[position.line],nextLineOffset=position.line+1<lineOffsets.length?lineOffsets[position.line+1]:this._content.length;return Math.max(Math.min(lineOffset+position.character,nextLineOffset),lineOffset)}get lineCount(){return this.getLineOffsets().length}};(function(Is3){let toString=Object.prototype.toString;function defined(value){return typeof value<"u"}Is3.defined=defined;function undefined2(value){return typeof value>"u"}Is3.undefined=undefined2;function boolean(value){return value===!0||value===!1}Is3.boolean=boolean;function string(value){return toString.call(value)==="[object String]"}Is3.string=string;function number(value){return toString.call(value)==="[object Number]"}Is3.number=number;function numberRange(value,min,max){return toString.call(value)==="[object Number]"&&min<=value&&value<=max}Is3.numberRange=numberRange;function integer3(value){return toString.call(value)==="[object Number]"&&-2147483648<=value&&value<=2147483647}Is3.integer=integer3;function uinteger3(value){return toString.call(value)==="[object Number]"&&0<=value&&value<=2147483647}Is3.uinteger=uinteger3;function func(value){return toString.call(value)==="[object Function]"}Is3.func=func;function objectLiteral(value){return value!==null&&typeof value=="object"}Is3.objectLiteral=objectLiteral;function typedArray(value,check){return Array.isArray(value)&&value.every(check)}Is3.typedArray=typedArray})(Is2||(Is2={}))}});var require_messages4=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/messages.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ProtocolNotificationType=exports.ProtocolNotificationType0=exports.ProtocolRequestType=exports.ProtocolRequestType0=exports.RegistrationType=exports.MessageDirection=void 0;var vscode_jsonrpc_1=require_main4(),MessageDirection;(function(MessageDirection2){MessageDirection2.clientToServer="clientToServer",MessageDirection2.serverToClient="serverToClient",MessageDirection2.both="both"})(MessageDirection||(exports.MessageDirection=MessageDirection={}));var RegistrationType=class{constructor(method){this.method=method}};exports.RegistrationType=RegistrationType;var ProtocolRequestType0=class extends vscode_jsonrpc_1.RequestType0{constructor(method){super(method)}};exports.ProtocolRequestType0=ProtocolRequestType0;var ProtocolRequestType=class extends vscode_jsonrpc_1.RequestType{constructor(method){super(method,vscode_jsonrpc_1.ParameterStructures.byName)}};exports.ProtocolRequestType=ProtocolRequestType;var ProtocolNotificationType0=class extends vscode_jsonrpc_1.NotificationType0{constructor(method){super(method)}};exports.ProtocolNotificationType0=ProtocolNotificationType0;var ProtocolNotificationType=class extends vscode_jsonrpc_1.NotificationType{constructor(method){super(method,vscode_jsonrpc_1.ParameterStructures.byName)}};exports.ProtocolNotificationType=ProtocolNotificationType}});var require_is5=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.objectLiteral=exports.typedArray=exports.stringArray=exports.array=exports.func=exports.error=exports.number=exports.string=exports.boolean=void 0;function boolean(value){return value===!0||value===!1}exports.boolean=boolean;function string(value){return typeof value=="string"||value instanceof String}exports.string=string;function number(value){return typeof value=="number"||value instanceof Number}exports.number=number;function error(value){return value instanceof Error}exports.error=error;function func(value){return typeof value=="function"}exports.func=func;function array(value){return Array.isArray(value)}exports.array=array;function stringArray(value){return array(value)&&value.every(elem=>string(elem))}exports.stringArray=stringArray;function typedArray(value,check){return Array.isArray(value)&&value.every(check)}exports.typedArray=typedArray;function objectLiteral(value){return value!==null&&typeof value=="object"}exports.objectLiteral=objectLiteral}});var require_protocol_implementation2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ImplementationRequest=void 0;var messages_1=require_messages4(),ImplementationRequest;(function(ImplementationRequest2){ImplementationRequest2.method="textDocument/implementation",ImplementationRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ImplementationRequest2.type=new messages_1.ProtocolRequestType(ImplementationRequest2.method)})(ImplementationRequest||(exports.ImplementationRequest=ImplementationRequest={}))}});var require_protocol_typeDefinition2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.TypeDefinitionRequest=void 0;var messages_1=require_messages4(),TypeDefinitionRequest;(function(TypeDefinitionRequest2){TypeDefinitionRequest2.method="textDocument/typeDefinition",TypeDefinitionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,TypeDefinitionRequest2.type=new messages_1.ProtocolRequestType(TypeDefinitionRequest2.method)})(TypeDefinitionRequest||(exports.TypeDefinitionRequest=TypeDefinitionRequest={}))}});var require_protocol_workspaceFolder2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.DidChangeWorkspaceFoldersNotification=exports.WorkspaceFoldersRequest=void 0;var messages_1=require_messages4(),WorkspaceFoldersRequest;(function(WorkspaceFoldersRequest2){WorkspaceFoldersRequest2.method="workspace/workspaceFolders",WorkspaceFoldersRequest2.messageDirection=messages_1.MessageDirection.serverToClient,WorkspaceFoldersRequest2.type=new messages_1.ProtocolRequestType0(WorkspaceFoldersRequest2.method)})(WorkspaceFoldersRequest||(exports.WorkspaceFoldersRequest=WorkspaceFoldersRequest={}));var DidChangeWorkspaceFoldersNotification;(function(DidChangeWorkspaceFoldersNotification2){DidChangeWorkspaceFoldersNotification2.method="workspace/didChangeWorkspaceFolders",DidChangeWorkspaceFoldersNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeWorkspaceFoldersNotification2.type=new messages_1.ProtocolNotificationType(DidChangeWorkspaceFoldersNotification2.method)})(DidChangeWorkspaceFoldersNotification||(exports.DidChangeWorkspaceFoldersNotification=DidChangeWorkspaceFoldersNotification={}))}});var require_protocol_configuration2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ConfigurationRequest=void 0;var messages_1=require_messages4(),ConfigurationRequest;(function(ConfigurationRequest2){ConfigurationRequest2.method="workspace/configuration",ConfigurationRequest2.messageDirection=messages_1.MessageDirection.serverToClient,ConfigurationRequest2.type=new messages_1.ProtocolRequestType(ConfigurationRequest2.method)})(ConfigurationRequest||(exports.ConfigurationRequest=ConfigurationRequest={}))}});var require_protocol_colorProvider2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ColorPresentationRequest=exports.DocumentColorRequest=void 0;var messages_1=require_messages4(),DocumentColorRequest;(function(DocumentColorRequest2){DocumentColorRequest2.method="textDocument/documentColor",DocumentColorRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentColorRequest2.type=new messages_1.ProtocolRequestType(DocumentColorRequest2.method)})(DocumentColorRequest||(exports.DocumentColorRequest=DocumentColorRequest={}));var ColorPresentationRequest;(function(ColorPresentationRequest2){ColorPresentationRequest2.method="textDocument/colorPresentation",ColorPresentationRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ColorPresentationRequest2.type=new messages_1.ProtocolRequestType(ColorPresentationRequest2.method)})(ColorPresentationRequest||(exports.ColorPresentationRequest=ColorPresentationRequest={}))}});var require_protocol_foldingRange2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.FoldingRangeRefreshRequest=exports.FoldingRangeRequest=void 0;var messages_1=require_messages4(),FoldingRangeRequest;(function(FoldingRangeRequest2){FoldingRangeRequest2.method="textDocument/foldingRange",FoldingRangeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,FoldingRangeRequest2.type=new messages_1.ProtocolRequestType(FoldingRangeRequest2.method)})(FoldingRangeRequest||(exports.FoldingRangeRequest=FoldingRangeRequest={}));var FoldingRangeRefreshRequest;(function(FoldingRangeRefreshRequest2){FoldingRangeRefreshRequest2.method="workspace/foldingRange/refresh",FoldingRangeRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,FoldingRangeRefreshRequest2.type=new messages_1.ProtocolRequestType0(FoldingRangeRefreshRequest2.method)})(FoldingRangeRefreshRequest||(exports.FoldingRangeRefreshRequest=FoldingRangeRefreshRequest={}))}});var require_protocol_declaration2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.DeclarationRequest=void 0;var messages_1=require_messages4(),DeclarationRequest;(function(DeclarationRequest2){DeclarationRequest2.method="textDocument/declaration",DeclarationRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DeclarationRequest2.type=new messages_1.ProtocolRequestType(DeclarationRequest2.method)})(DeclarationRequest||(exports.DeclarationRequest=DeclarationRequest={}))}});var require_protocol_selectionRange2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.SelectionRangeRequest=void 0;var messages_1=require_messages4(),SelectionRangeRequest;(function(SelectionRangeRequest2){SelectionRangeRequest2.method="textDocument/selectionRange",SelectionRangeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SelectionRangeRequest2.type=new messages_1.ProtocolRequestType(SelectionRangeRequest2.method)})(SelectionRangeRequest||(exports.SelectionRangeRequest=SelectionRangeRequest={}))}});var require_protocol_progress2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.WorkDoneProgressCancelNotification=exports.WorkDoneProgressCreateRequest=exports.WorkDoneProgress=void 0;var vscode_jsonrpc_1=require_main4(),messages_1=require_messages4(),WorkDoneProgress;(function(WorkDoneProgress2){WorkDoneProgress2.type=new vscode_jsonrpc_1.ProgressType;function is(value){return value===WorkDoneProgress2.type}WorkDoneProgress2.is=is})(WorkDoneProgress||(exports.WorkDoneProgress=WorkDoneProgress={}));var WorkDoneProgressCreateRequest;(function(WorkDoneProgressCreateRequest2){WorkDoneProgressCreateRequest2.method="window/workDoneProgress/create",WorkDoneProgressCreateRequest2.messageDirection=messages_1.MessageDirection.serverToClient,WorkDoneProgressCreateRequest2.type=new messages_1.ProtocolRequestType(WorkDoneProgressCreateRequest2.method)})(WorkDoneProgressCreateRequest||(exports.WorkDoneProgressCreateRequest=WorkDoneProgressCreateRequest={}));var WorkDoneProgressCancelNotification;(function(WorkDoneProgressCancelNotification2){WorkDoneProgressCancelNotification2.method="window/workDoneProgress/cancel",WorkDoneProgressCancelNotification2.messageDirection=messages_1.MessageDirection.clientToServer,WorkDoneProgressCancelNotification2.type=new messages_1.ProtocolNotificationType(WorkDoneProgressCancelNotification2.method)})(WorkDoneProgressCancelNotification||(exports.WorkDoneProgressCancelNotification=WorkDoneProgressCancelNotification={}))}});var require_protocol_callHierarchy2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.CallHierarchyOutgoingCallsRequest=exports.CallHierarchyIncomingCallsRequest=exports.CallHierarchyPrepareRequest=void 0;var messages_1=require_messages4(),CallHierarchyPrepareRequest;(function(CallHierarchyPrepareRequest2){CallHierarchyPrepareRequest2.method="textDocument/prepareCallHierarchy",CallHierarchyPrepareRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CallHierarchyPrepareRequest2.type=new messages_1.ProtocolRequestType(CallHierarchyPrepareRequest2.method)})(CallHierarchyPrepareRequest||(exports.CallHierarchyPrepareRequest=CallHierarchyPrepareRequest={}));var CallHierarchyIncomingCallsRequest;(function(CallHierarchyIncomingCallsRequest2){CallHierarchyIncomingCallsRequest2.method="callHierarchy/incomingCalls",CallHierarchyIncomingCallsRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CallHierarchyIncomingCallsRequest2.type=new messages_1.ProtocolRequestType(CallHierarchyIncomingCallsRequest2.method)})(CallHierarchyIncomingCallsRequest||(exports.CallHierarchyIncomingCallsRequest=CallHierarchyIncomingCallsRequest={}));var CallHierarchyOutgoingCallsRequest;(function(CallHierarchyOutgoingCallsRequest2){CallHierarchyOutgoingCallsRequest2.method="callHierarchy/outgoingCalls",CallHierarchyOutgoingCallsRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CallHierarchyOutgoingCallsRequest2.type=new messages_1.ProtocolRequestType(CallHierarchyOutgoingCallsRequest2.method)})(CallHierarchyOutgoingCallsRequest||(exports.CallHierarchyOutgoingCallsRequest=CallHierarchyOutgoingCallsRequest={}))}});var require_protocol_semanticTokens2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.SemanticTokensRefreshRequest=exports.SemanticTokensRangeRequest=exports.SemanticTokensDeltaRequest=exports.SemanticTokensRequest=exports.SemanticTokensRegistrationType=exports.TokenFormat=void 0;var messages_1=require_messages4(),TokenFormat;(function(TokenFormat2){TokenFormat2.Relative="relative"})(TokenFormat||(exports.TokenFormat=TokenFormat={}));var SemanticTokensRegistrationType;(function(SemanticTokensRegistrationType2){SemanticTokensRegistrationType2.method="textDocument/semanticTokens",SemanticTokensRegistrationType2.type=new messages_1.RegistrationType(SemanticTokensRegistrationType2.method)})(SemanticTokensRegistrationType||(exports.SemanticTokensRegistrationType=SemanticTokensRegistrationType={}));var SemanticTokensRequest;(function(SemanticTokensRequest2){SemanticTokensRequest2.method="textDocument/semanticTokens/full",SemanticTokensRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SemanticTokensRequest2.type=new messages_1.ProtocolRequestType(SemanticTokensRequest2.method),SemanticTokensRequest2.registrationMethod=SemanticTokensRegistrationType.method})(SemanticTokensRequest||(exports.SemanticTokensRequest=SemanticTokensRequest={}));var SemanticTokensDeltaRequest;(function(SemanticTokensDeltaRequest2){SemanticTokensDeltaRequest2.method="textDocument/semanticTokens/full/delta",SemanticTokensDeltaRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SemanticTokensDeltaRequest2.type=new messages_1.ProtocolRequestType(SemanticTokensDeltaRequest2.method),SemanticTokensDeltaRequest2.registrationMethod=SemanticTokensRegistrationType.method})(SemanticTokensDeltaRequest||(exports.SemanticTokensDeltaRequest=SemanticTokensDeltaRequest={}));var SemanticTokensRangeRequest;(function(SemanticTokensRangeRequest2){SemanticTokensRangeRequest2.method="textDocument/semanticTokens/range",SemanticTokensRangeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SemanticTokensRangeRequest2.type=new messages_1.ProtocolRequestType(SemanticTokensRangeRequest2.method),SemanticTokensRangeRequest2.registrationMethod=SemanticTokensRegistrationType.method})(SemanticTokensRangeRequest||(exports.SemanticTokensRangeRequest=SemanticTokensRangeRequest={}));var SemanticTokensRefreshRequest;(function(SemanticTokensRefreshRequest2){SemanticTokensRefreshRequest2.method="workspace/semanticTokens/refresh",SemanticTokensRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,SemanticTokensRefreshRequest2.type=new messages_1.ProtocolRequestType0(SemanticTokensRefreshRequest2.method)})(SemanticTokensRefreshRequest||(exports.SemanticTokensRefreshRequest=SemanticTokensRefreshRequest={}))}});var require_protocol_showDocument2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ShowDocumentRequest=void 0;var messages_1=require_messages4(),ShowDocumentRequest;(function(ShowDocumentRequest2){ShowDocumentRequest2.method="window/showDocument",ShowDocumentRequest2.messageDirection=messages_1.MessageDirection.serverToClient,ShowDocumentRequest2.type=new messages_1.ProtocolRequestType(ShowDocumentRequest2.method)})(ShowDocumentRequest||(exports.ShowDocumentRequest=ShowDocumentRequest={}))}});var require_protocol_linkedEditingRange2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.LinkedEditingRangeRequest=void 0;var messages_1=require_messages4(),LinkedEditingRangeRequest;(function(LinkedEditingRangeRequest2){LinkedEditingRangeRequest2.method="textDocument/linkedEditingRange",LinkedEditingRangeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,LinkedEditingRangeRequest2.type=new messages_1.ProtocolRequestType(LinkedEditingRangeRequest2.method)})(LinkedEditingRangeRequest||(exports.LinkedEditingRangeRequest=LinkedEditingRangeRequest={}))}});var require_protocol_fileOperations2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.WillDeleteFilesRequest=exports.DidDeleteFilesNotification=exports.DidRenameFilesNotification=exports.WillRenameFilesRequest=exports.DidCreateFilesNotification=exports.WillCreateFilesRequest=exports.FileOperationPatternKind=void 0;var messages_1=require_messages4(),FileOperationPatternKind;(function(FileOperationPatternKind2){FileOperationPatternKind2.file="file",FileOperationPatternKind2.folder="folder"})(FileOperationPatternKind||(exports.FileOperationPatternKind=FileOperationPatternKind={}));var WillCreateFilesRequest;(function(WillCreateFilesRequest2){WillCreateFilesRequest2.method="workspace/willCreateFiles",WillCreateFilesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WillCreateFilesRequest2.type=new messages_1.ProtocolRequestType(WillCreateFilesRequest2.method)})(WillCreateFilesRequest||(exports.WillCreateFilesRequest=WillCreateFilesRequest={}));var DidCreateFilesNotification;(function(DidCreateFilesNotification2){DidCreateFilesNotification2.method="workspace/didCreateFiles",DidCreateFilesNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidCreateFilesNotification2.type=new messages_1.ProtocolNotificationType(DidCreateFilesNotification2.method)})(DidCreateFilesNotification||(exports.DidCreateFilesNotification=DidCreateFilesNotification={}));var WillRenameFilesRequest;(function(WillRenameFilesRequest2){WillRenameFilesRequest2.method="workspace/willRenameFiles",WillRenameFilesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WillRenameFilesRequest2.type=new messages_1.ProtocolRequestType(WillRenameFilesRequest2.method)})(WillRenameFilesRequest||(exports.WillRenameFilesRequest=WillRenameFilesRequest={}));var DidRenameFilesNotification;(function(DidRenameFilesNotification2){DidRenameFilesNotification2.method="workspace/didRenameFiles",DidRenameFilesNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidRenameFilesNotification2.type=new messages_1.ProtocolNotificationType(DidRenameFilesNotification2.method)})(DidRenameFilesNotification||(exports.DidRenameFilesNotification=DidRenameFilesNotification={}));var DidDeleteFilesNotification;(function(DidDeleteFilesNotification2){DidDeleteFilesNotification2.method="workspace/didDeleteFiles",DidDeleteFilesNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidDeleteFilesNotification2.type=new messages_1.ProtocolNotificationType(DidDeleteFilesNotification2.method)})(DidDeleteFilesNotification||(exports.DidDeleteFilesNotification=DidDeleteFilesNotification={}));var WillDeleteFilesRequest;(function(WillDeleteFilesRequest2){WillDeleteFilesRequest2.method="workspace/willDeleteFiles",WillDeleteFilesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WillDeleteFilesRequest2.type=new messages_1.ProtocolRequestType(WillDeleteFilesRequest2.method)})(WillDeleteFilesRequest||(exports.WillDeleteFilesRequest=WillDeleteFilesRequest={}))}});var require_protocol_moniker2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.MonikerRequest=exports.MonikerKind=exports.UniquenessLevel=void 0;var messages_1=require_messages4(),UniquenessLevel;(function(UniquenessLevel2){UniquenessLevel2.document="document",UniquenessLevel2.project="project",UniquenessLevel2.group="group",UniquenessLevel2.scheme="scheme",UniquenessLevel2.global="global"})(UniquenessLevel||(exports.UniquenessLevel=UniquenessLevel={}));var MonikerKind;(function(MonikerKind2){MonikerKind2.$import="import",MonikerKind2.$export="export",MonikerKind2.local="local"})(MonikerKind||(exports.MonikerKind=MonikerKind={}));var MonikerRequest;(function(MonikerRequest2){MonikerRequest2.method="textDocument/moniker",MonikerRequest2.messageDirection=messages_1.MessageDirection.clientToServer,MonikerRequest2.type=new messages_1.ProtocolRequestType(MonikerRequest2.method)})(MonikerRequest||(exports.MonikerRequest=MonikerRequest={}))}});var require_protocol_typeHierarchy2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.TypeHierarchySubtypesRequest=exports.TypeHierarchySupertypesRequest=exports.TypeHierarchyPrepareRequest=void 0;var messages_1=require_messages4(),TypeHierarchyPrepareRequest;(function(TypeHierarchyPrepareRequest2){TypeHierarchyPrepareRequest2.method="textDocument/prepareTypeHierarchy",TypeHierarchyPrepareRequest2.messageDirection=messages_1.MessageDirection.clientToServer,TypeHierarchyPrepareRequest2.type=new messages_1.ProtocolRequestType(TypeHierarchyPrepareRequest2.method)})(TypeHierarchyPrepareRequest||(exports.TypeHierarchyPrepareRequest=TypeHierarchyPrepareRequest={}));var TypeHierarchySupertypesRequest;(function(TypeHierarchySupertypesRequest2){TypeHierarchySupertypesRequest2.method="typeHierarchy/supertypes",TypeHierarchySupertypesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,TypeHierarchySupertypesRequest2.type=new messages_1.ProtocolRequestType(TypeHierarchySupertypesRequest2.method)})(TypeHierarchySupertypesRequest||(exports.TypeHierarchySupertypesRequest=TypeHierarchySupertypesRequest={}));var TypeHierarchySubtypesRequest;(function(TypeHierarchySubtypesRequest2){TypeHierarchySubtypesRequest2.method="typeHierarchy/subtypes",TypeHierarchySubtypesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,TypeHierarchySubtypesRequest2.type=new messages_1.ProtocolRequestType(TypeHierarchySubtypesRequest2.method)})(TypeHierarchySubtypesRequest||(exports.TypeHierarchySubtypesRequest=TypeHierarchySubtypesRequest={}))}});var require_protocol_inlineValue2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.InlineValueRefreshRequest=exports.InlineValueRequest=void 0;var messages_1=require_messages4(),InlineValueRequest;(function(InlineValueRequest2){InlineValueRequest2.method="textDocument/inlineValue",InlineValueRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InlineValueRequest2.type=new messages_1.ProtocolRequestType(InlineValueRequest2.method)})(InlineValueRequest||(exports.InlineValueRequest=InlineValueRequest={}));var InlineValueRefreshRequest;(function(InlineValueRefreshRequest2){InlineValueRefreshRequest2.method="workspace/inlineValue/refresh",InlineValueRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,InlineValueRefreshRequest2.type=new messages_1.ProtocolRequestType0(InlineValueRefreshRequest2.method)})(InlineValueRefreshRequest||(exports.InlineValueRefreshRequest=InlineValueRefreshRequest={}))}});var require_protocol_inlayHint2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.InlayHintRefreshRequest=exports.InlayHintResolveRequest=exports.InlayHintRequest=void 0;var messages_1=require_messages4(),InlayHintRequest;(function(InlayHintRequest2){InlayHintRequest2.method="textDocument/inlayHint",InlayHintRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InlayHintRequest2.type=new messages_1.ProtocolRequestType(InlayHintRequest2.method)})(InlayHintRequest||(exports.InlayHintRequest=InlayHintRequest={}));var InlayHintResolveRequest;(function(InlayHintResolveRequest2){InlayHintResolveRequest2.method="inlayHint/resolve",InlayHintResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InlayHintResolveRequest2.type=new messages_1.ProtocolRequestType(InlayHintResolveRequest2.method)})(InlayHintResolveRequest||(exports.InlayHintResolveRequest=InlayHintResolveRequest={}));var InlayHintRefreshRequest;(function(InlayHintRefreshRequest2){InlayHintRefreshRequest2.method="workspace/inlayHint/refresh",InlayHintRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,InlayHintRefreshRequest2.type=new messages_1.ProtocolRequestType0(InlayHintRefreshRequest2.method)})(InlayHintRefreshRequest||(exports.InlayHintRefreshRequest=InlayHintRefreshRequest={}))}});var require_protocol_diagnostic2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.DiagnosticRefreshRequest=exports.WorkspaceDiagnosticRequest=exports.DocumentDiagnosticRequest=exports.DocumentDiagnosticReportKind=exports.DiagnosticServerCancellationData=void 0;var vscode_jsonrpc_1=require_main4(),Is3=require_is5(),messages_1=require_messages4(),DiagnosticServerCancellationData;(function(DiagnosticServerCancellationData2){function is(value){let candidate=value;return candidate&&Is3.boolean(candidate.retriggerRequest)}DiagnosticServerCancellationData2.is=is})(DiagnosticServerCancellationData||(exports.DiagnosticServerCancellationData=DiagnosticServerCancellationData={}));var DocumentDiagnosticReportKind;(function(DocumentDiagnosticReportKind2){DocumentDiagnosticReportKind2.Full="full",DocumentDiagnosticReportKind2.Unchanged="unchanged"})(DocumentDiagnosticReportKind||(exports.DocumentDiagnosticReportKind=DocumentDiagnosticReportKind={}));var DocumentDiagnosticRequest;(function(DocumentDiagnosticRequest2){DocumentDiagnosticRequest2.method="textDocument/diagnostic",DocumentDiagnosticRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentDiagnosticRequest2.type=new messages_1.ProtocolRequestType(DocumentDiagnosticRequest2.method),DocumentDiagnosticRequest2.partialResult=new vscode_jsonrpc_1.ProgressType})(DocumentDiagnosticRequest||(exports.DocumentDiagnosticRequest=DocumentDiagnosticRequest={}));var WorkspaceDiagnosticRequest;(function(WorkspaceDiagnosticRequest2){WorkspaceDiagnosticRequest2.method="workspace/diagnostic",WorkspaceDiagnosticRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WorkspaceDiagnosticRequest2.type=new messages_1.ProtocolRequestType(WorkspaceDiagnosticRequest2.method),WorkspaceDiagnosticRequest2.partialResult=new vscode_jsonrpc_1.ProgressType})(WorkspaceDiagnosticRequest||(exports.WorkspaceDiagnosticRequest=WorkspaceDiagnosticRequest={}));var DiagnosticRefreshRequest;(function(DiagnosticRefreshRequest2){DiagnosticRefreshRequest2.method="workspace/diagnostic/refresh",DiagnosticRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,DiagnosticRefreshRequest2.type=new messages_1.ProtocolRequestType0(DiagnosticRefreshRequest2.method)})(DiagnosticRefreshRequest||(exports.DiagnosticRefreshRequest=DiagnosticRefreshRequest={}))}});var require_protocol_notebook2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.DidCloseNotebookDocumentNotification=exports.DidSaveNotebookDocumentNotification=exports.DidChangeNotebookDocumentNotification=exports.NotebookCellArrayChange=exports.DidOpenNotebookDocumentNotification=exports.NotebookDocumentSyncRegistrationType=exports.NotebookDocument=exports.NotebookCell=exports.ExecutionSummary=exports.NotebookCellKind=void 0;var vscode_languageserver_types_1=(init_main2(),__toCommonJS(main_exports2)),Is3=require_is5(),messages_1=require_messages4(),NotebookCellKind;(function(NotebookCellKind2){NotebookCellKind2.Markup=1,NotebookCellKind2.Code=2;function is(value){return value===1||value===2}NotebookCellKind2.is=is})(NotebookCellKind||(exports.NotebookCellKind=NotebookCellKind={}));var ExecutionSummary;(function(ExecutionSummary2){function create(executionOrder,success){let result={executionOrder};return(success===!0||success===!1)&&(result.success=success),result}ExecutionSummary2.create=create;function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&vscode_languageserver_types_1.uinteger.is(candidate.executionOrder)&&(candidate.success===void 0||Is3.boolean(candidate.success))}ExecutionSummary2.is=is;function equals(one,other){return one===other?!0:one==null||other===null||other===void 0?!1:one.executionOrder===other.executionOrder&&one.success===other.success}ExecutionSummary2.equals=equals})(ExecutionSummary||(exports.ExecutionSummary=ExecutionSummary={}));var NotebookCell;(function(NotebookCell2){function create(kind,document){return{kind,document}}NotebookCell2.create=create;function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&NotebookCellKind.is(candidate.kind)&&vscode_languageserver_types_1.DocumentUri.is(candidate.document)&&(candidate.metadata===void 0||Is3.objectLiteral(candidate.metadata))}NotebookCell2.is=is;function diff(one,two){let result=new Set;return one.document!==two.document&&result.add("document"),one.kind!==two.kind&&result.add("kind"),one.executionSummary!==two.executionSummary&&result.add("executionSummary"),(one.metadata!==void 0||two.metadata!==void 0)&&!equalsMetadata(one.metadata,two.metadata)&&result.add("metadata"),(one.executionSummary!==void 0||two.executionSummary!==void 0)&&!ExecutionSummary.equals(one.executionSummary,two.executionSummary)&&result.add("executionSummary"),result}NotebookCell2.diff=diff;function equalsMetadata(one,other){if(one===other)return!0;if(one==null||other===null||other===void 0||typeof one!=typeof other||typeof one!="object")return!1;let oneArray=Array.isArray(one),otherArray=Array.isArray(other);if(oneArray!==otherArray)return!1;if(oneArray&&otherArray){if(one.length!==other.length)return!1;for(let i=0;i<one.length;i++)if(!equalsMetadata(one[i],other[i]))return!1}if(Is3.objectLiteral(one)&&Is3.objectLiteral(other)){let oneKeys=Object.keys(one),otherKeys=Object.keys(other);if(oneKeys.length!==otherKeys.length||(oneKeys.sort(),otherKeys.sort(),!equalsMetadata(oneKeys,otherKeys)))return!1;for(let i=0;i<oneKeys.length;i++){let prop=oneKeys[i];if(!equalsMetadata(one[prop],other[prop]))return!1}}return!0}})(NotebookCell||(exports.NotebookCell=NotebookCell={}));var NotebookDocument;(function(NotebookDocument2){function create(uri,notebookType,version,cells){return{uri,notebookType,version,cells}}NotebookDocument2.create=create;function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&Is3.string(candidate.uri)&&vscode_languageserver_types_1.integer.is(candidate.version)&&Is3.typedArray(candidate.cells,NotebookCell.is)}NotebookDocument2.is=is})(NotebookDocument||(exports.NotebookDocument=NotebookDocument={}));var NotebookDocumentSyncRegistrationType;(function(NotebookDocumentSyncRegistrationType2){NotebookDocumentSyncRegistrationType2.method="notebookDocument/sync",NotebookDocumentSyncRegistrationType2.messageDirection=messages_1.MessageDirection.clientToServer,NotebookDocumentSyncRegistrationType2.type=new messages_1.RegistrationType(NotebookDocumentSyncRegistrationType2.method)})(NotebookDocumentSyncRegistrationType||(exports.NotebookDocumentSyncRegistrationType=NotebookDocumentSyncRegistrationType={}));var DidOpenNotebookDocumentNotification;(function(DidOpenNotebookDocumentNotification2){DidOpenNotebookDocumentNotification2.method="notebookDocument/didOpen",DidOpenNotebookDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidOpenNotebookDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidOpenNotebookDocumentNotification2.method),DidOpenNotebookDocumentNotification2.registrationMethod=NotebookDocumentSyncRegistrationType.method})(DidOpenNotebookDocumentNotification||(exports.DidOpenNotebookDocumentNotification=DidOpenNotebookDocumentNotification={}));var NotebookCellArrayChange;(function(NotebookCellArrayChange2){function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&vscode_languageserver_types_1.uinteger.is(candidate.start)&&vscode_languageserver_types_1.uinteger.is(candidate.deleteCount)&&(candidate.cells===void 0||Is3.typedArray(candidate.cells,NotebookCell.is))}NotebookCellArrayChange2.is=is;function create(start,deleteCount,cells){let result={start,deleteCount};return cells!==void 0&&(result.cells=cells),result}NotebookCellArrayChange2.create=create})(NotebookCellArrayChange||(exports.NotebookCellArrayChange=NotebookCellArrayChange={}));var DidChangeNotebookDocumentNotification;(function(DidChangeNotebookDocumentNotification2){DidChangeNotebookDocumentNotification2.method="notebookDocument/didChange",DidChangeNotebookDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeNotebookDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidChangeNotebookDocumentNotification2.method),DidChangeNotebookDocumentNotification2.registrationMethod=NotebookDocumentSyncRegistrationType.method})(DidChangeNotebookDocumentNotification||(exports.DidChangeNotebookDocumentNotification=DidChangeNotebookDocumentNotification={}));var DidSaveNotebookDocumentNotification;(function(DidSaveNotebookDocumentNotification2){DidSaveNotebookDocumentNotification2.method="notebookDocument/didSave",DidSaveNotebookDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidSaveNotebookDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidSaveNotebookDocumentNotification2.method),DidSaveNotebookDocumentNotification2.registrationMethod=NotebookDocumentSyncRegistrationType.method})(DidSaveNotebookDocumentNotification||(exports.DidSaveNotebookDocumentNotification=DidSaveNotebookDocumentNotification={}));var DidCloseNotebookDocumentNotification;(function(DidCloseNotebookDocumentNotification2){DidCloseNotebookDocumentNotification2.method="notebookDocument/didClose",DidCloseNotebookDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidCloseNotebookDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidCloseNotebookDocumentNotification2.method),DidCloseNotebookDocumentNotification2.registrationMethod=NotebookDocumentSyncRegistrationType.method})(DidCloseNotebookDocumentNotification||(exports.DidCloseNotebookDocumentNotification=DidCloseNotebookDocumentNotification={}))}});var require_protocol_inlineCompletion2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.InlineCompletionRequest=void 0;var messages_1=require_messages4(),InlineCompletionRequest;(function(InlineCompletionRequest2){InlineCompletionRequest2.method="textDocument/inlineCompletion",InlineCompletionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InlineCompletionRequest2.type=new messages_1.ProtocolRequestType(InlineCompletionRequest2.method)})(InlineCompletionRequest||(exports.InlineCompletionRequest=InlineCompletionRequest={}))}});var require_protocol2=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/protocol.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.WorkspaceSymbolRequest=exports.CodeActionResolveRequest=exports.CodeActionRequest=exports.DocumentSymbolRequest=exports.DocumentHighlightRequest=exports.ReferencesRequest=exports.DefinitionRequest=exports.SignatureHelpRequest=exports.SignatureHelpTriggerKind=exports.HoverRequest=exports.CompletionResolveRequest=exports.CompletionRequest=exports.CompletionTriggerKind=exports.PublishDiagnosticsNotification=exports.WatchKind=exports.RelativePattern=exports.FileChangeType=exports.DidChangeWatchedFilesNotification=exports.WillSaveTextDocumentWaitUntilRequest=exports.WillSaveTextDocumentNotification=exports.TextDocumentSaveReason=exports.DidSaveTextDocumentNotification=exports.DidCloseTextDocumentNotification=exports.DidChangeTextDocumentNotification=exports.TextDocumentContentChangeEvent=exports.DidOpenTextDocumentNotification=exports.TextDocumentSyncKind=exports.TelemetryEventNotification=exports.LogMessageNotification=exports.ShowMessageRequest=exports.ShowMessageNotification=exports.MessageType=exports.DidChangeConfigurationNotification=exports.ExitNotification=exports.ShutdownRequest=exports.InitializedNotification=exports.InitializeErrorCodes=exports.InitializeRequest=exports.WorkDoneProgressOptions=exports.TextDocumentRegistrationOptions=exports.StaticRegistrationOptions=exports.PositionEncodingKind=exports.FailureHandlingKind=exports.ResourceOperationKind=exports.UnregistrationRequest=exports.RegistrationRequest=exports.DocumentSelector=exports.NotebookCellTextDocumentFilter=exports.NotebookDocumentFilter=exports.TextDocumentFilter=void 0;exports.MonikerRequest=exports.MonikerKind=exports.UniquenessLevel=exports.WillDeleteFilesRequest=exports.DidDeleteFilesNotification=exports.WillRenameFilesRequest=exports.DidRenameFilesNotification=exports.WillCreateFilesRequest=exports.DidCreateFilesNotification=exports.FileOperationPatternKind=exports.LinkedEditingRangeRequest=exports.ShowDocumentRequest=exports.SemanticTokensRegistrationType=exports.SemanticTokensRefreshRequest=exports.SemanticTokensRangeRequest=exports.SemanticTokensDeltaRequest=exports.SemanticTokensRequest=exports.TokenFormat=exports.CallHierarchyPrepareRequest=exports.CallHierarchyOutgoingCallsRequest=exports.CallHierarchyIncomingCallsRequest=exports.WorkDoneProgressCancelNotification=exports.WorkDoneProgressCreateRequest=exports.WorkDoneProgress=exports.SelectionRangeRequest=exports.DeclarationRequest=exports.FoldingRangeRefreshRequest=exports.FoldingRangeRequest=exports.ColorPresentationRequest=exports.DocumentColorRequest=exports.ConfigurationRequest=exports.DidChangeWorkspaceFoldersNotification=exports.WorkspaceFoldersRequest=exports.TypeDefinitionRequest=exports.ImplementationRequest=exports.ApplyWorkspaceEditRequest=exports.ExecuteCommandRequest=exports.PrepareRenameRequest=exports.RenameRequest=exports.PrepareSupportDefaultBehavior=exports.DocumentOnTypeFormattingRequest=exports.DocumentRangesFormattingRequest=exports.DocumentRangeFormattingRequest=exports.DocumentFormattingRequest=exports.DocumentLinkResolveRequest=exports.DocumentLinkRequest=exports.CodeLensRefreshRequest=exports.CodeLensResolveRequest=exports.CodeLensRequest=exports.WorkspaceSymbolResolveRequest=void 0;exports.InlineCompletionRequest=exports.DidCloseNotebookDocumentNotification=exports.DidSaveNotebookDocumentNotification=exports.DidChangeNotebookDocumentNotification=exports.NotebookCellArrayChange=exports.DidOpenNotebookDocumentNotification=exports.NotebookDocumentSyncRegistrationType=exports.NotebookDocument=exports.NotebookCell=exports.ExecutionSummary=exports.NotebookCellKind=exports.DiagnosticRefreshRequest=exports.WorkspaceDiagnosticRequest=exports.DocumentDiagnosticRequest=exports.DocumentDiagnosticReportKind=exports.DiagnosticServerCancellationData=exports.InlayHintRefreshRequest=exports.InlayHintResolveRequest=exports.InlayHintRequest=exports.InlineValueRefreshRequest=exports.InlineValueRequest=exports.TypeHierarchySupertypesRequest=exports.TypeHierarchySubtypesRequest=exports.TypeHierarchyPrepareRequest=void 0;var messages_1=require_messages4(),vscode_languageserver_types_1=(init_main2(),__toCommonJS(main_exports2)),Is3=require_is5(),protocol_implementation_1=require_protocol_implementation2();Object.defineProperty(exports,"ImplementationRequest",{enumerable:!0,get:function(){return protocol_implementation_1.ImplementationRequest}});var protocol_typeDefinition_1=require_protocol_typeDefinition2();Object.defineProperty(exports,"TypeDefinitionRequest",{enumerable:!0,get:function(){return protocol_typeDefinition_1.TypeDefinitionRequest}});var protocol_workspaceFolder_1=require_protocol_workspaceFolder2();Object.defineProperty(exports,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return protocol_workspaceFolder_1.WorkspaceFoldersRequest}});Object.defineProperty(exports,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return protocol_workspaceFolder_1.DidChangeWorkspaceFoldersNotification}});var protocol_configuration_1=require_protocol_configuration2();Object.defineProperty(exports,"ConfigurationRequest",{enumerable:!0,get:function(){return protocol_configuration_1.ConfigurationRequest}});var protocol_colorProvider_1=require_protocol_colorProvider2();Object.defineProperty(exports,"DocumentColorRequest",{enumerable:!0,get:function(){return protocol_colorProvider_1.DocumentColorRequest}});Object.defineProperty(exports,"ColorPresentationRequest",{enumerable:!0,get:function(){return protocol_colorProvider_1.ColorPresentationRequest}});var protocol_foldingRange_1=require_protocol_foldingRange2();Object.defineProperty(exports,"FoldingRangeRequest",{enumerable:!0,get:function(){return protocol_foldingRange_1.FoldingRangeRequest}});Object.defineProperty(exports,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return protocol_foldingRange_1.FoldingRangeRefreshRequest}});var protocol_declaration_1=require_protocol_declaration2();Object.defineProperty(exports,"DeclarationRequest",{enumerable:!0,get:function(){return protocol_declaration_1.DeclarationRequest}});var protocol_selectionRange_1=require_protocol_selectionRange2();Object.defineProperty(exports,"SelectionRangeRequest",{enumerable:!0,get:function(){return protocol_selectionRange_1.SelectionRangeRequest}});var protocol_progress_1=require_protocol_progress2();Object.defineProperty(exports,"WorkDoneProgress",{enumerable:!0,get:function(){return protocol_progress_1.WorkDoneProgress}});Object.defineProperty(exports,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return protocol_progress_1.WorkDoneProgressCreateRequest}});Object.defineProperty(exports,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return protocol_progress_1.WorkDoneProgressCancelNotification}});var protocol_callHierarchy_1=require_protocol_callHierarchy2();Object.defineProperty(exports,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return protocol_callHierarchy_1.CallHierarchyIncomingCallsRequest}});Object.defineProperty(exports,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return protocol_callHierarchy_1.CallHierarchyOutgoingCallsRequest}});Object.defineProperty(exports,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return protocol_callHierarchy_1.CallHierarchyPrepareRequest}});var protocol_semanticTokens_1=require_protocol_semanticTokens2();Object.defineProperty(exports,"TokenFormat",{enumerable:!0,get:function(){return protocol_semanticTokens_1.TokenFormat}});Object.defineProperty(exports,"SemanticTokensRequest",{enumerable:!0,get:function(){return protocol_semanticTokens_1.SemanticTokensRequest}});Object.defineProperty(exports,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return protocol_semanticTokens_1.SemanticTokensDeltaRequest}});Object.defineProperty(exports,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return protocol_semanticTokens_1.SemanticTokensRangeRequest}});Object.defineProperty(exports,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return protocol_semanticTokens_1.SemanticTokensRefreshRequest}});Object.defineProperty(exports,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return protocol_semanticTokens_1.SemanticTokensRegistrationType}});var protocol_showDocument_1=require_protocol_showDocument2();Object.defineProperty(exports,"ShowDocumentRequest",{enumerable:!0,get:function(){return protocol_showDocument_1.ShowDocumentRequest}});var protocol_linkedEditingRange_1=require_protocol_linkedEditingRange2();Object.defineProperty(exports,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return protocol_linkedEditingRange_1.LinkedEditingRangeRequest}});var protocol_fileOperations_1=require_protocol_fileOperations2();Object.defineProperty(exports,"FileOperationPatternKind",{enumerable:!0,get:function(){return protocol_fileOperations_1.FileOperationPatternKind}});Object.defineProperty(exports,"DidCreateFilesNotification",{enumerable:!0,get:function(){return protocol_fileOperations_1.DidCreateFilesNotification}});Object.defineProperty(exports,"WillCreateFilesRequest",{enumerable:!0,get:function(){return protocol_fileOperations_1.WillCreateFilesRequest}});Object.defineProperty(exports,"DidRenameFilesNotification",{enumerable:!0,get:function(){return protocol_fileOperations_1.DidRenameFilesNotification}});Object.defineProperty(exports,"WillRenameFilesRequest",{enumerable:!0,get:function(){return protocol_fileOperations_1.WillRenameFilesRequest}});Object.defineProperty(exports,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return protocol_fileOperations_1.DidDeleteFilesNotification}});Object.defineProperty(exports,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return protocol_fileOperations_1.WillDeleteFilesRequest}});var protocol_moniker_1=require_protocol_moniker2();Object.defineProperty(exports,"UniquenessLevel",{enumerable:!0,get:function(){return protocol_moniker_1.UniquenessLevel}});Object.defineProperty(exports,"MonikerKind",{enumerable:!0,get:function(){return protocol_moniker_1.MonikerKind}});Object.defineProperty(exports,"MonikerRequest",{enumerable:!0,get:function(){return protocol_moniker_1.MonikerRequest}});var protocol_typeHierarchy_1=require_protocol_typeHierarchy2();Object.defineProperty(exports,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return protocol_typeHierarchy_1.TypeHierarchyPrepareRequest}});Object.defineProperty(exports,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return protocol_typeHierarchy_1.TypeHierarchySubtypesRequest}});Object.defineProperty(exports,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return protocol_typeHierarchy_1.TypeHierarchySupertypesRequest}});var protocol_inlineValue_1=require_protocol_inlineValue2();Object.defineProperty(exports,"InlineValueRequest",{enumerable:!0,get:function(){return protocol_inlineValue_1.InlineValueRequest}});Object.defineProperty(exports,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return protocol_inlineValue_1.InlineValueRefreshRequest}});var protocol_inlayHint_1=require_protocol_inlayHint2();Object.defineProperty(exports,"InlayHintRequest",{enumerable:!0,get:function(){return protocol_inlayHint_1.InlayHintRequest}});Object.defineProperty(exports,"InlayHintResolveRequest",{enumerable:!0,get:function(){return protocol_inlayHint_1.InlayHintResolveRequest}});Object.defineProperty(exports,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return protocol_inlayHint_1.InlayHintRefreshRequest}});var protocol_diagnostic_1=require_protocol_diagnostic2();Object.defineProperty(exports,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return protocol_diagnostic_1.DiagnosticServerCancellationData}});Object.defineProperty(exports,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return protocol_diagnostic_1.DocumentDiagnosticReportKind}});Object.defineProperty(exports,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return protocol_diagnostic_1.DocumentDiagnosticRequest}});Object.defineProperty(exports,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return protocol_diagnostic_1.WorkspaceDiagnosticRequest}});Object.defineProperty(exports,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return protocol_diagnostic_1.DiagnosticRefreshRequest}});var protocol_notebook_1=require_protocol_notebook2();Object.defineProperty(exports,"NotebookCellKind",{enumerable:!0,get:function(){return protocol_notebook_1.NotebookCellKind}});Object.defineProperty(exports,"ExecutionSummary",{enumerable:!0,get:function(){return protocol_notebook_1.ExecutionSummary}});Object.defineProperty(exports,"NotebookCell",{enumerable:!0,get:function(){return protocol_notebook_1.NotebookCell}});Object.defineProperty(exports,"NotebookDocument",{enumerable:!0,get:function(){return protocol_notebook_1.NotebookDocument}});Object.defineProperty(exports,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return protocol_notebook_1.NotebookDocumentSyncRegistrationType}});Object.defineProperty(exports,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return protocol_notebook_1.DidOpenNotebookDocumentNotification}});Object.defineProperty(exports,"NotebookCellArrayChange",{enumerable:!0,get:function(){return protocol_notebook_1.NotebookCellArrayChange}});Object.defineProperty(exports,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return protocol_notebook_1.DidChangeNotebookDocumentNotification}});Object.defineProperty(exports,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return protocol_notebook_1.DidSaveNotebookDocumentNotification}});Object.defineProperty(exports,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return protocol_notebook_1.DidCloseNotebookDocumentNotification}});var protocol_inlineCompletion_1=require_protocol_inlineCompletion2();Object.defineProperty(exports,"InlineCompletionRequest",{enumerable:!0,get:function(){return protocol_inlineCompletion_1.InlineCompletionRequest}});var TextDocumentFilter;(function(TextDocumentFilter2){function is(value){let candidate=value;return Is3.string(candidate)||Is3.string(candidate.language)||Is3.string(candidate.scheme)||Is3.string(candidate.pattern)}TextDocumentFilter2.is=is})(TextDocumentFilter||(exports.TextDocumentFilter=TextDocumentFilter={}));var NotebookDocumentFilter;(function(NotebookDocumentFilter2){function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&(Is3.string(candidate.notebookType)||Is3.string(candidate.scheme)||Is3.string(candidate.pattern))}NotebookDocumentFilter2.is=is})(NotebookDocumentFilter||(exports.NotebookDocumentFilter=NotebookDocumentFilter={}));var NotebookCellTextDocumentFilter;(function(NotebookCellTextDocumentFilter2){function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&(Is3.string(candidate.notebook)||NotebookDocumentFilter.is(candidate.notebook))&&(candidate.language===void 0||Is3.string(candidate.language))}NotebookCellTextDocumentFilter2.is=is})(NotebookCellTextDocumentFilter||(exports.NotebookCellTextDocumentFilter=NotebookCellTextDocumentFilter={}));var DocumentSelector;(function(DocumentSelector2){function is(value){if(!Array.isArray(value))return!1;for(let elem of value)if(!Is3.string(elem)&&!TextDocumentFilter.is(elem)&&!NotebookCellTextDocumentFilter.is(elem))return!1;return!0}DocumentSelector2.is=is})(DocumentSelector||(exports.DocumentSelector=DocumentSelector={}));var RegistrationRequest;(function(RegistrationRequest2){RegistrationRequest2.method="client/registerCapability",RegistrationRequest2.messageDirection=messages_1.MessageDirection.serverToClient,RegistrationRequest2.type=new messages_1.ProtocolRequestType(RegistrationRequest2.method)})(RegistrationRequest||(exports.RegistrationRequest=RegistrationRequest={}));var UnregistrationRequest;(function(UnregistrationRequest2){UnregistrationRequest2.method="client/unregisterCapability",UnregistrationRequest2.messageDirection=messages_1.MessageDirection.serverToClient,UnregistrationRequest2.type=new messages_1.ProtocolRequestType(UnregistrationRequest2.method)})(UnregistrationRequest||(exports.UnregistrationRequest=UnregistrationRequest={}));var ResourceOperationKind;(function(ResourceOperationKind2){ResourceOperationKind2.Create="create",ResourceOperationKind2.Rename="rename",ResourceOperationKind2.Delete="delete"})(ResourceOperationKind||(exports.ResourceOperationKind=ResourceOperationKind={}));var FailureHandlingKind;(function(FailureHandlingKind2){FailureHandlingKind2.Abort="abort",FailureHandlingKind2.Transactional="transactional",FailureHandlingKind2.TextOnlyTransactional="textOnlyTransactional",FailureHandlingKind2.Undo="undo"})(FailureHandlingKind||(exports.FailureHandlingKind=FailureHandlingKind={}));var PositionEncodingKind;(function(PositionEncodingKind2){PositionEncodingKind2.UTF8="utf-8",PositionEncodingKind2.UTF16="utf-16",PositionEncodingKind2.UTF32="utf-32"})(PositionEncodingKind||(exports.PositionEncodingKind=PositionEncodingKind={}));var StaticRegistrationOptions;(function(StaticRegistrationOptions2){function hasId(value){let candidate=value;return candidate&&Is3.string(candidate.id)&&candidate.id.length>0}StaticRegistrationOptions2.hasId=hasId})(StaticRegistrationOptions||(exports.StaticRegistrationOptions=StaticRegistrationOptions={}));var TextDocumentRegistrationOptions;(function(TextDocumentRegistrationOptions2){function is(value){let candidate=value;return candidate&&(candidate.documentSelector===null||DocumentSelector.is(candidate.documentSelector))}TextDocumentRegistrationOptions2.is=is})(TextDocumentRegistrationOptions||(exports.TextDocumentRegistrationOptions=TextDocumentRegistrationOptions={}));var WorkDoneProgressOptions;(function(WorkDoneProgressOptions2){function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&(candidate.workDoneProgress===void 0||Is3.boolean(candidate.workDoneProgress))}WorkDoneProgressOptions2.is=is;function hasWorkDoneProgress(value){let candidate=value;return candidate&&Is3.boolean(candidate.workDoneProgress)}WorkDoneProgressOptions2.hasWorkDoneProgress=hasWorkDoneProgress})(WorkDoneProgressOptions||(exports.WorkDoneProgressOptions=WorkDoneProgressOptions={}));var InitializeRequest;(function(InitializeRequest2){InitializeRequest2.method="initialize",InitializeRequest2.messageDirection=messages_1.MessageDirection.clientToServer,InitializeRequest2.type=new messages_1.ProtocolRequestType(InitializeRequest2.method)})(InitializeRequest||(exports.InitializeRequest=InitializeRequest={}));var InitializeErrorCodes;(function(InitializeErrorCodes2){InitializeErrorCodes2.unknownProtocolVersion=1})(InitializeErrorCodes||(exports.InitializeErrorCodes=InitializeErrorCodes={}));var InitializedNotification;(function(InitializedNotification2){InitializedNotification2.method="initialized",InitializedNotification2.messageDirection=messages_1.MessageDirection.clientToServer,InitializedNotification2.type=new messages_1.ProtocolNotificationType(InitializedNotification2.method)})(InitializedNotification||(exports.InitializedNotification=InitializedNotification={}));var ShutdownRequest;(function(ShutdownRequest2){ShutdownRequest2.method="shutdown",ShutdownRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ShutdownRequest2.type=new messages_1.ProtocolRequestType0(ShutdownRequest2.method)})(ShutdownRequest||(exports.ShutdownRequest=ShutdownRequest={}));var ExitNotification;(function(ExitNotification2){ExitNotification2.method="exit",ExitNotification2.messageDirection=messages_1.MessageDirection.clientToServer,ExitNotification2.type=new messages_1.ProtocolNotificationType0(ExitNotification2.method)})(ExitNotification||(exports.ExitNotification=ExitNotification={}));var DidChangeConfigurationNotification2;(function(DidChangeConfigurationNotification3){DidChangeConfigurationNotification3.method="workspace/didChangeConfiguration",DidChangeConfigurationNotification3.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeConfigurationNotification3.type=new messages_1.ProtocolNotificationType(DidChangeConfigurationNotification3.method)})(DidChangeConfigurationNotification2||(exports.DidChangeConfigurationNotification=DidChangeConfigurationNotification2={}));var MessageType;(function(MessageType2){MessageType2.Error=1,MessageType2.Warning=2,MessageType2.Info=3,MessageType2.Log=4,MessageType2.Debug=5})(MessageType||(exports.MessageType=MessageType={}));var ShowMessageNotification;(function(ShowMessageNotification2){ShowMessageNotification2.method="window/showMessage",ShowMessageNotification2.messageDirection=messages_1.MessageDirection.serverToClient,ShowMessageNotification2.type=new messages_1.ProtocolNotificationType(ShowMessageNotification2.method)})(ShowMessageNotification||(exports.ShowMessageNotification=ShowMessageNotification={}));var ShowMessageRequest;(function(ShowMessageRequest2){ShowMessageRequest2.method="window/showMessageRequest",ShowMessageRequest2.messageDirection=messages_1.MessageDirection.serverToClient,ShowMessageRequest2.type=new messages_1.ProtocolRequestType(ShowMessageRequest2.method)})(ShowMessageRequest||(exports.ShowMessageRequest=ShowMessageRequest={}));var LogMessageNotification;(function(LogMessageNotification2){LogMessageNotification2.method="window/logMessage",LogMessageNotification2.messageDirection=messages_1.MessageDirection.serverToClient,LogMessageNotification2.type=new messages_1.ProtocolNotificationType(LogMessageNotification2.method)})(LogMessageNotification||(exports.LogMessageNotification=LogMessageNotification={}));var TelemetryEventNotification;(function(TelemetryEventNotification2){TelemetryEventNotification2.method="telemetry/event",TelemetryEventNotification2.messageDirection=messages_1.MessageDirection.serverToClient,TelemetryEventNotification2.type=new messages_1.ProtocolNotificationType(TelemetryEventNotification2.method)})(TelemetryEventNotification||(exports.TelemetryEventNotification=TelemetryEventNotification={}));var TextDocumentSyncKind2;(function(TextDocumentSyncKind3){TextDocumentSyncKind3.None=0,TextDocumentSyncKind3.Full=1,TextDocumentSyncKind3.Incremental=2})(TextDocumentSyncKind2||(exports.TextDocumentSyncKind=TextDocumentSyncKind2={}));var DidOpenTextDocumentNotification;(function(DidOpenTextDocumentNotification2){DidOpenTextDocumentNotification2.method="textDocument/didOpen",DidOpenTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidOpenTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidOpenTextDocumentNotification2.method)})(DidOpenTextDocumentNotification||(exports.DidOpenTextDocumentNotification=DidOpenTextDocumentNotification={}));var TextDocumentContentChangeEvent;(function(TextDocumentContentChangeEvent2){function isIncremental(event){let candidate=event;return candidate!=null&&typeof candidate.text=="string"&&candidate.range!==void 0&&(candidate.rangeLength===void 0||typeof candidate.rangeLength=="number")}TextDocumentContentChangeEvent2.isIncremental=isIncremental;function isFull(event){let candidate=event;return candidate!=null&&typeof candidate.text=="string"&&candidate.range===void 0&&candidate.rangeLength===void 0}TextDocumentContentChangeEvent2.isFull=isFull})(TextDocumentContentChangeEvent||(exports.TextDocumentContentChangeEvent=TextDocumentContentChangeEvent={}));var DidChangeTextDocumentNotification;(function(DidChangeTextDocumentNotification2){DidChangeTextDocumentNotification2.method="textDocument/didChange",DidChangeTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidChangeTextDocumentNotification2.method)})(DidChangeTextDocumentNotification||(exports.DidChangeTextDocumentNotification=DidChangeTextDocumentNotification={}));var DidCloseTextDocumentNotification;(function(DidCloseTextDocumentNotification2){DidCloseTextDocumentNotification2.method="textDocument/didClose",DidCloseTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidCloseTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidCloseTextDocumentNotification2.method)})(DidCloseTextDocumentNotification||(exports.DidCloseTextDocumentNotification=DidCloseTextDocumentNotification={}));var DidSaveTextDocumentNotification;(function(DidSaveTextDocumentNotification2){DidSaveTextDocumentNotification2.method="textDocument/didSave",DidSaveTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidSaveTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(DidSaveTextDocumentNotification2.method)})(DidSaveTextDocumentNotification||(exports.DidSaveTextDocumentNotification=DidSaveTextDocumentNotification={}));var TextDocumentSaveReason;(function(TextDocumentSaveReason2){TextDocumentSaveReason2.Manual=1,TextDocumentSaveReason2.AfterDelay=2,TextDocumentSaveReason2.FocusOut=3})(TextDocumentSaveReason||(exports.TextDocumentSaveReason=TextDocumentSaveReason={}));var WillSaveTextDocumentNotification;(function(WillSaveTextDocumentNotification2){WillSaveTextDocumentNotification2.method="textDocument/willSave",WillSaveTextDocumentNotification2.messageDirection=messages_1.MessageDirection.clientToServer,WillSaveTextDocumentNotification2.type=new messages_1.ProtocolNotificationType(WillSaveTextDocumentNotification2.method)})(WillSaveTextDocumentNotification||(exports.WillSaveTextDocumentNotification=WillSaveTextDocumentNotification={}));var WillSaveTextDocumentWaitUntilRequest;(function(WillSaveTextDocumentWaitUntilRequest2){WillSaveTextDocumentWaitUntilRequest2.method="textDocument/willSaveWaitUntil",WillSaveTextDocumentWaitUntilRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WillSaveTextDocumentWaitUntilRequest2.type=new messages_1.ProtocolRequestType(WillSaveTextDocumentWaitUntilRequest2.method)})(WillSaveTextDocumentWaitUntilRequest||(exports.WillSaveTextDocumentWaitUntilRequest=WillSaveTextDocumentWaitUntilRequest={}));var DidChangeWatchedFilesNotification;(function(DidChangeWatchedFilesNotification2){DidChangeWatchedFilesNotification2.method="workspace/didChangeWatchedFiles",DidChangeWatchedFilesNotification2.messageDirection=messages_1.MessageDirection.clientToServer,DidChangeWatchedFilesNotification2.type=new messages_1.ProtocolNotificationType(DidChangeWatchedFilesNotification2.method)})(DidChangeWatchedFilesNotification||(exports.DidChangeWatchedFilesNotification=DidChangeWatchedFilesNotification={}));var FileChangeType;(function(FileChangeType2){FileChangeType2.Created=1,FileChangeType2.Changed=2,FileChangeType2.Deleted=3})(FileChangeType||(exports.FileChangeType=FileChangeType={}));var RelativePattern;(function(RelativePattern2){function is(value){let candidate=value;return Is3.objectLiteral(candidate)&&(vscode_languageserver_types_1.URI.is(candidate.baseUri)||vscode_languageserver_types_1.WorkspaceFolder.is(candidate.baseUri))&&Is3.string(candidate.pattern)}RelativePattern2.is=is})(RelativePattern||(exports.RelativePattern=RelativePattern={}));var WatchKind;(function(WatchKind2){WatchKind2.Create=1,WatchKind2.Change=2,WatchKind2.Delete=4})(WatchKind||(exports.WatchKind=WatchKind={}));var PublishDiagnosticsNotification;(function(PublishDiagnosticsNotification2){PublishDiagnosticsNotification2.method="textDocument/publishDiagnostics",PublishDiagnosticsNotification2.messageDirection=messages_1.MessageDirection.serverToClient,PublishDiagnosticsNotification2.type=new messages_1.ProtocolNotificationType(PublishDiagnosticsNotification2.method)})(PublishDiagnosticsNotification||(exports.PublishDiagnosticsNotification=PublishDiagnosticsNotification={}));var CompletionTriggerKind;(function(CompletionTriggerKind2){CompletionTriggerKind2.Invoked=1,CompletionTriggerKind2.TriggerCharacter=2,CompletionTriggerKind2.TriggerForIncompleteCompletions=3})(CompletionTriggerKind||(exports.CompletionTriggerKind=CompletionTriggerKind={}));var CompletionRequest;(function(CompletionRequest2){CompletionRequest2.method="textDocument/completion",CompletionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CompletionRequest2.type=new messages_1.ProtocolRequestType(CompletionRequest2.method)})(CompletionRequest||(exports.CompletionRequest=CompletionRequest={}));var CompletionResolveRequest;(function(CompletionResolveRequest2){CompletionResolveRequest2.method="completionItem/resolve",CompletionResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CompletionResolveRequest2.type=new messages_1.ProtocolRequestType(CompletionResolveRequest2.method)})(CompletionResolveRequest||(exports.CompletionResolveRequest=CompletionResolveRequest={}));var HoverRequest;(function(HoverRequest2){HoverRequest2.method="textDocument/hover",HoverRequest2.messageDirection=messages_1.MessageDirection.clientToServer,HoverRequest2.type=new messages_1.ProtocolRequestType(HoverRequest2.method)})(HoverRequest||(exports.HoverRequest=HoverRequest={}));var SignatureHelpTriggerKind;(function(SignatureHelpTriggerKind2){SignatureHelpTriggerKind2.Invoked=1,SignatureHelpTriggerKind2.TriggerCharacter=2,SignatureHelpTriggerKind2.ContentChange=3})(SignatureHelpTriggerKind||(exports.SignatureHelpTriggerKind=SignatureHelpTriggerKind={}));var SignatureHelpRequest;(function(SignatureHelpRequest2){SignatureHelpRequest2.method="textDocument/signatureHelp",SignatureHelpRequest2.messageDirection=messages_1.MessageDirection.clientToServer,SignatureHelpRequest2.type=new messages_1.ProtocolRequestType(SignatureHelpRequest2.method)})(SignatureHelpRequest||(exports.SignatureHelpRequest=SignatureHelpRequest={}));var DefinitionRequest;(function(DefinitionRequest2){DefinitionRequest2.method="textDocument/definition",DefinitionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DefinitionRequest2.type=new messages_1.ProtocolRequestType(DefinitionRequest2.method)})(DefinitionRequest||(exports.DefinitionRequest=DefinitionRequest={}));var ReferencesRequest;(function(ReferencesRequest2){ReferencesRequest2.method="textDocument/references",ReferencesRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ReferencesRequest2.type=new messages_1.ProtocolRequestType(ReferencesRequest2.method)})(ReferencesRequest||(exports.ReferencesRequest=ReferencesRequest={}));var DocumentHighlightRequest;(function(DocumentHighlightRequest2){DocumentHighlightRequest2.method="textDocument/documentHighlight",DocumentHighlightRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentHighlightRequest2.type=new messages_1.ProtocolRequestType(DocumentHighlightRequest2.method)})(DocumentHighlightRequest||(exports.DocumentHighlightRequest=DocumentHighlightRequest={}));var DocumentSymbolRequest;(function(DocumentSymbolRequest2){DocumentSymbolRequest2.method="textDocument/documentSymbol",DocumentSymbolRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentSymbolRequest2.type=new messages_1.ProtocolRequestType(DocumentSymbolRequest2.method)})(DocumentSymbolRequest||(exports.DocumentSymbolRequest=DocumentSymbolRequest={}));var CodeActionRequest;(function(CodeActionRequest2){CodeActionRequest2.method="textDocument/codeAction",CodeActionRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CodeActionRequest2.type=new messages_1.ProtocolRequestType(CodeActionRequest2.method)})(CodeActionRequest||(exports.CodeActionRequest=CodeActionRequest={}));var CodeActionResolveRequest;(function(CodeActionResolveRequest2){CodeActionResolveRequest2.method="codeAction/resolve",CodeActionResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CodeActionResolveRequest2.type=new messages_1.ProtocolRequestType(CodeActionResolveRequest2.method)})(CodeActionResolveRequest||(exports.CodeActionResolveRequest=CodeActionResolveRequest={}));var WorkspaceSymbolRequest;(function(WorkspaceSymbolRequest2){WorkspaceSymbolRequest2.method="workspace/symbol",WorkspaceSymbolRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WorkspaceSymbolRequest2.type=new messages_1.ProtocolRequestType(WorkspaceSymbolRequest2.method)})(WorkspaceSymbolRequest||(exports.WorkspaceSymbolRequest=WorkspaceSymbolRequest={}));var WorkspaceSymbolResolveRequest;(function(WorkspaceSymbolResolveRequest2){WorkspaceSymbolResolveRequest2.method="workspaceSymbol/resolve",WorkspaceSymbolResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,WorkspaceSymbolResolveRequest2.type=new messages_1.ProtocolRequestType(WorkspaceSymbolResolveRequest2.method)})(WorkspaceSymbolResolveRequest||(exports.WorkspaceSymbolResolveRequest=WorkspaceSymbolResolveRequest={}));var CodeLensRequest;(function(CodeLensRequest2){CodeLensRequest2.method="textDocument/codeLens",CodeLensRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CodeLensRequest2.type=new messages_1.ProtocolRequestType(CodeLensRequest2.method)})(CodeLensRequest||(exports.CodeLensRequest=CodeLensRequest={}));var CodeLensResolveRequest;(function(CodeLensResolveRequest2){CodeLensResolveRequest2.method="codeLens/resolve",CodeLensResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,CodeLensResolveRequest2.type=new messages_1.ProtocolRequestType(CodeLensResolveRequest2.method)})(CodeLensResolveRequest||(exports.CodeLensResolveRequest=CodeLensResolveRequest={}));var CodeLensRefreshRequest;(function(CodeLensRefreshRequest2){CodeLensRefreshRequest2.method="workspace/codeLens/refresh",CodeLensRefreshRequest2.messageDirection=messages_1.MessageDirection.serverToClient,CodeLensRefreshRequest2.type=new messages_1.ProtocolRequestType0(CodeLensRefreshRequest2.method)})(CodeLensRefreshRequest||(exports.CodeLensRefreshRequest=CodeLensRefreshRequest={}));var DocumentLinkRequest;(function(DocumentLinkRequest2){DocumentLinkRequest2.method="textDocument/documentLink",DocumentLinkRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentLinkRequest2.type=new messages_1.ProtocolRequestType(DocumentLinkRequest2.method)})(DocumentLinkRequest||(exports.DocumentLinkRequest=DocumentLinkRequest={}));var DocumentLinkResolveRequest;(function(DocumentLinkResolveRequest2){DocumentLinkResolveRequest2.method="documentLink/resolve",DocumentLinkResolveRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentLinkResolveRequest2.type=new messages_1.ProtocolRequestType(DocumentLinkResolveRequest2.method)})(DocumentLinkResolveRequest||(exports.DocumentLinkResolveRequest=DocumentLinkResolveRequest={}));var DocumentFormattingRequest;(function(DocumentFormattingRequest2){DocumentFormattingRequest2.method="textDocument/formatting",DocumentFormattingRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentFormattingRequest2.type=new messages_1.ProtocolRequestType(DocumentFormattingRequest2.method)})(DocumentFormattingRequest||(exports.DocumentFormattingRequest=DocumentFormattingRequest={}));var DocumentRangeFormattingRequest;(function(DocumentRangeFormattingRequest2){DocumentRangeFormattingRequest2.method="textDocument/rangeFormatting",DocumentRangeFormattingRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentRangeFormattingRequest2.type=new messages_1.ProtocolRequestType(DocumentRangeFormattingRequest2.method)})(DocumentRangeFormattingRequest||(exports.DocumentRangeFormattingRequest=DocumentRangeFormattingRequest={}));var DocumentRangesFormattingRequest;(function(DocumentRangesFormattingRequest2){DocumentRangesFormattingRequest2.method="textDocument/rangesFormatting",DocumentRangesFormattingRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentRangesFormattingRequest2.type=new messages_1.ProtocolRequestType(DocumentRangesFormattingRequest2.method)})(DocumentRangesFormattingRequest||(exports.DocumentRangesFormattingRequest=DocumentRangesFormattingRequest={}));var DocumentOnTypeFormattingRequest;(function(DocumentOnTypeFormattingRequest2){DocumentOnTypeFormattingRequest2.method="textDocument/onTypeFormatting",DocumentOnTypeFormattingRequest2.messageDirection=messages_1.MessageDirection.clientToServer,DocumentOnTypeFormattingRequest2.type=new messages_1.ProtocolRequestType(DocumentOnTypeFormattingRequest2.method)})(DocumentOnTypeFormattingRequest||(exports.DocumentOnTypeFormattingRequest=DocumentOnTypeFormattingRequest={}));var PrepareSupportDefaultBehavior;(function(PrepareSupportDefaultBehavior2){PrepareSupportDefaultBehavior2.Identifier=1})(PrepareSupportDefaultBehavior||(exports.PrepareSupportDefaultBehavior=PrepareSupportDefaultBehavior={}));var RenameRequest;(function(RenameRequest2){RenameRequest2.method="textDocument/rename",RenameRequest2.messageDirection=messages_1.MessageDirection.clientToServer,RenameRequest2.type=new messages_1.ProtocolRequestType(RenameRequest2.method)})(RenameRequest||(exports.RenameRequest=RenameRequest={}));var PrepareRenameRequest;(function(PrepareRenameRequest2){PrepareRenameRequest2.method="textDocument/prepareRename",PrepareRenameRequest2.messageDirection=messages_1.MessageDirection.clientToServer,PrepareRenameRequest2.type=new messages_1.ProtocolRequestType(PrepareRenameRequest2.method)})(PrepareRenameRequest||(exports.PrepareRenameRequest=PrepareRenameRequest={}));var ExecuteCommandRequest;(function(ExecuteCommandRequest2){ExecuteCommandRequest2.method="workspace/executeCommand",ExecuteCommandRequest2.messageDirection=messages_1.MessageDirection.clientToServer,ExecuteCommandRequest2.type=new messages_1.ProtocolRequestType(ExecuteCommandRequest2.method)})(ExecuteCommandRequest||(exports.ExecuteCommandRequest=ExecuteCommandRequest={}));var ApplyWorkspaceEditRequest;(function(ApplyWorkspaceEditRequest2){ApplyWorkspaceEditRequest2.method="workspace/applyEdit",ApplyWorkspaceEditRequest2.messageDirection=messages_1.MessageDirection.serverToClient,ApplyWorkspaceEditRequest2.type=new messages_1.ProtocolRequestType("workspace/applyEdit")})(ApplyWorkspaceEditRequest||(exports.ApplyWorkspaceEditRequest=ApplyWorkspaceEditRequest={}))}});var require_connection4=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/connection.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.createProtocolConnection=void 0;var vscode_jsonrpc_1=require_main4();function createProtocolConnection(input,output,logger,options){return vscode_jsonrpc_1.ConnectionStrategy.is(options)&&(options={connectionStrategy:options}),(0,vscode_jsonrpc_1.createMessageConnection)(input,output,logger,options)}exports.createProtocolConnection=createProtocolConnection}});var require_api5=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/common/api.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__exportStar=exports&&exports.__exportStar||function(m2,exports2){for(var p in m2)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m2,p)};Object.defineProperty(exports,"__esModule",{value:!0});exports.LSPErrorCodes=exports.createProtocolConnection=void 0;__exportStar(require_main4(),exports);__exportStar((init_main2(),__toCommonJS(main_exports2)),exports);__exportStar(require_messages4(),exports);__exportStar(require_protocol2(),exports);var connection_1=require_connection4();Object.defineProperty(exports,"createProtocolConnection",{enumerable:!0,get:function(){return connection_1.createProtocolConnection}});var LSPErrorCodes;(function(LSPErrorCodes2){LSPErrorCodes2.lspReservedErrorRangeStart=-32899,LSPErrorCodes2.RequestFailed=-32803,LSPErrorCodes2.ServerCancelled=-32802,LSPErrorCodes2.ContentModified=-32801,LSPErrorCodes2.RequestCancelled=-32800,LSPErrorCodes2.lspReservedErrorRangeEnd=-32800})(LSPErrorCodes||(exports.LSPErrorCodes=LSPErrorCodes={}))}});var require_main5=__commonJS({"server/node_modules/vscode-languageserver-protocol/lib/browser/main.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__exportStar=exports&&exports.__exportStar||function(m2,exports2){for(var p in m2)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m2,p)};Object.defineProperty(exports,"__esModule",{value:!0});exports.createProtocolConnection=void 0;var browser_1=require_browser();__exportStar(require_browser(),exports);__exportStar(require_api5(),exports);function createProtocolConnection(reader,writer,logger,options){return(0,browser_1.createMessageConnection)(reader,writer,logger,options)}exports.createProtocolConnection=createProtocolConnection}});var require_semanticTokens2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/semanticTokens.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.SemanticTokensBuilder=exports.SemanticTokensDiff=exports.SemanticTokensFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),SemanticTokensFeature=Base=>class extends Base{get semanticTokens(){return{refresh:()=>this.connection.sendRequest(vscode_languageserver_protocol_1.SemanticTokensRefreshRequest.type),on:handler=>{let type=vscode_languageserver_protocol_1.SemanticTokensRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))},onDelta:handler=>{let type=vscode_languageserver_protocol_1.SemanticTokensDeltaRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))},onRange:handler=>{let type=vscode_languageserver_protocol_1.SemanticTokensRangeRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))}}}};exports.SemanticTokensFeature=SemanticTokensFeature;var SemanticTokensDiff=class{constructor(originalSequence,modifiedSequence){this.originalSequence=originalSequence,this.modifiedSequence=modifiedSequence}computeDiff(){let originalLength=this.originalSequence.length,modifiedLength=this.modifiedSequence.length,startIndex=0;for(;startIndex<modifiedLength&&startIndex<originalLength&&this.originalSequence[startIndex]===this.modifiedSequence[startIndex];)startIndex++;if(startIndex<modifiedLength&&startIndex<originalLength){let originalEndIndex=originalLength-1,modifiedEndIndex=modifiedLength-1;for(;originalEndIndex>=startIndex&&modifiedEndIndex>=startIndex&&this.originalSequence[originalEndIndex]===this.modifiedSequence[modifiedEndIndex];)originalEndIndex--,modifiedEndIndex--;(originalEndIndex<startIndex||modifiedEndIndex<startIndex)&&(originalEndIndex++,modifiedEndIndex++);let deleteCount=originalEndIndex-startIndex+1,newData=this.modifiedSequence.slice(startIndex,modifiedEndIndex+1);return newData.length===1&&newData[0]===this.originalSequence[originalEndIndex]?[{start:startIndex,deleteCount:deleteCount-1}]:[{start:startIndex,deleteCount,data:newData}]}else return startIndex<modifiedLength?[{start:startIndex,deleteCount:0,data:this.modifiedSequence.slice(startIndex)}]:startIndex<originalLength?[{start:startIndex,deleteCount:originalLength-startIndex}]:[]}};exports.SemanticTokensDiff=SemanticTokensDiff;var SemanticTokensBuilder2=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(line,char,length,tokenType,tokenModifiers2){let pushLine=line,pushChar=char;this._dataLen>0&&(pushLine-=this._prevLine,pushLine===0&&(pushChar-=this._prevChar)),this._data[this._dataLen++]=pushLine,this._data[this._dataLen++]=pushChar,this._data[this._dataLen++]=length,this._data[this._dataLen++]=tokenType,this._data[this._dataLen++]=tokenModifiers2,this._prevLine=line,this._prevChar=char}get id(){return this._id.toString()}previousResult(id){this.id===id&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return this._prevData!==void 0}buildEdits(){return this._prevData!==void 0?{resultId:this.id,edits:new SemanticTokensDiff(this._prevData,this._data).computeDiff()}:this.build()}};exports.SemanticTokensBuilder=SemanticTokensBuilder2}});var require_inlineCompletion_proposed2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/inlineCompletion.proposed.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.InlineCompletionFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),InlineCompletionFeature=Base=>class extends Base{get inlineCompletion(){return{on:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.InlineCompletionRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params)))}}};exports.InlineCompletionFeature=InlineCompletionFeature}});var require_textDocuments2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/textDocuments.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.TextDocuments=void 0;var vscode_languageserver_protocol_1=require_main5(),TextDocuments2=class{constructor(configuration){this._configuration=configuration,this._syncedDocuments=new Map,this._onDidChangeContent=new vscode_languageserver_protocol_1.Emitter,this._onDidOpen=new vscode_languageserver_protocol_1.Emitter,this._onDidClose=new vscode_languageserver_protocol_1.Emitter,this._onDidSave=new vscode_languageserver_protocol_1.Emitter,this._onWillSave=new vscode_languageserver_protocol_1.Emitter}get onDidOpen(){return this._onDidOpen.event}get onDidChangeContent(){return this._onDidChangeContent.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(handler){this._willSaveWaitUntil=handler}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(uri){return this._syncedDocuments.get(uri)}all(){return Array.from(this._syncedDocuments.values())}keys(){return Array.from(this._syncedDocuments.keys())}listen(connection2){connection2.__textDocumentSync=vscode_languageserver_protocol_1.TextDocumentSyncKind.Incremental;let disposables=[];return disposables.push(connection2.onDidOpenTextDocument(event=>{let td=event.textDocument,document=this._configuration.create(td.uri,td.languageId,td.version,td.text);this._syncedDocuments.set(td.uri,document);let toFire=Object.freeze({document});this._onDidOpen.fire(toFire),this._onDidChangeContent.fire(toFire)})),disposables.push(connection2.onDidChangeTextDocument(event=>{let td=event.textDocument,changes=event.contentChanges;if(changes.length===0)return;let{version}=td;if(version==null)throw new Error(`Received document change event for ${td.uri} without valid version identifier`);let syncedDocument=this._syncedDocuments.get(td.uri);syncedDocument!==void 0&&(syncedDocument=this._configuration.update(syncedDocument,changes,version),this._syncedDocuments.set(td.uri,syncedDocument),this._onDidChangeContent.fire(Object.freeze({document:syncedDocument})))})),disposables.push(connection2.onDidCloseTextDocument(event=>{let syncedDocument=this._syncedDocuments.get(event.textDocument.uri);syncedDocument!==void 0&&(this._syncedDocuments.delete(event.textDocument.uri),this._onDidClose.fire(Object.freeze({document:syncedDocument})))})),disposables.push(connection2.onWillSaveTextDocument(event=>{let syncedDocument=this._syncedDocuments.get(event.textDocument.uri);syncedDocument!==void 0&&this._onWillSave.fire(Object.freeze({document:syncedDocument,reason:event.reason}))})),disposables.push(connection2.onWillSaveTextDocumentWaitUntil((event,token)=>{let syncedDocument=this._syncedDocuments.get(event.textDocument.uri);return syncedDocument!==void 0&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:syncedDocument,reason:event.reason}),token):[]})),disposables.push(connection2.onDidSaveTextDocument(event=>{let syncedDocument=this._syncedDocuments.get(event.textDocument.uri);syncedDocument!==void 0&&this._onDidSave.fire(Object.freeze({document:syncedDocument}))})),vscode_languageserver_protocol_1.Disposable.create(()=>{disposables.forEach(disposable=>disposable.dispose())})}};exports.TextDocuments=TextDocuments2}});var require_notebook2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/notebook.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.NotebookDocuments=exports.NotebookSyncFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),textDocuments_1=require_textDocuments2(),NotebookSyncFeature=Base=>class extends Base{get synchronization(){return{onDidOpenNotebookDocument:handler=>this.connection.onNotification(vscode_languageserver_protocol_1.DidOpenNotebookDocumentNotification.type,params=>{handler(params)}),onDidChangeNotebookDocument:handler=>this.connection.onNotification(vscode_languageserver_protocol_1.DidChangeNotebookDocumentNotification.type,params=>{handler(params)}),onDidSaveNotebookDocument:handler=>this.connection.onNotification(vscode_languageserver_protocol_1.DidSaveNotebookDocumentNotification.type,params=>{handler(params)}),onDidCloseNotebookDocument:handler=>this.connection.onNotification(vscode_languageserver_protocol_1.DidCloseNotebookDocumentNotification.type,params=>{handler(params)})}}};exports.NotebookSyncFeature=NotebookSyncFeature;var CellTextDocumentConnection=class _CellTextDocumentConnection{onDidOpenTextDocument(handler){return this.openHandler=handler,vscode_languageserver_protocol_1.Disposable.create(()=>{this.openHandler=void 0})}openTextDocument(params){this.openHandler&&this.openHandler(params)}onDidChangeTextDocument(handler){return this.changeHandler=handler,vscode_languageserver_protocol_1.Disposable.create(()=>{this.changeHandler=handler})}changeTextDocument(params){this.changeHandler&&this.changeHandler(params)}onDidCloseTextDocument(handler){return this.closeHandler=handler,vscode_languageserver_protocol_1.Disposable.create(()=>{this.closeHandler=void 0})}closeTextDocument(params){this.closeHandler&&this.closeHandler(params)}onWillSaveTextDocument(){return _CellTextDocumentConnection.NULL_DISPOSE}onWillSaveTextDocumentWaitUntil(){return _CellTextDocumentConnection.NULL_DISPOSE}onDidSaveTextDocument(){return _CellTextDocumentConnection.NULL_DISPOSE}};CellTextDocumentConnection.NULL_DISPOSE=Object.freeze({dispose:()=>{}});var NotebookDocuments=class{constructor(configurationOrTextDocuments){configurationOrTextDocuments instanceof textDocuments_1.TextDocuments?this._cellTextDocuments=configurationOrTextDocuments:this._cellTextDocuments=new textDocuments_1.TextDocuments(configurationOrTextDocuments),this.notebookDocuments=new Map,this.notebookCellMap=new Map,this._onDidOpen=new vscode_languageserver_protocol_1.Emitter,this._onDidChange=new vscode_languageserver_protocol_1.Emitter,this._onDidSave=new vscode_languageserver_protocol_1.Emitter,this._onDidClose=new vscode_languageserver_protocol_1.Emitter}get cellTextDocuments(){return this._cellTextDocuments}getCellTextDocument(cell){return this._cellTextDocuments.get(cell.document)}getNotebookDocument(uri){return this.notebookDocuments.get(uri)}getNotebookCell(uri){let value=this.notebookCellMap.get(uri);return value&&value[0]}findNotebookDocumentForCell(cell){let key=typeof cell=="string"?cell:cell.document,value=this.notebookCellMap.get(key);return value&&value[1]}get onDidOpen(){return this._onDidOpen.event}get onDidSave(){return this._onDidSave.event}get onDidChange(){return this._onDidChange.event}get onDidClose(){return this._onDidClose.event}listen(connection2){let cellTextDocumentConnection=new CellTextDocumentConnection,disposables=[];return disposables.push(this.cellTextDocuments.listen(cellTextDocumentConnection)),disposables.push(connection2.notebooks.synchronization.onDidOpenNotebookDocument(params=>{this.notebookDocuments.set(params.notebookDocument.uri,params.notebookDocument);for(let cellTextDocument of params.cellTextDocuments)cellTextDocumentConnection.openTextDocument({textDocument:cellTextDocument});this.updateCellMap(params.notebookDocument),this._onDidOpen.fire(params.notebookDocument)})),disposables.push(connection2.notebooks.synchronization.onDidChangeNotebookDocument(params=>{let notebookDocument=this.notebookDocuments.get(params.notebookDocument.uri);if(notebookDocument===void 0)return;notebookDocument.version=params.notebookDocument.version;let oldMetadata=notebookDocument.metadata,metadataChanged=!1,change=params.change;change.metadata!==void 0&&(metadataChanged=!0,notebookDocument.metadata=change.metadata);let opened=[],closed=[],data=[],text=[];if(change.cells!==void 0){let changedCells=change.cells;if(changedCells.structure!==void 0){let array=changedCells.structure.array;if(notebookDocument.cells.splice(array.start,array.deleteCount,...array.cells!==void 0?array.cells:[]),changedCells.structure.didOpen!==void 0)for(let open of changedCells.structure.didOpen)cellTextDocumentConnection.openTextDocument({textDocument:open}),opened.push(open.uri);if(changedCells.structure.didClose)for(let close of changedCells.structure.didClose)cellTextDocumentConnection.closeTextDocument({textDocument:close}),closed.push(close.uri)}if(changedCells.data!==void 0){let cellUpdates=new Map(changedCells.data.map(cell=>[cell.document,cell]));for(let i=0;i<=notebookDocument.cells.length;i++){let change2=cellUpdates.get(notebookDocument.cells[i].document);if(change2!==void 0){let old=notebookDocument.cells.splice(i,1,change2);if(data.push({old:old[0],new:change2}),cellUpdates.delete(change2.document),cellUpdates.size===0)break}}}if(changedCells.textContent!==void 0)for(let cellTextDocument of changedCells.textContent)cellTextDocumentConnection.changeTextDocument({textDocument:cellTextDocument.document,contentChanges:cellTextDocument.changes}),text.push(cellTextDocument.document.uri)}this.updateCellMap(notebookDocument);let changeEvent={notebookDocument};metadataChanged&&(changeEvent.metadata={old:oldMetadata,new:notebookDocument.metadata});let added=[];for(let open of opened)added.push(this.getNotebookCell(open));let removed=[];for(let close of closed)removed.push(this.getNotebookCell(close));let textContent=[];for(let change2 of text)textContent.push(this.getNotebookCell(change2));(added.length>0||removed.length>0||data.length>0||textContent.length>0)&&(changeEvent.cells={added,removed,changed:{data,textContent}}),(changeEvent.metadata!==void 0||changeEvent.cells!==void 0)&&this._onDidChange.fire(changeEvent)})),disposables.push(connection2.notebooks.synchronization.onDidSaveNotebookDocument(params=>{let notebookDocument=this.notebookDocuments.get(params.notebookDocument.uri);notebookDocument!==void 0&&this._onDidSave.fire(notebookDocument)})),disposables.push(connection2.notebooks.synchronization.onDidCloseNotebookDocument(params=>{let notebookDocument=this.notebookDocuments.get(params.notebookDocument.uri);if(notebookDocument!==void 0){this._onDidClose.fire(notebookDocument);for(let cellTextDocument of params.cellTextDocuments)cellTextDocumentConnection.closeTextDocument({textDocument:cellTextDocument});this.notebookDocuments.delete(params.notebookDocument.uri);for(let cell of notebookDocument.cells)this.notebookCellMap.delete(cell.document)}})),vscode_languageserver_protocol_1.Disposable.create(()=>{disposables.forEach(disposable=>disposable.dispose())})}updateCellMap(notebookDocument){for(let cell of notebookDocument.cells)this.notebookCellMap.set(cell.document,[cell,notebookDocument])}};exports.NotebookDocuments=NotebookDocuments}});var require_is6=__commonJS({"server/node_modules/vscode-languageserver/lib/common/utils/is.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.thenable=exports.typedArray=exports.stringArray=exports.array=exports.func=exports.error=exports.number=exports.string=exports.boolean=void 0;function boolean(value){return value===!0||value===!1}exports.boolean=boolean;function string(value){return typeof value=="string"||value instanceof String}exports.string=string;function number(value){return typeof value=="number"||value instanceof Number}exports.number=number;function error(value){return value instanceof Error}exports.error=error;function func(value){return typeof value=="function"}exports.func=func;function array(value){return Array.isArray(value)}exports.array=array;function stringArray(value){return array(value)&&value.every(elem=>string(elem))}exports.stringArray=stringArray;function typedArray(value,check){return Array.isArray(value)&&value.every(check)}exports.typedArray=typedArray;function thenable(value){return value&&func(value.then)}exports.thenable=thenable}});var require_uuid2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/utils/uuid.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.generateUuid=exports.parse=exports.isUUID=exports.v4=exports.empty=void 0;var ValueUUID=class{constructor(_value){this._value=_value}asHex(){return this._value}equals(other){return this.asHex()===other.asHex()}},V4UUID=class _V4UUID extends ValueUUID{static _oneOf(array){return array[Math.floor(array.length*Math.random())]}static _randomHex(){return _V4UUID._oneOf(_V4UUID._chars)}constructor(){super([_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),"-",_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),"-","4",_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),"-",_V4UUID._oneOf(_V4UUID._timeHighBits),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),"-",_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex(),_V4UUID._randomHex()].join(""))}};V4UUID._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"];V4UUID._timeHighBits=["8","9","a","b"];exports.empty=new ValueUUID("00000000-0000-0000-0000-000000000000");function v4(){return new V4UUID}exports.v4=v4;var _UUIDPattern=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function isUUID(value){return _UUIDPattern.test(value)}exports.isUUID=isUUID;function parse(value){if(!isUUID(value))throw new Error("invalid uuid");return new ValueUUID(value)}exports.parse=parse;function generateUuid(){return v4().asHex()}exports.generateUuid=generateUuid}});var require_progress2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/progress.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.attachPartialResult=exports.ProgressFeature=exports.attachWorkDone=void 0;var vscode_languageserver_protocol_1=require_main5(),uuid_1=require_uuid2(),WorkDoneProgressReporterImpl=class _WorkDoneProgressReporterImpl{constructor(_connection,_token){this._connection=_connection,this._token=_token,_WorkDoneProgressReporterImpl.Instances.set(this._token,this)}begin(title,percentage,message,cancellable){let param={kind:"begin",title,percentage,message,cancellable};this._connection.sendProgress(vscode_languageserver_protocol_1.WorkDoneProgress.type,this._token,param)}report(arg0,arg1){let param={kind:"report"};typeof arg0=="number"?(param.percentage=arg0,arg1!==void 0&&(param.message=arg1)):param.message=arg0,this._connection.sendProgress(vscode_languageserver_protocol_1.WorkDoneProgress.type,this._token,param)}done(){_WorkDoneProgressReporterImpl.Instances.delete(this._token),this._connection.sendProgress(vscode_languageserver_protocol_1.WorkDoneProgress.type,this._token,{kind:"end"})}};WorkDoneProgressReporterImpl.Instances=new Map;var WorkDoneProgressServerReporterImpl=class extends WorkDoneProgressReporterImpl{constructor(connection2,token){super(connection2,token),this._source=new vscode_languageserver_protocol_1.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}},NullProgressReporter=class{constructor(){}begin(){}report(){}done(){}},NullProgressServerReporter=class extends NullProgressReporter{constructor(){super(),this._source=new vscode_languageserver_protocol_1.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}};function attachWorkDone(connection2,params){if(params===void 0||params.workDoneToken===void 0)return new NullProgressReporter;let token=params.workDoneToken;return delete params.workDoneToken,new WorkDoneProgressReporterImpl(connection2,token)}exports.attachWorkDone=attachWorkDone;var ProgressFeature=Base=>class extends Base{constructor(){super(),this._progressSupported=!1}initialize(capabilities){super.initialize(capabilities),capabilities?.window?.workDoneProgress===!0&&(this._progressSupported=!0,this.connection.onNotification(vscode_languageserver_protocol_1.WorkDoneProgressCancelNotification.type,params=>{let progress=WorkDoneProgressReporterImpl.Instances.get(params.token);(progress instanceof WorkDoneProgressServerReporterImpl||progress instanceof NullProgressServerReporter)&&progress.cancel()}))}attachWorkDoneProgress(token){return token===void 0?new NullProgressReporter:new WorkDoneProgressReporterImpl(this.connection,token)}createWorkDoneProgress(){if(this._progressSupported){let token=(0,uuid_1.generateUuid)();return this.connection.sendRequest(vscode_languageserver_protocol_1.WorkDoneProgressCreateRequest.type,{token}).then(()=>new WorkDoneProgressServerReporterImpl(this.connection,token))}else return Promise.resolve(new NullProgressServerReporter)}};exports.ProgressFeature=ProgressFeature;var ResultProgress;(function(ResultProgress2){ResultProgress2.type=new vscode_languageserver_protocol_1.ProgressType})(ResultProgress||(ResultProgress={}));var ResultProgressReporterImpl=class{constructor(_connection,_token){this._connection=_connection,this._token=_token}report(data){this._connection.sendProgress(ResultProgress.type,this._token,data)}};function attachPartialResult(connection2,params){if(params===void 0||params.partialResultToken===void 0)return;let token=params.partialResultToken;return delete params.partialResultToken,new ResultProgressReporterImpl(connection2,token)}exports.attachPartialResult=attachPartialResult}});var require_configuration2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/configuration.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ConfigurationFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),Is3=require_is6(),ConfigurationFeature=Base=>class extends Base{getConfiguration(arg){return arg?Is3.string(arg)?this._getConfiguration({section:arg}):this._getConfiguration(arg):this._getConfiguration({})}_getConfiguration(arg){let params={items:Array.isArray(arg)?arg:[arg]};return this.connection.sendRequest(vscode_languageserver_protocol_1.ConfigurationRequest.type,params).then(result=>Array.isArray(result)?Array.isArray(arg)?result:result[0]:Array.isArray(arg)?[]:null)}};exports.ConfigurationFeature=ConfigurationFeature}});var require_workspaceFolder2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/workspaceFolder.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.WorkspaceFoldersFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),WorkspaceFoldersFeature=Base=>class extends Base{constructor(){super(),this._notificationIsAutoRegistered=!1}initialize(capabilities){super.initialize(capabilities);let workspaceCapabilities=capabilities.workspace;workspaceCapabilities&&workspaceCapabilities.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new vscode_languageserver_protocol_1.Emitter,this.connection.onNotification(vscode_languageserver_protocol_1.DidChangeWorkspaceFoldersNotification.type,params=>{this._onDidChangeWorkspaceFolders.fire(params.event)}))}fillServerCapabilities(capabilities){super.fillServerCapabilities(capabilities);let changeNotifications=capabilities.workspace?.workspaceFolders?.changeNotifications;this._notificationIsAutoRegistered=changeNotifications===!0||typeof changeNotifications=="string"}getWorkspaceFolders(){return this.connection.sendRequest(vscode_languageserver_protocol_1.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return!this._notificationIsAutoRegistered&&!this._unregistration&&(this._unregistration=this.connection.client.register(vscode_languageserver_protocol_1.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}};exports.WorkspaceFoldersFeature=WorkspaceFoldersFeature}});var require_callHierarchy2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/callHierarchy.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.CallHierarchyFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),CallHierarchyFeature=Base=>class extends Base{get callHierarchy(){return{onPrepare:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.CallHierarchyPrepareRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),void 0)),onIncomingCalls:handler=>{let type=vscode_languageserver_protocol_1.CallHierarchyIncomingCallsRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))},onOutgoingCalls:handler=>{let type=vscode_languageserver_protocol_1.CallHierarchyOutgoingCallsRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))}}}};exports.CallHierarchyFeature=CallHierarchyFeature}});var require_showDocument2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/showDocument.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ShowDocumentFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),ShowDocumentFeature=Base=>class extends Base{showDocument(params){return this.connection.sendRequest(vscode_languageserver_protocol_1.ShowDocumentRequest.type,params)}};exports.ShowDocumentFeature=ShowDocumentFeature}});var require_fileOperations2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/fileOperations.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.FileOperationsFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),FileOperationsFeature=Base=>class extends Base{onDidCreateFiles(handler){return this.connection.onNotification(vscode_languageserver_protocol_1.DidCreateFilesNotification.type,params=>{handler(params)})}onDidRenameFiles(handler){return this.connection.onNotification(vscode_languageserver_protocol_1.DidRenameFilesNotification.type,params=>{handler(params)})}onDidDeleteFiles(handler){return this.connection.onNotification(vscode_languageserver_protocol_1.DidDeleteFilesNotification.type,params=>{handler(params)})}onWillCreateFiles(handler){return this.connection.onRequest(vscode_languageserver_protocol_1.WillCreateFilesRequest.type,(params,cancel)=>handler(params,cancel))}onWillRenameFiles(handler){return this.connection.onRequest(vscode_languageserver_protocol_1.WillRenameFilesRequest.type,(params,cancel)=>handler(params,cancel))}onWillDeleteFiles(handler){return this.connection.onRequest(vscode_languageserver_protocol_1.WillDeleteFilesRequest.type,(params,cancel)=>handler(params,cancel))}};exports.FileOperationsFeature=FileOperationsFeature}});var require_linkedEditingRange2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/linkedEditingRange.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.LinkedEditingRangeFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),LinkedEditingRangeFeature=Base=>class extends Base{onLinkedEditingRange(handler){return this.connection.onRequest(vscode_languageserver_protocol_1.LinkedEditingRangeRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),void 0))}};exports.LinkedEditingRangeFeature=LinkedEditingRangeFeature}});var require_typeHierarchy2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/typeHierarchy.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.TypeHierarchyFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),TypeHierarchyFeature=Base=>class extends Base{get typeHierarchy(){return{onPrepare:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.TypeHierarchyPrepareRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),void 0)),onSupertypes:handler=>{let type=vscode_languageserver_protocol_1.TypeHierarchySupertypesRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))},onSubtypes:handler=>{let type=vscode_languageserver_protocol_1.TypeHierarchySubtypesRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))}}}};exports.TypeHierarchyFeature=TypeHierarchyFeature}});var require_inlineValue2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/inlineValue.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.InlineValueFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),InlineValueFeature=Base=>class extends Base{get inlineValue(){return{refresh:()=>this.connection.sendRequest(vscode_languageserver_protocol_1.InlineValueRefreshRequest.type),on:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.InlineValueRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params)))}}};exports.InlineValueFeature=InlineValueFeature}});var require_foldingRange2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/foldingRange.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.FoldingRangeFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),FoldingRangeFeature=Base=>class extends Base{get foldingRange(){return{refresh:()=>this.connection.sendRequest(vscode_languageserver_protocol_1.FoldingRangeRefreshRequest.type),on:handler=>{let type=vscode_languageserver_protocol_1.FoldingRangeRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))}}}};exports.FoldingRangeFeature=FoldingRangeFeature}});var require_inlayHint2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/inlayHint.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.InlayHintFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),InlayHintFeature=Base=>class extends Base{get inlayHint(){return{refresh:()=>this.connection.sendRequest(vscode_languageserver_protocol_1.InlayHintRefreshRequest.type),on:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.InlayHintRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params))),resolve:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.InlayHintResolveRequest.type,(params,cancel)=>handler(params,cancel))}}};exports.InlayHintFeature=InlayHintFeature}});var require_diagnostic2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/diagnostic.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.DiagnosticFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),DiagnosticFeature=Base=>class extends Base{get diagnostics(){return{refresh:()=>this.connection.sendRequest(vscode_languageserver_protocol_1.DiagnosticRefreshRequest.type),on:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.DocumentDiagnosticRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(vscode_languageserver_protocol_1.DocumentDiagnosticRequest.partialResult,params))),onWorkspace:handler=>this.connection.onRequest(vscode_languageserver_protocol_1.WorkspaceDiagnosticRequest.type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(vscode_languageserver_protocol_1.WorkspaceDiagnosticRequest.partialResult,params)))}}};exports.DiagnosticFeature=DiagnosticFeature}});var require_moniker2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/moniker.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.MonikerFeature=void 0;var vscode_languageserver_protocol_1=require_main5(),MonikerFeature=Base=>class extends Base{get moniker(){return{on:handler=>{let type=vscode_languageserver_protocol_1.MonikerRequest.type;return this.connection.onRequest(type,(params,cancel)=>handler(params,cancel,this.attachWorkDoneProgress(params),this.attachPartialResultProgress(type,params)))}}}};exports.MonikerFeature=MonikerFeature}});var require_server2=__commonJS({"server/node_modules/vscode-languageserver/lib/common/server.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.createConnection=exports.combineFeatures=exports.combineNotebooksFeatures=exports.combineLanguagesFeatures=exports.combineWorkspaceFeatures=exports.combineWindowFeatures=exports.combineClientFeatures=exports.combineTracerFeatures=exports.combineTelemetryFeatures=exports.combineConsoleFeatures=exports._NotebooksImpl=exports._LanguagesImpl=exports.BulkUnregistration=exports.BulkRegistration=exports.ErrorMessageTracker=void 0;var vscode_languageserver_protocol_1=require_main5(),Is3=require_is6(),UUID=require_uuid2(),progress_1=require_progress2(),configuration_1=require_configuration2(),workspaceFolder_1=require_workspaceFolder2(),callHierarchy_1=require_callHierarchy2(),semanticTokens_1=require_semanticTokens2(),showDocument_1=require_showDocument2(),fileOperations_1=require_fileOperations2(),linkedEditingRange_1=require_linkedEditingRange2(),typeHierarchy_1=require_typeHierarchy2(),inlineValue_1=require_inlineValue2(),foldingRange_1=require_foldingRange2(),inlayHint_1=require_inlayHint2(),diagnostic_1=require_diagnostic2(),notebook_1=require_notebook2(),moniker_1=require_moniker2();function null2Undefined(value){if(value!==null)return value}var ErrorMessageTracker=class{constructor(){this._messages=Object.create(null)}add(message){let count=this._messages[message];count||(count=0),count++,this._messages[message]=count}sendErrors(connection2){Object.keys(this._messages).forEach(message=>{connection2.window.showErrorMessage(message)})}};exports.ErrorMessageTracker=ErrorMessageTracker;var RemoteConsoleImpl=class{constructor(){}rawAttach(connection2){this._rawConnection=connection2}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(_capabilities){}initialize(_capabilities){}error(message){this.send(vscode_languageserver_protocol_1.MessageType.Error,message)}warn(message){this.send(vscode_languageserver_protocol_1.MessageType.Warning,message)}info(message){this.send(vscode_languageserver_protocol_1.MessageType.Info,message)}log(message){this.send(vscode_languageserver_protocol_1.MessageType.Log,message)}debug(message){this.send(vscode_languageserver_protocol_1.MessageType.Debug,message)}send(type,message){this._rawConnection&&this._rawConnection.sendNotification(vscode_languageserver_protocol_1.LogMessageNotification.type,{type,message}).catch(()=>{(0,vscode_languageserver_protocol_1.RAL)().console.error("Sending log message failed")})}},_RemoteWindowImpl=class{constructor(){}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}showErrorMessage(message,...actions){let params={type:vscode_languageserver_protocol_1.MessageType.Error,message,actions};return this.connection.sendRequest(vscode_languageserver_protocol_1.ShowMessageRequest.type,params).then(null2Undefined)}showWarningMessage(message,...actions){let params={type:vscode_languageserver_protocol_1.MessageType.Warning,message,actions};return this.connection.sendRequest(vscode_languageserver_protocol_1.ShowMessageRequest.type,params).then(null2Undefined)}showInformationMessage(message,...actions){let params={type:vscode_languageserver_protocol_1.MessageType.Info,message,actions};return this.connection.sendRequest(vscode_languageserver_protocol_1.ShowMessageRequest.type,params).then(null2Undefined)}},RemoteWindowImpl=(0,showDocument_1.ShowDocumentFeature)((0,progress_1.ProgressFeature)(_RemoteWindowImpl)),BulkRegistration;(function(BulkRegistration2){function create(){return new BulkRegistrationImpl}BulkRegistration2.create=create})(BulkRegistration||(exports.BulkRegistration=BulkRegistration={}));var BulkRegistrationImpl=class{constructor(){this._registrations=[],this._registered=new Set}add(type,registerOptions){let method=Is3.string(type)?type:type.method;if(this._registered.has(method))throw new Error(`${method} is already added to this registration`);let id=UUID.generateUuid();this._registrations.push({id,method,registerOptions:registerOptions||{}}),this._registered.add(method)}asRegistrationParams(){return{registrations:this._registrations}}},BulkUnregistration;(function(BulkUnregistration2){function create(){return new BulkUnregistrationImpl(void 0,[])}BulkUnregistration2.create=create})(BulkUnregistration||(exports.BulkUnregistration=BulkUnregistration={}));var BulkUnregistrationImpl=class{constructor(_connection,unregistrations){this._connection=_connection,this._unregistrations=new Map,unregistrations.forEach(unregistration=>{this._unregistrations.set(unregistration.method,unregistration)})}get isAttached(){return!!this._connection}attach(connection2){this._connection=connection2}add(unregistration){this._unregistrations.set(unregistration.method,unregistration)}dispose(){let unregistrations=[];for(let unregistration of this._unregistrations.values())unregistrations.push(unregistration);let params={unregisterations:unregistrations};this._connection.sendRequest(vscode_languageserver_protocol_1.UnregistrationRequest.type,params).catch(()=>{this._connection.console.info("Bulk unregistration failed.")})}disposeSingle(arg){let method=Is3.string(arg)?arg:arg.method,unregistration=this._unregistrations.get(method);if(!unregistration)return!1;let params={unregisterations:[unregistration]};return this._connection.sendRequest(vscode_languageserver_protocol_1.UnregistrationRequest.type,params).then(()=>{this._unregistrations.delete(method)},_error=>{this._connection.console.info(`Un-registering request handler for ${unregistration.id} failed.`)}),!0}},RemoteClientImpl=class{attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}register(typeOrRegistrations,registerOptionsOrType,registerOptions){return typeOrRegistrations instanceof BulkRegistrationImpl?this.registerMany(typeOrRegistrations):typeOrRegistrations instanceof BulkUnregistrationImpl?this.registerSingle1(typeOrRegistrations,registerOptionsOrType,registerOptions):this.registerSingle2(typeOrRegistrations,registerOptionsOrType)}registerSingle1(unregistration,type,registerOptions){let method=Is3.string(type)?type:type.method,id=UUID.generateUuid(),params={registrations:[{id,method,registerOptions:registerOptions||{}}]};return unregistration.isAttached||unregistration.attach(this.connection),this.connection.sendRequest(vscode_languageserver_protocol_1.RegistrationRequest.type,params).then(_result=>(unregistration.add({id,method}),unregistration),_error=>(this.connection.console.info(`Registering request handler for ${method} failed.`),Promise.reject(_error)))}registerSingle2(type,registerOptions){let method=Is3.string(type)?type:type.method,id=UUID.generateUuid(),params={registrations:[{id,method,registerOptions:registerOptions||{}}]};return this.connection.sendRequest(vscode_languageserver_protocol_1.RegistrationRequest.type,params).then(_result=>vscode_languageserver_protocol_1.Disposable.create(()=>{this.unregisterSingle(id,method).catch(()=>{this.connection.console.info(`Un-registering capability with id ${id} failed.`)})}),_error=>(this.connection.console.info(`Registering request handler for ${method} failed.`),Promise.reject(_error)))}unregisterSingle(id,method){let params={unregisterations:[{id,method}]};return this.connection.sendRequest(vscode_languageserver_protocol_1.UnregistrationRequest.type,params).catch(()=>{this.connection.console.info(`Un-registering request handler for ${id} failed.`)})}registerMany(registrations){let params=registrations.asRegistrationParams();return this.connection.sendRequest(vscode_languageserver_protocol_1.RegistrationRequest.type,params).then(()=>new BulkUnregistrationImpl(this._connection,params.registrations.map(registration=>({id:registration.id,method:registration.method}))),_error=>(this.connection.console.info("Bulk registration failed."),Promise.reject(_error)))}},_RemoteWorkspaceImpl=class{constructor(){}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}applyEdit(paramOrEdit){function isApplyWorkspaceEditParams(value){return value&&!!value.edit}let params=isApplyWorkspaceEditParams(paramOrEdit)?paramOrEdit:{edit:paramOrEdit};return this.connection.sendRequest(vscode_languageserver_protocol_1.ApplyWorkspaceEditRequest.type,params)}},RemoteWorkspaceImpl=(0,fileOperations_1.FileOperationsFeature)((0,workspaceFolder_1.WorkspaceFoldersFeature)((0,configuration_1.ConfigurationFeature)(_RemoteWorkspaceImpl))),TracerImpl=class{constructor(){this._trace=vscode_languageserver_protocol_1.Trace.Off}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}set trace(value){this._trace=value}log(message,verbose){this._trace!==vscode_languageserver_protocol_1.Trace.Off&&this.connection.sendNotification(vscode_languageserver_protocol_1.LogTraceNotification.type,{message,verbose:this._trace===vscode_languageserver_protocol_1.Trace.Verbose?verbose:void 0}).catch(()=>{})}},TelemetryImpl=class{constructor(){}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}logEvent(data){this.connection.sendNotification(vscode_languageserver_protocol_1.TelemetryEventNotification.type,data).catch(()=>{this.connection.console.log("Sending TelemetryEventNotification failed")})}},_LanguagesImpl=class{constructor(){}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}attachWorkDoneProgress(params){return(0,progress_1.attachWorkDone)(this.connection,params)}attachPartialResultProgress(_type,params){return(0,progress_1.attachPartialResult)(this.connection,params)}};exports._LanguagesImpl=_LanguagesImpl;var LanguagesImpl=(0,foldingRange_1.FoldingRangeFeature)((0,moniker_1.MonikerFeature)((0,diagnostic_1.DiagnosticFeature)((0,inlayHint_1.InlayHintFeature)((0,inlineValue_1.InlineValueFeature)((0,typeHierarchy_1.TypeHierarchyFeature)((0,linkedEditingRange_1.LinkedEditingRangeFeature)((0,semanticTokens_1.SemanticTokensFeature)((0,callHierarchy_1.CallHierarchyFeature)(_LanguagesImpl))))))))),_NotebooksImpl=class{constructor(){}attach(connection2){this._connection=connection2}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(_capabilities){}fillServerCapabilities(_capabilities){}attachWorkDoneProgress(params){return(0,progress_1.attachWorkDone)(this.connection,params)}attachPartialResultProgress(_type,params){return(0,progress_1.attachPartialResult)(this.connection,params)}};exports._NotebooksImpl=_NotebooksImpl;var NotebooksImpl=(0,notebook_1.NotebookSyncFeature)(_NotebooksImpl);function combineConsoleFeatures(one,two){return function(Base){return two(one(Base))}}exports.combineConsoleFeatures=combineConsoleFeatures;function combineTelemetryFeatures(one,two){return function(Base){return two(one(Base))}}exports.combineTelemetryFeatures=combineTelemetryFeatures;function combineTracerFeatures(one,two){return function(Base){return two(one(Base))}}exports.combineTracerFeatures=combineTracerFeatures;function combineClientFeatures(one,two){return function(Base){return two(one(Base))}}exports.combineClientFeatures=combineClientFeatures;function combineWindowFeatures(one,two){return function(Base){return two(one(Base))}}exports.combineWindowFeatures=combineWindowFeatures;function combineWorkspaceFeatures(one,two){return function(Base){return two(one(Base))}}exports.combineWorkspaceFeatures=combineWorkspaceFeatures;function combineLanguagesFeatures(one,two){return function(Base){return two(one(Base))}}exports.combineLanguagesFeatures=combineLanguagesFeatures;function combineNotebooksFeatures(one,two){return function(Base){return two(one(Base))}}exports.combineNotebooksFeatures=combineNotebooksFeatures;function combineFeatures(one,two){function combine(one2,two2,func){return one2&&two2?func(one2,two2):one2||two2}return{__brand:"features",console:combine(one.console,two.console,combineConsoleFeatures),tracer:combine(one.tracer,two.tracer,combineTracerFeatures),telemetry:combine(one.telemetry,two.telemetry,combineTelemetryFeatures),client:combine(one.client,two.client,combineClientFeatures),window:combine(one.window,two.window,combineWindowFeatures),workspace:combine(one.workspace,two.workspace,combineWorkspaceFeatures),languages:combine(one.languages,two.languages,combineLanguagesFeatures),notebooks:combine(one.notebooks,two.notebooks,combineNotebooksFeatures)}}exports.combineFeatures=combineFeatures;function createConnection2(connectionFactory,watchDog,factories){let logger=factories&&factories.console?new(factories.console(RemoteConsoleImpl)):new RemoteConsoleImpl,connection2=connectionFactory(logger);logger.rawAttach(connection2);let tracer=factories&&factories.tracer?new(factories.tracer(TracerImpl)):new TracerImpl,telemetry=factories&&factories.telemetry?new(factories.telemetry(TelemetryImpl)):new TelemetryImpl,client=factories&&factories.client?new(factories.client(RemoteClientImpl)):new RemoteClientImpl,remoteWindow=factories&&factories.window?new(factories.window(RemoteWindowImpl)):new RemoteWindowImpl,workspace=factories&&factories.workspace?new(factories.workspace(RemoteWorkspaceImpl)):new RemoteWorkspaceImpl,languages=factories&&factories.languages?new(factories.languages(LanguagesImpl)):new LanguagesImpl,notebooks=factories&&factories.notebooks?new(factories.notebooks(NotebooksImpl)):new NotebooksImpl,allRemotes=[logger,tracer,telemetry,client,remoteWindow,workspace,languages,notebooks];function asPromise(value){return value instanceof Promise?value:Is3.thenable(value)?new Promise((resolve,reject)=>{value.then(resolved=>resolve(resolved),error=>reject(error))}):Promise.resolve(value)}let shutdownHandler,initializeHandler,exitHandler,protocolConnection={listen:()=>connection2.listen(),sendRequest:(type,...params)=>connection2.sendRequest(Is3.string(type)?type:type.method,...params),onRequest:(type,handler)=>connection2.onRequest(type,handler),sendNotification:(type,param)=>{let method=Is3.string(type)?type:type.method;return connection2.sendNotification(method,param)},onNotification:(type,handler)=>connection2.onNotification(type,handler),onProgress:connection2.onProgress,sendProgress:connection2.sendProgress,onInitialize:handler=>(initializeHandler=handler,{dispose:()=>{initializeHandler=void 0}}),onInitialized:handler=>connection2.onNotification(vscode_languageserver_protocol_1.InitializedNotification.type,handler),onShutdown:handler=>(shutdownHandler=handler,{dispose:()=>{shutdownHandler=void 0}}),onExit:handler=>(exitHandler=handler,{dispose:()=>{exitHandler=void 0}}),get console(){return logger},get telemetry(){return telemetry},get tracer(){return tracer},get client(){return client},get window(){return remoteWindow},get workspace(){return workspace},get languages(){return languages},get notebooks(){return notebooks},onDidChangeConfiguration:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidChangeConfigurationNotification.type,handler),onDidChangeWatchedFiles:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidChangeWatchedFilesNotification.type,handler),__textDocumentSync:void 0,onDidOpenTextDocument:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidOpenTextDocumentNotification.type,handler),onDidChangeTextDocument:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidChangeTextDocumentNotification.type,handler),onDidCloseTextDocument:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidCloseTextDocumentNotification.type,handler),onWillSaveTextDocument:handler=>connection2.onNotification(vscode_languageserver_protocol_1.WillSaveTextDocumentNotification.type,handler),onWillSaveTextDocumentWaitUntil:handler=>connection2.onRequest(vscode_languageserver_protocol_1.WillSaveTextDocumentWaitUntilRequest.type,handler),onDidSaveTextDocument:handler=>connection2.onNotification(vscode_languageserver_protocol_1.DidSaveTextDocumentNotification.type,handler),sendDiagnostics:params=>connection2.sendNotification(vscode_languageserver_protocol_1.PublishDiagnosticsNotification.type,params),onHover:handler=>connection2.onRequest(vscode_languageserver_protocol_1.HoverRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),onCompletion:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CompletionRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onCompletionResolve:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CompletionResolveRequest.type,handler),onSignatureHelp:handler=>connection2.onRequest(vscode_languageserver_protocol_1.SignatureHelpRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),onDeclaration:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DeclarationRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onDefinition:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DefinitionRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onTypeDefinition:handler=>connection2.onRequest(vscode_languageserver_protocol_1.TypeDefinitionRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onImplementation:handler=>connection2.onRequest(vscode_languageserver_protocol_1.ImplementationRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onReferences:handler=>connection2.onRequest(vscode_languageserver_protocol_1.ReferencesRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onDocumentHighlight:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentHighlightRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onDocumentSymbol:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentSymbolRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onWorkspaceSymbol:handler=>connection2.onRequest(vscode_languageserver_protocol_1.WorkspaceSymbolRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onWorkspaceSymbolResolve:handler=>connection2.onRequest(vscode_languageserver_protocol_1.WorkspaceSymbolResolveRequest.type,handler),onCodeAction:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CodeActionRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onCodeActionResolve:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CodeActionResolveRequest.type,(params,cancel)=>handler(params,cancel)),onCodeLens:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CodeLensRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onCodeLensResolve:handler=>connection2.onRequest(vscode_languageserver_protocol_1.CodeLensResolveRequest.type,(params,cancel)=>handler(params,cancel)),onDocumentFormatting:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentFormattingRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),onDocumentRangeFormatting:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentRangeFormattingRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),onDocumentOnTypeFormatting:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentOnTypeFormattingRequest.type,(params,cancel)=>handler(params,cancel)),onRenameRequest:handler=>connection2.onRequest(vscode_languageserver_protocol_1.RenameRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),onPrepareRename:handler=>connection2.onRequest(vscode_languageserver_protocol_1.PrepareRenameRequest.type,(params,cancel)=>handler(params,cancel)),onDocumentLinks:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentLinkRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onDocumentLinkResolve:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentLinkResolveRequest.type,(params,cancel)=>handler(params,cancel)),onDocumentColor:handler=>connection2.onRequest(vscode_languageserver_protocol_1.DocumentColorRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onColorPresentation:handler=>connection2.onRequest(vscode_languageserver_protocol_1.ColorPresentationRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onFoldingRanges:handler=>connection2.onRequest(vscode_languageserver_protocol_1.FoldingRangeRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onSelectionRanges:handler=>connection2.onRequest(vscode_languageserver_protocol_1.SelectionRangeRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),(0,progress_1.attachPartialResult)(connection2,params))),onExecuteCommand:handler=>connection2.onRequest(vscode_languageserver_protocol_1.ExecuteCommandRequest.type,(params,cancel)=>handler(params,cancel,(0,progress_1.attachWorkDone)(connection2,params),void 0)),dispose:()=>connection2.dispose()};for(let remote of allRemotes)remote.attach(protocolConnection);return connection2.onRequest(vscode_languageserver_protocol_1.InitializeRequest.type,params=>{watchDog.initialize(params),Is3.string(params.trace)&&(tracer.trace=vscode_languageserver_protocol_1.Trace.fromString(params.trace));for(let remote of allRemotes)remote.initialize(params.capabilities);if(initializeHandler){let result=initializeHandler(params,new vscode_languageserver_protocol_1.CancellationTokenSource().token,(0,progress_1.attachWorkDone)(connection2,params),void 0);return asPromise(result).then(value=>{if(value instanceof vscode_languageserver_protocol_1.ResponseError)return value;let result2=value;result2||(result2={capabilities:{}});let capabilities=result2.capabilities;capabilities||(capabilities={},result2.capabilities=capabilities),capabilities.textDocumentSync===void 0||capabilities.textDocumentSync===null?capabilities.textDocumentSync=Is3.number(protocolConnection.__textDocumentSync)?protocolConnection.__textDocumentSync:vscode_languageserver_protocol_1.TextDocumentSyncKind.None:!Is3.number(capabilities.textDocumentSync)&&!Is3.number(capabilities.textDocumentSync.change)&&(capabilities.textDocumentSync.change=Is3.number(protocolConnection.__textDocumentSync)?protocolConnection.__textDocumentSync:vscode_languageserver_protocol_1.TextDocumentSyncKind.None);for(let remote of allRemotes)remote.fillServerCapabilities(capabilities);return result2})}else{let result={capabilities:{textDocumentSync:vscode_languageserver_protocol_1.TextDocumentSyncKind.None}};for(let remote of allRemotes)remote.fillServerCapabilities(result.capabilities);return result}}),connection2.onRequest(vscode_languageserver_protocol_1.ShutdownRequest.type,()=>{if(watchDog.shutdownReceived=!0,shutdownHandler)return shutdownHandler(new vscode_languageserver_protocol_1.CancellationTokenSource().token)}),connection2.onNotification(vscode_languageserver_protocol_1.ExitNotification.type,()=>{try{exitHandler&&exitHandler()}finally{watchDog.shutdownReceived?watchDog.exit(0):watchDog.exit(1)}}),connection2.onNotification(vscode_languageserver_protocol_1.SetTraceNotification.type,params=>{tracer.trace=vscode_languageserver_protocol_1.Trace.fromString(params.value)}),protocolConnection}exports.createConnection=createConnection2}});var require_api6=__commonJS({"server/node_modules/vscode-languageserver/lib/common/api.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__exportStar=exports&&exports.__exportStar||function(m2,exports2){for(var p in m2)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m2,p)};Object.defineProperty(exports,"__esModule",{value:!0});exports.ProposedFeatures=exports.NotebookDocuments=exports.TextDocuments=exports.SemanticTokensBuilder=void 0;var semanticTokens_1=require_semanticTokens2();Object.defineProperty(exports,"SemanticTokensBuilder",{enumerable:!0,get:function(){return semanticTokens_1.SemanticTokensBuilder}});var ic=require_inlineCompletion_proposed2();__exportStar(require_main5(),exports);var textDocuments_1=require_textDocuments2();Object.defineProperty(exports,"TextDocuments",{enumerable:!0,get:function(){return textDocuments_1.TextDocuments}});var notebook_1=require_notebook2();Object.defineProperty(exports,"NotebookDocuments",{enumerable:!0,get:function(){return notebook_1.NotebookDocuments}});__exportStar(require_server2(),exports);var ProposedFeatures2;(function(ProposedFeatures3){ProposedFeatures3.all={__brand:"features",languages:ic.InlineCompletionFeature}})(ProposedFeatures2||(exports.ProposedFeatures=ProposedFeatures2={}))}});var require_browser2=__commonJS({"server/node_modules/vscode-languageserver-protocol/browser.js"(exports,module){"use strict";module.exports=require_main5()}});var require_main6=__commonJS({"server/node_modules/vscode-languageserver/lib/browser/main.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m2,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m2,k);(!desc||("get"in desc?!m2.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m2[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m2,k,k2){k2===void 0&&(k2=k),o[k2]=m2[k]})),__exportStar=exports&&exports.__exportStar||function(m2,exports2){for(var p in m2)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m2,p)};Object.defineProperty(exports,"__esModule",{value:!0});exports.createConnection=void 0;var api_1=require_api6();__exportStar(require_browser2(),exports);__exportStar(require_api6(),exports);var _shutdownReceived=!1,watchDog={initialize:_params=>{},get shutdownReceived(){return _shutdownReceived},set shutdownReceived(value){_shutdownReceived=value},exit:_code=>{}};function createConnection2(arg1,arg2,arg3,arg4){let factories,reader,writer,options;arg1!==void 0&&arg1.__brand==="features"&&(factories=arg1,arg1=arg2,arg2=arg3,arg3=arg4),api_1.ConnectionStrategy.is(arg1)||api_1.ConnectionOptions.is(arg1)?options=arg1:(reader=arg1,writer=arg2,options=arg3);let connectionFactory=logger=>(0,api_1.createProtocolConnection)(reader,writer,logger,options);return(0,api_1.createConnection)(connectionFactory,watchDog,factories)}exports.createConnection=createConnection2}});var require_browser3=__commonJS({"server/node_modules/vscode-languageserver/browser.js"(exports,module){"use strict";module.exports=require_main6()}});var import_node11=__toESM(require_main3());function readFileSync(_path,_enc){throw new Error("fs.readFileSync is not available in the browser")}function normalizeArray(parts,allowAboveRoot){let res=[];for(let p of parts)!p||p==="."||(p===".."?res.length&&res[res.length-1]!==".."?res.pop():allowAboveRoot&&res.push(".."):res.push(p));return res}function join(...parts){let joined=parts.filter(Boolean).join("/"),isAbsolute=joined.startsWith("/"),normalized=normalizeArray(joined.split("/"),!isAbsolute).join("/");return(isAbsolute?"/":"")+(normalized||(isAbsolute?"":"."))}function fileURLToPath(url){let href=typeof url=="string"?url:url.href;if(href.startsWith("file://")){let withoutScheme=href.slice(7),path=withoutScheme.startsWith("/")?withoutScheme:`/${withoutScheme}`;return decodeURIComponent(path)}return decodeURIComponent(href)}function pathToFileURL(path){let normalized=path.replace(/\\/g,"/"),encoded=(normalized.startsWith("/")?normalized:`/${normalized}`).split("/").map(encodeURIComponent).join("/");return new URL(`file://${encoded}`)}var Worker=class{constructor(_path,_opts){throw new Error("worker_threads is not available in the browser; using inline parsing")}on(_event,_cb){return this}postMessage(_value){}terminate(){return Promise.resolve(0)}};var FullTextDocument2=class _FullTextDocument{constructor(uri,languageId,version,content){this._uri=uri,this._languageId=languageId,this._version=version,this._content=content,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(range){if(range){let start=this.offsetAt(range.start),end=this.offsetAt(range.end);return this._content.substring(start,end)}return this._content}update(changes,version){for(let change of changes)if(_FullTextDocument.isIncremental(change)){let range=getWellformedRange(change.range),startOffset=this.offsetAt(range.start),endOffset=this.offsetAt(range.end);this._content=this._content.substring(0,startOffset)+change.text+this._content.substring(endOffset,this._content.length);let startLine=Math.max(range.start.line,0),endLine=Math.max(range.end.line,0),lineOffsets=this._lineOffsets,addedLineOffsets=computeLineOffsets(change.text,!1,startOffset);if(endLine-startLine===addedLineOffsets.length)for(let i=0,len=addedLineOffsets.length;i<len;i++)lineOffsets[i+startLine+1]=addedLineOffsets[i];else addedLineOffsets.length<1e4?lineOffsets.splice(startLine+1,endLine-startLine,...addedLineOffsets):this._lineOffsets=lineOffsets=lineOffsets.slice(0,startLine+1).concat(addedLineOffsets,lineOffsets.slice(endLine+1));let diff=change.text.length-(endOffset-startOffset);if(diff!==0)for(let i=startLine+1+addedLineOffsets.length,len=lineOffsets.length;i<len;i++)lineOffsets[i]=lineOffsets[i]+diff}else if(_FullTextDocument.isFull(change))this._content=change.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=version}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=computeLineOffsets(this._content,!0)),this._lineOffsets}positionAt(offset){offset=Math.max(Math.min(offset,this._content.length),0);let lineOffsets=this.getLineOffsets(),low=0,high=lineOffsets.length;if(high===0)return{line:0,character:offset};for(;low<high;){let mid=Math.floor((low+high)/2);lineOffsets[mid]>offset?high=mid:low=mid+1}let line=low-1;return offset=this.ensureBeforeEOL(offset,lineOffsets[line]),{line,character:offset-lineOffsets[line]}}offsetAt(position){let lineOffsets=this.getLineOffsets();if(position.line>=lineOffsets.length)return this._content.length;if(position.line<0)return 0;let lineOffset=lineOffsets[position.line];if(position.character<=0)return lineOffset;let nextLineOffset=position.line+1<lineOffsets.length?lineOffsets[position.line+1]:this._content.length,offset=Math.min(lineOffset+position.character,nextLineOffset);return this.ensureBeforeEOL(offset,lineOffset)}ensureBeforeEOL(offset,lineOffset){for(;offset>lineOffset&&isEOL(this._content.charCodeAt(offset-1));)offset--;return offset}get lineCount(){return this.getLineOffsets().length}static isIncremental(event){let candidate=event;return candidate!=null&&typeof candidate.text=="string"&&candidate.range!==void 0&&(candidate.rangeLength===void 0||typeof candidate.rangeLength=="number")}static isFull(event){let candidate=event;return candidate!=null&&typeof candidate.text=="string"&&candidate.range===void 0&&candidate.rangeLength===void 0}},TextDocument2;(function(TextDocument4){function create(uri,languageId,version,content){return new FullTextDocument2(uri,languageId,version,content)}TextDocument4.create=create;function update(document,changes,version){if(document instanceof FullTextDocument2)return document.update(changes,version),document;throw new Error("TextDocument.update: document must be created by TextDocument.create")}TextDocument4.update=update;function applyEdits(document,edits){let text=document.getText(),sortedEdits=mergeSort(edits.map(getWellformedEdit),(a,b)=>{let diff=a.range.start.line-b.range.start.line;return diff===0?a.range.start.character-b.range.start.character:diff}),lastModifiedOffset=0,spans=[];for(let e of sortedEdits){let startOffset=document.offsetAt(e.range.start);if(startOffset<lastModifiedOffset)throw new Error("Overlapping edit");startOffset>lastModifiedOffset&&spans.push(text.substring(lastModifiedOffset,startOffset)),e.newText.length&&spans.push(e.newText),lastModifiedOffset=document.offsetAt(e.range.end)}return spans.push(text.substr(lastModifiedOffset)),spans.join("")}TextDocument4.applyEdits=applyEdits})(TextDocument2||(TextDocument2={}));function mergeSort(data,compare){if(data.length<=1)return data;let p=data.length/2|0,left=data.slice(0,p),right=data.slice(p);mergeSort(left,compare),mergeSort(right,compare);let leftIdx=0,rightIdx=0,i=0;for(;leftIdx<left.length&&rightIdx<right.length;)compare(left[leftIdx],right[rightIdx])<=0?data[i++]=left[leftIdx++]:data[i++]=right[rightIdx++];for(;leftIdx<left.length;)data[i++]=left[leftIdx++];for(;rightIdx<right.length;)data[i++]=right[rightIdx++];return data}function computeLineOffsets(text,isAtLineStart,textOffset=0){let result=isAtLineStart?[textOffset]:[];for(let i=0;i<text.length;i++){let ch=text.charCodeAt(i);isEOL(ch)&&(ch===13&&i+1<text.length&&text.charCodeAt(i+1)===10&&i++,result.push(textOffset+i+1))}return result}function isEOL(char){return char===13||char===10}function getWellformedRange(range){let start=range.start,end=range.end;return start.line>end.line||start.line===end.line&&start.character>end.character?{start:end,end:start}:range}function getWellformedEdit(textEdit){let range=getWellformedRange(textEdit.range);return range!==textEdit.range?{newText:textEdit.newText,range}:textEdit}var __defProp2=Object.defineProperty,__name=(target,value)=>__defProp2(target,"name",{value,configurable:!0}),IntStream;(IntStream2=>{IntStream2.EOF=-1,IntStream2.UNKNOWN_SOURCE_NAME="<unknown>"})(IntStream||(IntStream={}));var Token;(Token22=>{Token22.INVALID_TYPE=0,Token22.EPSILON=-2,Token22.MIN_USER_TOKEN_TYPE=1,Token22.EOF=IntStream.EOF,Token22.DEFAULT_CHANNEL=0,Token22.HIDDEN_CHANNEL=1,Token22.MIN_USER_CHANNEL_VALUE=2})(Token||(Token={}));var isToken=__name(candidate=>{let token=candidate;return token.tokenSource!==void 0&&token.channel!==void 0},"isToken"),BitSet=class{static{__name(this,"BitSet")}data;constructor(data){data?this.data=new Uint32Array(data.map(value=>value>>>0)):this.data=new Uint32Array(1)}[Symbol.iterator](){let length=this.data.length,currentIndex=0,currentWord=this.data[currentIndex],words=this.data;return{[Symbol.iterator](){return this},next:__name(()=>{for(;currentIndex<length;)if(currentWord!==0){let t=currentWord&-currentWord,value=(currentIndex<<5)+this.bitCount(t-1);return currentWord^=t,{done:!1,value}}else currentIndex++,currentIndex<length&&(currentWord=words[currentIndex]);return{done:!0,value:void 0}},"next")}}clear(index2){index2===void 0?this.data=new Uint32Array:(this.resize(index2),this.data[index2>>>5]&=~(1<<index2))}or(set){let minCount=Math.min(this.data.length,set.data.length);for(let k=0;k<minCount;++k)this.data[k]|=set.data[k];if(this.data.length<set.data.length){this.resize((set.data.length<<5)-1);let c=set.data.length;for(let k=minCount;k<c;++k)this.data[k]=set.data[k]}}get(index2){if(index2<0)throw new RangeError("index cannot be negative");let slot=index2>>>5;return slot>=this.data.length?!1:(this.data[slot]&1<<index2%32)!==0}get length(){let result=0,c=this.data.length,w=this.data;for(let i=0;i<c;i++)result+=this.bitCount(w[i]);return result}values(){let result=new Array(this.length),pos=0,length=this.data.length;for(let k=0;k<length;++k){let w=this.data[k];for(;w!==0;){let t=w&-w;result[pos++]=(k<<5)+this.bitCount(t-1),w^=t}}return result}nextSetBit(fromIndex){if(fromIndex<0)throw new RangeError("index cannot be negative");for(let index2 of this)if(index2>=fromIndex)return index2}set(index2){if(index2<0)throw new RangeError("index cannot be negative");this.resize(index2),this.data[index2>>>5]|=1<<index2%32}toString(){return"{"+this.values().join(", ")+"}"}resize(index2){let count=index2+32>>>5;if(count<=this.data.length)return;let data=new Uint32Array(count);data.set(this.data),data.fill(0,this.data.length),this.data=data}bitCount(v){return v=v-(v>>1&1431655765),v=(v&858993459)+(v>>2&858993459),v=v+(v>>4)&252645135,v=v+(v>>8),v=v+(v>>16),v&63}},c1=3432918353,c2=461845907,r1=15,r2=13,m=5,n=3864292196,MurmurHash=class _MurmurHash{static{__name(this,"MurmurHash")}static defaultSeed=701;constructor(){}static initialize(seed=_MurmurHash.defaultSeed){return seed}static updateFromComparable(hash,value){return this.update(hash,value?.hashCode()??0)}static update(hash,value){return value=Math.imul(value,c1),value=value<<r1|value>>>32-r1,value=Math.imul(value,c2),hash=hash^value,hash=hash<<r2|hash>>>32-r2,hash=Math.imul(hash,m)+n,hash}static finish(hash,entryCount){return hash^=entryCount*4,hash^=hash>>>16,hash=Math.imul(hash,2246822507),hash^=hash>>>13,hash=Math.imul(hash,3266489909),hash^=hash>>>16,hash}static hashCode(value,seed){return _MurmurHash.finish(_MurmurHash.update(seed??_MurmurHash.defaultSeed,value),1)}},ObjectEqualityComparator=class _ObjectEqualityComparator{static{__name(this,"ObjectEqualityComparator")}static instance=new _ObjectEqualityComparator;hashCode(obj){return obj==null?0:obj.hashCode()}equals(a,b){return a==null?b==null:a.equals(b)}},DefaultEqualityComparator=class _DefaultEqualityComparator{static{__name(this,"DefaultEqualityComparator")}static instance=new _DefaultEqualityComparator;hashCode(obj){return obj==null?0:ObjectEqualityComparator.instance.hashCode(obj)}equals(a,b){return a==null?b==null:typeof a=="string"||typeof a=="number"?a===b:ObjectEqualityComparator.instance.equals(a,b)}},HashSet=class _HashSet{static{__name(this,"HashSet")}static defaultLoadFactor=.75;static initialCapacity=16;comparator;buckets;threshold;itemCount=0;constructor(comparatorOrSet,initialCapacity=_HashSet.initialCapacity){if(comparatorOrSet instanceof _HashSet){this.comparator=comparatorOrSet.comparator,this.buckets=comparatorOrSet.buckets.slice(0);for(let i=0;i<this.buckets.length;i++){let bucket=this.buckets[i];bucket&&(this.buckets[i]=bucket.slice(0))}this.itemCount=comparatorOrSet.itemCount,this.threshold=comparatorOrSet.threshold}else this.comparator=comparatorOrSet??DefaultEqualityComparator.instance,this.buckets=this.createBuckets(initialCapacity),this.threshold=Math.floor(_HashSet.initialCapacity*_HashSet.defaultLoadFactor)}getOrAdd(o){this.itemCount>this.threshold&&this.expand();let b=this.getBucket(o),bucket=this.buckets[b];if(!bucket)return bucket=[o],this.buckets[b]=bucket,++this.itemCount,o;for(let existing of bucket)if(this.comparator.equals(existing,o))return existing;return bucket.push(o),++this.itemCount,o}get(o){if(o==null)return o;let b=this.getBucket(o),bucket=this.buckets[b];if(bucket){for(let e of bucket)if(this.comparator.equals(e,o))return e}}remove(o){if(o==null)return!1;let b=this.getBucket(o),bucket=this.buckets[b];if(!bucket)return!1;for(let i=0;i<bucket.length;i++){let existing=bucket[i];if(this.comparator.equals(existing,o))return bucket.splice(i,1),--this.itemCount,!0}return!1}hashCode(){let hash=MurmurHash.initialize();for(let bucket of this.buckets)if(bucket!=null)for(let o of bucket){if(o==null)break;hash=MurmurHash.update(hash,this.comparator.hashCode(o))}return hash=MurmurHash.finish(hash,this.size),hash}equals(o){return o===this?!0:!(o instanceof _HashSet)||o.size!==this.size?!1:this.containsAll(o)}add(t){return this.getOrAdd(t)===t}contains(o){return this.containsFast(o)}containsFast(obj){return obj==null?!1:this.get(obj)!==void 0}*[Symbol.iterator](){yield*this.toArray()}toArray(){let a=new Array(this.size),i=0;for(let bucket of this.buckets)if(bucket!=null)for(let o of bucket){if(o==null)break;a[i++]=o}return a}containsAll(collection){if(collection instanceof _HashSet){for(let bucket of collection.buckets)if(bucket!=null)for(let o of bucket){if(o==null)break;if(!this.containsFast(o))return!1}}else for(let o of collection)if(!this.containsFast(o))return!1;return!0}addAll(c){let changed=!1;for(let o of c)this.getOrAdd(o)!==o&&(changed=!0);return changed}clear(){this.buckets=this.createBuckets(_HashSet.initialCapacity),this.itemCount=0,this.threshold=Math.floor(_HashSet.initialCapacity*_HashSet.defaultLoadFactor)}toString(){if(this.size===0)return"{}";let buf="{",first=!0;for(let bucket of this.buckets)if(bucket!=null)for(let o of bucket){if(o==null)break;first?first=!1:buf+=", ",buf+=o.toString()}return buf+="}",buf}toTableString(){let buf="";for(let bucket of this.buckets){if(bucket==null){buf+=`null
|
|
70
46
|
`;continue}buf+="[";let first=!0;for(let o of bucket)first?first=!1:buf+=" ",o==null?buf+="_":buf+=o.toString();buf+=`]
|
|
71
47
|
`}return buf}getBucket(o){return this.comparator.hashCode(o)&this.buckets.length-1}expand(){let old=this.buckets,newCapacity=this.buckets.length*2,newTable=this.createBuckets(newCapacity);this.buckets=newTable,this.threshold=Math.floor(newCapacity*_HashSet.defaultLoadFactor);for(let bucket of old)if(bucket)for(let o of bucket){let b=this.getBucket(o),newBucket=this.buckets[b];newBucket||(newBucket=[],this.buckets[b]=newBucket),newBucket.push(o)}}get size(){return this.itemCount}get isEmpty(){return this.itemCount===0}createBuckets(capacity){return new Array(capacity)}},Interval=class _Interval{static{__name(this,"Interval")}static INVALID_INTERVAL=new _Interval(-1,-2);static INTERVAL_POOL_MAX_VALUE=1e3;static cache=[];start;stop;cachedHashCode;constructor(start,stop){this.start=start,this.stop=stop,this.cachedHashCode=Math.imul(651+start,31)+stop}static of(a,b){return a!==b||a<0||a>_Interval.INTERVAL_POOL_MAX_VALUE?new _Interval(a,b):(_Interval.cache[a]||(_Interval.cache[a]=new _Interval(a,a)),_Interval.cache[a])}equals(o){return this.start===o.start&&this.stop===o.stop}hashCode(){return this.cachedHashCode}startsBeforeDisjoint(other){return this.start<other.start&&this.stop<other.start}startsBeforeNonDisjoint(other){return this.start<=other.start&&this.stop>=other.start}startsAfter(other){return this.start>other.start}startsAfterDisjoint(other){return this.start>other.stop}startsAfterNonDisjoint(other){return this.start>other.start&&this.start<=other.stop}disjoint(other){return this.startsBeforeDisjoint(other)||this.startsAfterDisjoint(other)}adjacent(other){return this.start===other.stop+1||this.stop===other.start-1}properlyContains(other){return other.start>=this.start&&other.stop<=this.stop}union(other){return _Interval.of(Math.min(this.start,other.start),Math.max(this.stop,other.stop))}intersection(other){return _Interval.of(Math.max(this.start,other.start),Math.min(this.stop,other.stop))}differenceNotProperlyContained(other){let diff=null;return other.startsBeforeNonDisjoint(this)?diff=_Interval.of(Math.max(this.start,other.stop+1),this.stop):other.startsAfterNonDisjoint(this)&&(diff=_Interval.of(this.start,other.start-1)),diff}toString(){return`${this.start}..${this.stop}`}get length(){return this.stop<this.start?0:this.stop-this.start+1}},Vocabulary=class _Vocabulary{static{__name(this,"Vocabulary")}static EMPTY_NAMES=[];static EMPTY_VOCABULARY=new _Vocabulary(_Vocabulary.EMPTY_NAMES,_Vocabulary.EMPTY_NAMES,_Vocabulary.EMPTY_NAMES);maxTokenType;literalNames;symbolicNames;displayNames;constructor(literalNames,symbolicNames,displayNames){this.literalNames=literalNames??_Vocabulary.EMPTY_NAMES,this.symbolicNames=symbolicNames??_Vocabulary.EMPTY_NAMES,this.displayNames=displayNames??_Vocabulary.EMPTY_NAMES,this.maxTokenType=Math.max(this.displayNames.length,Math.max(this.literalNames.length,this.symbolicNames.length))-1}static fromTokenNames(tokenNames){if(tokenNames==null||tokenNames.length===0)return _Vocabulary.EMPTY_VOCABULARY;let literalNames=[...tokenNames],symbolicNames=[...tokenNames];for(let i=0;i<tokenNames.length;i++){let tokenName=tokenNames[i];if(tokenName!=null){if(tokenName.length>0){let firstChar=tokenName.codePointAt(0);if(firstChar===39){symbolicNames[i]=null;continue}else if(firstChar>=65&&firstChar<=90){literalNames[i]=null;continue}}literalNames[i]=null,symbolicNames[i]=null}}return new _Vocabulary(literalNames,symbolicNames,tokenNames)}getMaxTokenType(){return this.maxTokenType}getLiteralName(tokenType){return tokenType>=0&&tokenType<this.literalNames.length?this.literalNames[tokenType]:null}getSymbolicName(tokenType){return tokenType>=0&&tokenType<this.symbolicNames.length?this.symbolicNames[tokenType]:tokenType===Token.EOF?"EOF":null}getDisplayName(tokenType){if(tokenType>=0&&tokenType<this.displayNames.length){let displayName=this.displayNames[tokenType];if(displayName!=null)return displayName}let literalName=this.getLiteralName(tokenType);if(literalName!=null)return literalName;let symbolicName=this.getSymbolicName(tokenType);return symbolicName??`${tokenType}`}getLiteralNames(){return this.literalNames}getSymbolicNames(){return this.symbolicNames}getDisplayNames(){return this.displayNames}},IntervalSet=class _IntervalSet{static{__name(this,"IntervalSet")}intervals=[];cachedHashCode;constructor(set){if(set)if(Array.isArray(set))for(let el of set)this.addOne(el);else this.addSet(set)}static of(a,b){let s=new _IntervalSet;return s.addRange(a,b),s}static or(sets){let result=new _IntervalSet;for(let set of sets)result.addSet(set);return result}[Symbol.iterator](){return this.intervals[Symbol.iterator]()}get(index2){return this.intervals[index2]}get minElement(){return this.intervals.length===0?Token.INVALID_TYPE:this.intervals[0].start}get maxElement(){return this.intervals.length===0?Token.INVALID_TYPE:this.intervals[this.intervals.length-1].stop}clear(){this.cachedHashCode=void 0,this.intervals=[]}addOne(v){this.addInterval(new Interval(v,v))}addRange(l,h){this.addInterval(new Interval(l,h))}addInterval(addition){if(this.cachedHashCode=void 0,this.intervals.length===0)this.intervals.push(addition);else{for(let pos=0;pos<this.intervals.length;pos++){let existing=this.intervals[pos];if(addition.equals(existing))return;if(addition.adjacent(existing)||!addition.disjoint(existing)){let bigger=addition.union(existing);this.intervals[pos]=bigger;for(let sub=pos+1;sub<this.intervals.length;){let next=this.intervals[sub];if(!bigger.adjacent(next)&&bigger.disjoint(next))break;this.intervals.splice(sub,1),this.intervals[pos]=bigger.union(next)}return}if(addition.startsBeforeDisjoint(existing)){this.intervals.splice(pos,0,addition);return}}this.intervals.push(addition)}}addSet(other){return other.intervals.forEach(toAdd=>this.addInterval(toAdd),this),this}complementWithVocabulary(vocabulary){let result=new _IntervalSet;return!vocabulary||vocabulary.length===0?result:(result.addSet(vocabulary),result.subtract(this))}complement(minElement,maxElement){let result=new _IntervalSet;return result.addInterval(new Interval(minElement,maxElement)),result.subtract(this)}or(sets){let result=new _IntervalSet;return result.addSet(this),sets.forEach(set=>result.addSet(set)),result}and(other){if(other.length===0)return new _IntervalSet;let myIntervals=this.intervals,theirIntervals=other.intervals,intersection,mySize=myIntervals.length,theirSize=theirIntervals.length,i=0,j=0;for(;i<mySize&&j<theirSize;){let mine=myIntervals[i],theirs=theirIntervals[j];mine.startsBeforeDisjoint(theirs)?i++:theirs.startsBeforeDisjoint(mine)?j++:mine.properlyContains(theirs)?(intersection||(intersection=new _IntervalSet),intersection.addInterval(mine.intersection(theirs)),j++):theirs.properlyContains(mine)?(intersection||(intersection=new _IntervalSet),intersection.addInterval(mine.intersection(theirs)),i++):mine.disjoint(theirs)||(intersection||(intersection=new _IntervalSet),intersection.addInterval(mine.intersection(theirs)),mine.startsAfterNonDisjoint(theirs)?j++:theirs.startsAfterNonDisjoint(mine)&&i++)}return intersection||new _IntervalSet}subtract(other){if(this.length===0)return new _IntervalSet;let result=new _IntervalSet(this);if(other.length===0)return result;let resultI=0,rightI=0;for(;resultI<result.intervals.length&&rightI<other.intervals.length;){let resultInterval=result.intervals[resultI],rightInterval=other.intervals[rightI];if(rightInterval.stop<resultInterval.start){rightI++;continue}if(rightInterval.start>resultInterval.stop){resultI++;continue}let beforeCurrent,afterCurrent;rightInterval.start>resultInterval.start&&(beforeCurrent=new Interval(resultInterval.start,rightInterval.start-1)),rightInterval.stop<resultInterval.stop&&(afterCurrent=new Interval(rightInterval.stop+1,resultInterval.stop)),beforeCurrent?afterCurrent?(result.intervals[resultI]=beforeCurrent,result.intervals.splice(resultI+1,0,afterCurrent),resultI++,rightI++):(result.intervals[resultI]=beforeCurrent,resultI++):afterCurrent?(result.intervals[resultI]=afterCurrent,rightI++):result.intervals.splice(resultI,1)}return result}contains(el){let n2=this.intervals.length,l=0,r=n2-1;for(;l<=r;){let m2=Math.floor((l+r)/2),interval=this.intervals[m2];if(interval.stop<el)l=m2+1;else if(interval.start>el)r=m2-1;else return!0}return!1}removeRange(toRemove){if(this.cachedHashCode=void 0,toRemove.start===toRemove.stop)this.removeOne(toRemove.start);else if(this.intervals!==null){let pos=0;for(let existing of this.intervals){if(toRemove.stop<=existing.start)return;if(toRemove.start>existing.start&&toRemove.stop<existing.stop){this.intervals[pos]=new Interval(existing.start,toRemove.start);let x=new Interval(toRemove.stop,existing.stop);this.intervals.splice(pos,0,x);return}else toRemove.start<=existing.start&&toRemove.stop>=existing.stop?(this.intervals.splice(pos,1),pos=pos-1):toRemove.start<existing.stop?this.intervals[pos]=new Interval(existing.start,toRemove.start):toRemove.stop<existing.stop&&(this.intervals[pos]=new Interval(toRemove.stop,existing.stop));pos+=1}}}removeOne(value){this.cachedHashCode=void 0;for(let i=0;i<this.intervals.length;i++){let existing=this.intervals[i];if(value<existing.start)return;if(value===existing.start&&value===existing.stop){this.intervals.splice(i,1);return}else if(value===existing.start){this.intervals[i]=new Interval(existing.start+1,existing.stop);return}else if(value===existing.stop){this.intervals[i]=new Interval(existing.start,existing.stop-1);return}else if(value<existing.stop){let replace=new Interval(existing.start,value-1);this.intervals[i]=new Interval(value+1,existing.stop),this.intervals.splice(i,0,replace);return}}}hashCode(){if(this.cachedHashCode===void 0){let hash=MurmurHash.initialize();for(let interval of this.intervals)hash=MurmurHash.update(hash,interval.start),hash=MurmurHash.update(hash,interval.stop);this.cachedHashCode=MurmurHash.finish(hash,this.intervals.length*2)}return this.cachedHashCode}equals(other){if(this===other)return!0;if(this.intervals.length!==other.intervals.length)return!1;for(let i=0;i<this.intervals.length;i++)if(!this.intervals[i].equals(other.intervals[i]))return!1;return!0}toString(elementsAreChar){if(this.intervals.length===0)return"{}";let result="";this.length>1&&(result+="{");for(let i=0;i<this.intervals.length;++i){let interval=this.intervals[i],start=interval.start,stop=interval.stop;start===stop?start===Token.EOF?result+="<EOF>":elementsAreChar?result+="'"+String.fromCodePoint(start)+"'":result+=start:elementsAreChar?result+="'"+String.fromCodePoint(start)+"'..'"+String.fromCodePoint(stop)+"'":result+=start+".."+stop,i<this.intervals.length-1&&(result+=", ")}return this.length>1&&(result+="}"),result}toStringWithVocabulary(vocabulary){if(this.intervals.length===0)return"{}";let result="";this.length>1&&(result+="{");for(let i=0;i<this.intervals.length;++i){let interval=this.intervals[i],start=interval.start,stop=interval.stop;if(start===stop)start===Token.EOF?result+="<EOF>":result+=this.elementName(vocabulary,start);else for(let i2=start;i2<=stop;++i2)i2>start&&(result+=", "),result+=this.elementName(vocabulary,i2);i<this.intervals.length-1&&(result+=", ")}return this.length>1&&(result+="}"),result}toStringWithRuleNames(ruleNames){if(this.intervals.length===0)return"{}";let result="";this.length>1&&(result+="{");let vocabulary=Vocabulary.fromTokenNames(ruleNames);for(let i=0;i<this.intervals.length;++i){let interval=this.intervals[i],start=interval.start,stop=interval.stop;if(start===stop)start===Token.EOF?result+="<EOF>":result+=this.elementName(vocabulary,start);else for(let i2=start;i2<=stop;++i2)i2>start&&(result+=", "),result+=this.elementName(vocabulary,i2);i<this.intervals.length-1&&(result+=", ")}return this.length>1&&(result+="}"),result}toArray(){let data=[];for(let interval of this.intervals)for(let j=interval.start;j<=interval.stop;j++)data.push(j);return data}get length(){let result=0;for(let interval of this.intervals)result+=interval.length;return result}elementName(vocabulary,token){return token===Token.EOF?"<EOF>":token===Token.EPSILON?"<EPSILON>":vocabulary.getDisplayName(token)}};var valueToString=__name(v=>v===null?"null":v,"valueToString"),arrayToString=__name(value=>Array.isArray(value)?"["+value.map(valueToString).join(", ")+"]":"null","arrayToString"),equalArrays=__name((a,b)=>{if(a===b)return!0;if(a.length!==b.length)return!1;for(let i=0;i<a.length;i++){let left=a[i],right=b[i];if(left!==right&&(!left||!left.equals(right)))return!1}return!0},"equalArrays"),equalNumberArrays=__name((a,b)=>{if(a===b)return!0;if(a.length!==b.length)return!1;for(let i=0;i<a.length;i++)if(a[i]!==b[i])return!1;return!0},"equalNumberArrays"),escapeWhitespace=__name((s,escapeSpaces=!1)=>(s=s.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r"),escapeSpaces&&(s=s.replace(/ /g,"\xB7")),s),"escapeWhitespace"),SemanticContext=class _SemanticContext{static{__name(this,"SemanticContext")}cachedHashCode;static andContext(a,b){if(a===null||a===_SemanticContext.NONE)return b;if(b===null||b===_SemanticContext.NONE)return a;let result=new AND(a,b);return result.operands.length===1?result.operands[0]:result}static orContext(a,b){if(a===null)return b;if(b===null)return a;if(a===_SemanticContext.NONE||b===_SemanticContext.NONE)return _SemanticContext.NONE;let result=new OR(a,b);return result.operands.length===1?result.operands[0]:result}static filterPrecedencePredicates(set){let result=[];for(let context of set)context instanceof _SemanticContext.PrecedencePredicate&&result.push(context);return result}evalPrecedence(_parser,_parserCallStack){return this}},AND=class _AND extends SemanticContext{static{__name(this,"AND")}operands;constructor(a,b){super();let operands=new HashSet;a instanceof _AND?a.operands.forEach(o=>{operands.add(o)}):operands.add(a),b instanceof _AND?b.operands.forEach(o=>{operands.add(o)}):operands.add(b);let precedencePredicates=SemanticContext.filterPrecedencePredicates(operands);if(precedencePredicates.length>0){let reduced=null;precedencePredicates.forEach(p=>{(reduced===null||p.precedence<reduced.precedence)&&(reduced=p)}),reduced&&operands.add(reduced)}this.operands=operands.toArray()}equals(other){return this===other?!0:other instanceof _AND?equalArrays(this.operands,other.operands):!1}hashCode(){if(this.cachedHashCode===void 0){let hash=MurmurHash.initialize();for(let operand of this.operands)hash=MurmurHash.updateFromComparable(hash,operand);hash=MurmurHash.update(hash,3813686060),this.cachedHashCode=MurmurHash.finish(hash,this.operands.length+1)}return this.cachedHashCode}evaluate(parser,parserCallStack){for(let operand of this.operands)if(!operand.evaluate(parser,parserCallStack))return!1;return!0}evalPrecedence(parser,parserCallStack){let differs=!1,operands=[];for(let context of this.operands){let evaluated=context.evalPrecedence(parser,parserCallStack);if(differs||=evaluated!==context,evaluated===null)return null;evaluated!==SemanticContext.NONE&&operands.push(evaluated)}if(!differs)return this;if(operands.length===0)return SemanticContext.NONE;let result=null;return operands.forEach(o=>{result=result===null?o:SemanticContext.andContext(result,o)}),result}toString(){let s=this.operands.map(o=>o.toString());return(s.length>3?s.slice(3):s).join("&&")}},OR=class _OR extends SemanticContext{static{__name(this,"OR")}operands;constructor(a,b){super();let operands=new HashSet;a instanceof _OR?a.operands.forEach(o=>{operands.add(o)}):operands.add(a),b instanceof _OR?b.operands.forEach(o=>{operands.add(o)}):operands.add(b);let precedencePredicates=SemanticContext.filterPrecedencePredicates(operands);if(precedencePredicates.length>0){let s=precedencePredicates.sort((a2,b2)=>a2.compareTo(b2)),reduced=s[s.length-1];operands.add(reduced)}this.operands=operands.toArray()}equals(other){return this===other?!0:other instanceof _OR?equalArrays(this.operands,other.operands):!1}hashCode(){if(this.cachedHashCode===void 0){let hash=MurmurHash.initialize();for(let operand of this.operands)hash=MurmurHash.updateFromComparable(hash,operand);hash=MurmurHash.update(hash,3383313031),this.cachedHashCode=MurmurHash.finish(hash,this.operands.length+1)}return this.cachedHashCode}evaluate(parser,parserCallStack){for(let operand of this.operands)if(operand.evaluate(parser,parserCallStack))return!0;return!1}evalPrecedence(parser,parserCallStack){let differs=!1,operands=[];for(let context of this.operands){let evaluated=context.evalPrecedence(parser,parserCallStack);if(differs||=evaluated!==context,evaluated===SemanticContext.NONE)return SemanticContext.NONE;evaluated!==null&&operands.push(evaluated)}if(!differs)return this;if(operands.length===0)return null;let result=null;return operands.forEach(o=>{result=result===null?o:SemanticContext.orContext(result,o)}),result}toString(){let s=this.operands.map(o=>o.toString());return(s.length>3?s.slice(3):s).join("||")}};(SemanticContext2=>{class Predicate extends SemanticContext2{static{__name(this,"Predicate")}ruleIndex;predIndex;isCtxDependent;constructor(ruleIndex,predIndex,isCtxDependent){super(),this.ruleIndex=ruleIndex??-1,this.predIndex=predIndex??-1,this.isCtxDependent=isCtxDependent??!1}evaluate(parser,outerContext){let localctx=this.isCtxDependent?outerContext:null;return parser.sempred(localctx,this.ruleIndex,this.predIndex)}hashCode(){if(this.cachedHashCode===void 0){let hashCode=MurmurHash.initialize();hashCode=MurmurHash.update(hashCode,this.ruleIndex),hashCode=MurmurHash.update(hashCode,this.predIndex),hashCode=MurmurHash.update(hashCode,this.isCtxDependent?1:0),hashCode=MurmurHash.finish(hashCode,3),this.cachedHashCode=hashCode}return this.cachedHashCode}equals(other){return this===other?!0:this.ruleIndex===other.ruleIndex&&this.predIndex===other.predIndex&&this.isCtxDependent===other.isCtxDependent}toString(){return"{"+this.ruleIndex+":"+this.predIndex+"}?"}}SemanticContext2.Predicate=Predicate;class PrecedencePredicate extends SemanticContext2{static{__name(this,"PrecedencePredicate")}precedence;constructor(precedence){super(),this.precedence=precedence??0}evaluate(parser,outerContext){return parser.precpred(outerContext,this.precedence)}evalPrecedence(parser,outerContext){return parser.precpred(outerContext??null,this.precedence)?SemanticContext2.NONE:null}compareTo(other){return this.precedence-other.precedence}hashCode(){return 31+this.precedence}equals(other){return this===other?!0:this.precedence===other.precedence}toString(){return"{"+this.precedence+">=prec}?"}}SemanticContext2.PrecedencePredicate=PrecedencePredicate,SemanticContext2.NONE=new Predicate})(SemanticContext||(SemanticContext={}));var ATNConfig=class _ATNConfig{static{__name(this,"ATNConfig")}state;alt;reachesIntoOuterContext=!1;precedenceFilterSuppressed=!1;get semanticContext(){return this.#semanticContext}cachedHashCode;#context=null;#semanticContext;constructor(c,state,context,semanticContext){this.state=state,this.alt=c.alt,this.context=context,this.#semanticContext=semanticContext??SemanticContext.NONE,this.reachesIntoOuterContext=c.reachesIntoOuterContext,c.precedenceFilterSuppressed!==void 0&&(this.precedenceFilterSuppressed=c.precedenceFilterSuppressed)}static duplicate(old,semanticContext){return new _ATNConfig(old,old.state,old.context,semanticContext??old.semanticContext)}static createWithContext(state,alt,context,semanticContext){return new _ATNConfig({alt},state,context,semanticContext)}static createWithConfig(state,config,context){return new _ATNConfig(config,state,context??config.context,config.semanticContext)}static createWithSemanticContext(state,c,semanticContext){return new _ATNConfig(c,state??c.state,c.context,semanticContext)}hashCode(){if(this.cachedHashCode===void 0){let hashCode=MurmurHash.initialize(7);hashCode=MurmurHash.update(hashCode,this.state.stateNumber),hashCode=MurmurHash.update(hashCode,this.alt),hashCode=MurmurHash.updateFromComparable(hashCode,this.#context),hashCode=MurmurHash.updateFromComparable(hashCode,this.semanticContext),hashCode=MurmurHash.finish(hashCode,4),this.cachedHashCode=hashCode}return this.cachedHashCode}get context(){return this.#context}set context(context){this.#context=context,this.cachedHashCode=void 0}equals(other){return this===other?!0:this.state.stateNumber===other.state.stateNumber&&this.alt===other.alt&&(this.context===null?other.context===null:this.context.equals(other.context))&&this.semanticContext.equals(other.semanticContext)&&this.precedenceFilterSuppressed===other.precedenceFilterSuppressed}toString(_recog,showAlt=!0){let alt="";return showAlt&&(alt=","+this.alt),"("+this.state+alt+(this.context!==null?",["+this.context.toString()+"]":"")+(this.semanticContext!==SemanticContext.NONE?","+this.semanticContext.toString():"")+(this.reachesIntoOuterContext?",up="+this.reachesIntoOuterContext:"")+")"}},ATNState=class _ATNState{static{__name(this,"ATNState")}static INVALID_STATE_NUMBER=-1;static INVALID_TYPE=0;static BASIC=1;static RULE_START=2;static BLOCK_START=3;static PLUS_BLOCK_START=4;static STAR_BLOCK_START=5;static TOKEN_START=6;static RULE_STOP=7;static BLOCK_END=8;static STAR_LOOP_BACK=9;static STAR_LOOP_ENTRY=10;static PLUS_LOOP_BACK=11;static LOOP_END=12;static stateType=_ATNState.INVALID_STATE_NUMBER;stateNumber=0;ruleIndex=0;epsilonOnlyTransitions=!1;nextTokenWithinRule;transitions=[];hashCode(){return this.stateNumber}equals(other){return this.stateNumber===other.stateNumber}toString(){return`${this.stateNumber}`}addTransitionAtIndex(index2,transition){this.transitions.length===0?this.epsilonOnlyTransitions=transition.isEpsilon:this.epsilonOnlyTransitions!==transition.isEpsilon&&(this.epsilonOnlyTransitions=!1),this.transitions.splice(index2,0,transition)}addTransition(transition){this.transitions.length===0?this.epsilonOnlyTransitions=transition.isEpsilon:this.epsilonOnlyTransitions!==transition.isEpsilon&&(this.epsilonOnlyTransitions=!1),this.transitions.push(transition)}setTransition(i,e){this.transitions.splice(i,1,e)}removeTransition(index2){return this.transitions.splice(index2,1)[0]}},PredictionContext=class _PredictionContext{static{__name(this,"PredictionContext")}static EMPTY_RETURN_STATE=2147483647;static traceATNSimulator=!1;cachedHashCode;constructor(cachedHashCode){this.cachedHashCode=cachedHashCode}static calculateEmptyHashCode(){let hash=MurmurHash.initialize(31);return hash=MurmurHash.finish(hash,0),hash}static calculateHashCodeSingle(parent,returnState){let hash=MurmurHash.initialize(31);return hash=MurmurHash.updateFromComparable(hash,parent),hash=MurmurHash.update(hash,returnState),hash=MurmurHash.finish(hash,2),hash}static calculateHashCodeList(parents,returnStates){let hash=MurmurHash.initialize(31);for(let parent of parents)hash=MurmurHash.updateFromComparable(hash,parent);for(let returnState of returnStates)hash=MurmurHash.update(hash,returnState);return hash=MurmurHash.finish(hash,2*parents.length),hash}isEmpty(){return!1}hasEmptyPath(){return this.getReturnState(this.length-1)===_PredictionContext.EMPTY_RETURN_STATE}hashCode(){return this.cachedHashCode}toString(_recog){return""}},SingletonPredictionContext=class _SingletonPredictionContext extends PredictionContext{static{__name(this,"SingletonPredictionContext")}parent;returnState;constructor(parent,returnState){super(parent?PredictionContext.calculateHashCodeSingle(parent,returnState):PredictionContext.calculateEmptyHashCode()),this.parent=parent??null,this.returnState=returnState}getParent(_index){return this.parent}getReturnState(_index){return this.returnState}equals(other){return this===other?!0:!(other instanceof _SingletonPredictionContext)||this.hashCode()!==other.hashCode()||this.returnState!==other.returnState?!1:this.parent==null?other.parent==null:this.parent.equals(other.parent)}toString(){let up=this.parent===null?"":this.parent.toString();return up.length===0?this.returnState===PredictionContext.EMPTY_RETURN_STATE?"$":""+this.returnState:""+this.returnState+" "+up}get length(){return 1}},EmptyPredictionContext=class _EmptyPredictionContext extends SingletonPredictionContext{static{__name(this,"EmptyPredictionContext")}static instance=new _EmptyPredictionContext;constructor(){super(void 0,PredictionContext.EMPTY_RETURN_STATE)}isEmpty(){return!0}getParent(){return null}getReturnState(){return this.returnState}equals(other){return this===other}toString(){return"$"}},Transition=class{static{__name(this,"Transition")}static INVALID=0;static EPSILON=1;static RANGE=2;static RULE=3;static PREDICATE=4;static ATOM=5;static ACTION=6;static SET=7;static NOT_SET=8;static WILDCARD=9;static PRECEDENCE=10;target;constructor(target){this.target=target}get isEpsilon(){return!1}get label(){return null}toString(){return""}},SetTransition=class extends Transition{static{__name(this,"SetTransition")}set;constructor(target,set){super(target),set?this.set=set:this.set=IntervalSet.of(Token.INVALID_TYPE,Token.INVALID_TYPE)}get transitionType(){return Transition.SET}get label(){return this.set}matches(symbol,_minVocabSymbol,_maxVocabSymbol){return this.set.contains(symbol)}toString(){return this.set.toString()}},NotSetTransition=class extends SetTransition{static{__name(this,"NotSetTransition")}get transitionType(){return Transition.NOT_SET}matches(symbol,minVocabSymbol,maxVocabSymbol){return symbol>=minVocabSymbol&&symbol<=maxVocabSymbol&&!super.matches(symbol,minVocabSymbol,maxVocabSymbol)}toString(){return"~"+super.toString()}},MapKeyEqualityComparator=class{static{__name(this,"MapKeyEqualityComparator")}keyComparator;constructor(keyComparator){this.keyComparator=keyComparator}hashCode(obj){return this.keyComparator.hashCode(obj.key)}equals(a,b){return this.keyComparator.equals(a.key,b.key)}},HashMap=class _HashMap{static{__name(this,"HashMap")}backingStore;constructor(keyComparer){keyComparer instanceof _HashMap?this.backingStore=new HashSet(keyComparer.backingStore):(keyComparer=keyComparer??DefaultEqualityComparator.instance,this.backingStore=new HashSet(new MapKeyEqualityComparator(keyComparer)))}clear(){this.backingStore.clear()}containsKey(key){return this.backingStore.contains({key})}get(key){let bucket=this.backingStore.get({key});if(bucket)return bucket.value}get isEmpty(){return this.backingStore.isEmpty}set(key,value){let element=this.backingStore.get({key,value}),result;return element?(result=element.value,element.value=value):this.backingStore.add({key,value}),result}setIfAbsent(key,value){let element=this.backingStore.get({key,value}),result;return element?result=element.value:this.backingStore.add({key,value}),result}keys(){return this.backingStore.toArray().map(bucket=>bucket.key)}values(){return this.backingStore.toArray().map(bucket=>bucket.value)}get size(){return this.backingStore.size}hashCode(){return this.backingStore.hashCode()}equals(o){return this.backingStore.equals(o.backingStore)}},TerminalNode=class{static{__name(this,"TerminalNode")}parent=null;symbol;constructor(symbol){this.symbol=symbol}getChild(_i){return null}getSymbol(){return this.symbol}getPayload(){return this.symbol}getSourceInterval(){if(this.symbol===null)return Interval.INVALID_INTERVAL;let tokenIndex=this.symbol.tokenIndex;return new Interval(tokenIndex,tokenIndex)}getChildCount(){return 0}accept(visitor){return visitor.visitTerminal(this)}getText(){return this.symbol?.text??""}toString(){return this.symbol?.type===Token.EOF?"<EOF>":this.symbol?.text??""}toStringTree(){return this.toString()}},ErrorNode=class extends TerminalNode{static{__name(this,"ErrorNode")}accept(visitor){return visitor.visitErrorNode(this)}},CommonToken=class _CommonToken{static{__name(this,"CommonToken")}static EMPTY_SOURCE=[null,null];source;tokenIndex;start;stop;type;line;column;channel;#text;constructor(details){this.type=details.type,this.source=details.source,this.tokenIndex=details.tokenIndex??-1,this.line=details.line??0,this.column=details.column??-1,this.channel=details.channel??Token.DEFAULT_CHANNEL,this.start=details.start??0,this.stop=details.stop??0,this.#text=details.text,details.line===void 0&&details.source[0]!==null&&(this.line=details.source[0].line),details.column===void 0&&details.source[0]!==null&&(this.column=details.source[0].column)}static fromToken(token){let source=[token.tokenSource,token.inputStream];return new _CommonToken({type:token.type,line:token.line,tokenIndex:token.tokenIndex,column:token.column,channel:token.channel,start:token.start,stop:token.stop,text:token.text,source})}static fromType(type,text){return new _CommonToken({type,text,source:_CommonToken.EMPTY_SOURCE})}static fromSource(source,type,channel,start,stop){return new _CommonToken({type,channel,start,stop,source})}get tokenSource(){return this.source[0]}get inputStream(){return this.source[1]}set inputStream(input){this.source[1]=input}clone(){return new _CommonToken({source:this.source,type:this.type,channel:this.channel,start:this.start,stop:this.stop,tokenIndex:this.tokenIndex,line:this.line,column:this.column,text:this.#text})}toString(recognizer){let channelStr="";this.channel>0&&(channelStr=",channel="+this.channel);let text=this.text;text?(text=text.replace(/\n/g,"\\n"),text=text.replace(/\r/g,"\\r"),text=text.replace(/\t/g,"\\t")):text="<no text>";let typeString=String(this.type);return recognizer&&(typeString=recognizer.vocabulary.getDisplayName(this.type)??"<unknown>"),"[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+text+"',<"+typeString+">"+channelStr+","+this.line+":"+this.column+"]"}get text(){if(this.#text!==void 0)return this.#text;let input=this.inputStream;if(!input)return;let n2=input.size;return this.start<n2&&this.stop<n2?input.getTextFromRange(this.start,this.stop):"<EOF>"}set text(text){this.#text=text}setText(text){this.#text=text}setType(ttype){this.type=ttype}setLine(line){this.line=line}setCharPositionInLine(pos){this.column=pos}setChannel(channel){this.channel=channel}setTokenIndex(index2){this.tokenIndex=index2}},Trees=class _Trees{static{__name(this,"Trees")}static toStringTree(tree,ruleNames,recog){ruleNames=ruleNames??null,recog&&(ruleNames=recog.ruleNames);let s=_Trees.getNodeText(tree,ruleNames);s=escapeWhitespace(s,!1);let c=tree.getChildCount();if(c===0)return s;let res="("+s+" ";c>0&&(s=_Trees.toStringTree(tree.getChild(0),ruleNames),res=res.concat(s));for(let i=1;i<c;i++)s=_Trees.toStringTree(tree.getChild(i),ruleNames),res=res.concat(" "+s);return res=res.concat(")"),res}static getNodeText(t,ruleNames,recog){if(ruleNames=ruleNames??null,recog&&(ruleNames=recog.ruleNames),ruleNames!==null)if(t instanceof ParserRuleContext){let altNumber=t.ruleContext.getAltNumber();return altNumber!==0?ruleNames[t.ruleIndex]+":"+altNumber:ruleNames[t.ruleIndex]}else{if(t instanceof ErrorNode)return t.toString();if(t instanceof TerminalNode)return t.symbol.text}let payload=t.getPayload();return isToken(payload)?payload.text:String(t.getPayload())}static getChildren(t){let list=[];for(let i=0;i<t.getChildCount();i++)list.push(t.getChild(i));return list}static getAncestors(t){if(t.parent===null)return[];let ancestors=[],p=t.parent;for(;p!==null;)ancestors=[p].concat(ancestors),p=p.parent;return ancestors}static isAncestorOf(t,u){if(t===null||u===null||t.parent===null)return!1;let p=u.parent;for(;p!==null;){if(t===p)return!0;p=p.parent}return!1}static findAllTokenNodes(t,ttype){return _Trees.findAllNodes(t,ttype,!0)}static findAllRuleNodes(t,ruleIndex){return _Trees.findAllNodes(t,ruleIndex,!1)}static findAllNodes(t,index2,findTokens){let nodes=[];return _Trees.doFindAllNodes(t,index2,findTokens,nodes),nodes}static descendants(t){let nodes=[t];for(let i=0;i<t.getChildCount();i++)nodes=nodes.concat(_Trees.descendants(t.getChild(i)));return nodes}static getRootOfSubtreeEnclosingRegion(t,startTokenIndex,stopTokenIndex){let n2=t.getChildCount();for(let i=0;i<n2;i++){let child=t.getChild(i),r=this.getRootOfSubtreeEnclosingRegion(child,startTokenIndex,stopTokenIndex);if(r!==null)return r}return t instanceof ParserRuleContext&&startTokenIndex>=t.start.tokenIndex&&(t.stop===null||stopTokenIndex<=t.stop.tokenIndex)?t:null}static stripChildrenOutOfRange(t,root,startIndex,stopIndex){if(t!==null)for(let i=0;i<t.getChildCount();i++){let child=t.getChild(i),range=child.getSourceInterval();if(t instanceof ParserRuleContext&&(range.stop<startIndex||range.start>stopIndex)&&this.isAncestorOf(child,root)){let abbrev=CommonToken.fromType(Token.INVALID_TYPE,"...");t.children[i]=new TerminalNode(abbrev)}}}static doFindAllNodes(t,index2,findTokens,nodes){findTokens&&t instanceof TerminalNode?t.symbol?.type===index2&&nodes.push(t):!findTokens&&t instanceof ParserRuleContext&&t.ruleIndex===index2&&nodes.push(t);for(let i=0;i<t.getChildCount();i++)_Trees.doFindAllNodes(t.getChild(i),index2,findTokens,nodes)}},ParserRuleContext=class _ParserRuleContext{static{__name(this,"ParserRuleContext")}static empty=new _ParserRuleContext(null);start=null;stop=null;children=[];invokingState;parent;constructor(parent,invokingStateNumber=-1){this.parent=parent,this.invokingState=invokingStateNumber}copyFrom(ctx){this.parent=ctx.parent,this.invokingState=ctx.invokingState,this.children.slice(0,this.children.length),this.start=ctx.start,this.stop=ctx.stop,ctx.children&&ctx.children.forEach(child=>{child instanceof ErrorNode&&(this.children.push(child),child.parent=this)})}enterRule(_listener){}exitRule(_listener){}addChild(child){return this.children.push(child),child}removeLastChild(){this.children.pop()}addTokenNode(token){let node=new TerminalNode(token);return this.children.push(node),node.parent=this,node}addErrorNode(errorNode){return errorNode.parent=this,this.children.push(errorNode),errorNode}getChild(i,type){if(i<0||i>=this.children.length)return null;if(!type)return this.children[i];for(let child of this.children)if(child instanceof type){if(i===0)return child;i-=1}return null}getToken(ttype,i){if(i<0||i>=this.children.length)return null;for(let child of this.children)if("symbol"in child&&child.symbol?.type===ttype){if(i===0)return child;i-=1}return null}getTokens(ttype){let tokens=[];for(let child of this.children)"symbol"in child&&child.symbol?.type===ttype&&tokens.push(child);return tokens}getRuleContext(index2,ctxType){return this.getChild(index2,ctxType)}getRuleContexts(ctxType){let contexts=[];for(let child of this.children)child instanceof ctxType&&contexts.push(child);return contexts}getChildCount(){return this.children.length}getSourceInterval(){return this.start===null?Interval.INVALID_INTERVAL:this.stop===null||this.stop.tokenIndex<this.start.tokenIndex?new Interval(this.start.tokenIndex,this.start.tokenIndex-1):new Interval(this.start.tokenIndex,this.stop.tokenIndex)}depth(){let n2=0,p=this;for(;p!==null;)p=p.parent,n2+=1;return n2}isEmpty(){return this.invokingState===-1}get ruleContext(){return this}get ruleIndex(){return-1}getPayload(){return this}getText(){return this.children.length===0?"":this.children.map(child=>child.getText()).join("")}getAltNumber(){return ATN.INVALID_ALT_NUMBER}setAltNumber(_altNumber){}accept(visitor){return visitor.visitChildren(this)}toStringTree(...args){return args.length<2?Trees.toStringTree(this,null,args[0]):Trees.toStringTree(this,args[0],args[1])}toString(ruleNames,stop){ruleNames=ruleNames??null,stop=stop??null;let p=this,s="[";for(;p!==null&&p!==stop;){if(ruleNames===null)p.isEmpty()||(s+=p.invokingState);else{let ri=p.ruleIndex,ruleName=ri>=0&&ri<ruleNames.length?ruleNames[ri]:""+ri;s+=ruleName}p.parent!==null&&(ruleNames!==null||!p.parent.isEmpty())&&(s+=" "),p=p.parent}return s+="]",s}},ArrayPredictionContext=class _ArrayPredictionContext extends PredictionContext{static{__name(this,"ArrayPredictionContext")}parents=[];returnStates=[];constructor(parents,returnStates){return super(PredictionContext.calculateHashCodeList(parents,returnStates)),this.parents=parents,this.returnStates=returnStates,this}isEmpty(){return this.returnStates[0]===PredictionContext.EMPTY_RETURN_STATE}get length(){return this.returnStates.length}getParent(index2){return this.parents[index2]}getReturnState(index2){return this.returnStates[index2]}equals(other){return this===other?!0:!(other instanceof _ArrayPredictionContext)||this.hashCode()!==other.hashCode()?!1:equalNumberArrays(this.returnStates,other.returnStates)&&equalArrays(this.parents,other.parents)}toString(){if(this.isEmpty())return"[]";let entries=[];for(let i=0;i<this.returnStates.length;i++){if(this.returnStates[i]===PredictionContext.EMPTY_RETURN_STATE){entries.push("$");continue}entries.push(this.returnStates[i].toString()),this.parents[i]?entries.push(this.parents[i].toString()):entries.push("null")}return`[${entries.join(", ")}]`}},createSingletonPredictionContext=__name((parent,returnState)=>returnState===PredictionContext.EMPTY_RETURN_STATE&&parent===null?EmptyPredictionContext.instance:new SingletonPredictionContext(parent,returnState),"createSingletonPredictionContext"),predictionContextFromRuleContext=__name((atn,outerContext)=>{if(outerContext||(outerContext=ParserRuleContext.empty),!outerContext.parent||outerContext===ParserRuleContext.empty)return EmptyPredictionContext.instance;let parent=predictionContextFromRuleContext(atn,outerContext.parent),transition=atn.states[outerContext.invokingState].transitions[0];return createSingletonPredictionContext(parent,transition.followState.stateNumber)},"predictionContextFromRuleContext"),getCachedPredictionContext=__name((context,contextCache,visited)=>{if(context.isEmpty())return context;let existing=visited.get(context);if(existing)return existing;if(existing=contextCache.get(context),existing)return visited.set(context,existing),existing;let changed=!1,parents=[];for(let i=0;i<parents.length;i++){let parent=getCachedPredictionContext(context.getParent(i),contextCache,visited);if(changed||parent!==context.getParent(i)){if(!changed){parents=[];for(let j=0;j<context.length;j++)parents[j]=context.getParent(j);changed=!0}parents[i]=parent}}if(!changed)return contextCache.add(context),visited.set(context,context),context;let updated;return parents.length===0?updated=EmptyPredictionContext.instance:parents.length===1?updated=createSingletonPredictionContext(parents[0]??void 0,context.getReturnState(0)):updated=new ArrayPredictionContext(parents,context.returnStates),contextCache.add(updated),visited.set(updated,updated),visited.set(context,updated),updated},"getCachedPredictionContext"),merge=__name((a,b,rootIsWildcard,mergeCache)=>{if(a===b||a.equals(b))return a;if(a instanceof SingletonPredictionContext&&b instanceof SingletonPredictionContext)return mergeSingletons(a,b,rootIsWildcard,mergeCache);if(rootIsWildcard){if(a instanceof EmptyPredictionContext)return a;if(b instanceof EmptyPredictionContext)return b}return a instanceof SingletonPredictionContext&&(a=new ArrayPredictionContext([a.parent],[a.returnState])),b instanceof SingletonPredictionContext&&(b=new ArrayPredictionContext([b.parent],[b.returnState])),mergeArrays(a,b,rootIsWildcard,mergeCache)},"merge"),mergeArrays=__name((a,b,rootIsWildcard,mergeCache)=>{if(mergeCache){let previous=mergeCache.get(a,b);if(previous||(previous=mergeCache.get(b,a),previous))return previous}let i=0,j=0,k=0,mergedReturnStates=new Array(a.returnStates.length+b.returnStates.length).fill(0),mergedParents=new Array(a.returnStates.length+b.returnStates.length).fill(null);for(;i<a.returnStates.length&&j<b.returnStates.length;){let aParent=a.parents[i],bParent=b.parents[j];if(a.returnStates[i]===b.returnStates[j]){let payload=a.returnStates[i];payload===PredictionContext.EMPTY_RETURN_STATE&&aParent===null&&bParent===null||aParent!==null&&bParent!==null&&aParent===bParent?(mergedParents[k]=aParent,mergedReturnStates[k]=payload):(mergedParents[k]=merge(aParent,bParent,rootIsWildcard,mergeCache),mergedReturnStates[k]=payload),i+=1,j+=1}else a.returnStates[i]<b.returnStates[j]?(mergedParents[k]=aParent,mergedReturnStates[k]=a.returnStates[i],i+=1):(mergedParents[k]=bParent,mergedReturnStates[k]=b.returnStates[j],j+=1);k+=1}if(i<a.returnStates.length)for(let p=i;p<a.returnStates.length;p++)mergedParents[k]=a.parents[p],mergedReturnStates[k]=a.returnStates[p],k+=1;else for(let p=j;p<b.returnStates.length;p++)mergedParents[k]=b.parents[p],mergedReturnStates[k]=b.returnStates[p],k+=1;if(k<mergedParents.length){if(k===1){let aNew=createSingletonPredictionContext(mergedParents[0]??void 0,mergedReturnStates[0]);return mergeCache!==null&&mergeCache.set(a,b,aNew),aNew}mergedParents=mergedParents.slice(0,k),mergedReturnStates=mergedReturnStates.slice(0,k)}let merged=new ArrayPredictionContext(mergedParents,mergedReturnStates);return merged.equals(a)?(mergeCache!==null&&mergeCache.set(a,b,a),PredictionContext.traceATNSimulator&&console.log("mergeArrays a="+a+",b="+b+" -> a"),a):merged.equals(b)?(mergeCache!==null&&mergeCache.set(a,b,b),b):(combineCommonParents(mergedParents),mergeCache!==null&&mergeCache.set(a,b,merged),PredictionContext.traceATNSimulator&&console.log("mergeArrays a="+a+",b="+b+" -> "+merged),merged)},"mergeArrays"),combineCommonParents=__name(parents=>{let uniqueParents=new HashMap(ObjectEqualityComparator.instance);for(let parent of parents)parent&&(uniqueParents.containsKey(parent)||uniqueParents.set(parent,parent));for(let q=0;q<parents.length;q++)parents[q]&&(parents[q]=uniqueParents.get(parents[q])??null)},"combineCommonParents"),mergeSingletons=__name((a,b,rootIsWildcard,mergeCache)=>{if(mergeCache!==null){let previous=mergeCache.get(a,b);if(previous!==null||(previous=mergeCache.get(b,a),previous!==null))return previous}let rootMerge=mergeRoot(a,b,rootIsWildcard);if(rootMerge!==null)return mergeCache!==null&&mergeCache.set(a,b,rootMerge),rootMerge;if(a.returnState===b.returnState){let parent=merge(a.parent,b.parent,rootIsWildcard,mergeCache);if(parent===a.parent)return a;if(parent===b.parent)return b;let spc=createSingletonPredictionContext(parent,a.returnState);return mergeCache!==null&&mergeCache.set(a,b,spc),spc}else{let singleParent=null;if((a===b||a.parent!==null&&a.parent.equals(b.parent))&&(singleParent=a.parent),singleParent!==null){let payloads2=[a.returnState,b.returnState];a.returnState>b.returnState&&(payloads2[0]=b.returnState,payloads2[1]=a.returnState);let parents2=[singleParent,singleParent],apc=new ArrayPredictionContext(parents2,payloads2);return mergeCache!==null&&mergeCache.set(a,b,apc),apc}let payloads=[a.returnState,b.returnState],parents=[a.parent,b.parent];a.returnState>b.returnState&&(payloads[0]=b.returnState,payloads[1]=a.returnState,parents=[b.parent,a.parent]);let aNew=new ArrayPredictionContext(parents,payloads);return mergeCache!==null&&mergeCache.set(a,b,aNew),aNew}},"mergeSingletons"),mergeRoot=__name((a,b,rootIsWildcard)=>{if(rootIsWildcard){if(a===EmptyPredictionContext.instance||b===EmptyPredictionContext.instance)return EmptyPredictionContext.instance}else{if(a===EmptyPredictionContext.instance&&b===EmptyPredictionContext.instance)return EmptyPredictionContext.instance;if(a===EmptyPredictionContext.instance){let payloads=[b.returnState,PredictionContext.EMPTY_RETURN_STATE],parents=[b.parent,null];return new ArrayPredictionContext(parents,payloads)}if(b===EmptyPredictionContext.instance){let payloads=[a.returnState,PredictionContext.EMPTY_RETURN_STATE],parents=[a.parent,null];return new ArrayPredictionContext(parents,payloads)}}return null},"mergeRoot"),LL1Analyzer=class _LL1Analyzer{constructor(atn){this.atn=atn}static{__name(this,"LL1Analyzer")}static hitPredicate=Token.INVALID_TYPE;getDecisionLookahead(s){let count=s.transitions.length,look=new Array(count);for(let alt=0;alt<count;alt++){let set=new IntervalSet,lookBusy=new HashSet;this.doLook(s.transitions[alt].target,void 0,EmptyPredictionContext.instance,set,lookBusy,new BitSet,!1,!1),set.length>0&&!set.contains(_LL1Analyzer.hitPredicate)&&(look[alt]=set)}return look}look(s,stopState,ctx){let r=new IntervalSet,lookContext=ctx?predictionContextFromRuleContext(this.atn,ctx):null;return this.doLook(s,stopState,lookContext,r,new HashSet,new BitSet,!0,!0),r}doLook(s,stopState,ctx,look,lookBusy,calledRuleStack,seeThruPreds,addEOF){let c=ATNConfig.createWithContext(s,0,ctx);if(!lookBusy.get(c)){if(lookBusy.add(c),s===stopState)if(ctx){if(ctx.isEmpty()&&addEOF){look.addOne(Token.EOF);return}}else{look.addOne(Token.EPSILON);return}if(s.constructor.stateType===ATNState.RULE_STOP){if(ctx){if(ctx.isEmpty()&&addEOF){look.addOne(Token.EOF);return}}else{look.addOne(Token.EPSILON);return}if(ctx!==EmptyPredictionContext.instance){let removed=calledRuleStack.get(s.ruleIndex);try{calledRuleStack.clear(s.ruleIndex);for(let i=0;i<ctx.length;i++){let returnState=this.atn.states[ctx.getReturnState(i)];this.doLook(returnState,stopState,ctx.getParent(i),look,lookBusy,calledRuleStack,seeThruPreds,addEOF)}}finally{removed&&calledRuleStack.set(s.ruleIndex)}return}}for(let t of s.transitions)switch(t.transitionType){case Transition.RULE:{if(calledRuleStack.get(t.target.ruleIndex))continue;let newContext=createSingletonPredictionContext(ctx??void 0,t.followState.stateNumber);try{calledRuleStack.set(t.target.ruleIndex),this.doLook(t.target,stopState,newContext,look,lookBusy,calledRuleStack,seeThruPreds,addEOF)}finally{calledRuleStack.clear(t.target.ruleIndex)}break}case Transition.PREDICATE:case Transition.PRECEDENCE:{seeThruPreds?this.doLook(t.target,stopState,ctx,look,lookBusy,calledRuleStack,seeThruPreds,addEOF):look.addOne(_LL1Analyzer.hitPredicate);break}case Transition.WILDCARD:{look.addRange(Token.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType);break}default:{if(t.isEpsilon)this.doLook(t.target,stopState,ctx,look,lookBusy,calledRuleStack,seeThruPreds,addEOF);else{let set=t.label;set&&(t instanceof NotSetTransition&&(set=set.complement(Token.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType)),look.addSet(set))}break}}}}},ATN=class{static{__name(this,"ATN")}static INVALID_ALT_NUMBER=0;static LEXER=0;static PARSER=1;grammarType;maxTokenType;states=[];decisionToState=[];ruleToStartState=[];ruleToStopState=[];modeNameToStartState=new Map;ruleToTokenType=[];lexerActions=[];modeToStartState=[];analyzer;constructor(grammarType,maxTokenType){this.grammarType=grammarType,this.maxTokenType=maxTokenType,this.analyzer=new LL1Analyzer(this)}nextTokens(atnState,ctx){if(!ctx&&atnState.nextTokenWithinRule)return atnState.nextTokenWithinRule;let next=this.analyzer.look(atnState,void 0,ctx);return ctx||(atnState.nextTokenWithinRule=next),next}addState(state){state&&(state.stateNumber=this.states.length),this.states.push(state)}removeState(state){this.states[state.stateNumber]=null}defineDecisionState(s){return this.decisionToState.push(s),s.decision=this.decisionToState.length-1,s.decision}getDecisionState(decision){return this.decisionToState.length===0?null:this.decisionToState[decision]}getNumberOfDecisions(){return this.decisionToState.length}getExpectedTokens(stateNumber,context){if(stateNumber<0||stateNumber>=this.states.length)throw new Error("Invalid state number.");let s=this.states[stateNumber],following=this.nextTokens(s);if(!following.contains(Token.EPSILON))return following;let ctx=context,expected=new IntervalSet;for(expected.addSet(following),expected.removeOne(Token.EPSILON);ctx!==null&&ctx.invokingState>=0&&following.contains(Token.EPSILON);){let rt=this.states[ctx.invokingState].transitions[0];following=this.nextTokens(rt.followState),expected.addSet(following),expected.removeOne(Token.EPSILON),ctx=ctx.parent}return following.contains(Token.EPSILON)&&expected.addOne(Token.EOF),expected}},KeyTypeEqualityComparer=class _KeyTypeEqualityComparer{static{__name(this,"KeyTypeEqualityComparer")}static instance=new _KeyTypeEqualityComparer;hashCode(config){let hashCode=7;return hashCode=31*hashCode+config.state.stateNumber,hashCode=31*hashCode+config.alt,hashCode=31*hashCode+config.semanticContext.hashCode(),hashCode}equals(a,b){return a===b?!0:a.state.stateNumber===b.state.stateNumber&&a.alt===b.alt&&a.semanticContext.equals(b.semanticContext)}},ATNConfigSet=class{static{__name(this,"ATNConfigSet")}configLookup=new HashSet(KeyTypeEqualityComparer.instance);configs=[];uniqueAlt=0;hasSemanticContext=!1;dipsIntoOuterContext=!1;fullCtx=!1;readOnly=!1;conflictingAlts=null;firstStopState;#cachedHashCode=-1;constructor(fullCtxOrOldSet){if(fullCtxOrOldSet!==void 0)if(typeof fullCtxOrOldSet=="boolean")this.fullCtx=fullCtxOrOldSet??!0;else{let old=fullCtxOrOldSet;this.addAll(old.configs),this.uniqueAlt=old.uniqueAlt,this.conflictingAlts=old.conflictingAlts,this.hasSemanticContext=old.hasSemanticContext,this.dipsIntoOuterContext=old.dipsIntoOuterContext}}[Symbol.iterator](){return this.configs[Symbol.iterator]()}add(config,mergeCache=null){if(this.readOnly)throw new Error("This set is readonly");!this.firstStopState&&config.state.constructor.stateType===ATNState.RULE_STOP&&(this.firstStopState=config),this.hasSemanticContext||=config.semanticContext!==SemanticContext.NONE,this.dipsIntoOuterContext||=config.reachesIntoOuterContext;let existing=this.configLookup.getOrAdd(config);if(existing===config){this.#cachedHashCode=-1,this.configs.push(config);return}let rootIsWildcard=!this.fullCtx,merged=merge(existing.context,config.context,rootIsWildcard,mergeCache);existing.reachesIntoOuterContext||=config.reachesIntoOuterContext,existing.precedenceFilterSuppressed||=config.precedenceFilterSuppressed,existing.context=merged}get elements(){return this.configs}getAlts(){let alts=new BitSet;for(let config of this.configs)alts.set(config.alt);return alts}getPredicates(){let preds=[];for(let config of this.configs)config.semanticContext!==SemanticContext.NONE&&preds.push(config.semanticContext);return preds}getStates(){let states=new HashSet;for(let config of this.configs)states.add(config.state);return states}optimizeConfigs(interpreter){if(this.readOnly)throw new Error("This set is readonly");if(this.configLookup.size!==0)for(let config of this.configs)config.context=interpreter.getCachedContext(config.context)}addAll(coll){for(let config of coll)this.add(config);return!1}equals(other){return!!(this===other||this.fullCtx===other.fullCtx&&this.uniqueAlt===other.uniqueAlt&&this.conflictingAlts===other.conflictingAlts&&this.hasSemanticContext===other.hasSemanticContext&&this.dipsIntoOuterContext===other.dipsIntoOuterContext&&equalArrays(this.configs,other.configs))}hashCode(){return this.#cachedHashCode===-1&&(this.#cachedHashCode=this.computeHashCode()),this.#cachedHashCode}get length(){return this.configs.length}isEmpty(){return this.configs.length===0}contains(item){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.contains(item)}containsFast(item){if(this.configLookup===null)throw new Error("This method is not implemented for readonly sets.");return this.configLookup.contains(item)}clear(){if(this.readOnly)throw new Error("This set is readonly");this.configs=[],this.#cachedHashCode=-1,this.configLookup=new HashSet(KeyTypeEqualityComparer.instance)}setReadonly(readOnly){this.readOnly=readOnly,readOnly&&(this.configLookup=null)}toString(){return arrayToString(this.configs)+(this.hasSemanticContext?",hasSemanticContext="+this.hasSemanticContext:"")+(this.uniqueAlt!==ATN.INVALID_ALT_NUMBER?",uniqueAlt="+this.uniqueAlt:"")+(this.conflictingAlts!==null?",conflictingAlts="+this.conflictingAlts:"")+(this.dipsIntoOuterContext?",dipsIntoOuterContext":"")}computeHashCode(){let hash=MurmurHash.initialize();return this.configs.forEach(config=>{hash=MurmurHash.update(hash,config.hashCode())}),hash=MurmurHash.finish(hash,this.configs.length),hash}},BasicState=class extends ATNState{static{__name(this,"BasicState")}static stateType=ATNState.BASIC},DecisionState=class extends ATNState{static{__name(this,"DecisionState")}decision=-1;nonGreedy=!1},BlockStartState=class extends DecisionState{static{__name(this,"BlockStartState")}endState},BlockEndState=class extends ATNState{static{__name(this,"BlockEndState")}static stateType=ATNState.BLOCK_END;startState},LoopEndState=class extends ATNState{static{__name(this,"LoopEndState")}static stateType=ATNState.LOOP_END;loopBackState},RuleStartState=class extends ATNState{static{__name(this,"RuleStartState")}static stateType=ATNState.RULE_START;stopState;isLeftRecursiveRule=!1},RuleStopState=class extends ATNState{static{__name(this,"RuleStopState")}static stateType=ATNState.RULE_STOP},TokensStartState=class extends DecisionState{static{__name(this,"TokensStartState")}static stateType=ATNState.TOKEN_START},PlusLoopbackState=class extends DecisionState{static{__name(this,"PlusLoopbackState")}static stateType=ATNState.PLUS_LOOP_BACK},StarLoopbackState=class extends ATNState{static{__name(this,"StarLoopbackState")}static stateType=ATNState.STAR_LOOP_BACK},StarLoopEntryState=class extends DecisionState{static{__name(this,"StarLoopEntryState")}static stateType=ATNState.STAR_LOOP_ENTRY;loopBackState;precedenceRuleDecision=!1},PlusBlockStartState=class extends BlockStartState{static{__name(this,"PlusBlockStartState")}static stateType=ATNState.PLUS_BLOCK_START;loopBackState},StarBlockStartState=class extends BlockStartState{static{__name(this,"StarBlockStartState")}static stateType=ATNState.STAR_BLOCK_START},BasicBlockStartState=class extends BlockStartState{static{__name(this,"BasicBlockStartState")}static stateType=ATNState.BLOCK_START},AtomTransition=class extends Transition{static{__name(this,"AtomTransition")}labelValue;#label;constructor(target,label){super(target),this.labelValue=label,this.#label=IntervalSet.of(label,label)}get label(){return this.#label}get transitionType(){return Transition.ATOM}matches(symbol){return this.labelValue===symbol}toString(){return this.labelValue.toString()}},RuleTransition=class extends Transition{static{__name(this,"RuleTransition")}ruleIndex;precedence;followState;constructor(ruleStart,ruleIndex,precedence,followState){super(ruleStart),this.ruleIndex=ruleIndex,this.precedence=precedence,this.followState=followState}get isEpsilon(){return!0}get transitionType(){return Transition.RULE}matches(_symbol,_minVocabSymbol,_maxVocabSymbol){return!1}},RangeTransition=class extends Transition{static{__name(this,"RangeTransition")}start;stop;#label=new IntervalSet;constructor(target,start,stop){super(target),this.start=start,this.stop=stop,this.#label.addRange(start,stop)}get label(){return this.#label}get transitionType(){return Transition.RANGE}matches(symbol,_minVocabSymbol,_maxVocabSymbol){return symbol>=this.start&&symbol<=this.stop}toString(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}},ActionTransition=class extends Transition{static{__name(this,"ActionTransition")}ruleIndex;actionIndex;isCtxDependent;constructor(target,ruleIndex,actionIndex,isCtxDependent){super(target),this.ruleIndex=ruleIndex,this.actionIndex=actionIndex??-1,this.isCtxDependent=isCtxDependent??!1}get isEpsilon(){return!0}get transitionType(){return Transition.ACTION}matches(_symbol,_minVocabSymbol,_maxVocabSymbol){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}},EpsilonTransition=class extends Transition{static{__name(this,"EpsilonTransition")}#outermostPrecedenceReturn;constructor(target,outermostPrecedenceReturn=-1){super(target),this.#outermostPrecedenceReturn=outermostPrecedenceReturn}get outermostPrecedenceReturn(){return this.#outermostPrecedenceReturn}get isEpsilon(){return!0}get transitionType(){return Transition.EPSILON}matches(){return!1}toString(){return"epsilon"}},WildcardTransition=class extends Transition{static{__name(this,"WildcardTransition")}get transitionType(){return Transition.WILDCARD}matches(symbol,minVocabSymbol,maxVocabSymbol){return symbol>=minVocabSymbol&&symbol<=maxVocabSymbol}toString(){return"."}},AbstractPredicateTransition=class extends Transition{static{__name(this,"AbstractPredicateTransition")}constructor(target){super(target)}},PredicateTransition=class extends AbstractPredicateTransition{static{__name(this,"PredicateTransition")}ruleIndex;predIndex;isCtxDependent;constructor(target,ruleIndex,predIndex,isCtxDependent){super(target),this.ruleIndex=ruleIndex,this.predIndex=predIndex,this.isCtxDependent=isCtxDependent}get isEpsilon(){return!0}matches(_symbol,_minVocabSymbol,_maxVocabSymbol){return!1}get transitionType(){return Transition.PREDICATE}getPredicate(){return new SemanticContext.Predicate(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}},PrecedencePredicateTransition=class extends AbstractPredicateTransition{static{__name(this,"PrecedencePredicateTransition")}precedence;constructor(target,precedence){super(target),this.precedence=precedence}get isEpsilon(){return!0}matches(_symbol,_minVocabSymbol,_maxVocabSymbol){return!1}getPredicate(){return new SemanticContext.PrecedencePredicate(this.precedence)}get transitionType(){return Transition.PRECEDENCE}toString(){return this.precedence+" >= _p"}},LexerActionType={CHANNEL:0,CUSTOM:1,MODE:2,MORE:3,POP_MODE:4,PUSH_MODE:5,SKIP:6,TYPE:7},LexerSkipAction=class _LexerSkipAction{static{__name(this,"LexerSkipAction")}static instance=new _LexerSkipAction;actionType;isPositionDependent=!1;constructor(){this.actionType=LexerActionType.SKIP}equals(obj){return obj===this}hashCode(){return LexerActionType.SKIP}execute(lexer){lexer.skip()}toString(){return"skip"}},LexerChannelAction=class _LexerChannelAction{static{__name(this,"LexerChannelAction")}channel;actionType;isPositionDependent=!1;cachedHashCode;constructor(channel){this.actionType=LexerActionType.CHANNEL,this.channel=channel}execute(lexer){lexer.channel=this.channel}hashCode(){if(this.cachedHashCode===void 0){let hash=MurmurHash.initialize();hash=MurmurHash.update(hash,this.actionType),hash=MurmurHash.update(hash,this.channel),this.cachedHashCode=MurmurHash.finish(hash,2)}return this.cachedHashCode}equals(other){return this===other?!0:other instanceof _LexerChannelAction?this.channel===other.channel:!1}toString(){return"channel("+this.channel+")"}},LexerCustomAction=class _LexerCustomAction{static{__name(this,"LexerCustomAction")}ruleIndex;actionIndex;actionType;isPositionDependent=!0;cachedHashCode;constructor(ruleIndex,actionIndex){this.actionType=LexerActionType.CUSTOM,this.ruleIndex=ruleIndex,this.actionIndex=actionIndex}execute(lexer){lexer.action(null,this.ruleIndex,this.actionIndex)}hashCode(){if(this.cachedHashCode===void 0){let hash=MurmurHash.initialize();hash=MurmurHash.update(hash,this.actionType),hash=MurmurHash.update(hash,this.ruleIndex),hash=MurmurHash.update(hash,this.actionIndex),this.cachedHashCode=MurmurHash.finish(hash,3)}return this.cachedHashCode}equals(other){return this===other?!0:other instanceof _LexerCustomAction?this.ruleIndex===other.ruleIndex&&this.actionIndex===other.actionIndex:!1}},LexerMoreAction=class _LexerMoreAction{static{__name(this,"LexerMoreAction")}static instance=new _LexerMoreAction;actionType;isPositionDependent=!1;constructor(){this.actionType=LexerActionType.MORE}equals(obj){return obj===this}hashCode(){return LexerActionType.MORE}execute(lexer){lexer.more()}toString(){return"more"}},LexerTypeAction=class _LexerTypeAction{static{__name(this,"LexerTypeAction")}type;actionType;isPositionDependent=!1;cachedHashCode;constructor(type){this.actionType=LexerActionType.TYPE,this.type=type}execute(lexer){lexer.type=this.type}hashCode(){if(this.cachedHashCode===void 0){let hash=MurmurHash.initialize();hash=MurmurHash.update(hash,this.actionType),hash=MurmurHash.update(hash,this.type),this.cachedHashCode=MurmurHash.finish(hash,2)}return this.cachedHashCode}equals(other){return this===other?!0:other instanceof _LexerTypeAction?this.type===other.type:!1}toString(){return"type("+this.type+")"}},LexerPushModeAction=class _LexerPushModeAction{static{__name(this,"LexerPushModeAction")}mode;actionType;isPositionDependent=!1;cachedHashCode;constructor(mode){this.actionType=LexerActionType.PUSH_MODE,this.mode=mode}execute(lexer){lexer.pushMode(this.mode)}hashCode(){if(this.cachedHashCode===void 0){let hash=MurmurHash.initialize();hash=MurmurHash.update(hash,this.actionType),hash=MurmurHash.update(hash,this.mode),this.cachedHashCode=MurmurHash.finish(hash,2)}return this.cachedHashCode}equals(other){return this===other?!0:other instanceof _LexerPushModeAction?this.mode===other.mode:!1}toString(){return"pushMode("+this.mode+")"}},LexerPopModeAction=class _LexerPopModeAction{static{__name(this,"LexerPopModeAction")}static instance=new _LexerPopModeAction;actionType;isPositionDependent=!1;constructor(){this.actionType=LexerActionType.POP_MODE}equals(obj){return obj===this}hashCode(){return LexerActionType.POP_MODE}execute(lexer){lexer.popMode()}toString(){return"popMode"}},LexerModeAction=class _LexerModeAction{static{__name(this,"LexerModeAction")}mode;actionType;isPositionDependent=!1;cachedHashCode;constructor(mode){this.actionType=LexerActionType.MODE,this.mode=mode}execute(lexer){lexer.mode=this.mode}hashCode(){if(this.cachedHashCode===void 0){let hash=MurmurHash.initialize();hash=MurmurHash.update(hash,this.actionType),hash=MurmurHash.update(hash,this.mode),this.cachedHashCode=MurmurHash.finish(hash,2)}return this.cachedHashCode}equals(other){return this===other?!0:other instanceof _LexerModeAction?this.mode===other.mode:!1}toString(){return"mode("+this.mode+")"}},ATNDeserializer=class _ATNDeserializer{static{__name(this,"ATNDeserializer")}static SERIALIZED_VERSION=4;static stateTypeMapper=new Map([[ATNState.INVALID_TYPE,void 0],[ATNState.BASIC,BasicState],[ATNState.RULE_START,RuleStartState],[ATNState.BLOCK_START,BasicBlockStartState],[ATNState.PLUS_BLOCK_START,PlusBlockStartState],[ATNState.STAR_BLOCK_START,StarBlockStartState],[ATNState.TOKEN_START,TokensStartState],[ATNState.RULE_STOP,RuleStopState],[ATNState.BLOCK_END,BlockEndState],[ATNState.STAR_LOOP_BACK,StarLoopbackState],[ATNState.STAR_LOOP_ENTRY,StarLoopEntryState],[ATNState.PLUS_LOOP_BACK,PlusLoopbackState],[ATNState.LOOP_END,LoopEndState]]);static lexerActionFactoryMapper=new Map([[LexerActionType.CHANNEL,data1=>new LexerChannelAction(data1)],[LexerActionType.CUSTOM,(data1,data2)=>new LexerCustomAction(data1,data2)],[LexerActionType.MODE,data1=>new LexerModeAction(data1)],[LexerActionType.MORE,()=>LexerMoreAction.instance],[LexerActionType.POP_MODE,()=>LexerPopModeAction.instance],[LexerActionType.PUSH_MODE,data1=>new LexerPushModeAction(data1)],[LexerActionType.SKIP,()=>LexerSkipAction.instance],[LexerActionType.TYPE,data1=>new LexerTypeAction(data1)]]);data=[];pos=0;deserializationOptions;actionFactories;constructor(options){options||(options={readOnly:!1,verifyATN:!0,generateRuleBypassTransitions:!1}),this.deserializationOptions=options}deserialize(data){this.data=data,this.checkVersion();let atn=this.readATN();this.readStates(atn),this.readRules(atn),this.readModes(atn);let sets=[];return this.readSets(atn,sets),this.readEdges(atn,sets),this.readDecisions(atn),this.readLexerActions(atn),this.markPrecedenceDecisions(atn),this.verifyATN(atn),this.deserializationOptions.generateRuleBypassTransitions&&atn.grammarType===ATN.PARSER&&(this.generateRuleBypassTransitions(atn),this.verifyATN(atn)),atn}checkVersion(){let version=this.data[this.pos++];if(version!==_ATNDeserializer.SERIALIZED_VERSION)throw new Error("Could not deserialize ATN with version "+version+" (expected "+_ATNDeserializer.SERIALIZED_VERSION+").")}readATN(){let grammarType=this.data[this.pos++],maxTokenType=this.data[this.pos++];return new ATN(grammarType,maxTokenType)}readStates(atn){let j,stateNumber,loopBackStateNumbers=[],endStateNumbers=[],stateCount=this.data[this.pos++];for(let i=0;i<stateCount;i++){let stateType=this.data[this.pos++];if(stateType===ATNState.INVALID_TYPE){atn.addState(null);continue}let ruleIndex=this.data[this.pos++],s=this.stateFactory(stateType,ruleIndex);if(stateType===ATNState.LOOP_END){let loopBackStateNumber=this.data[this.pos++];loopBackStateNumbers.push([s,loopBackStateNumber])}else if(s instanceof BlockStartState){let endStateNumber=this.data[this.pos++];endStateNumbers.push([s,endStateNumber])}atn.addState(s)}for(j=0;j<loopBackStateNumbers.length;j++){let pair=loopBackStateNumbers[j];pair[0].loopBackState=atn.states[pair[1]]??void 0}for(j=0;j<endStateNumbers.length;j++){let pair=endStateNumbers[j];pair[0].endState=atn.states[pair[1]]}let numNonGreedyStates=this.data[this.pos++];for(j=0;j<numNonGreedyStates;j++)stateNumber=this.data[this.pos++],atn.states[stateNumber].nonGreedy=!0;let numPrecedenceStates=this.data[this.pos++];for(j=0;j<numPrecedenceStates;j++)stateNumber=this.data[this.pos++],atn.states[stateNumber].isLeftRecursiveRule=!0}readRules(atn){let i,ruleCount=this.data[this.pos++];for(atn.grammarType===ATN.LEXER&&(atn.ruleToTokenType=new Array(ruleCount),atn.ruleToTokenType.fill(0)),atn.ruleToStartState=new Array(ruleCount),atn.ruleToStartState.fill(null),i=0;i<ruleCount;i++){let s=this.data[this.pos++];if(atn.ruleToStartState[i]=atn.states[s],atn.grammarType===ATN.LEXER){let tokenType=this.data[this.pos++];atn.ruleToTokenType[i]=tokenType}}for(atn.ruleToStopState=new Array(ruleCount),atn.ruleToStopState.fill(null),i=0;i<atn.states.length;i++){let state=atn.states[i];state instanceof RuleStopState&&(atn.ruleToStopState[state.ruleIndex]=state,atn.ruleToStartState[state.ruleIndex].stopState=state)}}readModes(atn){let modeCount=this.data[this.pos++];for(let i=0;i<modeCount;i++){let s=this.data[this.pos++];atn.modeToStartState.push(atn.states[s])}}readSets(atn,sets){let m2=this.data[this.pos++];for(let i=0;i<m2;i++){let intervalSet=new IntervalSet;sets.push(intervalSet);let n2=this.data[this.pos++];this.data[this.pos++]!==0&&intervalSet.addOne(-1);for(let j=0;j<n2;j++){let i1=this.data[this.pos++],i2=this.data[this.pos++];intervalSet.addRange(i1,i2)}}}readEdges(atn,sets){let i,j,state,trans,target,edgeCount=this.data[this.pos++];for(i=0;i<edgeCount;i++){let src=this.data[this.pos++],trg=this.data[this.pos++],ttype=this.data[this.pos++],arg1=this.data[this.pos++],arg2=this.data[this.pos++],arg3=this.data[this.pos++];trans=this.edgeFactory(atn,ttype,trg,arg1,arg2,arg3,sets),atn.states[src].addTransition(trans)}for(i=0;i<atn.states.length;i++)for(state=atn.states[i],j=0;j<state.transitions.length;j++){let t=state.transitions[j];if(!(t instanceof RuleTransition))continue;let outermostPrecedenceReturn=-1;atn.ruleToStartState[t.target.ruleIndex].isLeftRecursiveRule&&t.precedence===0&&(outermostPrecedenceReturn=t.target.ruleIndex),trans=new EpsilonTransition(t.followState,outermostPrecedenceReturn),atn.ruleToStopState[t.target.ruleIndex].addTransition(trans)}for(i=0;i<atn.states.length;i++){if(state=atn.states[i],state instanceof BlockStartState){if(!state.endState)throw new Error("IllegalState");if(state.endState.startState)throw new Error("IllegalState");state.endState.startState=state}if(state instanceof PlusLoopbackState)for(j=0;j<state.transitions.length;j++)target=state.transitions[j].target,target instanceof PlusBlockStartState&&(target.loopBackState=state);else if(state instanceof StarLoopbackState)for(j=0;j<state.transitions.length;j++)target=state.transitions[j].target,target instanceof StarLoopEntryState&&(target.loopBackState=state)}}readDecisions(atn){let decisionCount=this.data[this.pos++];for(let i=0;i<decisionCount;i++){let s=this.data[this.pos++],decState=atn.states[s];atn.decisionToState.push(decState),decState.decision=i}}readLexerActions(atn){if(atn.grammarType===ATN.LEXER){let count=this.data[this.pos++];atn.lexerActions=[];for(let i=0;i<count;i++){let actionType=this.data[this.pos++],data1=this.data[this.pos++],data2=this.data[this.pos++];atn.lexerActions.push(this.lexerActionFactory(actionType,data1,data2))}}}generateRuleBypassTransitions(atn){let i,count=atn.ruleToStartState.length;for(i=0;i<count;i++)atn.ruleToTokenType[i]=atn.maxTokenType+i+1;for(i=0;i<count;i++)this.generateRuleBypassTransition(atn,i)}generateRuleBypassTransition(atn,idx){let i,state,bypassStart=new BasicBlockStartState;bypassStart.ruleIndex=idx,atn.addState(bypassStart);let bypassStop=new BlockEndState;bypassStop.ruleIndex=idx,atn.addState(bypassStop),bypassStart.endState=bypassStop,atn.defineDecisionState(bypassStart),bypassStop.startState=bypassStart;let excludeTransition=null,endState=null;if(atn.ruleToStartState[idx].isLeftRecursiveRule){for(endState=null,i=0;i<atn.states.length;i++)if(state=atn.states[i],this.stateIsEndStateFor(state,idx)){endState=state,excludeTransition=state.loopBackState.transitions[0];break}if(excludeTransition===null)throw new Error("Couldn't identify final state of the precedence rule prefix section.")}else endState=atn.ruleToStopState[idx];for(i=0;i<atn.states.length;i++){state=atn.states[i];for(let transition of state.transitions)transition!==excludeTransition&&transition.target===endState&&(transition.target=bypassStop)}let ruleToStartState=atn.ruleToStartState[idx];for(;ruleToStartState.transitions.length>0;){let transition=ruleToStartState.removeTransition(ruleToStartState.transitions.length-1);bypassStart.addTransition(transition)}atn.ruleToStartState[idx].addTransition(new EpsilonTransition(bypassStart)),endState&&bypassStop.addTransition(new EpsilonTransition(endState));let matchState=new BasicState;atn.addState(matchState),matchState.addTransition(new AtomTransition(bypassStop,atn.ruleToTokenType[idx])),bypassStart.addTransition(new EpsilonTransition(matchState))}stateIsEndStateFor(state,idx){if(state.ruleIndex!==idx||!(state instanceof StarLoopEntryState))return null;let maybeLoopEndState=state.transitions[state.transitions.length-1].target;return maybeLoopEndState instanceof LoopEndState&&maybeLoopEndState.epsilonOnlyTransitions&&maybeLoopEndState.transitions[0].target instanceof RuleStopState?state:null}markPrecedenceDecisions(atn){for(let state of atn.states)if(state instanceof StarLoopEntryState&&atn.ruleToStartState[state.ruleIndex].isLeftRecursiveRule){let maybeLoopEndState=state.transitions[state.transitions.length-1].target;maybeLoopEndState instanceof LoopEndState&&maybeLoopEndState.epsilonOnlyTransitions&&maybeLoopEndState.transitions[0].target instanceof RuleStopState&&(state.precedenceRuleDecision=!0)}}verifyATN(atn){if(this.deserializationOptions.verifyATN){for(let state of atn.states)if(state!==null)if(this.checkCondition(state.epsilonOnlyTransitions||state.transitions.length<=1),state instanceof PlusBlockStartState)this.checkCondition(state.loopBackState!==null);else if(state instanceof StarLoopEntryState)if(this.checkCondition(state.loopBackState!==null),this.checkCondition(state.transitions.length===2),state.transitions[0].target instanceof StarBlockStartState)this.checkCondition(state.transitions[1].target instanceof LoopEndState),this.checkCondition(!state.nonGreedy);else if(state.transitions[0].target instanceof LoopEndState)this.checkCondition(state.transitions[1].target instanceof StarBlockStartState),this.checkCondition(state.nonGreedy);else throw new Error("IllegalState");else state instanceof StarLoopbackState?(this.checkCondition(state.transitions.length===1),this.checkCondition(state.transitions[0].target instanceof StarLoopEntryState)):state instanceof LoopEndState?this.checkCondition(state.loopBackState!==null):state instanceof RuleStartState?this.checkCondition(state.stopState!==null):state instanceof BlockStartState?this.checkCondition(state.endState!==null):state instanceof BlockEndState?this.checkCondition(state.startState!==null):state instanceof DecisionState?this.checkCondition(state.transitions.length<=1||state.decision>=0):this.checkCondition(state.transitions.length<=1||state instanceof RuleStopState)}}checkCondition(condition,message){if(!condition)throw message==null&&(message="IllegalState"),message}edgeFactory(atn,type,trg,arg1,arg2,arg3,sets){let target=atn.states[trg];switch(type){case Transition.EPSILON:return new EpsilonTransition(target);case Transition.RANGE:return arg3!==0?new RangeTransition(target,Token.EOF,arg2):new RangeTransition(target,arg1,arg2);case Transition.RULE:return new RuleTransition(atn.states[arg1],arg2,arg3,target);case Transition.PREDICATE:return new PredicateTransition(target,arg1,arg2,arg3!==0);case Transition.PRECEDENCE:return new PrecedencePredicateTransition(target,arg1);case Transition.ATOM:return arg3!==0?new AtomTransition(target,Token.EOF):new AtomTransition(target,arg1);case Transition.ACTION:return new ActionTransition(target,arg1,arg2,arg3!==0);case Transition.SET:return new SetTransition(target,sets[arg1]);case Transition.NOT_SET:return new NotSetTransition(target,sets[arg1]);case Transition.WILDCARD:return new WildcardTransition(target);default:throw new Error("The specified transition type: "+type+" is not valid.")}}stateFactory(type,ruleIndex){let ctor=_ATNDeserializer.stateTypeMapper.get(type);if(!ctor)throw new Error("The specified state type "+type+" is not valid.");let s=new ctor;return s.ruleIndex=ruleIndex,s}lexerActionFactory(type,data1,data2){let factory=_ATNDeserializer.lexerActionFactoryMapper.get(type);if(!factory)throw new Error("The specified lexer action type "+type+" is not valid.");return factory(data1,data2)}},OrderedHashMap=class _OrderedHashMap extends HashMap{static{__name(this,"OrderedHashMap")}#keys=[];clear(){super.clear(),this.#keys=[]}get(key){return super.get(key)}set(key,value){let result=super.set(key,value);return result===void 0&&this.#keys.push(key),result}setIfAbsent(key,value){let result=super.setIfAbsent(key,value);return result===void 0&&this.#keys.push(key),result}values(){return{[Symbol.iterator]:()=>{let index2=0;return{next:__name(()=>index2<this.#keys.length?{done:!1,value:super.get(this.#keys[index2++])}:{done:!0,value:void 0},"next")}}}}keys(){return this.#keys[Symbol.iterator]()}equals(o){return o instanceof _OrderedHashMap?super.equals(o):!1}},ATNSerializer=class _ATNSerializer{static{__name(this,"ATNSerializer")}atn;data=[];sets=new OrderedHashMap(ObjectEqualityComparator.instance);nonGreedyStates=[];precedenceStates=[];constructor(atn){this.atn=atn}static getSerialized(atn){return new _ATNSerializer(atn).serialize()}static serializeSets(data,sets){data.push(sets.length);for(let set of sets){let containsEof=set.contains(Token.EOF),intervals=[...set];containsEof&&intervals[0].stop===Token.EOF?data.push(intervals.length-1):data.push(intervals.length),data.push(containsEof?1:0);for(let interval of intervals){if(interval.start===Token.EOF){if(interval.stop===Token.EOF)continue;data.push(0)}else data.push(interval.start);data.push(interval.stop)}}}serialize(){this.addPreamble();let edgeCount=this.addEdges();this.addNonGreedyStates(),this.addPrecedenceStates(),this.addRuleStatesAndLexerTokenTypes(),this.addModeStartStates();let setIndices=this.addSets();return this.addEdges(edgeCount,setIndices),this.addDecisionStartStates(),this.addLexerActions(),this.data}addPreamble(){this.data.push(ATNDeserializer.SERIALIZED_VERSION),this.data.push(this.atn.grammarType),this.data.push(this.atn.maxTokenType)}addLexerActions(){if(this.atn.grammarType===ATN.LEXER){this.data.push(this.atn.lexerActions.length);for(let action of this.atn.lexerActions)switch(this.data.push(action.actionType),action.actionType){case LexerActionType.CHANNEL:{let channel=action.channel;this.data.push(channel),this.data.push(0);break}case LexerActionType.CUSTOM:{let ruleIndex=action.ruleIndex,actionIndex=action.actionIndex;this.data.push(ruleIndex),this.data.push(actionIndex);break}case LexerActionType.MODE:{let mode=action.mode;this.data.push(mode),this.data.push(0);break}case LexerActionType.MORE:{this.data.push(0),this.data.push(0);break}case LexerActionType.POP_MODE:{this.data.push(0),this.data.push(0);break}case LexerActionType.PUSH_MODE:{let mode=action.mode;this.data.push(mode),this.data.push(0);break}case LexerActionType.SKIP:{this.data.push(0),this.data.push(0);break}case LexerActionType.TYPE:{let type=action.type;this.data.push(type),this.data.push(0);break}default:throw new Error(`The specified lexer action type ${action.actionType} is not valid.`)}}}addDecisionStartStates(){this.data.push(this.atn.decisionToState.length);for(let decStartState of this.atn.decisionToState)this.data.push(decStartState.stateNumber)}addEdges(...args){switch(args.length){case 0:{let edgeCount=0;this.data.push(this.atn.states.length);for(let s of this.atn.states){if(s===null){this.data.push(ATNState.INVALID_TYPE);continue}let stateType=s.constructor.stateType;s instanceof DecisionState&&s.nonGreedy&&this.nonGreedyStates.push(s.stateNumber),s instanceof RuleStartState&&s.isLeftRecursiveRule&&this.precedenceStates.push(s.stateNumber),this.data.push(stateType),this.data.push(s.ruleIndex),s.constructor.stateType===ATNState.LOOP_END?this.data.push(s.loopBackState.stateNumber):s instanceof BlockStartState&&this.data.push(s.endState.stateNumber),s.constructor.stateType!==ATNState.RULE_STOP&&(edgeCount+=s.transitions.length);for(let t of s.transitions){let edgeType=t.transitionType;if(edgeType===Transition.SET||edgeType===Transition.NOT_SET){let st=t;this.sets.set(st.set,!0)}}}return edgeCount}case 2:{let[edgeCount,setIndices]=args;this.data.push(edgeCount);for(let s of this.atn.states)if(s!==null&&s.constructor.stateType!==ATNState.RULE_STOP)for(let t of s.transitions){if(this.atn.states[t.target.stateNumber]===null)throw new Error("Cannot serialize a transition to a removed state.");let src=s.stateNumber,trg=t.target.stateNumber,edgeType=t.transitionType,arg1=0,arg2=0,arg3=0;switch(edgeType){case Transition.RULE:{trg=t.followState.stateNumber,arg1=t.target.stateNumber,arg2=t.ruleIndex,arg3=t.precedence;break}case Transition.PRECEDENCE:{arg1=t.precedence;break}case Transition.PREDICATE:{let pt=t;arg1=pt.ruleIndex,arg2=pt.predIndex,arg3=pt.isCtxDependent?1:0;break}case Transition.RANGE:{arg1=t.start,arg2=t.stop,arg1===Token.EOF&&(arg1=0,arg3=1);break}case Transition.ATOM:{arg1=t.labelValue,arg1===Token.EOF&&(arg1=0,arg3=1);break}case Transition.ACTION:{let at=t;arg1=at.ruleIndex,arg2=at.actionIndex,arg3=at.isCtxDependent?1:0;break}case Transition.SET:{arg1=setIndices.get(t.set);break}case Transition.NOT_SET:{arg1=setIndices.get(t.set);break}case Transition.WILDCARD:break;default:}this.data.push(src),this.data.push(trg),this.data.push(edgeType),this.data.push(arg1),this.data.push(arg2),this.data.push(arg3)}break}default:throw new Error("Invalid number of arguments")}}addSets(){_ATNSerializer.serializeSets(this.data,[...this.sets.keys()]);let setIndices=new HashMap,setIndex=0;for(let s of this.sets.keys())setIndices.set(s,setIndex++);return setIndices}addModeStartStates(){let modeCount=this.atn.modeToStartState.length;if(this.data.push(modeCount),modeCount>0)for(let modeStartState of this.atn.modeToStartState)this.data.push(modeStartState.stateNumber)}addRuleStatesAndLexerTokenTypes(){let ruleCount=this.atn.ruleToStartState.length;this.data.push(ruleCount);for(let r=0;r<ruleCount;r++){let ruleStartState=this.atn.ruleToStartState[r];this.data.push(ruleStartState.stateNumber),this.atn.grammarType===ATN.LEXER&&this.data.push(this.atn.ruleToTokenType[r])}}addPrecedenceStates(){this.data.push(this.precedenceStates.length);for(let state of this.precedenceStates)this.data.push(state)}addNonGreedyStates(){this.data.push(this.nonGreedyStates.length);for(let state of this.nonGreedyStates)this.data.push(state)}},DFAState=class _DFAState{static{__name(this,"DFAState")}stateNumber=-1;configs;edges=[];isAcceptState=!1;prediction=-1;lexerActionExecutor=null;requiresFullContext=!1;predicates=null;constructor(configs){configs&&(this.configs=configs)}static fromState(stateNumber){let result=new _DFAState;return result.stateNumber=stateNumber,result}static fromConfigs(configs){return new _DFAState(configs)}static hashCode(state){return state.configs.hashCode()}static equals(a,b){return a.configs.equals(b.configs)}getAltSet(){let alts=new Set;for(let config of this.configs)alts.add(config.alt);return alts.size===0?null:alts}toString(){let buf="";return buf+=this.stateNumber,buf+=":",buf+=this.configs?this.configs.toString():"",this.isAcceptState&&(buf+="=>",this.predicates?buf+=arrayToString(this.predicates):buf+=this.prediction),buf.toString()}},ATNSimulator=class{static{__name(this,"ATNSimulator")}static ERROR=DFAState.fromState(2147483647);atn;sharedContextCache;constructor(atn,sharedContextCache){return this.atn=atn,this.sharedContextCache=sharedContextCache,this}getCachedContext(context){if(!this.sharedContextCache)return context;let visited=new HashMap(ObjectEqualityComparator.instance);return getCachedPredictionContext(context,this.sharedContextCache,visited)}},CodePointTransitions=class _CodePointTransitions{static{__name(this,"CodePointTransitions")}static createWithCodePoint(target,codePoint){return _CodePointTransitions.createWithCodePointRange(target,codePoint,codePoint)}static createWithCodePointRange(target,codePointFrom,codePointTo){return codePointFrom===codePointTo?new AtomTransition(target,codePointFrom):new RangeTransition(target,codePointFrom,codePointTo)}},DecisionInfo=class{static{__name(this,"DecisionInfo")}decision=0;invocations=0;timeInPrediction=0;sllTotalLook=0;sllMinLook=0;sllMaxLook=0;sllMaxLookEvent;llTotalLook=0;llMinLook=0;llMaxLook=0;llMaxLookEvent;contextSensitivities;errors;ambiguities;predicateEvals;sllATNTransitions=0;sllDFATransitions=0;llFallback=0;llATNTransitions=0;llDFATransitions=0;constructor(decision){this.decision=decision,this.contextSensitivities=[],this.errors=[],this.ambiguities=[],this.predicateEvals=[]}toString(){return"{decision="+this.decision+", contextSensitivities="+this.contextSensitivities.length+", errors="+this.errors.length+", ambiguities="+this.ambiguities.length+", sllLookahead="+this.sllTotalLook+", sllATNTransitions="+this.sllATNTransitions+", sllDFATransitions="+this.sllDFATransitions+", llFallback="+this.llFallback+", llLookahead="+this.llTotalLook+", llATNTransitions="+this.llATNTransitions+"}"}},LexerATNConfig=class _LexerATNConfig extends ATNConfig{static{__name(this,"LexerATNConfig")}lexerActionExecutor;passedThroughNonGreedyDecision;constructor(config,state,context,lexerActionExecutor){return super(config,state,context??config.context,context?SemanticContext.NONE:config.semanticContext),this.lexerActionExecutor=context?lexerActionExecutor:config.lexerActionExecutor??null,this.passedThroughNonGreedyDecision=_LexerATNConfig.checkNonGreedyDecision(config,this.state),this}static createWithExecutor(config,state,lexerActionExecutor){return new _LexerATNConfig(config,state,config.context,lexerActionExecutor)}static createWithConfig(state,config,context){return new _LexerATNConfig(config,state,context??null,config.lexerActionExecutor)}static createWithContext(state,alt,context){return new _LexerATNConfig({alt},state,context,null)}static checkNonGreedyDecision(source,target){return source.passedThroughNonGreedyDecision||"nonGreedy"in target&&target.nonGreedy}hashCode(){if(this.cachedHashCode===void 0){let hashCode=MurmurHash.initialize(7);hashCode=MurmurHash.update(hashCode,this.state.stateNumber),hashCode=MurmurHash.update(hashCode,this.alt),hashCode=MurmurHash.updateFromComparable(hashCode,this.context),hashCode=MurmurHash.updateFromComparable(hashCode,this.semanticContext),hashCode=MurmurHash.update(hashCode,this.passedThroughNonGreedyDecision?1:0),hashCode=MurmurHash.updateFromComparable(hashCode,this.lexerActionExecutor),hashCode=MurmurHash.finish(hashCode,6),this.cachedHashCode=hashCode}return this.cachedHashCode}equals(other){return this===other?!0:this.passedThroughNonGreedyDecision===other.passedThroughNonGreedyDecision&&(this.lexerActionExecutor&&other.lexerActionExecutor?this.lexerActionExecutor.equals(other.lexerActionExecutor):!other.lexerActionExecutor)&&super.equals(other)}},BaseErrorListener=class{static{__name(this,"BaseErrorListener")}syntaxError(recognizer,offendingSymbol,line,column,msg,e){}reportAmbiguity(recognizer,dfa,startIndex,stopIndex,exact,ambigAlts,configs){}reportAttemptingFullContext(recognizer,dfa,startIndex,stopIndex,conflictingAlts,configs){}reportContextSensitivity(recognizer,dfa,startIndex,stopIndex,prediction,configs){}},ConsoleErrorListener=class _ConsoleErrorListener extends BaseErrorListener{static{__name(this,"ConsoleErrorListener")}static instance=new _ConsoleErrorListener;syntaxError(recognizer,offendingSymbol,line,charPositionInLine,msg,_e){console.error("line "+line+":"+charPositionInLine+" "+msg)}},ProxyErrorListener=class extends BaseErrorListener{constructor(delegates){return super(),this.delegates=delegates,this}static{__name(this,"ProxyErrorListener")}syntaxError(recognizer,offendingSymbol,line,column,msg,e){this.delegates.forEach(d=>{d.syntaxError(recognizer,offendingSymbol,line,column,msg,e)})}reportAmbiguity(recognizer,dfa,startIndex,stopIndex,exact,ambigAlts,configs){this.delegates.forEach(d=>{d.reportAmbiguity(recognizer,dfa,startIndex,stopIndex,exact,ambigAlts,configs)})}reportAttemptingFullContext(recognizer,dfa,startIndex,stopIndex,conflictingAlts,configs){this.delegates.forEach(d=>{d.reportAttemptingFullContext(recognizer,dfa,startIndex,stopIndex,conflictingAlts,configs)})}reportContextSensitivity(recognizer,dfa,startIndex,stopIndex,prediction,configs){this.delegates.forEach(d=>{d.reportContextSensitivity(recognizer,dfa,startIndex,stopIndex,prediction,configs)})}},Recognizer=class _Recognizer{static{__name(this,"Recognizer")}static EOF=-1;static tokenTypeMapCache=new Map;static ruleIndexMapCache=new Map;interpreter;listeners=[ConsoleErrorListener.instance];stateNumber=-1;checkVersion(toolVersion){let runtimeVersion="4.13.1";runtimeVersion!==toolVersion&&console.error("ANTLR runtime and generated code versions disagree: "+runtimeVersion+"!="+toolVersion)}addErrorListener(listener){this.listeners.push(listener)}removeErrorListeners(){this.listeners=[]}removeErrorListener(listener){for(let i=0;i<this.listeners.length;i++)if(this.listeners[i]===listener){this.listeners.splice(i,1);return}}getErrorListeners(){return this.listeners}getTokenTypeMap(){let vocabulary=this.vocabulary,result=_Recognizer.tokenTypeMapCache.get(vocabulary);if(!result){result=new Map;for(let i=0;i<=this.atn.maxTokenType;i++){let literalName=vocabulary.getLiteralName(i);literalName&&result.set(literalName,i);let symbolicName=vocabulary.getSymbolicName(i);symbolicName&&result.set(symbolicName,i)}result.set("EOF",Token.EOF),_Recognizer.tokenTypeMapCache.set(vocabulary,result)}return result}getRuleIndexMap(){let ruleNames=this.ruleNames,result=_Recognizer.ruleIndexMapCache.get(ruleNames);return result||(result=new Map,ruleNames.forEach((ruleName,idx)=>result.set(ruleName,idx)),_Recognizer.ruleIndexMapCache.set(ruleNames,result)),result}getTokenType(tokenName){let ttype=this.getTokenTypeMap().get(tokenName);return ttype||Token.INVALID_TYPE}getErrorHeader(e){let line=e.offendingToken?.line,column=e.offendingToken?.column;return"line "+line+":"+column}get errorListenerDispatch(){return new ProxyErrorListener(this.listeners)}sempred(_localctx,_ruleIndex,_actionIndex){return!0}precpred(_localctx,_precedence){return!0}action(_localctx,_ruleIndex,_actionIndex){}get atn(){return this.interpreter.atn}get state(){return this.stateNumber}set state(state){this.stateNumber=state}getParseInfo(){}},CommonTokenFactory=class _CommonTokenFactory{static{__name(this,"CommonTokenFactory")}static DEFAULT=new _CommonTokenFactory;copyText=!1;constructor(copyText){this.copyText=copyText??!1}create(source,type,text,channel,start,stop,line,column){let t=CommonToken.fromSource(source,type,channel,start,stop);return t.line=line,t.column=column,text?t.text=text:this.copyText&&source[1]!==null&&(t.text=source[1].getTextFromRange(start,stop)),t}},RecognitionException=class _RecognitionException extends Error{static{__name(this,"RecognitionException")}ctx;offendingToken=null;offendingState=-1;recognizer;input;constructor(params){super(params.message),Error.captureStackTrace&&Error.captureStackTrace(this,_RecognitionException),this.message=params.message,this.recognizer=params.recognizer,this.input=params.input,this.ctx=params.ctx,this.recognizer!==null&&(this.offendingState=this.recognizer.state)}getExpectedTokens(){return this.recognizer!==null&&this.ctx!==null?this.recognizer.atn.getExpectedTokens(this.offendingState,this.ctx):null}toString(){return this.message}},LexerNoViableAltException=class extends RecognitionException{static{__name(this,"LexerNoViableAltException")}startIndex;deadEndConfigs;constructor(lexer,input,startIndex,deadEndConfigs){super({message:"",recognizer:lexer,input,ctx:null}),this.startIndex=startIndex,this.deadEndConfigs=deadEndConfigs}toString(){let symbol="";return this.input&&this.startIndex>=0&&this.startIndex<this.input.size&&(symbol=this.input.getTextFromRange(this.startIndex,this.startIndex)),`LexerNoViableAltException(${symbol})`}},Lexer=class _Lexer extends Recognizer{static{__name(this,"Lexer")}static DEFAULT_MODE=0;static MORE=-2;static SKIP=-3;static DEFAULT_TOKEN_CHANNEL=Token.DEFAULT_CHANNEL;static HIDDEN=Token.HIDDEN_CHANNEL;options={minDFAEdge:0,maxDFAEdge:256,minCodePoint:0,maxCodePoint:1114111};tokenStartCharIndex=-1;channel=0;type=0;mode=_Lexer.DEFAULT_MODE;currentTokenColumn=0;currentTokenStartLine=0;input;token=null;hitEOF=!1;factory;#modeStack=[];#text;constructor(input,options){super(),this.options={...this.options,...options},this.input=input,this.factory=CommonTokenFactory.DEFAULT}reset(seekBack=!0){seekBack&&this.input.seek(0),this.token=null,this.type=Token.INVALID_TYPE,this.channel=Token.DEFAULT_CHANNEL,this.tokenStartCharIndex=-1,this.currentTokenColumn=-1,this.currentTokenStartLine=-1,this.#text=void 0,this.hitEOF=!1,this.mode=_Lexer.DEFAULT_MODE,this.#modeStack=[],this.interpreter.reset()}nextToken(){if(this.input===null)throw new Error("nextToken requires a non-null input stream.");let tokenStartMarker=this.input.mark();try{for(;;){if(this.hitEOF)return this.emitEOF(),this.token;this.token=null,this.channel=Token.DEFAULT_CHANNEL,this.tokenStartCharIndex=this.input.index,this.currentTokenColumn=this.interpreter.column,this.currentTokenStartLine=this.interpreter.line,this.#text=void 0;let continueOuter=!1;for(;;){this.type=Token.INVALID_TYPE;let ttype=_Lexer.SKIP;try{ttype=this.interpreter.match(this.input,this.mode)}catch(e){if(e instanceof LexerNoViableAltException)this.notifyListeners(e),this.recover(e);else throw e}if(this.input.LA(1)===Token.EOF&&(this.hitEOF=!0),this.type===Token.INVALID_TYPE&&(this.type=ttype),this.type===_Lexer.SKIP){continueOuter=!0;break}if(this.type!==_Lexer.MORE)break}if(!continueOuter)return this.token===null&&this.emit(),this.token}}finally{this.input.release(tokenStartMarker)}}skip(){this.type=_Lexer.SKIP}more(){this.type=_Lexer.MORE}pushMode(m2){LexerATNSimulator.debug&&console.log("pushMode "+m2),this.#modeStack.push(this.mode),this.mode=m2}popMode(){if(this.#modeStack.length===0)throw new Error("Empty Stack");return LexerATNSimulator.debug&&console.log("popMode back to "+this.#modeStack.slice(0,-1)),this.mode=this.#modeStack.pop(),this.mode}get modeStack(){return this.#modeStack}emitToken(token){this.token=token}emit(){let t=this.factory.create([this,this.input],this.type,this.#text,this.channel,this.tokenStartCharIndex,this.getCharIndex()-1,this.currentTokenStartLine,this.currentTokenColumn);return this.emitToken(t),t}emitEOF(){let eof=this.factory.create([this,this.input],Token.EOF,void 0,Token.DEFAULT_CHANNEL,this.input.index,this.input.index-1,this.line,this.column);return this.emitToken(eof),eof}getCharIndex(){return this.input.index}getAllTokens(){let tokens=[],t=this.nextToken();for(;t.type!==Token.EOF;)tokens.push(t),t=this.nextToken();return tokens}notifyListeners(e){let start=this.tokenStartCharIndex,stop=this.input.index,text=this.input.getTextFromRange(start,stop),msg="token recognition error at: '"+this.getErrorDisplay(text)+"'";this.errorListenerDispatch.syntaxError(this,null,this.currentTokenStartLine,this.currentTokenColumn,msg,e)}getErrorDisplay(s){return s}getErrorDisplayForChar(c){return c.charCodeAt(0)===Token.EOF?"<EOF>":c===`
|
|
72
48
|
`?"\\n":c===" "?"\\t":c==="\r"?"\\r":c}getCharErrorDisplay(c){return"'"+this.getErrorDisplayForChar(c)+"'"}recover(re){this.input.LA(1)!==Token.EOF&&(re instanceof LexerNoViableAltException?this.interpreter.consume(this.input):this.input.consume())}get inputStream(){return this.input}set inputStream(input){this.reset(!1),this.input=input}set tokenFactory(factory){this.factory=factory}get tokenFactory(){return this.factory}get sourceName(){return this.input.getSourceName()}get line(){return this.interpreter.line}set line(line){this.interpreter.line=line}get column(){return this.interpreter.column}set column(column){this.interpreter.column=column}get text(){return this.#text?this.#text:this.interpreter.getText(this.input)}set text(text){this.#text=text}},DFASerializer=class{static{__name(this,"DFASerializer")}dfa;vocabulary;constructor(dfa,vocabulary){this.dfa=dfa,this.vocabulary=vocabulary}toString(){if(!this.dfa.s0)return"";let buf="",states=this.dfa.getStates();for(let s of states){let n2=0;n2=s.edges.length;for(let i=0;i<n2;i++){let t=s.edges[i];if(t&&t.stateNumber!==2147483647){buf+=this.getStateString(s);let label=this.getEdgeLabel(i);buf+="-",buf+=label,buf+="->",buf+=this.getStateString(t),buf+=`
|
|
@@ -28639,15 +28615,15 @@ doc
|
|
|
28639
28615
|
}
|
|
28640
28616
|
}`};function libraryUriForPath(relPath){return`sysml-stdlib:///${relPath.split("/").map(encodeURIComponent).join("/")}`}function loadLibraryFiles(_serverDir,_customPath){return Object.entries(BUNDLED_LIBRARY).map(([relPath,content])=>({uri:libraryUriForPath(relPath),content}))}function skipSpaces(line,pos){for(;pos<line.length&&(line[pos]===" "||line[pos]===" ");)pos++;return pos}function readWord(line,pos){pos=skipSpaces(line,pos);let start=pos;for(;pos<line.length&&isIdentPart(line.charCodeAt(pos));)pos++;return pos>start?[line.slice(start,pos),pos]:void 0}function readName(line,pos){if(pos=skipSpaces(line,pos),pos<line.length&&line[pos]==="'"){pos++;let start=pos;for(;pos<line.length&&isIdentPart(line.charCodeAt(pos));)pos++;let name=line.slice(start,pos);return pos<line.length&&line[pos]==="'"&&pos++,name?[name,pos]:void 0}if(pos<line.length&&line[pos]==="<"){pos++;let start=pos;for(;pos<line.length&&line[pos]!==">";)pos++;let shortName=line.slice(start,pos).trim();if(pos<line.length&&line[pos]===">"&&pos++,pos=skipSpaces(line,pos),pos<line.length&&line[pos]==="'"){for(pos++;pos<line.length&&line[pos]!=="'";)pos++;pos<line.length&&pos++}else if(pos<line.length&&isIdentPart(line.charCodeAt(pos)))for(;pos<line.length&&isIdentPart(line.charCodeAt(pos));)pos++;return shortName?[shortName,pos]:void 0}return readWord(line,pos)}function readLongName(line,pos){if(pos=skipSpaces(line,pos),!(pos>=line.length||line[pos]!=="<")){for(;pos<line.length&&line[pos]!==">";)pos++;if(pos<line.length&&pos++,pos=skipSpaces(line,pos),!(pos>=line.length)){if(line[pos]==="'"){pos++;let start=pos;for(;pos<line.length&&line[pos]!=="'";)pos++;let longName=line.slice(start,pos).trim();return longName&&/^[A-Za-z_]\w*$/.test(longName)?longName:void 0}if(isIdentPart(line.charCodeAt(pos))){let start=pos;for(;pos<line.length&&isIdentPart(line.charCodeAt(pos));)pos++;return line.slice(start,pos)}}}}function matchWord(line,pos,keyword){if(!line.startsWith(keyword,pos))return!1;let after=pos+keyword.length;return after>=line.length||!isIdentPart(line.charCodeAt(after))}var DEF_KEYWORDS=new Set(["part","attribute","port","action","state","item","connection","interface","requirement","constraint","allocation","usecase","enum","calc","view","viewpoint","metadata","analysis","case","concern","rendering","verification","flow","occurrence","ref"]),STANDALONE_TYPE_KEYWORDS=new Set(["datatype","struct","metaclass","alias","classifier"]),USAGE_KEYWORDS=new Set(["attribute","part","port","action","state","item","connection","interface","requirement","constraint","allocation","enum","calc","view","viewpoint","occurrence","ref","flow"]);function extractPackageNameFromHead(head){let lines=head.split(`
|
|
28641
28617
|
`);for(let line of lines){let pos=skipSpaces(line,0);if(matchWord(line,pos,"standard")&&(pos=skipSpaces(line,pos+8)),matchWord(line,pos,"library")&&(pos=skipSpaces(line,pos+7)),!matchWord(line,pos,"package"))continue;if(pos=skipSpaces(line,pos+7),pos<line.length&&line[pos]==="<"){let close=line.indexOf(">",pos);if(close<0)continue;pos=skipSpaces(line,close+1)}let w=readWord(line,pos);if(w)return w[0]}}function extractTypeNameFromLine(line){let w=readWord(line,0);if(!w)return;let[keyword,pos]=w;if(keyword==="abstract"){if(w=readWord(line,pos),!w)return;[keyword,pos]=w}if(!STANDALONE_TYPE_KEYWORDS.has(keyword))if(keyword==="use"){if(w=readWord(line,pos),!w||w[0]!=="case"||(w=readWord(line,w[1]),!w||w[0]!=="def"))return;pos=w[1]}else if(DEF_KEYWORDS.has(keyword)){if(w=readWord(line,pos),!w||w[0]!=="def")return;pos=w[1]}else return;let nameOrAll=readName(line,pos);if(nameOrAll)return nameOrAll[0]==="all"?readName(line,nameOrAll[1])?.[0]:nameOrAll[0]}function extractUsageNameFromLine(line){if(line.length<5||line[0]!==" "||line[1]!==" "||line[2]!==" "||line[3]!==" ")return;let w=readWord(line,4);if(!w)return;let[keyword,pos]=w;if(keyword==="abstract"){if(w=readWord(line,pos),!w)return;[keyword,pos]=w}if(keyword==="use"){if(w=readWord(line,pos),!w||w[0]!=="case")return;pos=w[1]}else if(!USAGE_KEYWORDS.has(keyword))return;let name=readName(line,pos);if(!name)return;let afterPos=skipSpaces(line,name[1]);if(afterPos>=line.length)return;let ch=line[afterPos];if(!(ch!==":"&&ch!=="["&&ch!==";"&&ch!=="{"))return name[0]}function extractUsageLongNameFromLine(line){if(line.length<5||line[0]!==" "||line[1]!==" "||line[2]!==" "||line[3]!==" ")return;let w=readWord(line,4);if(!w)return;let[keyword,pos]=w;if(keyword==="abstract"){if(w=readWord(line,pos),!w)return;[keyword,pos]=w}if(keyword==="use"){if(w=readWord(line,pos),!w||w[0]!=="case")return;pos=w[1]}else if(!USAGE_KEYWORDS.has(keyword))return;return readLongName(line,pos)}function cleanCommentLine(line){let s=0,e=line.length;if(s<e&&line[s]==="/"){for(s++;s<e&&line[s]==="*";)s++;for(;s<e&&(line[s]===" "||line[s]===" ");)s++}else s<e&&line[s]==="*"&&(s++,s<e&&line[s]===" "&&s++);if(e>s&&line[e-1]==="/"){let te=e-1;for(;te>s&&line[te-1]==="*";)te--;if(te<e-1)for(e=te;e>s&&(line[e-1]===" "||line[e-1]===" ");)e--}return line.slice(s,e).trim()}var index,typeIndex;function indexLibraryFile(fileUri,content,packages,types){let pkgName=extractPackageNameFromHead(content);pkgName&&packages.set(pkgName,fileUri);let lines=content.split(`
|
|
28642
|
-
`);for(let i=0;i<lines.length;i++){let typeName=extractTypeNameFromLine(lines[i]);typeName&&(types.has(typeName)||types.set(typeName,{uri:fileUri,line:i}));let usageName=extractUsageNameFromLine(lines[i]);if(usageName){if(types.has(usageName)||types.set(usageName,{uri:fileUri,line:i}),pkgName){let qualName=`${pkgName}::${usageName}`;types.has(qualName)||types.set(qualName,{uri:fileUri,line:i})}let longName=extractUsageLongNameFromLine(lines[i]);if(longName&&longName!==usageName&&(types.has(longName)||types.set(longName,{uri:fileUri,line:i}),pkgName)){let qualLong=`${pkgName}::${longName}`;types.has(qualLong)||types.set(qualLong,{uri:fileUri,line:i})}}}}function buildIndexFromFiles(files){let packages=new Map,types=new Map;for(let file of files)rawContentByUri.set(file.uri,file.content),indexLibraryFile(file.uri,file.content,packages,types);return{packages,types}}function initLibraryIndex(serverDir,customPath){rawContentByUri.clear(),fileContentCache.clear(),hoverInfoCache.clear();let files=loadLibraryFiles(serverDir,customPath),result=buildIndexFromFiles(files);return index=result.packages,typeIndex=result.types,index.size}function resolveLibraryPackage(name){if(!index)return;let pkg=name.split("::")[0];return index.get(pkg)}function resolveLibraryType(name){if(!typeIndex)return;let exact=typeIndex.get(name);if(exact)return exact;if(name.includes("::")){let member=name.split("::").pop();return typeIndex.get(member)}}function getLibraryPackageNames(){return index?Array.from(index.keys()):[]}var rawContentByUri=new Map,fileContentCache=new Map,FILE_CACHE_MAX=50,hoverInfoCache=new Map,HOVER_CACHE_MAX=200;function getCachedFileLines(uri){let cached=fileContentCache.get(uri);if(cached)return cached;let content=rawContentByUri.get(uri);if(content===void 0)return;let lines=content.split(`
|
|
28643
|
-
`);if(fileContentCache.size>=FILE_CACHE_MAX){let firstKey=fileContentCache.keys().next().value;firstKey!==void 0&&fileContentCache.delete(firstKey)}return fileContentCache.set(uri,lines),lines}function
|
|
28618
|
+
`);for(let i=0;i<lines.length;i++){let typeName=extractTypeNameFromLine(lines[i]);typeName&&(types.has(typeName)||types.set(typeName,{uri:fileUri,line:i}));let usageName=extractUsageNameFromLine(lines[i]);if(usageName){if(types.has(usageName)||types.set(usageName,{uri:fileUri,line:i}),pkgName){let qualName=`${pkgName}::${usageName}`;types.has(qualName)||types.set(qualName,{uri:fileUri,line:i})}let longName=extractUsageLongNameFromLine(lines[i]);if(longName&&longName!==usageName&&(types.has(longName)||types.set(longName,{uri:fileUri,line:i}),pkgName)){let qualLong=`${pkgName}::${longName}`;types.has(qualLong)||types.set(qualLong,{uri:fileUri,line:i})}}}}function buildIndexFromFiles(files){let packages=new Map,types=new Map;for(let file of files)rawContentByUri.set(file.uri,file.content),rawContentByNormalizedUri.set(normalizeStdlibUri(file.uri),file.content),indexLibraryFile(file.uri,file.content,packages,types);return{packages,types}}function initLibraryIndex(serverDir,customPath){rawContentByUri.clear(),rawContentByNormalizedUri.clear(),fileContentCache.clear(),hoverInfoCache.clear();let files=loadLibraryFiles(serverDir,customPath),result=buildIndexFromFiles(files);return index=result.packages,typeIndex=result.types,index.size}function resolveLibraryPackage(name){if(!index)return;let pkg=name.split("::")[0];return index.get(pkg)}function resolveLibraryType(name){if(!typeIndex)return;let exact=typeIndex.get(name);if(exact)return exact;if(name.includes("::")){let member=name.split("::").pop();return typeIndex.get(member)}}function getLibraryPackageNames(){return index?Array.from(index.keys()):[]}var rawContentByUri=new Map,rawContentByNormalizedUri=new Map,fileContentCache=new Map,FILE_CACHE_MAX=50,hoverInfoCache=new Map,HOVER_CACHE_MAX=200;function getCachedFileLines(uri){let cached=fileContentCache.get(uri);if(cached)return cached;let content=rawContentByUri.get(uri);if(content===void 0)return;let lines=content.split(`
|
|
28619
|
+
`);if(fileContentCache.size>=FILE_CACHE_MAX){let firstKey=fileContentCache.keys().next().value;firstKey!==void 0&&fileContentCache.delete(firstKey)}return fileContentCache.set(uri,lines),lines}function normalizeStdlibUri(uri){let withoutScheme=uri.replace(/^sysml-stdlib:\/*/i,"");try{return decodeURIComponent(withoutScheme)}catch{return withoutScheme}}function getLibraryFileContent(uri){let exact=rawContentByUri.get(uri);return exact!==void 0?exact:rawContentByNormalizedUri.get(normalizeStdlibUri(uri))}function getLibraryHoverInfo(name){if(hoverInfoCache.has(name))return hoverInfoCache.get(name)??void 0;let loc=resolveLibraryType(name);if(!loc){if(hoverInfoCache.size>=HOVER_CACHE_MAX){let firstKey=hoverInfoCache.keys().next().value;firstKey!==void 0&&hoverInfoCache.delete(firstKey)}hoverInfoCache.set(name,null);return}let lines=getCachedFileLines(loc.uri);if(!lines)return;let declLine=(lines[loc.line]??"").trim(),packageName;if(index){for(let[pkg,uri]of index.entries())if(uri===loc.uri){packageName=pkg;break}}let documentation,commentLines=[];for(let i=loc.line-1;i>=0&&i>=loc.line-30;i--){let l=(lines[i]??"").trim();if(l.endsWith("*/")){commentLines.unshift(l);for(let j=i-1;j>=0&&j>=i-50;j--){let cl=(lines[j]??"").trim();if(commentLines.unshift(cl),cl.startsWith("/*"))break}break}if(l!=="")break}commentLines.length>0&&(documentation=commentLines.map(l=>cleanCommentLine(l)).filter(l=>l.length>0).join(`
|
|
28644
28620
|
`));let result={declaration:declLine,packageName,documentation};if(hoverInfoCache.size>=HOVER_CACHE_MAX){let firstKey=hoverInfoCache.keys().next().value;firstKey!==void 0&&hoverInfoCache.delete(firstKey)}return hoverInfoCache.set(name,result),result}var WEIGHTS={size:.25,depth:.2,coupling:.25,docDebt:.1,fanOut:.2};function analyseComplexity(symbols){if(symbols.length===0)return emptyReport();let defs=symbols.filter(s=>isDefinition(s.kind)),usages=symbols.filter(s=>isUsage(s.kind)),packages=symbols.filter(s=>s.kind==="package"),depthMap=computeDepths(symbols),maxDepth=Math.max(...Array.from(depthMap.values()),0),byQualifiedName=new Map(symbols.map(s=>[s.qualifiedName,s])),childCounts=new Map;for(let d of defs)childCounts.set(d.qualifiedName,0);for(let s of symbols)s.parentQualifiedName&&childCounts.has(s.parentQualifiedName)&&childCounts.set(s.parentQualifiedName,(childCounts.get(s.parentQualifiedName)??0)+1);let avgChildrenPerDef=defs.length>0?round(Array.from(childCounts.values()).reduce((a,b)=>a+b,0)/defs.length):0,defNames=new Set(defs.map(d=>d.name)),couplingCount=0,typeRefsPerDef=new Map;for(let d of defs)typeRefsPerDef.set(d.qualifiedName,0);let advanced=computeAdvancedSignals(symbols,defs,byQualifiedName);for(let s of usages)for(let tn of s.typeNames)defNames.has(tn)&&(couplingCount++,s.parentQualifiedName&&typeRefsPerDef.has(s.parentQualifiedName)&&typeRefsPerDef.set(s.parentQualifiedName,(typeRefsPerDef.get(s.parentQualifiedName)??0)+1));let referencedTypes=new Set(usages.flatMap(s=>s.typeNames)),unusedDefinitions=defs.filter(d=>d.kind!=="enum def"&&!referencedTypes.has(d.name)).length,documentedDefs=defs.filter(d=>d.documentation).length,documentationCoverage=defs.length>0?round(documentedDefs/defs.length*100):100,hotspots=defs.map(d=>{let cc=childCounts.get(d.qualifiedName)??0,dp=depthMap.get(d.qualifiedName)??0,tr=typeRefsPerDef.get(d.qualifiedName)??0,hasDoc=!!d.documentation,behaviorSignal=advanced.behaviorByDef.get(d.qualifiedName)??0,score=computeDefScore(cc,dp,tr,hasDoc,behaviorSignal);return{qualifiedName:d.qualifiedName,kind:d.kind,childCount:cc,depth:dp,typeRefs:tr,hasDoc,score}}).sort((a,b)=>b.score-a.score),enrichedDepth=Math.max(maxDepth,advanced.maxCalcChainDepth+1),enrichedCoupling=couplingCount+advanced.specializationLinks+Math.round(advanced.performUsages*.5)+Math.round(advanced.transitionUsages*.5)+Math.round(advanced.stdLibTypeRefs*.6),enrichedFanOut=avgChildrenPerDef+advanced.actionComplexityBonus,complexityIndex=computeIndex(symbols.length,enrichedDepth,enrichedCoupling,defs.length,enrichedFanOut,documentationCoverage);return{totalElements:symbols.length,definitions:defs.length,usages:usages.length,packages:packages.length,maxDepth,avgChildrenPerDef,couplingCount,unusedDefinitions,documentationCoverage,complexityIndex,rating:indexToRating(complexityIndex),hotspots}}function computeAdvancedSignals(symbols,defs,byQualifiedName){let defNames=new Set(defs.map(d=>d.name)),behaviorByDef=new Map;for(let d of defs)behaviorByDef.set(d.qualifiedName,0);let specializationLinks=0,performUsages=0,transitionUsages=0,stdLibTypeRefs=0,maxCalcChainDepth=0,actionComplexityBonus=0,addBehavior=(qualifiedName,amount)=>{!qualifiedName||!behaviorByDef.has(qualifiedName)||behaviorByDef.set(qualifiedName,(behaviorByDef.get(qualifiedName)??0)+amount)};for(let d of defs)specializationLinks+=d.typeNames.length,addBehavior(d.qualifiedName,Math.min(3,d.typeNames.length));for(let s of symbols){switch(s.kind){case"perform action":performUsages++,addBehavior(s.parentQualifiedName,2);break;case"calc":addBehavior(s.parentQualifiedName,2);break;case"calc def":addBehavior(s.parentQualifiedName,1);break;case"transition":transitionUsages++,addBehavior(s.parentQualifiedName,2);break;case"exhibit state":addBehavior(s.parentQualifiedName,1);break;default:break}if(s.kind==="action def"){let localBehavior=symbols.filter(c=>c.parentQualifiedName===s.qualifiedName).reduce((score,c)=>c.kind==="perform action"||c.kind==="calc"||c.kind==="calc def"?score+2:c.kind==="action"?score+1:score,0);actionComplexityBonus+=Math.min(4,localBehavior/4),addBehavior(s.qualifiedName,Math.min(4,localBehavior))}if(s.kind==="calc"||s.kind==="calc def"){let chainDepth=calcChainDepth(s,byQualifiedName);chainDepth>maxCalcChainDepth&&(maxCalcChainDepth=chainDepth),addBehavior(s.parentQualifiedName,Math.min(3,chainDepth))}for(let typeName of s.typeNames)defNames.has(typeName)||looksLikeStdLibType(typeName)&&(stdLibTypeRefs++,addBehavior(s.parentQualifiedName,1))}return{specializationLinks,performUsages,transitionUsages,stdLibTypeRefs,maxCalcChainDepth,actionComplexityBonus,behaviorByDef}}function calcChainDepth(symbol,byQualifiedName){let depth=1,cursor=symbol.parentQualifiedName?byQualifiedName.get(symbol.parentQualifiedName):void 0;for(;cursor&&(cursor.kind==="calc"||cursor.kind==="calc def");)depth++,cursor=cursor.parentQualifiedName?byQualifiedName.get(cursor.parentQualifiedName):void 0;return depth}function looksLikeStdLibType(typeName){return typeName?typeName.includes("::")?!0:new Set(["String","Boolean","Integer","Natural","Real","Complex","Number","Map","OrderedMap","Set","Sequence","Bag","Vector","KeyValuePair","Duration","Time","DateTime","Mass","Length","Speed","Acceleration"]).has(typeName):!1}function emptyReport(){return{totalElements:0,definitions:0,usages:0,packages:0,maxDepth:0,avgChildrenPerDef:0,couplingCount:0,unusedDefinitions:0,documentationCoverage:100,complexityIndex:0,rating:"trivial",hotspots:[]}}function computeDepths(symbols){let result=new Map,byQN=new Map(symbols.map(s=>[s.qualifiedName,s]));function depth(qn){if(result.has(qn))return result.get(qn);let sym=byQN.get(qn);if(!sym||!sym.parentQualifiedName)return result.set(qn,0),0;let d=depth(sym.parentQualifiedName)+1;return result.set(qn,d),d}for(let s of symbols)depth(s.qualifiedName);return result}function computeIndex(elementCount,maxDepth,coupling,defCount,avgFanOut,docCoverage){let sizeN=clamp(Math.log2(Math.max(elementCount,1))/10),depthN=clamp(maxDepth/8),couplingN=defCount>0?clamp(coupling/defCount/5):0,fanOutN=clamp(avgFanOut/15),docDebtN=clamp(1-docCoverage/100),raw=WEIGHTS.size*sizeN+WEIGHTS.depth*depthN+WEIGHTS.coupling*couplingN+WEIGHTS.fanOut*fanOutN+WEIGHTS.docDebt*docDebtN;return Math.round(raw*100)}function computeDefScore(childCount,depth,typeRefs,hasDoc,behaviorSignal=0){let cc=clamp(childCount/15)*30,dp=clamp(depth/6)*20,tr=clamp(typeRefs/5)*25,dc=hasDoc?0:15,bs=clamp(behaviorSignal/8)*10;return Math.round(Math.min(100,cc+dp+tr+dc+bs))}function indexToRating(index2){return index2<=10?"trivial":index2<=25?"simple":index2<=50?"moderate":index2<=75?"complex":"very complex"}function clamp(value){return Math.max(0,Math.min(1,value))}function round(value){return Math.round(value*100)/100}function containsWord(text,word){let idx=0;for(;(idx=text.indexOf(word,idx))!==-1;){let before=idx>0?text.charCodeAt(idx-1):32,after=idx+word.length<text.length?text.charCodeAt(idx+word.length):32;if(!isIdentPart(before)&&!isIdentPart(after))return!0;idx+=1}return!1}function findWordPositions(text,word){let results=[],idx=0;for(;(idx=text.indexOf(word,idx))!==-1;){let before=idx>0?text.charCodeAt(idx-1):32,afterIdx=idx+word.length,after=afterIdx<text.length?text.charCodeAt(afterIdx):32;!isIdentPart(before)&&!isIdentPart(after)&&results.push({pos:idx,afterPos:afterIdx}),idx+=1}return results}function findWordPositionsCI(text,word){let lower=text.toLowerCase(),wordLower=word.toLowerCase(),results=[],idx=0;for(;(idx=lower.indexOf(wordLower,idx))!==-1;){let before=idx>0?lower.charCodeAt(idx-1):32,afterIdx=idx+wordLower.length,after=afterIdx<lower.length?lower.charCodeAt(afterIdx):32;!isIdentPart(before)&&!isIdentPart(after)&&results.push({pos:idx,afterPos:afterIdx}),idx+=1}return results}function skipWS(text,pos){for(;pos<text.length;){let ch=text[pos];if(ch===" "||ch===" "||ch===`
|
|
28645
28621
|
`||ch==="\r")pos++;else break}return pos}function readIdent(text,pos,allowDots=!1){let end=pos;for(;end<text.length;){let ch=text.charCodeAt(end);if(isIdentPart(ch))end++;else if(allowDots&&text[end]===".")end++;else if(text[end]===":"&&end+1<text.length&&text[end+1]===":")end+=2;else break}return[text.substring(pos,end),end]}function readNameOrQuoted(text,pos,allowDots=!1){if(pos<text.length&&text[pos]==="'"){let close=text.indexOf("'",pos+1);if(close>=0)return[text.substring(pos+1,close),close+1]}return readIdent(text,pos,allowDots)}function readWordAfterKeyword(text,afterPos,allowDots=!1){let start=skipWS(text,afterPos);return readIdent(text,start,allowDots)}function readCommaSeparatedIdents(text,pos){let names=[],p=skipWS(text,pos);for(;p<text.length;){let[name,end]=readIdent(text,p);if(!name)break;if(names.push(name),p=skipWS(text,end),p<text.length&&text[p]===",")p=skipWS(text,p+1);else break}return names}var SysMLModelProvider=class{constructor(documentManager2){this.documentManager=documentManager2}documentManager;_stCache=new Map;removeUri(uri){this._stCache.delete(uri)}clearAll(){let count=this._stCache.size;return this._stCache.clear(),count}get cacheSize(){return this._stCache.size}_getSymbolTable(uri,parseResult){let version=this.documentManager.getVersion(uri),cached=this._stCache.get(uri);if(cached&&cached.version===version)return cached.table;let table=new SymbolTable;return table.build(uri,parseResult),this._stCache.set(uri,{version,table}),table}getModel(uri,version,scopes){let startTime=Date.now(),parseResult=this.documentManager.get(uri);if(!parseResult)return{version:-1};let scopeSet=new Set(scopes&&scopes.length>0?scopes:["elements","relationships","sequenceDiagrams","activityDiagrams","resolvedTypes","diagnostics"]),symbolTable=this._getSymbolTable(uri,parseResult),lines=(this.documentManager.getText(uri)??"").split(`
|
|
28646
28622
|
`),result={version};scopeSet.has("elements")&&(result.elements=this.convertToElementDTOs(symbolTable,uri,lines)),scopeSet.has("relationships")&&(result.relationships=this.extractRelationships(symbolTable,uri,lines)),scopeSet.has("sequenceDiagrams")&&(result.sequenceDiagrams=this.extractSequenceDiagrams(symbolTable,uri,lines)),scopeSet.has("activityDiagrams")&&(result.activityDiagrams=this.extractActivityDiagrams(symbolTable,uri,lines)),scopeSet.has("resolvedTypes")&&(result.resolvedTypes=this.extractResolvedTypes(symbolTable,uri,lines)),scopeSet.has("diagnostics")&&(result.diagnostics=this.extractSemanticDiagnostics(symbolTable,uri));let allSymbols=symbolTable.getSymbolsForUri(uri),resolved=allSymbols.filter(s=>s.typeNames.length>0),parseTimeMs=this.documentManager.getParseTimeMs(uri),timingBreakdown=this.documentManager.getTimingBreakdown(uri),modelBuildTimeMs=Date.now()-startTime;return result.stats={totalElements:allSymbols.length,resolvedElements:resolved.length,unresolvedElements:allSymbols.length-resolved.length,parseTimeMs,lexTimeMs:timingBreakdown.lexMs,parseOnlyTimeMs:timingBreakdown.parseMs,modelBuildTimeMs,complexity:analyseComplexity(allSymbols)},result}convertToElementDTOs(symbolTable,uri,lines){let symbols=symbolTable.getSymbolsForUri(uri),byQualifiedName=new Map;for(let sym of symbols)byQualifiedName.set(sym.qualifiedName,sym);let childrenOf=new Map;for(let sym of symbols)if(sym.parentQualifiedName&&byQualifiedName.has(sym.parentQualifiedName)){let list=childrenOf.get(sym.parentQualifiedName)??[];list.push(sym),childrenOf.set(sym.parentQualifiedName,list)}return symbols.filter(s=>!s.parentQualifiedName||!byQualifiedName.has(s.parentQualifiedName)).map(s=>this.symbolToElementDTO(s,childrenOf,lines))}symbolToElementDTO(symbol,childrenOf,lines){let children=(childrenOf.get(symbol.qualifiedName)??[]).filter(c=>c.qualifiedName!==symbol.qualifiedName).map(c=>this.symbolToElementDTO(c,childrenOf,lines)),attributes={};if(symbol.typeNames.length>0){let typeLabel=symbol.typeNames.join(", ");symbol.kind==="port"||symbol.kind==="port def"?attributes.portType=typeLabel:attributes.partType=typeLabel}symbol.documentation&&(attributes.documentation=symbol.documentation),symbol.metadataAnnotations&&symbol.metadataAnnotations.length>0&&(attributes.metadataAnnotations=symbol.metadataAnnotations.join(", ")),symbol.exposeTargets&&symbol.exposeTargets.length>0&&(attributes.exposeTargets=symbol.exposeTargets.join(",")),symbol.viewFilters&&symbol.viewFilters.length>0&&(attributes.viewFilters=symbol.viewFilters.join(",")),symbol.viewRendering&&(attributes.viewRendering=symbol.viewRendering);let direction=this.extractDirection(symbol,lines);direction&&(attributes.direction=direction);let multiplicity=this.extractMultiplicity(symbol,lines);multiplicity&&(attributes.multiplicity=multiplicity);let modifier=this.extractModifier(symbol,lines);modifier&&(attributes.modifier=modifier);let visibility=this.extractVisibility(symbol,lines);visibility&&(attributes.visibility=visibility);let value=this.extractValue(symbol,lines);value&&(attributes.value=value);let relationships=[];for(let tn of symbol.typeNames)relationships.push({type:"typing",source:symbol.name,target:tn});let specializations=this.extractSpecializations(symbol,lines);for(let spec of specializations)relationships.push({type:"specializes",source:symbol.name,target:spec});return{type:symbol.kind,name:symbol.name,range:this.rangeToDTO(symbol.range),children,attributes,relationships}}extractRelationships(symbolTable,uri,lines){let symbols=symbolTable.getSymbolsForUri(uri),relationships=[];for(let symbol of symbols){if(symbol.kind==="package"||symbol.kind==="import"||symbol.kind==="comment"||symbol.kind==="doc")continue;if(symbol.typeNames.length>0&&isUsage(symbol.kind))for(let tn of symbol.typeNames)relationships.push({type:"typing",source:symbol.name,target:tn});let specializations=this.extractSpecializations(symbol,lines);for(let spec of specializations)relationships.push({type:"specializes",source:symbol.name,target:spec});if(symbol.kind==="connection"){let connectionTargets=this.extractConnectionEndpoints(symbol,lines);connectionTargets.length===2&&relationships.push({type:"connection",source:connectionTargets[0],target:connectionTargets[1],name:symbol.name})}if(symbol.kind==="allocation"){let allocTargets=this.extractConnectionEndpoints(symbol,lines);allocTargets.length===2&&relationships.push({type:"allocation",source:allocTargets[0],target:allocTargets[1],name:symbol.name})}let elementText=this.getElementText(symbol,lines),additionalRels=this.extractKeywordRelationships(symbol.name,elementText);relationships.push(...additionalRels)}let fullText=lines.join(`
|
|
28647
28623
|
`),standaloneSatisfy=this.extractStandaloneSatisfyVerify(stripComments(fullText));for(let rel of standaloneSatisfy)relationships.some(r=>r.type===rel.type&&r.source===rel.source&&r.target===rel.target)||relationships.push(rel);return relationships}extractSequenceDiagrams(symbolTable,uri,lines){let symbols=symbolTable.getSymbolsForUri(uri),diagrams=[],seen=new Set;for(let symbol of symbols){if(symbol.kind!=="action def"&&symbol.kind!=="action")continue;let children=this.getChildSymbols(symbol,symbolTable),participants=[],messages=[];for(let child of children)(child.kind==="part"||child.kind==="item")&&participants.push({name:child.name,type:child.typeNames.join(", ")||child.kind,range:this.rangeToDTO(child.range)});let fullText=this.getFullElementText(symbol,lines),occurrence=1;for(let{afterPos}of findWordPositionsCI(fullText,"send")){let sigStart=skipWS(fullText,afterPos),[signal,afterSig]=readIdent(fullText,sigStart,!0);if(!signal)continue;let kwStart=skipWS(fullText,afterSig),[kw,afterKw]=readIdent(fullText,kwStart);if(kw!=="via"&&kw!=="to")continue;let tgtStart=skipWS(fullText,afterKw),[target]=readIdent(fullText,tgtStart,!0);target&&messages.push({name:`send_${occurrence}`,from:symbol.name,to:target,payload:signal,occurrence:occurrence++,range:this.rangeToDTO(symbol.range)})}for(let{afterPos}of findWordPositionsCI(fullText,"accept")){let sigStart=skipWS(fullText,afterPos),[signal,afterSig]=readIdent(fullText,sigStart,!0);if(!signal)continue;let kwStart=skipWS(fullText,afterSig),[kw,afterKw]=readIdent(fullText,kwStart);if(kw!=="via"&&kw!=="from")continue;let srcStart=skipWS(fullText,afterKw),[source]=readIdent(fullText,srcStart,!0);source&&messages.push({name:`accept_${occurrence}`,from:source,to:symbol.name,payload:signal,occurrence:occurrence++,range:this.rangeToDTO(symbol.range)})}for(let child of children)if(child.kind==="action"){let childText=this.getFullElementText(child,lines);for(let{afterPos}of findWordPositionsCI(childText,"send")){let sigStart=skipWS(childText,afterPos),[signal,afterSig]=readIdent(childText,sigStart,!0);if(!signal)continue;let kwStart=skipWS(childText,afterSig),[kw,afterKw]=readIdent(childText,kwStart);if(kw!=="via"&&kw!=="to")continue;let tgtStart=skipWS(childText,afterKw),[target]=readIdent(childText,tgtStart,!0);target&&messages.push({name:child.name,from:target??symbol.name,to:signal??"",payload:signal??"",occurrence:occurrence++,range:this.rangeToDTO(child.range)})}for(let{afterPos}of findWordPositionsCI(childText,"accept")){let sigStart=skipWS(childText,afterPos),[signal,afterSig]=readIdent(childText,sigStart,!0);if(!signal)continue;let kwStart=skipWS(childText,afterSig),[kw,afterKw]=readIdent(childText,kwStart);if(kw!=="via"&&kw!=="from")continue;let srcStart=skipWS(childText,afterKw),[source]=readIdent(childText,srcStart,!0);source&&messages.push({name:child.name,from:source??"",to:symbol.name,payload:signal??"",occurrence:occurrence++,range:this.rangeToDTO(child.range)})}}(participants.length>0||messages.length>0)&&(diagrams.push({name:symbol.name,participants,messages,range:this.rangeToDTO(symbol.range)}),messages.length>0&&seen.add(symbol.qualifiedName))}for(let symbol of symbols){if(seen.has(symbol.qualifiedName)||symbol.kind!=="action def"&&symbol.kind!=="action")continue;let children=this.getChildSymbols(symbol,symbolTable);if(!children.some(c=>c.kind==="action"||c.kind==="action def"))continue;let flows=this.extractSuccessions(symbol,lines);if(flows.length===0)continue;let participants=children.filter(c=>c.kind==="action"||c.kind==="action def").map(c=>({name:c.name,type:c.typeNames.join(", ")||"action",range:this.rangeToDTO(c.range)})),messages=[],occ=1;for(let flow of flows){if(flow.from==="start"||flow.to==="done")continue;let label=flow.guard??flow.to;messages.push({name:label,from:flow.from,to:flow.to,payload:flow.guard??"",occurrence:occ++,range:flow.range})}if(participants.length>0||messages.length>0){let existingIdx=diagrams.findIndex(d=>d.name===symbol.name);existingIdx>=0&&diagrams.splice(existingIdx,1),diagrams.push({name:symbol.name,participants,messages,range:this.rangeToDTO(symbol.range)})}}let containerKinds=new Set(["part def","part","item def","item","interface def","interface","connection def","connection","occurrence def","occurrence"]),rootName=qualified=>{if(!qualified)return qualified;let dotIdx=qualified.indexOf("."),head=dotIdx>=0?qualified.substring(0,dotIdx):qualified,ccIdx=head.lastIndexOf("::");return ccIdx>=0?head.substring(ccIdx+2):head};for(let symbol of symbols){if(seen.has(symbol.qualifiedName)||!containerKinds.has(symbol.kind))continue;let children=this.getChildSymbols(symbol,symbolTable),fullText=this.getFullElementText(symbol,lines),parsedMessages=[],occ=1;for(let keyword of["flow","message"])for(let{afterPos}of findWordPositionsCI(fullText,keyword)){let nameStart=skipWS(fullText,afterPos),[name,afterName]=readIdent(fullText,nameStart);if(!name||name==="def")continue;let fromStart=skipWS(fullText,afterName),[fromKw,afterFromKw]=readIdent(fullText,fromStart);if(fromKw!=="from")continue;let srcStart=skipWS(fullText,afterFromKw),[srcRaw,afterSrc]=readIdent(fullText,srcStart,!0);if(!srcRaw)continue;let toStart=skipWS(fullText,afterSrc),[toKw,afterToKw]=readIdent(fullText,toStart);if(toKw!=="to")continue;let tgtStart=skipWS(fullText,afterToKw),[tgtRaw]=readIdent(fullText,tgtStart,!0);tgtRaw&&parsedMessages.push({name,from:rootName(srcRaw),to:rootName(tgtRaw),payload:name,occurrence:occ++,range:this.rangeToDTO(symbol.range)})}if(parsedMessages.length===0)continue;let participants=[];for(let child of children)(child.kind==="part"||child.kind==="item"||child.kind==="part def"||child.kind==="item def"||child.kind==="ref")&&(participants.find(p=>p.name===child.name)||participants.push({name:child.name,type:child.typeNames.join(", ")||child.kind,range:this.rangeToDTO(child.range)}));for(let msg of parsedMessages)for(let endpoint of[msg.from,msg.to])endpoint&&!participants.find(p=>p.name===endpoint)&&participants.push({name:endpoint,type:"participant",range:this.rangeToDTO(symbol.range)});let existingIdx=diagrams.findIndex(d=>d.name===symbol.name);existingIdx>=0&&diagrams.splice(existingIdx,1),diagrams.push({name:symbol.name,participants,messages:parsedMessages,range:this.rangeToDTO(symbol.range)}),seen.add(symbol.qualifiedName)}return diagrams}extractActivityDiagrams(symbolTable,uri,lines){let symbols=symbolTable.getSymbolsForUri(uri),diagrams=[];for(let symbol of symbols){if(symbol.kind!=="action def"&&symbol.kind!=="action")continue;let children=this.getChildSymbols(symbol,symbolTable),hasChildActions=children.some(c=>c.kind==="action"||c.kind==="action def");if(symbol.kind==="action"&&!hasChildActions)continue;let actions=[],decisions=[],flows=[],states=[];for(let child of children){let childText=this.getElementText(child,lines);if(child.kind==="action"||child.kind==="action def"){let actionType="action",lowerText=childText.toLowerCase();lowerText.includes("fork")?actionType="fork":lowerText.includes("join")?actionType="join":lowerText.includes("merge")?actionType="merge":lowerText.includes("decide")&&(actionType="decision");let subActions=this.getChildSymbols(child,symbolTable).filter(c=>c.kind==="action"||c.kind==="action def").map(c=>this.symbolToActionDTO(c,symbolTable,lines));if(actions.push({name:child.name,type:actionType,isDefinition:child.kind==="action def",range:this.rangeToDTO(child.range),parent:symbol.name,children:subActions.map(a=>a.name),subActions:subActions.length>0?subActions:void 0}),actionType==="decision"){let branches=this.extractDecisionBranches(child,lines);decisions.push({name:child.name,condition:"",branches,range:this.rangeToDTO(child.range)})}}if(child.kind==="state"||child.kind==="state def"){let stateType=childText.toLowerCase().includes("initial")?"initial":childText.toLowerCase().includes("final")?"final":"intermediate";states.push({name:child.name,type:stateType,range:this.rangeToDTO(child.range)})}}let successionFlows=this.extractSuccessions(symbol,lines);flows.push(...successionFlows);let fullText=this.getFullElementText(symbol,lines);if(findWordPositions(fullText,"decide").some(({afterPos})=>{let p=skipWS(fullText,afterPos);return p<fullText.length&&fullText[p]===";"})){let branches=[];for(let{afterPos:ifAfter}of findWordPositions(fullText,"if")){let thenIdx=fullText.indexOf("then",ifAfter);if(thenIdx<0)continue;let bBefore=thenIdx>0?fullText.charCodeAt(thenIdx-1):32,bAfter=thenIdx+4<fullText.length?fullText.charCodeAt(thenIdx+4):32;if(isIdentPart(bBefore)||isIdentPart(bAfter))continue;let condition=fullText.substring(ifAfter,thenIdx).trim(),[target]=readWordAfterKeyword(fullText,thenIdx+4);target&&branches.push({condition,target})}branches.length>0&&decisions.push({name:"decide",condition:"",branches,range:this.rangeToDTO(symbol.range)})}if(flows.length>0){let hasStartFlow=flows.some(f=>f.from==="start"),hasDoneFlow=flows.some(f=>f.to==="done");hasStartFlow&&actions.unshift({name:"start",type:"initial",isDefinition:!1,range:this.rangeToDTO(symbol.range)}),hasDoneFlow&&actions.push({name:"done",type:"final",isDefinition:!1,range:this.rangeToDTO(symbol.range)}),flows.some(f=>f.from==="decide")&&actions.push({name:"decide",type:"decision",isDefinition:!1,range:this.rangeToDTO(symbol.range)})}(actions.length>0||flows.length>0||states.length>0)&&diagrams.push({name:symbol.name,actions,decisions,flows,states,range:this.rangeToDTO(symbol.range)})}return diagrams}extractResolvedTypes(symbolTable,uri,lines){let symbols=symbolTable.getSymbolsForUri(uri),result={};for(let symbol of symbols){if(!isDefinition(symbol.kind)&&symbol.typeNames.length===0)continue;let specializes=[],specList=this.extractSpecializations(symbol,lines);for(let s of specList)specializes.includes(s)||specializes.push(s);for(let tn of symbol.typeNames)specializes.includes(tn)||specializes.push(tn);let specializationChain=[...specializes],features=this.getChildSymbols(symbol,symbolTable).filter(c=>isUsage(c.kind)).map(c=>({name:c.name,kind:this.featureKindFromElementKind(c.kind),type:c.typeNames.join(", ")||void 0,isDerived:!1,isReadonly:!1}));result[symbol.qualifiedName]={qualifiedName:symbol.qualifiedName,simpleName:symbol.name,kind:symbol.kind,isLibraryType:!1,specializationChain,specializes,features}}return result}extractSemanticDiagnostics(symbolTable,uri){let symbols=symbolTable.getSymbolsForUri(uri),diagnostics=[],allSymbolNames=new Set(symbolTable.getAllSymbols().map(s=>s.name));for(let symbol of symbols){for(let tn of symbol.typeNames)allSymbolNames.has(tn)||diagnostics.push({code:"unresolved-type",message:`Type '${tn}' could not be resolved in the current scope`,severity:"warning",range:this.rangeToDTO(symbol.selectionRange),elementName:symbol.name});symbol.kind==="enum def"&&(this.getChildSymbols(symbol,symbolTable).some(c=>c.kind==="enum"||c.kind==="attribute")||diagnostics.push({code:"empty-enum",message:`Enumeration '${symbol.name}' has no enum values defined`,severity:"info",range:this.rangeToDTO(symbol.range),elementName:symbol.name}))}return diagnostics}rangeToDTO(range){return{start:{line:range.start.line,character:range.start.character},end:{line:range.end.line,character:range.end.character}}}getChildSymbols(parent,symbolTable){return symbolTable.getSymbolsForUri(parent.uri).filter(s=>s.parentQualifiedName===parent.qualifiedName)}getElementText(symbol,lines){let startLine=symbol.range.start.line,endLine=Math.min(startLine+2,symbol.range.end.line,lines.length-1);return lines.slice(startLine,endLine+1).join(`
|
|
28648
28624
|
`)}getFullElementText(symbol,lines){let startLine=symbol.range.start.line,endLine=Math.min(symbol.range.end.line,lines.length-1);return lines.slice(startLine,endLine+1).join(`
|
|
28649
28625
|
`)}extractDirection(symbol,lines){if(symbol.kind!=="port"&&symbol.kind!=="port def")return;let elementText=this.getElementText(symbol,lines);if(containsWord(elementText,"inout"))return"inout";if(containsWord(elementText,"in"))return"in";if(containsWord(elementText,"out"))return"out"}extractMultiplicity(symbol,lines){let elementText=this.getElementText(symbol,lines),open=elementText.indexOf("[");if(open<0)return;let close=elementText.indexOf("]",open+1);if(!(close<0))return elementText.substring(open+1,close)}extractModifier(symbol,lines){let elementText=this.getElementText(symbol,lines),modifiers=[];return containsWord(elementText,"abstract")&&modifiers.push("abstract"),containsWord(elementText,"readonly")&&modifiers.push("readonly"),containsWord(elementText,"derived")&&modifiers.push("derived"),containsWord(elementText,"variation")&&modifiers.push("variation"),containsWord(elementText,"individual")&&modifiers.push("individual"),modifiers.length>0?modifiers.join(", "):void 0}extractVisibility(symbol,lines){let elementText=this.getElementText(symbol,lines);if(containsWord(elementText,"private"))return"private";if(containsWord(elementText,"protected"))return"protected";if(containsWord(elementText,"public"))return"public"}extractValue(symbol,lines){if(symbol.kind!=="attribute")return;let elementText=this.getElementText(symbol,lines),eqIdx=elementText.indexOf("=");if(eqIdx<0)return;let start=eqIdx+1;if(start<elementText.length&&elementText[start]==="=")return;start=skipWS(elementText,start);let end=start;for(;end<elementText.length;){let ch=elementText[end];if(ch===";"||ch==="{"||ch==="}"||ch===`
|
|
28650
|
-
`)break;end++}let val=elementText.substring(start,end).trim();if(val&&!val.includes("def")&&val.length<100)return val}extractSpecializations(symbol,lines){let elementText=this.getElementText(symbol,lines),colonGtIdx=elementText.indexOf(":>");if(colonGtIdx>=0&&!(colonGtIdx+2<elementText.length&&elementText[colonGtIdx+2]===">"))return readCommaSeparatedIdents(elementText,colonGtIdx+2);let specPositions=findWordPositions(elementText,"specializes");return specPositions.length>0?readCommaSeparatedIdents(elementText,specPositions[0].afterPos):[]}extractConnectionEndpoints(symbol,lines){let elementText=this.getElementText(symbol,lines),endpoints=[],connectPositions=findWordPositions(elementText,"connect");for(let{afterPos}of connectPositions){let[name1,end1]=readWordAfterKeyword(elementText,afterPos,!0);if(!name1)continue;let toPos=skipWS(elementText,end1);if(elementText.substring(toPos,toPos+2)==="to"){let afterTo=toPos+2,[name2]=readWordAfterKeyword(elementText,afterTo,!0);if(name2)return endpoints.push(name1,name2),endpoints}}let endPositions=findWordPositions(elementText,"end");for(let{afterPos}of endPositions){let[name]=readWordAfterKeyword(elementText,afterPos,!0);name&&endpoints.push(name)}return endpoints}extractStandaloneSatisfyVerify(text){let rels=[],keywords=["satisfy","verify"];for(let kw of keywords){let positions=findWordPositions(text,kw);for(let{afterPos}of positions){let pos=skipWS(text,afterPos),[nextWord,afterWord]=readNameOrQuoted(text,pos);nextWord==="requirement"?pos=skipWS(text,afterWord):pos=skipWS(text,afterPos);let[reqName,afterReq]=readNameOrQuoted(text,pos);if(!reqName||reqName==="requirement")continue;let byPos=skipWS(text,afterReq),[byWord,afterBy]=readIdent(text,byPos),source;if(byWord==="by"){let[byTarget]=readNameOrQuoted(text,skipWS(text,afterBy));if(!byTarget)continue;source=byTarget}rels.push({type:kw,source,target:reqName})}}return rels}extractKeywordRelationships(elementName,elementText){elementText=stripComments(elementText);let rels=[],subsetsPositions=findWordPositions(elementText,"subsets");if(subsetsPositions.length>0){let[target]=readWordAfterKeyword(elementText,subsetsPositions[0].afterPos);target&&rels.push({type:"subsetting",source:elementName,target})}let redefPositions=findWordPositions(elementText,"redefines");if(redefPositions.length>0){let[target]=readWordAfterKeyword(elementText,redefPositions[0].afterPos);target&&rels.push({type:"redefinition",source:elementName,target})}let satisfyPositions=findWordPositions(elementText,"satisfy");if(satisfyPositions.length>0){let pos=skipWS(elementText,satisfyPositions[0].afterPos),[nextWord,afterWord]=readNameOrQuoted(elementText,pos);nextWord==="requirement"&&(pos=skipWS(elementText,afterWord));let[reqName,afterReq]=readNameOrQuoted(elementText,pos);if(reqName&&reqName!=="requirement"){let satisfier=elementName,byPos=skipWS(elementText,afterReq),[byWord,afterBy]=readIdent(elementText,byPos);if(byWord==="by"){let[byTarget]=readNameOrQuoted(elementText,skipWS(elementText,afterBy));byTarget&&(satisfier=byTarget)}rels.push({type:"satisfy",source:satisfier,target:reqName})}}let verifyPositions=findWordPositions(elementText,"verify");if(verifyPositions.length>0){let pos=skipWS(elementText,verifyPositions[0].afterPos),[nextWord,afterWord]=readNameOrQuoted(elementText,pos);nextWord==="requirement"&&(pos=skipWS(elementText,afterWord));let[reqName,afterReq]=readNameOrQuoted(elementText,pos);if(reqName&&reqName!=="requirement"){let verifier=elementName,byPos=skipWS(elementText,afterReq),[byWord,afterBy]=readIdent(elementText,byPos);if(byWord==="by"){let[byTarget]=readNameOrQuoted(elementText,skipWS(elementText,afterBy));byTarget&&(verifier=byTarget)}rels.push({type:"verify",source:verifier,target:reqName})}}return rels}extractDecisionBranches(symbol,lines){let elementText=this.getElementText(symbol,lines),branches=[],ifPositions=findWordPositions(elementText,"if");for(let{afterPos}of ifPositions){let thenIdx=elementText.indexOf("then",afterPos);if(thenIdx<0)continue;let beforeThen=thenIdx>0?elementText.charCodeAt(thenIdx-1):32,afterThen=thenIdx+4<elementText.length?elementText.charCodeAt(thenIdx+4):32;if(isIdentPart(beforeThen)||isIdentPart(afterThen))continue;let condition=elementText.substring(afterPos,thenIdx).trim(),[target]=readWordAfterKeyword(elementText,thenIdx+4);target&&branches.push({condition,target})}let elsePositions=findWordPositions(elementText,"else");if(elsePositions.length>0){let[target]=readWordAfterKeyword(elementText,elsePositions[0].afterPos);target&&branches.push({condition:"else",target})}return branches}extractSuccessions(parent,lines){let elementText=this.getFullElementText(parent,lines),flows=[],seen=new Set,range=this.rangeToDTO(parent.range),addFlow=(from,to,guard)=>{if(from===to)return;let key=`${from}->${to}`;if(seen.has(key))return;seen.add(key);let f={from,to,range};guard&&(f.guard=guard),flows.push(f)};function braceDepthAt(text,pos){let depth=0;for(let i=0;i<pos&&i<text.length;i++)text[i]==="{"?depth++:text[i]==="}"&&depth--;return depth}let firstBrace=elementText.indexOf("{"),topDepth=firstBrace>=0?braceDepthAt(elementText,firstBrace+1):1,stripQualifier=name=>{let idx=name.lastIndexOf("::");return idx>=0?name.substring(idx+2):name},tokens=[];for(let{pos,afterPos}of findWordPositions(elementText,"first")){if(braceDepthAt(elementText,pos)!==topDepth)continue;let nameStart=skipWS(elementText,afterPos),[name]=readNameOrQuoted(elementText,nameStart);name&&tokens.push({type:"first",name:stripQualifier(name),index:pos})}for(let{pos,afterPos}of findWordPositions(elementText,"then")){if(braceDepthAt(elementText,pos)!==topDepth)continue;let lookbackStart=Math.max(0,pos-100),preceding=elementText.substring(lookbackStart,pos);if(containsWord(preceding,"if")&&!preceding.includes(";"))continue;let nameStart=skipWS(elementText,afterPos),[maybeAction,afterAction]=readIdent(elementText,nameStart);maybeAction==="action"&&(nameStart=skipWS(elementText,afterAction));let[name]=readNameOrQuoted(elementText,nameStart);!name||name==="if"||tokens.push({type:"then",name:stripQualifier(name),index:pos})}tokens.sort((a,b)=>a.index-b.index);let coveredIndices=new Set;for(let i=0;i<tokens.length;i++)if(tokens[i].type==="first"){let chain=[tokens[i].name];coveredIndices.add(i);for(let j=i+1;j<tokens.length&&tokens[j].type==="then";j++)chain.push(tokens[j].name),coveredIndices.add(j);for(let k=0;k<chain.length-1;k++)addFlow(chain[k],chain[k+1])}let uncoveredThens=tokens.filter((t,i)=>!coveredIndices.has(i)&&t.type==="then");if(uncoveredThens.length>0)for(let i=0;i<uncoveredThens.length-1;i++)addFlow(uncoveredThens[i].name,uncoveredThens[i+1].name);if(flows.length>0){let allTargets=new Set(flows.map(f=>f.to)),allSources=new Set(flows.map(f=>f.from)),entryActions=flows.map(f=>f.from).filter(name=>name!=="start"&&name!=="done"&&!allTargets.has(name)),exitActions=flows.map(f=>f.to).filter(name=>name!=="start"&&name!=="done"&&!allSources.has(name));entryActions.length>0&&addFlow("start",entryActions[0]),exitActions.length>0&&addFlow(exitActions[exitActions.length-1],"done")}for(let{afterPos}of findWordPositions(elementText,"succession")){let p=skipWS(elementText,afterPos),[word1,afterWord1]=readIdent(elementText,p);if(word1==="flow"){p=skipWS(elementText,afterWord1);let[fromKw,afterFrom]=readIdent(elementText,p);if(fromKw==="from"){p=skipWS(elementText,afterFrom);let[srcFull,afterSrc]=readIdent(elementText,p,!0),src=srcFull.includes(".")?srcFull.substring(0,srcFull.indexOf(".")):srcFull;p=skipWS(elementText,afterSrc);let[toKw,afterTo]=readIdent(elementText,p);if(toKw==="to"){p=skipWS(elementText,afterTo);let[dstFull]=readIdent(elementText,p,!0),dst=dstFull.includes(".")?dstFull.substring(0,dstFull.indexOf(".")):dstFull;src&&dst&&addFlow(src,dst)}}continue}let nameStart=p;word1==="first"&&(nameStart=skipWS(elementText,afterWord1));let[name1]=readNameOrQuoted(elementText,nameStart);if(!name1)continue;let afterName1=nameStart+name1.length+(elementText[nameStart]==="'"?2:0),thenCheck=skipWS(elementText,afterName1),[thenKw,afterThen]=readIdent(elementText,thenCheck);if(thenKw==="then"){let name2Start=skipWS(elementText,afterThen),[name2]=readNameOrQuoted(elementText,name2Start);name2&&addFlow(stripQualifier(name1),stripQualifier(name2))}}if(findWordPositions(elementText,"decide").some(({afterPos})=>{let p=skipWS(elementText,afterPos);return p<elementText.length&&elementText[p]===";"})){for(let fi=flows.length-1;fi>=0;fi--)flows[fi].from==="decide"&&(seen.delete(`decide->${flows[fi].to}`),flows.splice(fi,1));let branchTargets=[];for(let{afterPos:ifAfter}of findWordPositions(elementText,"if")){let thenIdx=elementText.indexOf("then",ifAfter);if(thenIdx<0)continue;let bBefore=thenIdx>0?elementText.charCodeAt(thenIdx-1):32,bAfter=thenIdx+4<elementText.length?elementText.charCodeAt(thenIdx+4):32;if(isIdentPart(bBefore)||isIdentPart(bAfter))continue;let condition=elementText.substring(ifAfter,thenIdx).trim(),targetStart=skipWS(elementText,thenIdx+4),[target]=readNameOrQuoted(elementText,targetStart);if(target){let afterTarget=targetStart+target.length+(elementText[targetStart]==="'"?2:0),semi=skipWS(elementText,afterTarget);semi<elementText.length&&elementText[semi]===";"&&(addFlow("decide",target,condition),branchTargets.push(target))}}for(let{pos:mergePos,afterPos:mergeAfter}of findWordPositions(elementText,"merge")){let mStart=skipWS(elementText,mergeAfter),[mergeTarget]=readNameOrQuoted(elementText,mStart);if(!mergeTarget)continue;let afterMT=mStart+mergeTarget.length+(elementText[mStart]==="'"?2:0),semiP=skipWS(elementText,afterMT);if(semiP>=elementText.length||elementText[semiP]!==";")continue;for(let branch of branchTargets)addFlow(branch,mergeTarget);let afterMerge=tokens.filter(t=>t.type==="then"&&t.index>mergePos);afterMerge.length>0?addFlow(mergeTarget,afterMerge[0].name):mergeTarget!=="done"&&addFlow(mergeTarget,"done")}}return flows}featureKindFromElementKind(kind){switch(kind){case"attribute":case"attribute def":return"attribute";case"port":case"port def":return"port";case"action":case"action def":return"action";case"state":case"state def":return"state";default:return"reference"}}symbolToActionDTO(symbol,symbolTable,lines){let childText=this.getElementText(symbol,lines),actionType="action",lowerText=childText.toLowerCase();return lowerText.includes("fork")?actionType="fork":lowerText.includes("join")?actionType="join":lowerText.includes("merge")?actionType="merge":lowerText.includes("decide")&&(actionType="decision"),{name:symbol.name,type:actionType,isDefinition:symbol.kind==="action def",range:this.rangeToDTO(symbol.range)}}};var import_browser=__toESM(require_browser6());function createServerConnection(){let workerScope=globalThis,reader=new import_browser.BrowserMessageReader(workerScope),writer=new import_browser.BrowserMessageWriter(workerScope);return(0,import_browser.createConnection)(import_browser.ProposedFeatures.all,reader,writer)}var import_node=__toESM(require_browser3());var CodeActionProvider=class{constructor(documentManager2){this.documentManager=documentManager2}documentManager;provideCodeActions(params){let actions=[],uri=params.textDocument.uri;for(let diagnostic of params.context.diagnostics){let typoFix=this.tryKeywordTypoFix(uri,diagnostic);typoFix&&actions.push(typoFix);let namingFix=this.tryNamingConventionFix(uri,diagnostic);namingFix&&actions.push(namingFix);let docFix=this.tryMissingDocFix(uri,diagnostic);docFix&&actions.push(docFix);let enumFix=this.tryEmptyEnumFix(uri,diagnostic);enumFix&&actions.push(enumFix);let unusedFix=this.tryUnusedDefinitionFix(uri,diagnostic);unusedFix&&actions.push(unusedFix);let redefMultFix=this.tryRedefinitionMultiplicityFix(uri,diagnostic);redefMultFix&&actions.push(redefMultFix);let portCompatFix=this.tryPortCompatibilityFix(uri,diagnostic);portCompatFix&&actions.push(portCompatFix);let constraintRefFix=this.tryConstraintReferenceFix(uri,diagnostic);constraintRefFix&&actions.push(constraintRefFix);let unresolvedTypeFixes=this.tryUnresolvedTypeFixes(uri,diagnostic);unresolvedTypeFixes.length>0&&actions.push(...unresolvedTypeFixes)}return actions}tryUnresolvedTypeFixes(uri,diagnostic){if(diagnostic.code!=="unresolved-type")return[];let text=this.documentManager.getText(uri);if(!text)return[];let unresolvedType=diagnostic.data?.typeName??extractQuotedString(diagnostic.message,"Type '");if(!unresolvedType)return[];let actions=[],allSymbols=this.documentManager.getWorkspaceSymbolTable().getAllSymbols(),packageNames=new Set;for(let s of allSymbols){if(!isDefinition(s.kind)||s.name!==unresolvedType||s.uri===uri)continue;let parentQn=s.parentQualifiedName||"",qn=s.qualifiedName||"",pkg=(parentQn.split("::")[0]||qn.split("::")[0]||"").trim();!pkg||pkg===unresolvedType||pkg&&packageNames.add(pkg)}for(let pkg of packageNames){if(this.hasImportForPackage(text,pkg))continue;let insertPos=this.findImportInsertPosition(text),importText=`${this.getChildIndentForPackageLine(text,insertPos.line)}public import ${pkg}::*;
|
|
28626
|
+
`)break;end++}let val=elementText.substring(start,end).trim();if(val&&!val.includes("def")&&val.length<100)return val}extractSpecializations(symbol,lines){let elementText=this.getElementText(symbol,lines),colonGtIdx=elementText.indexOf(":>");if(colonGtIdx>=0&&!(colonGtIdx+2<elementText.length&&elementText[colonGtIdx+2]===">"))return readCommaSeparatedIdents(elementText,colonGtIdx+2);let specPositions=findWordPositions(elementText,"specializes");return specPositions.length>0?readCommaSeparatedIdents(elementText,specPositions[0].afterPos):[]}extractConnectionEndpoints(symbol,lines){let elementText=this.getElementText(symbol,lines),endpoints=[],connectPositions=findWordPositions(elementText,"connect");for(let{afterPos}of connectPositions){let[name1,end1]=readWordAfterKeyword(elementText,afterPos,!0);if(!name1)continue;let toPos=skipWS(elementText,end1);if(elementText.substring(toPos,toPos+2)==="to"){let afterTo=toPos+2,[name2]=readWordAfterKeyword(elementText,afterTo,!0);if(name2)return endpoints.push(name1,name2),endpoints}}let endPositions=findWordPositions(elementText,"end");for(let{afterPos}of endPositions){let[name]=readWordAfterKeyword(elementText,afterPos,!0);name&&endpoints.push(name)}return endpoints}extractStandaloneSatisfyVerify(text){let rels=[],keywords=["satisfy","verify"];for(let kw of keywords){let positions=findWordPositions(text,kw);for(let{afterPos}of positions){let pos=skipWS(text,afterPos),[nextWord,afterWord]=readNameOrQuoted(text,pos);nextWord==="requirement"?pos=skipWS(text,afterWord):pos=skipWS(text,afterPos);let[reqName,afterReq]=readNameOrQuoted(text,pos);if(!reqName||reqName==="requirement")continue;let byPos=skipWS(text,afterReq),[byWord,afterBy]=readIdent(text,byPos),source;if(byWord==="by"){let[byTarget]=readNameOrQuoted(text,skipWS(text,afterBy));if(!byTarget)continue;source=byTarget}rels.push({type:kw,source,target:reqName})}}return rels}extractKeywordRelationships(elementName,elementText){elementText=stripComments(elementText);let rels=[],subsetsPositions=findWordPositions(elementText,"subsets");if(subsetsPositions.length>0){let[target]=readWordAfterKeyword(elementText,subsetsPositions[0].afterPos);target&&rels.push({type:"subsetting",source:elementName,target})}let redefPositions=findWordPositions(elementText,"redefines");if(redefPositions.length>0){let[target]=readWordAfterKeyword(elementText,redefPositions[0].afterPos);target&&rels.push({type:"redefinition",source:elementName,target})}let satisfyPositions=findWordPositions(elementText,"satisfy");if(satisfyPositions.length>0){let pos=skipWS(elementText,satisfyPositions[0].afterPos),[nextWord,afterWord]=readNameOrQuoted(elementText,pos);nextWord==="requirement"&&(pos=skipWS(elementText,afterWord));let[reqName,afterReq]=readNameOrQuoted(elementText,pos);if(reqName&&reqName!=="requirement"){let satisfier=elementName,byPos=skipWS(elementText,afterReq),[byWord,afterBy]=readIdent(elementText,byPos);if(byWord==="by"){let[byTarget]=readNameOrQuoted(elementText,skipWS(elementText,afterBy));byTarget&&(satisfier=byTarget)}rels.push({type:"satisfy",source:satisfier,target:reqName})}}let verifyPositions=findWordPositions(elementText,"verify");if(verifyPositions.length>0){let pos=skipWS(elementText,verifyPositions[0].afterPos),[nextWord,afterWord]=readNameOrQuoted(elementText,pos);nextWord==="requirement"&&(pos=skipWS(elementText,afterWord));let[reqName,afterReq]=readNameOrQuoted(elementText,pos);if(reqName&&reqName!=="requirement"){let verifier=elementName,byPos=skipWS(elementText,afterReq),[byWord,afterBy]=readIdent(elementText,byPos);if(byWord==="by"){let[byTarget]=readNameOrQuoted(elementText,skipWS(elementText,afterBy));byTarget&&(verifier=byTarget)}rels.push({type:"verify",source:verifier,target:reqName})}}return rels}extractDecisionBranches(symbol,lines){let elementText=this.getElementText(symbol,lines),branches=[],ifPositions=findWordPositions(elementText,"if");for(let{afterPos}of ifPositions){let thenIdx=elementText.indexOf("then",afterPos);if(thenIdx<0)continue;let beforeThen=thenIdx>0?elementText.charCodeAt(thenIdx-1):32,afterThen=thenIdx+4<elementText.length?elementText.charCodeAt(thenIdx+4):32;if(isIdentPart(beforeThen)||isIdentPart(afterThen))continue;let condition=elementText.substring(afterPos,thenIdx).trim(),[target]=readWordAfterKeyword(elementText,thenIdx+4);target&&branches.push({condition,target})}let elsePositions=findWordPositions(elementText,"else");if(elsePositions.length>0){let[target]=readWordAfterKeyword(elementText,elsePositions[0].afterPos);target&&branches.push({condition:"else",target})}return branches}extractSuccessions(parent,lines){let elementText=this.getFullElementText(parent,lines),flows=[],seen=new Set,range=this.rangeToDTO(parent.range),addFlow=(from,to,guard)=>{if(from===to)return;let key=`${from}->${to}`;if(seen.has(key))return;seen.add(key);let f={from,to,range};guard&&(f.guard=guard),flows.push(f)};function braceDepthAt(text,pos){let depth=0;for(let i=0;i<pos&&i<text.length;i++)text[i]==="{"?depth++:text[i]==="}"&&depth--;return depth}let firstBrace=elementText.indexOf("{"),topDepth=firstBrace>=0?braceDepthAt(elementText,firstBrace+1):1,stripQualifier=name=>{let idx=name.lastIndexOf("::");return idx>=0?name.substring(idx+2):name},tokens=[];for(let{pos,afterPos}of findWordPositions(elementText,"first")){if(braceDepthAt(elementText,pos)!==topDepth)continue;let nameStart=skipWS(elementText,afterPos),[name]=readNameOrQuoted(elementText,nameStart);name&&tokens.push({type:"first",name:stripQualifier(name),index:pos})}for(let{pos,afterPos}of findWordPositions(elementText,"then")){if(braceDepthAt(elementText,pos)!==topDepth)continue;let lookbackStart=Math.max(0,pos-100),preceding=elementText.substring(lookbackStart,pos);if(containsWord(preceding,"if")&&!preceding.includes(";"))continue;let nameStart=skipWS(elementText,afterPos),[maybeAction,afterAction]=readIdent(elementText,nameStart);maybeAction==="action"&&(nameStart=skipWS(elementText,afterAction));let[name]=readNameOrQuoted(elementText,nameStart);!name||name==="if"||tokens.push({type:"then",name:stripQualifier(name),index:pos})}tokens.sort((a,b)=>a.index-b.index);let coveredIndices=new Set;for(let i=0;i<tokens.length;i++)if(tokens[i].type==="first"){let chain=[tokens[i].name];coveredIndices.add(i);for(let j=i+1;j<tokens.length&&tokens[j].type==="then";j++)chain.push(tokens[j].name),coveredIndices.add(j);for(let k=0;k<chain.length-1;k++)addFlow(chain[k],chain[k+1])}let uncoveredThens=tokens.filter((t,i)=>!coveredIndices.has(i)&&t.type==="then");if(uncoveredThens.length>0)for(let i=0;i<uncoveredThens.length-1;i++)addFlow(uncoveredThens[i].name,uncoveredThens[i+1].name);if(flows.length>0){let allTargets=new Set(flows.map(f=>f.to)),allSources=new Set(flows.map(f=>f.from)),entryActions=flows.map(f=>f.from).filter(name=>name!=="start"&&name!=="done"&&!allTargets.has(name)),exitActions=flows.map(f=>f.to).filter(name=>name!=="start"&&name!=="done"&&!allSources.has(name));entryActions.length>0&&addFlow("start",entryActions[0]),exitActions.length>0&&addFlow(exitActions[exitActions.length-1],"done")}for(let{afterPos}of findWordPositions(elementText,"succession")){let p=skipWS(elementText,afterPos),[word1,afterWord1]=readIdent(elementText,p);if(word1==="flow"){p=skipWS(elementText,afterWord1);let[fromKw,afterFrom]=readIdent(elementText,p);if(fromKw==="from"){p=skipWS(elementText,afterFrom);let[srcFull,afterSrc]=readIdent(elementText,p,!0),src=srcFull.includes(".")?srcFull.substring(0,srcFull.indexOf(".")):srcFull;p=skipWS(elementText,afterSrc);let[toKw,afterTo]=readIdent(elementText,p);if(toKw==="to"){p=skipWS(elementText,afterTo);let[dstFull]=readIdent(elementText,p,!0),dst=dstFull.includes(".")?dstFull.substring(0,dstFull.indexOf(".")):dstFull;src&&dst&&addFlow(src,dst)}}continue}let nameStart=p;word1==="first"&&(nameStart=skipWS(elementText,afterWord1));let[name1]=readNameOrQuoted(elementText,nameStart);if(!name1)continue;let afterName1=nameStart+name1.length+(elementText[nameStart]==="'"?2:0),thenCheck=skipWS(elementText,afterName1),[thenKw,afterThen]=readIdent(elementText,thenCheck);if(thenKw==="then"){let name2Start=skipWS(elementText,afterThen),[name2]=readNameOrQuoted(elementText,name2Start);name2&&addFlow(stripQualifier(name1),stripQualifier(name2))}}if(findWordPositions(elementText,"decide").some(({afterPos})=>{let p=skipWS(elementText,afterPos);return p<elementText.length&&elementText[p]===";"})){for(let fi=flows.length-1;fi>=0;fi--)flows[fi].from==="decide"&&(seen.delete(`decide->${flows[fi].to}`),flows.splice(fi,1));let branchTargets=[];for(let{afterPos:ifAfter}of findWordPositions(elementText,"if")){let thenIdx=elementText.indexOf("then",ifAfter);if(thenIdx<0)continue;let bBefore=thenIdx>0?elementText.charCodeAt(thenIdx-1):32,bAfter=thenIdx+4<elementText.length?elementText.charCodeAt(thenIdx+4):32;if(isIdentPart(bBefore)||isIdentPart(bAfter))continue;let condition=elementText.substring(ifAfter,thenIdx).trim(),targetStart=skipWS(elementText,thenIdx+4),[target]=readNameOrQuoted(elementText,targetStart);if(target){let afterTarget=targetStart+target.length+(elementText[targetStart]==="'"?2:0),semi=skipWS(elementText,afterTarget);semi<elementText.length&&elementText[semi]===";"&&(addFlow("decide",target,condition),branchTargets.push(target))}}for(let{pos:mergePos,afterPos:mergeAfter}of findWordPositions(elementText,"merge")){let mStart=skipWS(elementText,mergeAfter),[mergeTarget]=readNameOrQuoted(elementText,mStart);if(!mergeTarget)continue;let afterMT=mStart+mergeTarget.length+(elementText[mStart]==="'"?2:0),semiP=skipWS(elementText,afterMT);if(semiP>=elementText.length||elementText[semiP]!==";")continue;for(let branch of branchTargets)addFlow(branch,mergeTarget);let afterMerge=tokens.filter(t=>t.type==="then"&&t.index>mergePos);afterMerge.length>0?addFlow(mergeTarget,afterMerge[0].name):mergeTarget!=="done"&&addFlow(mergeTarget,"done")}}return flows}featureKindFromElementKind(kind){switch(kind){case"attribute":case"attribute def":return"attribute";case"port":case"port def":return"port";case"action":case"action def":return"action";case"state":case"state def":return"state";default:return"reference"}}symbolToActionDTO(symbol,symbolTable,lines){let childText=this.getElementText(symbol,lines),actionType="action",lowerText=childText.toLowerCase();return lowerText.includes("fork")?actionType="fork":lowerText.includes("join")?actionType="join":lowerText.includes("merge")?actionType="merge":lowerText.includes("decide")&&(actionType="decision"),{name:symbol.name,type:actionType,isDefinition:symbol.kind==="action def",range:this.rangeToDTO(symbol.range)}}};var import_browser=__toESM(require_browser3());function createServerConnection(){let workerScope=globalThis,reader=new import_browser.BrowserMessageReader(workerScope),writer=new import_browser.BrowserMessageWriter(workerScope);return(0,import_browser.createConnection)(import_browser.ProposedFeatures.all,reader,writer)}var import_node=__toESM(require_main3());var CodeActionProvider=class{constructor(documentManager2){this.documentManager=documentManager2}documentManager;provideCodeActions(params){let actions=[],uri=params.textDocument.uri;for(let diagnostic of params.context.diagnostics){let typoFix=this.tryKeywordTypoFix(uri,diagnostic);typoFix&&actions.push(typoFix);let namingFix=this.tryNamingConventionFix(uri,diagnostic);namingFix&&actions.push(namingFix);let docFix=this.tryMissingDocFix(uri,diagnostic);docFix&&actions.push(docFix);let enumFix=this.tryEmptyEnumFix(uri,diagnostic);enumFix&&actions.push(enumFix);let unusedFix=this.tryUnusedDefinitionFix(uri,diagnostic);unusedFix&&actions.push(unusedFix);let redefMultFix=this.tryRedefinitionMultiplicityFix(uri,diagnostic);redefMultFix&&actions.push(redefMultFix);let portCompatFix=this.tryPortCompatibilityFix(uri,diagnostic);portCompatFix&&actions.push(portCompatFix);let constraintRefFix=this.tryConstraintReferenceFix(uri,diagnostic);constraintRefFix&&actions.push(constraintRefFix);let unresolvedTypeFixes=this.tryUnresolvedTypeFixes(uri,diagnostic);unresolvedTypeFixes.length>0&&actions.push(...unresolvedTypeFixes)}return actions}tryUnresolvedTypeFixes(uri,diagnostic){if(diagnostic.code!=="unresolved-type")return[];let text=this.documentManager.getText(uri);if(!text)return[];let unresolvedType=diagnostic.data?.typeName??extractQuotedString(diagnostic.message,"Type '");if(!unresolvedType)return[];let actions=[],allSymbols=this.documentManager.getWorkspaceSymbolTable().getAllSymbols(),packageNames=new Set;for(let s of allSymbols){if(!isDefinition(s.kind)||s.name!==unresolvedType||s.uri===uri)continue;let parentQn=s.parentQualifiedName||"",qn=s.qualifiedName||"",pkg=(parentQn.split("::")[0]||qn.split("::")[0]||"").trim();!pkg||pkg===unresolvedType||pkg&&packageNames.add(pkg)}for(let pkg of packageNames){if(this.hasImportForPackage(text,pkg))continue;let insertPos=this.findImportInsertPosition(text),importText=`${this.getChildIndentForPackageLine(text,insertPos.line)}public import ${pkg}::*;
|
|
28651
28627
|
`,edit={changes:{[uri]:[import_node.TextEdit.insert(insertPos,importText)]}};actions.push({title:`Import '${pkg}::*' to resolve '${unresolvedType}'`,kind:import_node.CodeActionKind.QuickFix,diagnostics:[diagnostic],isPreferred:actions.length===0,edit})}let stubPos=this.findPackageBodyInsertPosition(text);if(stubPos){let childIndent=this.getChildIndentForPackageLine(text,stubPos.line),localTypeStub=this.buildLocalTypeStub(text,diagnostic,unresolvedType,childIndent),edit={changes:{[uri]:[import_node.TextEdit.insert(stubPos,localTypeStub.stubText)]}};actions.push({title:localTypeStub.title,kind:import_node.CodeActionKind.QuickFix,diagnostics:[diagnostic],isPreferred:actions.length===0,edit})}return actions}tryKeywordTypoFix(uri,diagnostic){let data=diagnostic.data,typo,suggestion;if(data?.typo&&data?.suggestion)typo=data.typo,suggestion=data.suggestion;else{let msg=diagnostic.message;typo=extractQuotedString(msg,"Unknown keyword '"),suggestion=extractQuotedString(msg,"Did you mean '")}if(!typo||!suggestion)return;let edit={changes:{[uri]:[import_node.TextEdit.replace(diagnostic.range,suggestion)]}};return{title:`Fix typo: '${typo}' \u2192 '${suggestion}'`,kind:import_node.CodeActionKind.QuickFix,diagnostics:[diagnostic],isPreferred:!0,edit}}tryNamingConventionFix(uri,diagnostic){if(diagnostic.code!=="naming-convention")return;let data=diagnostic.data,name,isPascal,isCamel;if(data?.name&&data?.convention?(name=data.name,isPascal=data.convention==="PascalCase",isCamel=data.convention==="camelCase"):(isPascal=diagnostic.message.includes("PascalCase"),isCamel=diagnostic.message.includes("camelCase"),name=extractQuotedString(diagnostic.message,"Definition '")??extractQuotedString(diagnostic.message,"Usage '")),!isPascal&&!isCamel||!name)return;let newName;isPascal?newName=name.charAt(0).toUpperCase()+name.slice(1):newName=name.charAt(0).toLowerCase()+name.slice(1);let edit={changes:{[uri]:[import_node.TextEdit.replace(diagnostic.range,newName)]}};return{title:`Rename to '${newName}'`,kind:import_node.CodeActionKind.QuickFix,diagnostics:[diagnostic],isPreferred:!0,edit}}tryMissingDocFix(uri,diagnostic){if(diagnostic.code!=="missing-doc")return;let name=diagnostic.data?.name??extractQuotedString(diagnostic.message,"Definition '");if(!name)return;let text=this.documentManager.getText(uri);if(!text)return;let lines=text.split(`
|
|
28652
28628
|
`),startLine=diagnostic.range.start.line,bracePos;for(let i=startLine;i<Math.min(startLine+5,lines.length);i++){let braceIdx=lines[i].indexOf("{");if(braceIdx>=0){bracePos=import_node.Position.create(i,braceIdx+1);break}}if(!bracePos)return;let docComment=`
|
|
28653
28629
|
${this.getLineIndent(text,startLine)+" "}doc /* TODO: Describe ${name} */`,edit={changes:{[uri]:[import_node.TextEdit.insert(bracePos,docComment)]}};return{title:`Add documentation for '${name}'`,kind:import_node.CodeActionKind.QuickFix,diagnostics:[diagnostic],isPreferred:!1,edit}}tryEmptyEnumFix(uri,diagnostic){if(diagnostic.code!=="empty-enum")return;let text=this.documentManager.getText(uri);if(!text)return;let lines=text.split(`
|
|
@@ -28664,7 +28640,7 @@ ${childIndent}enum value2;`,edit={changes:{[uri]:[import_node.TextEdit.insert(br
|
|
|
28664
28640
|
${childIndent}attribute def ${unresolvedType};
|
|
28665
28641
|
`}:{title:`Create local 'item def ${unresolvedType};'`,stubText:`
|
|
28666
28642
|
${childIndent}item def ${unresolvedType};
|
|
28667
|
-
`}}};function levenshtein(a,b){if(a===b)return 0;if(!a.length)return b.length;if(!b.length)return a.length;let prev=new Array(b.length+1),curr=new Array(b.length+1);for(let j=0;j<=b.length;j++)prev[j]=j;for(let i=1;i<=a.length;i++){curr[0]=i;for(let j=1;j<=b.length;j++){let cost=a[i-1]===b[j-1]?0:1;curr[j]=Math.min(prev[j]+1,curr[j-1]+1,prev[j-1]+cost)}for(let j=0;j<=b.length;j++)prev[j]=curr[j]}return prev[b.length]}function extractQuotedString(text,prefixWithQuote){let idx=text.indexOf(prefixWithQuote);if(idx<0)return;let start=idx+prefixWithQuote.length,end=text.indexOf("'",start);if(!(end<0))return text.substring(start,end)}function extractDottedTokenAtRange(line,start,end){if(!line||start<0||end<0||start>line.length||end>line.length)return"";let isTokenChar=ch=>ch>="a"&&ch<="z"||ch>="A"&&ch<="Z"||ch>="0"&&ch<="9"||ch==="_"||ch===".",left=Math.max(0,start);for(;left>0&&isTokenChar(line[left-1]);)left--;let right=Math.min(line.length,end);for(;right<line.length&&isTokenChar(line[right]);)right++;let token=line.slice(left,right).trim();return token.includes(".")?token:""}function extractLikelyMemberNames(text,excludeName){let names=new Set,addMatches=re=>{let m2;for(;(m2=re.exec(text))!==null;){let n2=m2[1];n2&&n2!==excludeName&&names.add(n2)}};return addMatches(/\battribute\s+([A-Za-z_][A-Za-z0-9_]*)\b/g),addMatches(/\bpart\s+([A-Za-z_][A-Za-z0-9_]*)\b/g),addMatches(/\bport\s+([A-Za-z_][A-Za-z0-9_]*)\b/g),addMatches(/\bitem\s+([A-Za-z_][A-Za-z0-9_]*)\b/g),addMatches(/\bsubject\s+([A-Za-z_][A-Za-z0-9_]*)\b/g),[...names]}var import_node2=__toESM(
|
|
28643
|
+
`}}};function levenshtein(a,b){if(a===b)return 0;if(!a.length)return b.length;if(!b.length)return a.length;let prev=new Array(b.length+1),curr=new Array(b.length+1);for(let j=0;j<=b.length;j++)prev[j]=j;for(let i=1;i<=a.length;i++){curr[0]=i;for(let j=1;j<=b.length;j++){let cost=a[i-1]===b[j-1]?0:1;curr[j]=Math.min(prev[j]+1,curr[j-1]+1,prev[j-1]+cost)}for(let j=0;j<=b.length;j++)prev[j]=curr[j]}return prev[b.length]}function extractQuotedString(text,prefixWithQuote){let idx=text.indexOf(prefixWithQuote);if(idx<0)return;let start=idx+prefixWithQuote.length,end=text.indexOf("'",start);if(!(end<0))return text.substring(start,end)}function extractDottedTokenAtRange(line,start,end){if(!line||start<0||end<0||start>line.length||end>line.length)return"";let isTokenChar=ch=>ch>="a"&&ch<="z"||ch>="A"&&ch<="Z"||ch>="0"&&ch<="9"||ch==="_"||ch===".",left=Math.max(0,start);for(;left>0&&isTokenChar(line[left-1]);)left--;let right=Math.min(line.length,end);for(;right<line.length&&isTokenChar(line[right]);)right++;let token=line.slice(left,right).trim();return token.includes(".")?token:""}function extractLikelyMemberNames(text,excludeName){let names=new Set,addMatches=re=>{let m2;for(;(m2=re.exec(text))!==null;){let n2=m2[1];n2&&n2!==excludeName&&names.add(n2)}};return addMatches(/\battribute\s+([A-Za-z_][A-Za-z0-9_]*)\b/g),addMatches(/\bpart\s+([A-Za-z_][A-Za-z0-9_]*)\b/g),addMatches(/\bport\s+([A-Za-z_][A-Za-z0-9_]*)\b/g),addMatches(/\bitem\s+([A-Za-z_][A-Za-z0-9_]*)\b/g),addMatches(/\bsubject\s+([A-Za-z_][A-Za-z0-9_]*)\b/g),[...names]}var import_node2=__toESM(require_main3());var SYSML_KEYWORDS2=[{label:"part def",kind:import_node2.CompletionItemKind.Class,detail:"Part definition",documentation:"Defines a type of part that can be instantiated",insertText:`part def \${1:Name} {
|
|
28668
28644
|
$0
|
|
28669
28645
|
}`,insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"action def",kind:import_node2.CompletionItemKind.Function,detail:"Action definition",documentation:"Defines a type of action/behavior",insertText:`action def \${1:Name} {
|
|
28670
28646
|
$0
|
|
@@ -28707,11 +28683,11 @@ ${childIndent}item def ${unresolvedType};
|
|
|
28707
28683
|
$0
|
|
28708
28684
|
}`,insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"import",kind:import_node2.CompletionItemKind.Module,detail:"Import",documentation:"Imports elements from another namespace",insertText:"import ${1:namespace}::*;",insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"alias",kind:import_node2.CompletionItemKind.Reference,detail:"Alias",documentation:"Creates an alias for an element",insertText:"alias ${1:newName} for ${2:existingElement};",insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"connect",kind:import_node2.CompletionItemKind.Operator,detail:"Connection",documentation:"Connects two endpoints",insertText:"connect ${1:source} to ${2:target};",insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"bind",kind:import_node2.CompletionItemKind.Operator,detail:"Binding",documentation:"Binds two features together",insertText:"bind ${1:source} = ${2:target};",insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"flow",kind:import_node2.CompletionItemKind.Operator,detail:"Flow",documentation:"Defines item flow between parts",insertText:"flow of ${1:ItemType} from ${2:source} to ${3:target};",insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"satisfy",kind:import_node2.CompletionItemKind.Operator,detail:"Satisfaction",documentation:"Indicates requirement satisfaction",insertText:"satisfy ${1:requirement} by ${2:element};",insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"abstract",kind:import_node2.CompletionItemKind.Keyword,detail:"Abstract modifier",documentation:"Makes element abstract"},{label:"readonly",kind:import_node2.CompletionItemKind.Keyword,detail:"Readonly modifier",documentation:"Makes attribute readonly"},{label:"derived",kind:import_node2.CompletionItemKind.Keyword,detail:"Derived modifier",documentation:"Indicates value is derived/calculated"},{label:"in",kind:import_node2.CompletionItemKind.Keyword,detail:"Input direction",documentation:"Port/parameter receives input"},{label:"out",kind:import_node2.CompletionItemKind.Keyword,detail:"Output direction",documentation:"Port/parameter provides output"},{label:"inout",kind:import_node2.CompletionItemKind.Keyword,detail:"Bidirectional direction",documentation:"Port/parameter is bidirectional"},{label:"doc",kind:import_node2.CompletionItemKind.Text,detail:"Documentation",documentation:"Creates a documentation comment",insertText:"doc /* ${1:description} */",insertTextFormat:import_node2.InsertTextFormat.Snippet},{label:"comment",kind:import_node2.CompletionItemKind.Text,detail:"Comment",documentation:"Creates a comment element",insertText:"comment /* ${1:text} */",insertTextFormat:import_node2.InsertTextFormat.Snippet}],CompletionProvider=class{constructor(documentManager2){this.documentManager=documentManager2}documentManager;_defCache;provideCompletions(params){let items=[],uri=params.textDocument.uri,context=this.detectContext(uri,params.position.line,params.position.character);for(let kw of SYSML_KEYWORDS2){let item={label:kw.label,kind:kw.kind,detail:kw.detail,documentation:kw.documentation,data:kw.label,sortText:`2_${kw.label}`};kw.insertText&&(item.insertText=kw.insertText,item.insertTextFormat=kw.insertTextFormat),items.push(item)}let allSymbols=this.documentManager.getWorkspaceSymbolTable().getAllSymbols();if(this._defCache&&this._defCache.symbols===allSymbols)items.push(...this._defCache.items);else{let definitionSymbols=allSymbols.filter(s=>isDefinition(s.kind)),seen=new Set,defItems=[];for(let sym of definitionSymbols)!sym.name||seen.has(sym.name)||(seen.add(sym.name),defItems.push({label:sym.name,kind:this.mapSymbolKindToCompletionKind(sym.kind),detail:`${sym.kind}${sym.qualifiedName!==sym.name?` (${sym.qualifiedName})`:""}`,documentation:sym.documentation,data:sym.qualifiedName,sortText:`1_${sym.name}`}));this._defCache={symbols:allSymbols,items:defItems},items.push(...defItems)}if(context==="connect-endpoint"){let portSymbols=allSymbols.filter(s=>s.kind==="port"||s.kind==="port def"),seenPorts=new Set;for(let sym of portSymbols)!sym.name||seenPorts.has(sym.name)||(seenPorts.add(sym.name),items.push({label:sym.name,kind:import_node2.CompletionItemKind.Interface,detail:`${sym.kind}${sym.typeNames[0]?` : ${sym.typeNames[0]}`:""}`,data:sym.qualifiedName,sortText:`0_${sym.name}`}))}return context==="type-annotation"?items.filter(i=>this.isTypeOrDefinitionCompletion(i)):context==="connect-endpoint"?items.filter(i=>this.isConnectContextCompletion(i)):items}resolveCompletion(item){return item}mapSymbolKindToCompletionKind(kind){return kind==="part def"||kind==="item def"?import_node2.CompletionItemKind.Class:kind==="action def"||kind==="calc def"?import_node2.CompletionItemKind.Function:kind==="port def"||kind==="interface def"?import_node2.CompletionItemKind.Interface:kind==="enum def"?import_node2.CompletionItemKind.Enum:kind==="attribute def"?import_node2.CompletionItemKind.Property:import_node2.CompletionItemKind.Text}detectContext(uri,line,character){let text=this.documentManager.getText(uri);if(!text)return"general";let lines=text.split(`
|
|
28709
28685
|
`);if(line<0||line>=lines.length)return"general";let lineText=lines[line]??"",beforeCursor=lineText.slice(0,Math.max(0,Math.min(character,lineText.length))),beforeTrim=beforeCursor.trimEnd();return/\bconnect\b/.test(beforeCursor)&&!beforeCursor.includes(";")||/\bconnect\b/.test(beforeCursor)&&/\b(to|from)$/.test(beforeTrim)||/\bconnect\s*$/.test(beforeTrim)||/\bconnect\s+[A-Za-z_][\w.]*\s*$/.test(beforeTrim)?"connect-endpoint":/:\s*[A-Za-z_\d]*$/.test(beforeCursor)?"type-annotation":"general"}isTypeOrDefinitionCompletion(item){return typeof item.detail=="string"&&item.detail.includes(" def")||typeof item.data=="string"&&item.data.includes("::")?!0:["part def","action def","state def","requirement def","constraint def","attribute def","item def","port def","interface def","connection def","allocation def","use case def","view def","viewpoint def","enum def","calc def","metadata def"].includes(item.label)}isConnectContextCompletion(item){return typeof item.detail=="string"&&(item.detail.startsWith("port")||item.detail.includes(" port"))?!0:item.label==="connect"||item.label==="port"||item.label==="port def"}};var DefinitionProvider=class{constructor(documentManager2){this.documentManager=documentManager2}documentManager;provideDefinition(params){let symbolTable=this.documentManager.getSymbolTable(params.textDocument.uri);if(!symbolTable)return null;let wsSymbolTable=this.documentManager.getWorkspaceSymbolTable(),symbol=symbolTable.findSymbolAtPosition(params.textDocument.uri,params.position.line,params.position.character);if(!symbol){let text=this.documentManager.getText(params.textDocument.uri);if(!text)return null;let word=this.getWordAtPosition(text,params.position.line,params.position.character);if(!word)return null;if(word.includes("::")){let libLoc=this.resolveFromLibrary(word);if(libLoc)return libLoc;let member=word.split("::").pop(),memberMatches=symbolTable.findByName(member);if(memberMatches.length>0)return{uri:memberMatches[0].uri,range:memberMatches[0].selectionRange};let wsMemberMatches=wsSymbolTable.findByName(member);return wsMemberMatches.length>0?{uri:wsMemberMatches[0].uri,range:wsMemberMatches[0].selectionRange}:null}let matches=symbolTable.findByName(word);if(matches.length>0)return{uri:matches[0].uri,range:matches[0].selectionRange};let wsMatches=wsSymbolTable.findByName(word);return wsMatches.length>0?{uri:wsMatches[0].uri,range:wsMatches[0].selectionRange}:this.resolveFromLibrary(word)}if(symbol.typeName){let typeMatches=symbolTable.findByName(symbol.typeName);if(typeMatches.length>0)return{uri:typeMatches[0].uri,range:typeMatches[0].selectionRange};let wsTypeMatches=wsSymbolTable.findByName(symbol.typeName);if(wsTypeMatches.length>0)return{uri:wsTypeMatches[0].uri,range:wsTypeMatches[0].selectionRange};let libLoc=this.resolveFromLibrary(symbol.typeName);if(libLoc)return libLoc}return{uri:symbol.uri,range:symbol.selectionRange}}resolveFromLibrary(name){let loc=resolveLibraryType(name);if(loc)return{uri:loc.uri,range:{start:{line:loc.line,character:0},end:{line:loc.line,character:0}}};let pkgUri=resolveLibraryPackage(name);return pkgUri?{uri:pkgUri,range:{start:{line:0,character:0},end:{line:0,character:0}}}:null}getWordAtPosition(text,line,character){let lines=text.split(`
|
|
28710
|
-
`);if(line>=lines.length)return;let lineText=lines[line];if(!(character>=lineText.length))return extractQualifiedNameAt(lineText,character)}};var import_node3=__toESM(
|
|
28711
|
-
`&&lineOffsets.push(j+1)}ranges.push({startLine:this.offsetToLine(lineOffsets,open),endLine:this.offsetToLine(lineOffsets,i-1)})}}return ranges}offsetToLine(lineOffsets,offset){let lo=0,hi=lineOffsets.length-1;for(;lo<hi;){let mid=lo+hi+1>>>1;lineOffsets[mid]<=offset?lo=mid:hi=mid-1}return lo}isLineInRanges(line,ranges){return ranges.some(r=>line>=r.startLine&&line<=r.endLine)}isLineAtEndOfRanges(line,ranges){return ranges.some(r=>line===r.endLine)}};var import_node4=__toESM(
|
|
28712
|
-
`),braceStack=[],commentStart;for(let i=0;i<lines.length;i++){let line=lines[i];line.includes("/*")&&!line.includes("*/")?commentStart=i:commentStart!==void 0&&line.includes("*/")&&(ranges.push({startLine:commentStart,endLine:i,kind:import_node5.FoldingRangeKind.Comment}),commentStart=void 0);for(let ch of line)if(ch==="{")braceStack.push(i);else if(ch==="}"){let startLine=braceStack.pop();startLine!==void 0&&i>startLine&&ranges.push({startLine,endLine:i,kind:import_node5.FoldingRangeKind.Region})}}return ranges}};var import_node6=__toESM(
|
|
28686
|
+
`);if(line>=lines.length)return;let lineText=lines[line];if(!(character>=lineText.length))return extractQualifiedNameAt(lineText,character)}};var import_node3=__toESM(require_main3());var EXPRESSION_OPERATOR_RE=/(\w\s*[+\-*/^]\s*\w)|(\w\s*\*\*\s*\w)|->|\.(?:\?)|:=|;\s*doc\b|#\w+\s+dependency/,DiagnosticsProvider=class{constructor(documentManager2){this.documentManager=documentManager2}documentManager;grammarRangeCache=new Map;getDiagnostics(uri){let result=this.documentManager.get(uri);if(!result)return[];let text=this.documentManager.getText(uri),version=this.documentManager.getVersion(uri),suppressedRanges,cached=this.grammarRangeCache.get(uri);cached&&cached.version===version?suppressedRanges=cached.ranges:text?(suppressedRanges=this.findGrammarLimitationRanges(text),this.grammarRangeCache.set(uri,{version,ranges:suppressedRanges})):suppressedRanges=[];let diagnostics=[];for(let error of result.errors)suppressedRanges.length>0&&(this.isLineInRanges(error.line,suppressedRanges)||error.message.startsWith("extraneous input '}' expecting")&&this.isLineAtEndOfRanges(error.line,suppressedRanges))||diagnostics.push(this.syntaxErrorToDiagnostic(error));return diagnostics}syntaxErrorToDiagnostic(error){let message=error.message,token=error.offendingSymbol;if(token&&token.type!==SysMLv2Lexer.IDENTIFIER&&token.text&&/^[a-z]+$/.test(token.text)){let word=token.text,suggestion="my"+word.charAt(0).toUpperCase()+word.slice(1);message=`'${word}' is a reserved SysML keyword and cannot be used as a name. Consider renaming it (e.g., '${suggestion}').`}return{severity:import_node3.DiagnosticSeverity.Error,range:{start:{line:error.line,character:error.column},end:{line:error.line,character:error.column+error.length}},message,source:"sysml"}}findGrammarLimitationRanges(text){let ranges=[],re=/\b(part|attribute|item|port|action|state|constraint|requirement|analysis|calc|occurrence|interface|connection|allocation|flow|use|verification|individual|exhibit|view|viewpoint|concern|rendering|metadata)\b([^;{]*)\{/g,m2,lineOffsets;for(;(m2=re.exec(text))!==null;){let open=m2.index+m2[0].length-1,depth=1,i=open+1;for(;i<text.length&&depth>0;)text[i]==="{"&&depth++,text[i]==="}"&&depth--,i++;if(depth!==0)continue;let bodyText=stripComments(text.slice(open+1,i-1));if(EXPRESSION_OPERATOR_RE.test(bodyText)){if(!lineOffsets){lineOffsets=[0];for(let j=0;j<text.length;j++)text[j]===`
|
|
28687
|
+
`&&lineOffsets.push(j+1)}ranges.push({startLine:this.offsetToLine(lineOffsets,open),endLine:this.offsetToLine(lineOffsets,i-1)})}}return ranges}offsetToLine(lineOffsets,offset){let lo=0,hi=lineOffsets.length-1;for(;lo<hi;){let mid=lo+hi+1>>>1;lineOffsets[mid]<=offset?lo=mid:hi=mid-1}return lo}isLineInRanges(line,ranges){return ranges.some(r=>line>=r.startLine&&line<=r.endLine)}isLineAtEndOfRanges(line,ranges){return ranges.some(r=>line===r.endLine)}};var import_node4=__toESM(require_main3());function toSysMLSymbolKind(kind){switch(kind){case"part def":case"occurrence def":return import_node4.SymbolKind.Class;case"part":case"occurrence":case"ref":return import_node4.SymbolKind.Field;case"attribute def":case"attribute":return import_node4.SymbolKind.Property;case"port def":case"port":case"interface def":case"interface":return import_node4.SymbolKind.Interface;case"connection def":case"connection":return import_node4.SymbolKind.Interface;case"action def":case"action":case"perform action":return import_node4.SymbolKind.Method;case"state def":case"state":case"exhibit state":return import_node4.SymbolKind.Event;case"transition":return import_node4.SymbolKind.Event;case"requirement def":case"requirement":case"actor":case"subject":case"stakeholder":return import_node4.SymbolKind.Object;case"constraint def":case"constraint":return import_node4.SymbolKind.Constant;case"item def":case"item":return import_node4.SymbolKind.Struct;case"allocation def":case"allocation":return import_node4.SymbolKind.TypeParameter;case"enum def":return import_node4.SymbolKind.Enum;case"enum":return import_node4.SymbolKind.EnumMember;case"calc def":case"calc":case"analysis case def":case"verification case def":return import_node4.SymbolKind.Function;case"use case def":case"use case":case"include use case":return import_node4.SymbolKind.Event;case"view def":case"view":case"viewpoint def":case"viewpoint":case"rendering def":return import_node4.SymbolKind.Namespace;case"metadata def":return import_node4.SymbolKind.TypeParameter;case"package":return import_node4.SymbolKind.Package;case"comment":case"doc":return import_node4.SymbolKind.String;case"import":case"alias":return import_node4.SymbolKind.Module;default:return import_node4.SymbolKind.Variable}}var DocumentSymbolProvider=class{constructor(documentManager2){this.documentManager=documentManager2}documentManager;provideDocumentSymbols(params){let symbolTable=this.documentManager.getSymbolTable(params.textDocument.uri);if(!symbolTable)return[];let symbols=symbolTable.getSymbolsForUri(params.textDocument.uri);return this.buildHierarchy(symbols)}buildHierarchy(symbols){let topLevel=[],byQualifiedName=new Map,childrenOf=new Map;for(let sym of symbols)if(byQualifiedName.set(sym.qualifiedName,sym),!sym.parentQualifiedName)topLevel.push(sym);else{let siblings=childrenOf.get(sym.parentQualifiedName)??[];siblings.push(sym),childrenOf.set(sym.parentQualifiedName,siblings)}let buildSymbol=sym=>{let children=childrenOf.get(sym.qualifiedName)??[];return{name:sym.name,detail:toMetaclassName(sym.kind),kind:toSysMLSymbolKind(sym.kind),range:sym.range,selectionRange:sym.selectionRange,children:children.map(buildSymbol)}};return topLevel.map(buildSymbol)}};var import_node5=__toESM(require_main3()),FoldingRangeProvider=class{constructor(documentManager2){this.documentManager=documentManager2}documentManager;provideFoldingRanges(params){let text=this.documentManager.getText(params.textDocument.uri);if(!text)return[];let ranges=[],lines=text.split(`
|
|
28688
|
+
`),braceStack=[],commentStart;for(let i=0;i<lines.length;i++){let line=lines[i];line.includes("/*")&&!line.includes("*/")?commentStart=i:commentStart!==void 0&&line.includes("*/")&&(ranges.push({startLine:commentStart,endLine:i,kind:import_node5.FoldingRangeKind.Comment}),commentStart=void 0);for(let ch of line)if(ch==="{")braceStack.push(i);else if(ch==="}"){let startLine=braceStack.pop();startLine!==void 0&&i>startLine&&ranges.push({startLine,endLine:i,kind:import_node5.FoldingRangeKind.Region})}}return ranges}};var import_node6=__toESM(require_main3()),FormattingProvider=class{constructor(documents2){this.documents=documents2}documents;provideDocumentFormatting(params){let doc=this.documents.get(params.textDocument.uri);if(!doc)return[];let tabSize=params.options.tabSize??4,indent=params.options.insertSpaces??!0?" ".repeat(tabSize):" ",text=doc.getText(),formatted=this.formatSysML(text,indent);return formatted===text?[]:[import_node6.TextEdit.replace(import_node6.Range.create(0,0,doc.lineCount,0),formatted)]}provideRangeFormatting(params){let doc=this.documents.get(params.textDocument.uri);if(!doc)return[];let tabSize=params.options.tabSize??4,indent=params.options.insertSpaces??!0?" ".repeat(tabSize):" ",rangeText=doc.getText(params.range),formatted=this.formatSysML(rangeText,indent);return formatted===rangeText?[]:[import_node6.TextEdit.replace(params.range,formatted)]}formatSysML(text,indent){let lines=text.split(`
|
|
28713
28689
|
`),result=[],depth=0,prevBlank=!1;for(let i=0;i<lines.length;i++){let line=lines[i];if(line=line.trimEnd(),line.trim()===""){!prevBlank&&result.length>0&&(result.push(""),prevBlank=!0);continue}prevBlank=!1;let trimmed=line.trim(),leadingCloses=0;for(let c=0;c<trimmed.length;c++){let ch=trimmed[c];if(ch==="}"||ch==="]")leadingCloses++;else break}leadingCloses>0&&(depth=Math.max(0,depth-leadingCloses));let isLineComment=trimmed.startsWith("//"),isBlockCommentContinuation=!trimmed.startsWith("/*")&&(trimmed.startsWith("*")||trimmed.startsWith("*/")),indented;if(isBlockCommentContinuation)indented=indent.repeat(depth)+" "+trimmed;else if(isLineComment)indented=indent.repeat(depth)+trimmed;else{let normalized=this.normalizeSpacing(trimmed);indented=indent.repeat(depth)+normalized}if(result.push(indented),!isLineComment){let opens=this.countOutsideStrings(trimmed,"{")+this.countOutsideStrings(trimmed,"["),closes=this.countOutsideStrings(trimmed,"}")+this.countOutsideStrings(trimmed,"]");depth+=opens-closes+leadingCloses,depth=Math.max(0,depth)}}for(;result.length>0&&result[result.length-1]==="";)result.pop();return result.push(""),result.join(`
|
|
28714
|
-
`)}normalizeSpacing(line){if(line.startsWith('"')||line.startsWith("'"))return line;let len=line.length,result="",inString=!1,stringChar="";for(let i=0;i<len;i++){let ch=line[i];if(inString){result+=ch,ch===stringChar&&(i===0||line[i-1]!=="\\")&&(inString=!1);continue}if(ch==='"'||ch==="'"){inString=!0,stringChar=ch,result+=ch;continue}if(ch==="{"){let end=result.length;for(;end>0&&(result[end-1]===" "||result[end-1]===" ");)end--;result=result.substring(0,end)+" {";continue}if(ch===";"&&i+1<len){result+=";";let j=i+1;for(;j<len&&(line[j]===" "||line[j]===" ");)j++;j<len&&(result+=" ",i=j-1);continue}if(ch===" "||ch===" "){let j=i+1;for(;j<len&&(line[j]===" "||line[j]===" ");)j++;result+=" ",i=j-1;continue}result+=ch}return result}countOutsideStrings(line,char){let count=0,inString=!1,stringChar="";for(let i=0;i<line.length;i++){let c=line[i];if(inString)c===stringChar&&line[i-1]!=="\\"&&(inString=!1);else if(c==='"'||c==="'")inString=!0,stringChar=c;else if(c==="/"&&i+1<line.length){if(line[i+1]==="/"||line[i+1]==="*")break}else c===char&&count++}return count}};var import_node7=__toESM(
|
|
28690
|
+
`)}normalizeSpacing(line){if(line.startsWith('"')||line.startsWith("'"))return line;let len=line.length,result="",inString=!1,stringChar="";for(let i=0;i<len;i++){let ch=line[i];if(inString){result+=ch,ch===stringChar&&(i===0||line[i-1]!=="\\")&&(inString=!1);continue}if(ch==='"'||ch==="'"){inString=!0,stringChar=ch,result+=ch;continue}if(ch==="{"){let end=result.length;for(;end>0&&(result[end-1]===" "||result[end-1]===" ");)end--;result=result.substring(0,end)+" {";continue}if(ch===";"&&i+1<len){result+=";";let j=i+1;for(;j<len&&(line[j]===" "||line[j]===" ");)j++;j<len&&(result+=" ",i=j-1);continue}if(ch===" "||ch===" "){let j=i+1;for(;j<len&&(line[j]===" "||line[j]===" ");)j++;result+=" ",i=j-1;continue}result+=ch}return result}countOutsideStrings(line,char){let count=0,inString=!1,stringChar="";for(let i=0;i<line.length;i++){let c=line[i];if(inString)c===stringChar&&line[i-1]!=="\\"&&(inString=!1);else if(c==='"'||c==="'")inString=!0,stringChar=c;else if(c==="/"&&i+1<line.length){if(line[i+1]==="/"||line[i+1]==="*")break}else c===char&&count++}return count}};var import_node7=__toESM(require_main3());var HoverProvider=class{constructor(documentManager2){this.documentManager=documentManager2}documentManager;_semanticValidator;setSemanticValidator(validator){this._semanticValidator=validator}provideHover(params){let symbolTable=this.documentManager.getSymbolTable(params.textDocument.uri);if(!symbolTable)return null;let text=this.documentManager.getText(params.textDocument.uri),word=text?this.getWordAtPosition(text,params.position.line,params.position.character):void 0;if(word&&word.includes("::")){let libHover=this.buildLibraryHover(word);if(libHover)return libHover}let symbol=symbolTable.findSymbolAtPosition(params.textDocument.uri,params.position.line,params.position.character);if(!symbol){if(word){let libHover=this.buildLibraryHover(word);if(libHover)return libHover}return null}let lines=[],metaclass=toMetaclassName(symbol.kind);if(lines.push(`**${metaclass}** \`${symbol.name}\``),symbol.qualifiedName!==symbol.name&&lines.push(`
|
|
28715
28691
|
Fully qualified: \`${symbol.qualifiedName}\``),symbol.typeName){lines.push(`
|
|
28716
28692
|
Type: \`${symbol.typeName}\``);let libInfo=getLibraryHoverInfo(symbol.typeName);libInfo&&(libInfo.packageName&&lines.push(`
|
|
28717
28693
|
From: \`${libInfo.packageName}\``),lines.push(`
|
|
@@ -28731,11 +28707,11 @@ Package: \`${info.packageName}\``),info.documentation&&lines.push(`
|
|
|
28731
28707
|
---
|
|
28732
28708
|
${info.documentation}`),{contents:{kind:import_node7.MarkupKind.Markdown,value:lines.join(`
|
|
28733
28709
|
`)}}}getWordAtPosition(text,line,character){let lines=text.split(`
|
|
28734
|
-
`);if(line>=lines.length)return;let lineText=lines[line];if(!(character>=lineText.length))return extractQualifiedNameAt(lineText,character)}rangeContainsPosition(range,position){let afterStart=position.line>range.start.line||position.line===range.start.line&&position.character>=range.start.character,beforeEnd=position.line<range.end.line||position.line===range.end.line&&position.character<=range.end.character;return afterStart&&beforeEnd}getRepairHint(code){switch(code){case"invalid-redefinition-multiplicity":return"Align the redefined feature multiplicity with its base feature bounds.";case"incompatible-port-types":return"Connect endpoints with matching port types, or update one endpoint type.";case"unresolved-constraint-reference":return"Fix the reference path or add the missing feature in the referenced type.";case"unresolved-type":return"Define/import the missing type or correct the type name.";case"invalid-multiplicity":return"Use a valid bound where lower <= upper and lower is non-negative.";default:return}}};var import_node8=__toESM(
|
|
28735
|
-
`);for(let i=0;i<lines.length;i++)for(let col of findWordOccurrences(lines[i],oldName)){let range={start:{line:i,character:col},end:{line:i,character:col+oldName.length}};edits.some(e=>e.range.start.line===i&&e.range.start.character===col)||edits.push({range,newText:newName})}return edits.length===0?null:{changes:{[params.textDocument.uri]:edits}}}};var import_node9=__toESM(require_browser3());var OPERATOR_TOKENS=new Set([SysMLv2Lexer.BANG_EQ_EQ,SysMLv2Lexer.STAR_STAR,SysMLv2Lexer.COLON_GT,SysMLv2Lexer.COLON_GT_GT,SysMLv2Lexer.AMP,SysMLv2Lexer.COLON_COLON,SysMLv2Lexer.STAR,SysMLv2Lexer.PIPE,SysMLv2Lexer.EQ_EQ,SysMLv2Lexer.BANG_EQ,SysMLv2Lexer.PLUS,SysMLv2Lexer.MINUS,SysMLv2Lexer.ARROW,SysMLv2Lexer.SLASH,SysMLv2Lexer.LT,SysMLv2Lexer.EQ,SysMLv2Lexer.GT,SysMLv2Lexer.CARET,SysMLv2Lexer.TILDE]),PUNCTUATION_TOKENS=new Set([SysMLv2Lexer.LBRACE,SysMLv2Lexer.RBRACE,SysMLv2Lexer.LPAREN,SysMLv2Lexer.RPAREN,SysMLv2Lexer.SEMI,SysMLv2Lexer.COMMA,SysMLv2Lexer.DOT,SysMLv2Lexer.LBRACK,SysMLv2Lexer.RBRACK,SysMLv2Lexer.COLON]),STRUCTURAL_KEYWORDS=new Set(["part","port","item","state","constraint","requirement","concern","case","view","viewpoint","rendering","allocation","connection","interface","occurrence","individual","flow","binding","succession","metadata","enum","actor","subject","ref","use"]),tokenTypes=["namespace","type","class","variable","property","function","keyword","comment","string","number","operator","enum","interface"],tokenModifiers=["declaration","definition","readonly","abstract"],SemanticTokensProvider=class{constructor(documentManager2){this.documentManager=documentManager2}documentManager;tokenCache;provideSemanticTokens(params){let uri=params.textDocument.uri,version=this.documentManager.getVersion(uri);if(this.tokenCache&&this.tokenCache.uri===uri&&this.tokenCache.version===version)return this.tokenCache.tokens;let builder=new import_node9.SemanticTokensBuilder,result=this.documentManager.get(uri);if(!result)return builder.build();result.tokenStream.fill();let tokens=result.tokenStream.getTokens(),prevMeaningful;for(let token of tokens){if(!token.text||token.channel!==0)continue;let text=token.text,tokenType=this.classifyTokenInContext(text,prevMeaningful,token.type);if(prevMeaningful=text,tokenType===void 0)continue;let line=(token.line??1)-1,char=token.column??0,length=text.length;builder.push(line,char,length,tokenType,0)}let built=builder.build();return this.tokenCache={uri,version,tokens:built},built}classifyTokenInContext(text,prev,lexerType){if(lexerType===SysMLv2Lexer.REGULAR_COMMENT||lexerType===SysMLv2Lexer.SINGLE_LINE_NOTE)return 7;if(lexerType===SysMLv2Lexer.STRING||lexerType===SysMLv2Lexer.DOUBLE_STRING)return 8;if(lexerType===SysMLv2Lexer.INTEGER||lexerType===SysMLv2Lexer.REAL)return 9;if(OPERATOR_TOKENS.has(lexerType))return 10;if(!PUNCTUATION_TOKENS.has(lexerType)){if(this.isKeyword(text))return 6;if(lexerType===SysMLv2Lexer.IDENTIFIER)return this.classifyIdentifier(prev)}}classifyIdentifier(prev){return prev?prev==="def"?2:prev==="package"||prev==="namespace"||prev==="library"?0:prev==="action"||prev==="calc"||prev==="analysis"||prev==="verification"?5:prev===":"||prev===":>"||prev===":>>"?1:prev==="attribute"?4:(this.isStructuralKeyword(prev),3):3}isStructuralKeyword(text){return STRUCTURAL_KEYWORDS.has(text)}isKeyword(text){return SYSML_KEYWORDS.has(text)}};var import_node10=__toESM(require_browser3());var STANDARD_LIBRARY_TYPES=new Set(["Boolean","String","Integer","Real","Natural","Positive","Complex","Number","Rational","ScalarValues","DataFunctions","Anything","Nothing","Object","Occurrence","Base","Objects","Occurrences","Items","Parts","Ports","Actions","States","Connections","Interfaces","Allocations","Requirements","Constraints","Calculations","Cases","Flows","Transfers","Performances","TransitionPerformances","ISQ","SI","USCustomaryUnits","Quantities","MeasurementReferences","ScalarValues","GeneralView","InterconnectionView","ActionFlowView","StateTransitionView","SequenceView","GeometryView","GridView","BrowserView","StandardViewDefinitions","View","ViewpointCheck","Rendering","TextualRendering","GraphicalRendering","TabularRendering","Views","LengthValue","MassValue","DurationValue","TimeValue","ElectricCurrentValue","ThermodynamicTemperatureValue","TemperatureValue","AmountOfSubstanceValue","LuminousIntensityValue","AreaValue","VolumeValue","SpeedValue","VelocityValue","AccelerationValue","ForceValue","EnergyValue","PowerValue","PressureValue","TorqueValue","MomentOfForceValue","AngularVelocityValue","FrequencyValue","DensityValue","MassFlowRateValue","VolumeFlowRateValue","LengthUnit","MassUnit","DurationUnit","TimeUnit"]),CONSTRAINT_KEYWORDS=new Set(["and","or","not","xor","implies","if","then","else","true","false","null","require","constraint","subject","return","doc","comment","assert","assume"]);function isISQValueType(name){if(!name.endsWith("Value")||name.length<6)return!1;let ch0=name.charCodeAt(0);if(ch0<65||ch0>90)return!1;for(let i=1;i<name.length;i++){let c=name.charCodeAt(i);if(!(c>=65&&c<=90||c>=97&&c<=122))return!1}return!0}var SemanticValidator=class _SemanticValidator{constructor(documentManager2){this.documentManager=documentManager2;this.modelProvider=new SysMLModelProvider(documentManager2)}documentManager;modelProvider;satisfyCache;verifyCache;indexCache;symbolNamesCache;libraryNamesCache;addRequirementNameVariants(out,ref){if(!ref)return;let trimmed=ref.trim();if(!trimmed)return;out.add(trimmed);let lastSeg=trimmed.includes("::")?trimmed.split("::").pop():trimmed;out.add(lastSeg)}collectWorkspaceRequirementRelationshipNames(){let satisfiedNames=new Set,verifiedNames=new Set,uris=this.documentManager.getUris();for(let uri of uris){let version=this.documentManager.getVersion(uri);if(version<0)continue;let rels=this.modelProvider.getModel(uri,version,["relationships"]).relationships??[];for(let rel of rels)rel.type==="satisfy"?this.addRequirementNameVariants(satisfiedNames,rel.target):rel.type==="verify"&&this.addRequirementNameVariants(verifiedNames,rel.target)}return{satisfiedNames,verifiedNames}}validate(uri){let symbolTable=this.documentManager.getWorkspaceSymbolTable(),symbols=symbolTable.getSymbolsForUri(uri);if(symbols.length===0)return[];let allSymbols=symbolTable.getAllSymbols(),allSymbolNames;this.symbolNamesCache&&this.symbolNamesCache.symbols===allSymbols?allSymbolNames=this.symbolNamesCache.names:(allSymbolNames=new Set(allSymbols.map(s=>s.name)),this.symbolNamesCache={symbols:allSymbols,names:allSymbolNames}),this.libraryNamesCache||(this.libraryNamesCache=new Set(getLibraryPackageNames()));let libraryNames=this.libraryNamesCache,text=this.documentManager.getText(uri)??"",indexes=this.getOrBuildIndexes(allSymbols),diagnostics=[];for(let symbol of symbols)diagnostics.push(...this.checkUnresolvedType(symbol,allSymbolNames,libraryNames),...this.checkInvalidMultiplicity(symbol),...this.checkEmptyEnum(symbol,symbols),...this.checkNamingConvention(symbol),...this.checkMissingDocumentation(symbol));return diagnostics.push(...this.checkDuplicateDefinitions(symbols)),diagnostics.push(...this.checkUnusedDefinitions(allSymbols,uri)),diagnostics.push(...this.checkRedefinitionMultiplicity(symbols,indexes,text)),diagnostics.push(...this.checkPortCompatibility(text,uri,indexes)),diagnostics.push(...this.checkConstraintBodyReferences(text,uri,symbols,indexes)),diagnostics.push(...this.checkCircularSpecialization(symbols,indexes)),diagnostics.push(...this.checkCircularContainment(symbols,indexes)),diagnostics.push(...this.checkUnsatisfiedRequirements(symbols,indexes)),diagnostics.push(...this.checkUnverifiedRequirements(symbols,indexes)),diagnostics.push(...this.checkViewpointSatisfaction(symbols,indexes)),this.dedupeDiagnostics(diagnostics)}checkUnresolvedType(symbol,allSymbolNames,libraryNames){if(!symbol.typeName)return[];let typeName=symbol.typeName,kwMatch=typeName.match(/^([A-Z][A-Za-z_0-9]*?)(redefines|subsets|references|connect|bind|default|via|accept|send|flow|allocate|assign|decide|merge|join|fork)([A-Z])/);kwMatch&&(typeName=kwMatch[1]);let rootSegment=typeName.split("::")[0];if(allSymbolNames.has(typeName)||allSymbolNames.has(rootSegment)||STANDARD_LIBRARY_TYPES.has(typeName)||STANDARD_LIBRARY_TYPES.has(rootSegment)||libraryNames.has(rootSegment)||isISQValueType(typeName)||resolveLibraryType(typeName)!==void 0||resolveLibraryType(rootSegment)!==void 0||typeName.charCodeAt(0)>=97&&typeName.charCodeAt(0)<=122)return[];let isMandatory=symbol.multiplicityRange&&symbol.multiplicityRange.lower>=1,severity=isMandatory?import_node10.DiagnosticSeverity.Error:import_node10.DiagnosticSeverity.Warning,message=`Type '${typeName}' is not defined in the current document or standard library`;if(isMandatory){let multStr=symbol.multiplicity??"1";message+=` (feature '${symbol.name}' requires multiplicity [${multStr}])`}return[{severity,range:symbol.selectionRange,message,source:"sysml",code:"unresolved-type",data:{typeName}}]}checkInvalidMultiplicity(symbol){if(!symbol.multiplicityRange||!symbol.multiplicity)return[];let{lower,upper}=symbol.multiplicityRange;return typeof upper=="number"&&lower>upper?[{severity:import_node10.DiagnosticSeverity.Error,range:symbol.selectionRange,message:`Invalid multiplicity [${symbol.multiplicity}]: lower bound (${lower}) exceeds upper bound (${upper})`,source:"sysml",code:"invalid-multiplicity"}]:lower<0?[{severity:import_node10.DiagnosticSeverity.Error,range:symbol.selectionRange,message:`Invalid multiplicity [${symbol.multiplicity}]: lower bound cannot be negative`,source:"sysml",code:"invalid-multiplicity"}]:[]}checkEmptyEnum(symbol,allSymbols){return symbol.kind!=="enum def"?[]:allSymbols.filter(s=>s.parentQualifiedName===symbol.qualifiedName).some(c=>c.kind==="enum"||c.kind==="attribute")?[]:[{severity:import_node10.DiagnosticSeverity.Information,range:symbol.selectionRange,message:`Enumeration '${symbol.name}' has no enum values defined`,source:"sysml",code:"empty-enum"}]}checkNamingConvention(symbol){if(!symbol.name)return[];if(symbol.kind==="package"||symbol.kind==="import"||symbol.kind==="comment"||symbol.kind==="doc"||symbol.kind==="alias"||symbol.kind==="unknown")return[];if(isDefinition(symbol.kind)){let ch=symbol.name[0];if(ch===ch.toLowerCase()&&ch!==ch.toUpperCase())return[{severity:import_node10.DiagnosticSeverity.Hint,range:symbol.selectionRange,message:`Definition '${symbol.name}' should use PascalCase`,source:"sysml",code:"naming-convention",data:{name:symbol.name,convention:"PascalCase"}}]}else{let ch=symbol.name[0];if(ch===ch.toUpperCase()&&ch!==ch.toLowerCase())return[{severity:import_node10.DiagnosticSeverity.Hint,range:symbol.selectionRange,message:`Usage '${symbol.name}' should use camelCase`,source:"sysml",code:"naming-convention",data:{name:symbol.name,convention:"camelCase"}}]}return[]}checkMissingDocumentation(symbol){return isDefinition(symbol.kind)?symbol.documentation?[]:[{severity:import_node10.DiagnosticSeverity.Information,range:symbol.selectionRange,message:`Definition '${symbol.name}' has no documentation`,source:"sysml",code:"missing-doc",data:{name:symbol.name}}]:[]}checkUnusedDefinitions(symbols,targetUri){let defs=symbols.filter(s=>s.kind==="part def"||s.kind==="action def"),defsInScope=targetUri?defs.filter(def=>def.uri===targetUri):defs,referencedTypes=new Set(symbols.filter(s=>s.kind!=="package").flatMap(s=>s.typeNames));for(let s of symbols)if(s.exposeTargets)for(let target of s.exposeTargets){let simpleName=target.replace(/::\*{1,2}$/,"").split("::").pop();simpleName&&referencedTypes.add(simpleName)}let diagnostics=[];for(let def of defsInScope){let isReferenced=referencedTypes.has(def.name),hasBaseType=(def.typeNames?.length??0)>0;!isReferenced&&!hasBaseType&&diagnostics.push({severity:import_node10.DiagnosticSeverity.Warning,range:def.selectionRange,message:`Definition '${def.name}' is not referenced by any usage in the workspace`,source:"sysml",code:"unused-definition",data:{name:def.name}})}return diagnostics}static validateSymbols(symbolsInUri,allNames,opts){let diagnostics=[],instance=Object.create(_SemanticValidator.prototype),allSymbols=opts?.allSymbols??symbolsInUri,includeStyleRules=opts?.includeStyleRules??!0,indexes=instance.buildSymbolIndexes(allSymbols);for(let symbol of symbolsInUri)diagnostics.push(...instance.checkUnresolvedType(symbol,allNames,new Set),...instance.checkInvalidMultiplicity(symbol),...instance.checkEmptyEnum(symbol,symbolsInUri)),includeStyleRules&&diagnostics.push(...instance.checkNamingConvention(symbol),...instance.checkMissingDocumentation(symbol));return diagnostics.push(...instance.checkDuplicateDefinitions(symbolsInUri)),diagnostics.push(...instance.checkUnusedDefinitions(allSymbols)),diagnostics.push(...instance.checkRedefinitionMultiplicity(symbolsInUri,indexes,opts?.text)),diagnostics.push(...instance.checkCircularSpecialization(symbolsInUri,indexes)),diagnostics.push(...instance.checkCircularContainment(symbolsInUri,indexes)),diagnostics.push(...instance.checkUnsatisfiedRequirements(allSymbols,indexes,opts?.text?[opts.text]:[])),diagnostics.push(...instance.checkUnverifiedRequirements(allSymbols,indexes,opts?.text?[opts.text]:[])),opts?.text&&opts.uri&&(diagnostics.push(...instance.checkPortCompatibility(opts.text,opts.uri,indexes)),diagnostics.push(...instance.checkConstraintBodyReferences(opts.text,opts.uri,symbolsInUri,indexes))),instance.dedupeDiagnostics(diagnostics)}checkCircularSpecialization(symbolsInUri,indexes){let diagnostics=[],defsInFile=symbolsInUri.filter(s=>isDefinition(s.kind)&&s.typeNames.length>0);for(let def of defsInFile){let visited=new Set;visited.add(def.name);let cycle=this.followSpecializationChain(def.name,def.typeNames,visited,indexes);cycle&&diagnostics.push({severity:import_node10.DiagnosticSeverity.Error,range:def.selectionRange,message:`Circular specialization: ${cycle.join(" :> ")} :> ${cycle[0]}`,source:"sysml",code:"circular-specialization"})}return diagnostics}followSpecializationChain(originName,typeNames,visited,indexes){for(let tn of typeNames){if(visited.has(tn))return[...visited];let candidates=indexes.definitionsByName.get(tn);if(!candidates||candidates.length===0)continue;let target=candidates[0];if(target.typeNames.length===0)continue;visited.add(tn);let cycle=this.followSpecializationChain(originName,target.typeNames,visited,indexes);if(cycle)return cycle;visited.delete(tn)}}checkCircularContainment(symbolsInUri,indexes){let diagnostics=[],defsInFile=symbolsInUri.filter(s=>isDefinition(s.kind));for(let def of defsInFile){let children=indexes.byParent.get(def.qualifiedName)??[],childTypeNames=children.flatMap(c=>c.typeNames).filter(t=>t.length>0);if(childTypeNames.length!==0)for(let childTypeName of childTypeNames){if(childTypeName===def.name)continue;let visited=new Set;visited.add(def.name);let cycle=this.followContainmentChain(childTypeName,visited,indexes);if(cycle){let range=children.find(c=>c.typeNames.includes(childTypeName))?.selectionRange??def.selectionRange;diagnostics.push({severity:import_node10.DiagnosticSeverity.Error,range,message:`Circular containment: ${cycle.join(" -> ")} -> ${cycle[0]}`,source:"sysml",code:"circular-containment"});break}}}return diagnostics}followContainmentChain(typeName,visited,indexes){if(visited.has(typeName))return[...visited];let candidates=indexes.definitionsByName.get(typeName);if(!candidates||candidates.length===0)return;let target=candidates[0],childTypeNames=(indexes.byParent.get(target.qualifiedName)??[]).flatMap(c=>c.typeNames).filter(t=>t.length>0);if(childTypeNames.length!==0){visited.add(typeName);for(let tn of childTypeNames){let cycle=this.followContainmentChain(tn,visited,indexes);if(cycle)return cycle}visited.delete(typeName)}}checkUnsatisfiedRequirements(allSymbols,indexes,workspaceTexts){let diagnostics=[],satisfiedNames,satisfyBlockRanges;if(workspaceTexts){satisfiedNames=new Set,satisfyBlockRanges=new Map;for(let text of workspaceTexts)this.extractSatisfyReferences(text,satisfiedNames),satisfyBlockRanges.set("__static__",this.extractSatisfyBlockRanges(text))}else if(this.documentManager){let uris=this.documentManager.getUris(),versionKey=uris.map(u=>u+":"+this.documentManager.getVersion(u)).join("|");if(this.satisfyCache&&this.satisfyCache.versionKey===versionKey)satisfiedNames=this.satisfyCache.satisfiedNames,satisfyBlockRanges=this.satisfyCache.satisfyBlockRanges;else{let relNames=this.collectWorkspaceRequirementRelationshipNames();satisfiedNames=relNames.satisfiedNames,satisfyBlockRanges=new Map;for(let uri of uris){let text=this.documentManager.getText(uri);text&&satisfyBlockRanges.set(uri,this.extractSatisfyBlockRanges(text))}this.satisfyCache={versionKey,satisfiedNames,satisfyBlockRanges},(!this.verifyCache||this.verifyCache.versionKey!==versionKey)&&(this.verifyCache={versionKey,verifiedNames:relNames.verifiedNames})}}else satisfiedNames=new Set,satisfyBlockRanges=new Map;let requirementUsages=allSymbols.filter(s=>s.kind==="requirement");for(let req of requirementUsages){if(req.parentQualifiedName&&indexes.byQualifiedName.get(req.parentQualifiedName)?.kind==="requirement")continue;let uriRanges=satisfyBlockRanges.get(req.uri)??satisfyBlockRanges.get("__static__")??[],reqLine=req.selectionRange.start.line;if(uriRanges.some(r=>reqLine>=r.startLine&&reqLine<=r.endLine))continue;satisfiedNames.has(req.name)||satisfiedNames.has(req.qualifiedName)||diagnostics.push({severity:import_node10.DiagnosticSeverity.Warning,range:req.selectionRange,message:`Requirement '${req.name}' is not satisfied by any element`,source:"sysml",code:"unsatisfied-requirement",data:{name:req.name,qualifiedName:req.qualifiedName}})}return diagnostics}extractSatisfyReferences(text,out){let stripped=stripComments(text),re=/\bsatisfy\s+(?:requirement\s+)?([\w]+(?:::[\w]+)*)\s+(?:by\b|;|:)/g,m2;for(;(m2=re.exec(stripped))!==null;){let ref=m2[1];out.add(ref);let lastSeg=ref.includes("::")?ref.split("::").pop():ref;out.add(lastSeg)}}extractSatisfyBlockRanges(text){let ranges=[],stripped=stripComments(text),re=/\bsatisfy\b[^;{]*\{/g,m2,lineOffsets;for(;(m2=re.exec(stripped))!==null;){let open=m2.index+m2[0].length-1,depth=1,i=open+1;for(;i<stripped.length&&depth>0;)stripped[i]==="{"&&depth++,stripped[i]==="}"&&depth--,i++;if(depth===0){if(!lineOffsets){lineOffsets=[0];for(let j=0;j<text.length;j++)text[j]===`
|
|
28710
|
+
`);if(line>=lines.length)return;let lineText=lines[line];if(!(character>=lineText.length))return extractQualifiedNameAt(lineText,character)}rangeContainsPosition(range,position){let afterStart=position.line>range.start.line||position.line===range.start.line&&position.character>=range.start.character,beforeEnd=position.line<range.end.line||position.line===range.end.line&&position.character<=range.end.character;return afterStart&&beforeEnd}getRepairHint(code){switch(code){case"invalid-redefinition-multiplicity":return"Align the redefined feature multiplicity with its base feature bounds.";case"incompatible-port-types":return"Connect endpoints with matching port types, or update one endpoint type.";case"unresolved-constraint-reference":return"Fix the reference path or add the missing feature in the referenced type.";case"unresolved-type":return"Define/import the missing type or correct the type name.";case"invalid-multiplicity":return"Use a valid bound where lower <= upper and lower is non-negative.";default:return}}};var import_node8=__toESM(require_main3());var DEFINITION_KEYWORDS=new Set(["about","abstract","accept","action","actor","after","alias","all","allocate","allocation","analysis","assert","assign","assume","attribute","bind","binding","calc","case","comment","concern","connect","connection","constraint","decide","def","default","defined","dependency","derived","do","doc","else","end","entry","enum","event","exhibit","exit","expose","feature","filter","first","flow","for","fork","frame","from","if","import","in","include","individual","inout","interface","item","join","language","library","locale","merge","message","meta","metadata","multiplicity","namespace","nonunique","not","null","objective","occurrence","of","ordered","out","package","parallel","part","perform","port","private","protected","public","readonly","redefines","ref","references","render","rendering","rep","require","requirement","return","satisfy","send","snapshot","specializes","stakeholder","state","subject","subsets","succession","then","timeslice","to","transition","type","use","variant","variation","verification","verify","view","viewpoint","when","while","datatype"]);function levenshtein2(a,b){if(a.length<b.length){let t=a;a=b,b=t}let m2=a.length,n2=b.length,prev=new Uint16Array(n2+1),curr=new Uint16Array(n2+1);for(let j=0;j<=n2;j++)prev[j]=j;for(let i=1;i<=m2;i++){curr[0]=i;for(let j=1;j<=n2;j++){let cost=a.charCodeAt(i-1)===b.charCodeAt(j-1)?0:1;curr[j]=Math.min(prev[j]+1,curr[j-1]+1,prev[j-1]+cost)}[prev,curr]=[curr,prev]}return prev[n2]}function findClosestKeyword(identifier,maxDistance=2){let lower=identifier.toLowerCase();if(lower.length<4||DEFINITION_KEYWORDS.has(lower))return;let effectiveMax=lower.length<=5?1:maxDistance,bestMatch,bestDist=effectiveMax+1;for(let keyword of DEFINITION_KEYWORDS){if(Math.abs(keyword.length-lower.length)>maxDistance)continue;let dist=levenshtein2(lower,keyword);dist>0&&dist<bestDist&&(bestDist=dist,bestMatch=keyword)}return bestMatch}var KEYWORD_CONTINUATIONS=new Set([SysMLv2Lexer.IDENTIFIER,SysMLv2Lexer.COLON,SysMLv2Lexer.DEF,SysMLv2Lexer.LBRACE,SysMLv2Lexer.LBRACK,SysMLv2Lexer.ABOUT]),NAME_PRECEDING_KEYWORDS=new Set([SysMLv2Lexer.PART,SysMLv2Lexer.PORT,SysMLv2Lexer.ITEM,SysMLv2Lexer.ATTRIBUTE,SysMLv2Lexer.ACTION,SysMLv2Lexer.CALC,SysMLv2Lexer.STATE,SysMLv2Lexer.CONSTRAINT,SysMLv2Lexer.REQUIREMENT,SysMLv2Lexer.CONCERN,SysMLv2Lexer.CASE,SysMLv2Lexer.ANALYSIS,SysMLv2Lexer.VERIFICATION,SysMLv2Lexer.VIEW,SysMLv2Lexer.VIEWPOINT,SysMLv2Lexer.RENDERING,SysMLv2Lexer.METADATA,SysMLv2Lexer.PACKAGE,SysMLv2Lexer.NAMESPACE,SysMLv2Lexer.ENUM,SysMLv2Lexer.ALLOCATION,SysMLv2Lexer.CONNECTION,SysMLv2Lexer.INTERFACE,SysMLv2Lexer.OCCURRENCE,SysMLv2Lexer.INDIVIDUAL,SysMLv2Lexer.FLOW,SysMLv2Lexer.SUCCESSION,SysMLv2Lexer.BINDING,SysMLv2Lexer.MESSAGE,SysMLv2Lexer.TRANSITION,SysMLv2Lexer.TYPE,SysMLv2Lexer.CLASSIFIER,SysMLv2Lexer.DATATYPE,SysMLv2Lexer.CLASS,SysMLv2Lexer.STRUCT,SysMLv2Lexer.ASSOC,SysMLv2Lexer.METACLASS,SysMLv2Lexer.INTERACTION,SysMLv2Lexer.BEHAVIOR,SysMLv2Lexer.FUNCTION,SysMLv2Lexer.PREDICATE,SysMLv2Lexer.FEATURE,SysMLv2Lexer.CONNECTOR,SysMLv2Lexer.STEP,SysMLv2Lexer.EXPR,SysMLv2Lexer.BOOL,SysMLv2Lexer.INV,SysMLv2Lexer.MULTIPLICITY,SysMLv2Lexer.ALIAS,SysMLv2Lexer.COMMENT,SysMLv2Lexer.DOC,SysMLv2Lexer.REP,SysMLv2Lexer.DEPENDENCY,SysMLv2Lexer.IMPORT,SysMLv2Lexer.DEF,SysMLv2Lexer.REF,SysMLv2Lexer.ALL,SysMLv2Lexer.ABSTRACT,SysMLv2Lexer.VARIATION,SysMLv2Lexer.DERIVED,SysMLv2Lexer.COMPOSITE,SysMLv2Lexer.CONST,SysMLv2Lexer.CONSTANT,SysMLv2Lexer.VAR,SysMLv2Lexer.MEMBER,SysMLv2Lexer.RETURN,SysMLv2Lexer.PUBLIC,SysMLv2Lexer.PRIVATE,SysMLv2Lexer.PROTECTED,SysMLv2Lexer.IN,SysMLv2Lexer.OUT,SysMLv2Lexer.INOUT,SysMLv2Lexer.END,SysMLv2Lexer.ACTOR,SysMLv2Lexer.STAKEHOLDER,SysMLv2Lexer.SUBJECT,SysMLv2Lexer.VARIANT,SysMLv2Lexer.SNAPSHOT,SysMLv2Lexer.TIMESLICE,SysMLv2Lexer.FORK,SysMLv2Lexer.JOIN,SysMLv2Lexer.MERGE,SysMLv2Lexer.DECIDE,SysMLv2Lexer.PERFORM,SysMLv2Lexer.EXHIBIT,SysMLv2Lexer.INCLUDE,SysMLv2Lexer.SATISFY,SysMLv2Lexer.ASSERT,SysMLv2Lexer.VERIFY,SysMLv2Lexer.RENDER,SysMLv2Lexer.CONNECT,SysMLv2Lexer.ALLOCATE,SysMLv2Lexer.BIND,SysMLv2Lexer.EXPOSE,SysMLv2Lexer.EVENT,SysMLv2Lexer.FIRST,SysMLv2Lexer.THEN,SysMLv2Lexer.TO,SysMLv2Lexer.FROM,SysMLv2Lexer.REDEFINES,SysMLv2Lexer.SUBSETS,SysMLv2Lexer.SPECIALIZES,SysMLv2Lexer.REFERENCES,SysMLv2Lexer.CONJUGATES,SysMLv2Lexer.CHAINS,SysMLv2Lexer.CROSSES,SysMLv2Lexer.UNIONS,SysMLv2Lexer.INTERSECTS,SysMLv2Lexer.DIFFERENCES,SysMLv2Lexer.SPECIALIZATION,SysMLv2Lexer.CONJUGATION,SysMLv2Lexer.DISJOINING,SysMLv2Lexer.INVERTING,SysMLv2Lexer.FEATURING,SysMLv2Lexer.TYPING,SysMLv2Lexer.REDEFINITION,SysMLv2Lexer.SUBTYPE,SysMLv2Lexer.SUBCLASSIFIER,SysMLv2Lexer.SUBSET,SysMLv2Lexer.CONJUGATE,SysMLv2Lexer.DISJOINT,SysMLv2Lexer.INVERSE,SysMLv2Lexer.ASSUME,SysMLv2Lexer.REQUIRE,SysMLv2Lexer.FRAME,SysMLv2Lexer.OBJECTIVE,SysMLv2Lexer.ENTRY,SysMLv2Lexer.DO,SysMLv2Lexer.EXIT,SysMLv2Lexer.ACCEPT,SysMLv2Lexer.SEND,SysMLv2Lexer.ASSIGN,SysMLv2Lexer.TERMINATE,SysMLv2Lexer.FOR,SysMLv2Lexer.ABOUT,SysMLv2Lexer.BY,SysMLv2Lexer.FILTER,SysMLv2Lexer.NEW,SysMLv2Lexer.META,SysMLv2Lexer.OF,SysMLv2Lexer.COLON,SysMLv2Lexer.COLON_GT,SysMLv2Lexer.COLON_GT_GT,SysMLv2Lexer.COLON_COLON,SysMLv2Lexer.COLON_COLON_GT,SysMLv2Lexer.GT,SysMLv2Lexer.FAT_ARROW,SysMLv2Lexer.TILDE,SysMLv2Lexer.COMMA,SysMLv2Lexer.HASH,SysMLv2Lexer.AT]);function looksLikeKeywordPosition(visibleTokens,index2){if(index2>0){let prev=visibleTokens[index2-1];if(NAME_PRECEDING_KEYWORDS.has(prev.type)||prev.type===SysMLv2Lexer.DOT||prev.type===SysMLv2Lexer.EQ||prev.type===SysMLv2Lexer.COLON_EQ||prev.text==="->")return!1}if(index2+1<visibleTokens.length){let next=visibleTokens[index2+1];if(KEYWORD_CONTINUATIONS.has(next.type))return!0}return index2===0}function validateKeywords(result){let diagnostics=[];result.tokenStream.fill();let allTokens=result.tokenStream.getTokens(),visibleTokens=[];for(let j=0;j<allTokens.length;j++){let t=allTokens[j];t.channel===0&&t.type!==Token.EOF&&visibleTokens.push(t)}for(let i=0;i<visibleTokens.length;i++){let token=visibleTokens[i];if(token.type!==SysMLv2Lexer.IDENTIFIER)continue;let text=token.text;if(!text||!looksLikeKeywordPosition(visibleTokens,i))continue;let suggestion=findClosestKeyword(text);if(!suggestion)continue;let line=(token.line??1)-1,char=token.column??0,message=`Unknown keyword '${text}'. Did you mean '${suggestion}'?`;diagnostics.push({severity:import_node8.DiagnosticSeverity.Error,range:{start:{line,character:char},end:{line,character:char+text.length}},message,source:"sysml",data:{typo:text,suggestion}})}return diagnostics}var ReferencesProvider=class{constructor(documentManager2){this.documentManager=documentManager2}documentManager;provideReferences(params){if(!this.documentManager.get(params.textDocument.uri))return[];let symbolTable=this.documentManager.getWorkspaceSymbolTable(),symbol=symbolTable.findSymbolAtPosition(params.textDocument.uri,params.position.line,params.position.character);if(!symbol)return[];let references=symbolTable.findReferences(symbol.name),locations=[];for(let ref of references)locations.push({uri:ref.uri,range:ref.selectionRange});return params.context.includeDeclaration,locations}};function findWordOccurrences(line,word){let positions=[],from=0;for(;from<=line.length-word.length;){let idx=line.indexOf(word,from);if(idx<0)break;(idx===0||!isIdentPart(line.charCodeAt(idx-1)))&&(idx+word.length>=line.length||!isIdentPart(line.charCodeAt(idx+word.length)))&&positions.push(idx),from=idx+1}return positions}var RenameProvider=class{constructor(documentManager2){this.documentManager=documentManager2}documentManager;prepareRename(params){let symbolTable=this.documentManager.getSymbolTable(params.textDocument.uri);if(!symbolTable)return null;let symbol=symbolTable.findSymbolAtPosition(params.textDocument.uri,params.position.line,params.position.character);return symbol?symbol.selectionRange:null}provideRename(params){let symbolTable=this.documentManager.getSymbolTable(params.textDocument.uri);if(!symbolTable)return null;let symbol=symbolTable.findSymbolAtPosition(params.textDocument.uri,params.position.line,params.position.character);if(!symbol)return null;let text=this.documentManager.getText(params.textDocument.uri);if(!text)return null;let edits=[],oldName=symbol.name,newName=params.newName,references=symbolTable.findReferences(oldName);for(let ref of references)ref.uri===params.textDocument.uri&&edits.push({range:ref.selectionRange,newText:newName});let lines=text.split(`
|
|
28711
|
+
`);for(let i=0;i<lines.length;i++)for(let col of findWordOccurrences(lines[i],oldName)){let range={start:{line:i,character:col},end:{line:i,character:col+oldName.length}};edits.some(e=>e.range.start.line===i&&e.range.start.character===col)||edits.push({range,newText:newName})}return edits.length===0?null:{changes:{[params.textDocument.uri]:edits}}}};var import_node9=__toESM(require_main3());var OPERATOR_TOKENS=new Set([SysMLv2Lexer.BANG_EQ_EQ,SysMLv2Lexer.STAR_STAR,SysMLv2Lexer.COLON_GT,SysMLv2Lexer.COLON_GT_GT,SysMLv2Lexer.AMP,SysMLv2Lexer.COLON_COLON,SysMLv2Lexer.STAR,SysMLv2Lexer.PIPE,SysMLv2Lexer.EQ_EQ,SysMLv2Lexer.BANG_EQ,SysMLv2Lexer.PLUS,SysMLv2Lexer.MINUS,SysMLv2Lexer.ARROW,SysMLv2Lexer.SLASH,SysMLv2Lexer.LT,SysMLv2Lexer.EQ,SysMLv2Lexer.GT,SysMLv2Lexer.CARET,SysMLv2Lexer.TILDE]),PUNCTUATION_TOKENS=new Set([SysMLv2Lexer.LBRACE,SysMLv2Lexer.RBRACE,SysMLv2Lexer.LPAREN,SysMLv2Lexer.RPAREN,SysMLv2Lexer.SEMI,SysMLv2Lexer.COMMA,SysMLv2Lexer.DOT,SysMLv2Lexer.LBRACK,SysMLv2Lexer.RBRACK,SysMLv2Lexer.COLON]),STRUCTURAL_KEYWORDS=new Set(["part","port","item","state","constraint","requirement","concern","case","view","viewpoint","rendering","allocation","connection","interface","occurrence","individual","flow","binding","succession","metadata","enum","actor","subject","ref","use"]),tokenTypes=["namespace","type","class","variable","property","function","keyword","comment","string","number","operator","enum","interface"],tokenModifiers=["declaration","definition","readonly","abstract"],SemanticTokensProvider=class{constructor(documentManager2){this.documentManager=documentManager2}documentManager;tokenCache;provideSemanticTokens(params){let uri=params.textDocument.uri,version=this.documentManager.getVersion(uri);if(this.tokenCache&&this.tokenCache.uri===uri&&this.tokenCache.version===version)return this.tokenCache.tokens;let builder=new import_node9.SemanticTokensBuilder,result=this.documentManager.get(uri);if(!result)return builder.build();result.tokenStream.fill();let tokens=result.tokenStream.getTokens(),prevMeaningful;for(let token of tokens){if(!token.text||token.channel!==0)continue;let text=token.text,tokenType=this.classifyTokenInContext(text,prevMeaningful,token.type);if(prevMeaningful=text,tokenType===void 0)continue;let line=(token.line??1)-1,char=token.column??0,length=text.length;builder.push(line,char,length,tokenType,0)}let built=builder.build();return this.tokenCache={uri,version,tokens:built},built}classifyTokenInContext(text,prev,lexerType){if(lexerType===SysMLv2Lexer.REGULAR_COMMENT||lexerType===SysMLv2Lexer.SINGLE_LINE_NOTE)return 7;if(lexerType===SysMLv2Lexer.STRING||lexerType===SysMLv2Lexer.DOUBLE_STRING)return 8;if(lexerType===SysMLv2Lexer.INTEGER||lexerType===SysMLv2Lexer.REAL)return 9;if(OPERATOR_TOKENS.has(lexerType))return 10;if(!PUNCTUATION_TOKENS.has(lexerType)){if(this.isKeyword(text))return 6;if(lexerType===SysMLv2Lexer.IDENTIFIER)return this.classifyIdentifier(prev)}}classifyIdentifier(prev){return prev?prev==="def"?2:prev==="package"||prev==="namespace"||prev==="library"?0:prev==="action"||prev==="calc"||prev==="analysis"||prev==="verification"?5:prev===":"||prev===":>"||prev===":>>"?1:prev==="attribute"?4:(this.isStructuralKeyword(prev),3):3}isStructuralKeyword(text){return STRUCTURAL_KEYWORDS.has(text)}isKeyword(text){return SYSML_KEYWORDS.has(text)}};var import_node10=__toESM(require_main3());var STANDARD_LIBRARY_TYPES=new Set(["Boolean","String","Integer","Real","Natural","Positive","Complex","Number","Rational","ScalarValues","DataFunctions","Anything","Nothing","Object","Occurrence","Base","Objects","Occurrences","Items","Parts","Ports","Actions","States","Connections","Interfaces","Allocations","Requirements","Constraints","Calculations","Cases","Flows","Transfers","Performances","TransitionPerformances","ISQ","SI","USCustomaryUnits","Quantities","MeasurementReferences","ScalarValues","GeneralView","InterconnectionView","ActionFlowView","StateTransitionView","SequenceView","GeometryView","GridView","BrowserView","StandardViewDefinitions","View","ViewpointCheck","Rendering","TextualRendering","GraphicalRendering","TabularRendering","Views","LengthValue","MassValue","DurationValue","TimeValue","ElectricCurrentValue","ThermodynamicTemperatureValue","TemperatureValue","AmountOfSubstanceValue","LuminousIntensityValue","AreaValue","VolumeValue","SpeedValue","VelocityValue","AccelerationValue","ForceValue","EnergyValue","PowerValue","PressureValue","TorqueValue","MomentOfForceValue","AngularVelocityValue","FrequencyValue","DensityValue","MassFlowRateValue","VolumeFlowRateValue","LengthUnit","MassUnit","DurationUnit","TimeUnit"]),CONSTRAINT_KEYWORDS=new Set(["and","or","not","xor","implies","if","then","else","true","false","null","require","constraint","subject","return","doc","comment","assert","assume"]);function isISQValueType(name){if(!name.endsWith("Value")||name.length<6)return!1;let ch0=name.charCodeAt(0);if(ch0<65||ch0>90)return!1;for(let i=1;i<name.length;i++){let c=name.charCodeAt(i);if(!(c>=65&&c<=90||c>=97&&c<=122))return!1}return!0}var SemanticValidator=class _SemanticValidator{constructor(documentManager2){this.documentManager=documentManager2;this.modelProvider=new SysMLModelProvider(documentManager2)}documentManager;modelProvider;satisfyCache;verifyCache;indexCache;symbolNamesCache;libraryNamesCache;addRequirementNameVariants(out,ref){if(!ref)return;let trimmed=ref.trim();if(!trimmed)return;out.add(trimmed);let lastSeg=trimmed.includes("::")?trimmed.split("::").pop():trimmed;out.add(lastSeg)}collectWorkspaceRequirementRelationshipNames(){let satisfiedNames=new Set,verifiedNames=new Set,uris=this.documentManager.getUris();for(let uri of uris){let version=this.documentManager.getVersion(uri);if(version<0)continue;let rels=this.modelProvider.getModel(uri,version,["relationships"]).relationships??[];for(let rel of rels)rel.type==="satisfy"?this.addRequirementNameVariants(satisfiedNames,rel.target):rel.type==="verify"&&this.addRequirementNameVariants(verifiedNames,rel.target)}return{satisfiedNames,verifiedNames}}validate(uri){let symbolTable=this.documentManager.getWorkspaceSymbolTable(),symbols=symbolTable.getSymbolsForUri(uri);if(symbols.length===0)return[];let allSymbols=symbolTable.getAllSymbols(),allSymbolNames;this.symbolNamesCache&&this.symbolNamesCache.symbols===allSymbols?allSymbolNames=this.symbolNamesCache.names:(allSymbolNames=new Set(allSymbols.map(s=>s.name)),this.symbolNamesCache={symbols:allSymbols,names:allSymbolNames}),this.libraryNamesCache||(this.libraryNamesCache=new Set(getLibraryPackageNames()));let libraryNames=this.libraryNamesCache,text=this.documentManager.getText(uri)??"",indexes=this.getOrBuildIndexes(allSymbols),diagnostics=[];for(let symbol of symbols)diagnostics.push(...this.checkUnresolvedType(symbol,allSymbolNames,libraryNames),...this.checkInvalidMultiplicity(symbol),...this.checkEmptyEnum(symbol,symbols),...this.checkNamingConvention(symbol),...this.checkMissingDocumentation(symbol));return diagnostics.push(...this.checkDuplicateDefinitions(symbols)),diagnostics.push(...this.checkUnusedDefinitions(allSymbols,uri)),diagnostics.push(...this.checkRedefinitionMultiplicity(symbols,indexes,text)),diagnostics.push(...this.checkPortCompatibility(text,uri,indexes)),diagnostics.push(...this.checkConstraintBodyReferences(text,uri,symbols,indexes)),diagnostics.push(...this.checkCircularSpecialization(symbols,indexes)),diagnostics.push(...this.checkCircularContainment(symbols,indexes)),diagnostics.push(...this.checkUnsatisfiedRequirements(symbols,indexes)),diagnostics.push(...this.checkUnverifiedRequirements(symbols,indexes)),diagnostics.push(...this.checkViewpointSatisfaction(symbols,indexes)),this.dedupeDiagnostics(diagnostics)}checkUnresolvedType(symbol,allSymbolNames,libraryNames){if(!symbol.typeName)return[];let typeName=symbol.typeName,kwMatch=typeName.match(/^([A-Z][A-Za-z_0-9]*?)(redefines|subsets|references|connect|bind|default|via|accept|send|flow|allocate|assign|decide|merge|join|fork)([A-Z])/);kwMatch&&(typeName=kwMatch[1]);let rootSegment=typeName.split("::")[0];if(allSymbolNames.has(typeName)||allSymbolNames.has(rootSegment)||STANDARD_LIBRARY_TYPES.has(typeName)||STANDARD_LIBRARY_TYPES.has(rootSegment)||libraryNames.has(rootSegment)||isISQValueType(typeName)||resolveLibraryType(typeName)!==void 0||resolveLibraryType(rootSegment)!==void 0||typeName.charCodeAt(0)>=97&&typeName.charCodeAt(0)<=122)return[];let isMandatory=symbol.multiplicityRange&&symbol.multiplicityRange.lower>=1,severity=isMandatory?import_node10.DiagnosticSeverity.Error:import_node10.DiagnosticSeverity.Warning,message=`Type '${typeName}' is not defined in the current document or standard library`;if(isMandatory){let multStr=symbol.multiplicity??"1";message+=` (feature '${symbol.name}' requires multiplicity [${multStr}])`}return[{severity,range:symbol.selectionRange,message,source:"sysml",code:"unresolved-type",data:{typeName}}]}checkInvalidMultiplicity(symbol){if(!symbol.multiplicityRange||!symbol.multiplicity)return[];let{lower,upper}=symbol.multiplicityRange;return typeof upper=="number"&&lower>upper?[{severity:import_node10.DiagnosticSeverity.Error,range:symbol.selectionRange,message:`Invalid multiplicity [${symbol.multiplicity}]: lower bound (${lower}) exceeds upper bound (${upper})`,source:"sysml",code:"invalid-multiplicity"}]:lower<0?[{severity:import_node10.DiagnosticSeverity.Error,range:symbol.selectionRange,message:`Invalid multiplicity [${symbol.multiplicity}]: lower bound cannot be negative`,source:"sysml",code:"invalid-multiplicity"}]:[]}checkEmptyEnum(symbol,allSymbols){return symbol.kind!=="enum def"?[]:allSymbols.filter(s=>s.parentQualifiedName===symbol.qualifiedName).some(c=>c.kind==="enum"||c.kind==="attribute")?[]:[{severity:import_node10.DiagnosticSeverity.Information,range:symbol.selectionRange,message:`Enumeration '${symbol.name}' has no enum values defined`,source:"sysml",code:"empty-enum"}]}checkNamingConvention(symbol){if(!symbol.name)return[];if(symbol.kind==="package"||symbol.kind==="import"||symbol.kind==="comment"||symbol.kind==="doc"||symbol.kind==="alias"||symbol.kind==="unknown")return[];if(isDefinition(symbol.kind)){let ch=symbol.name[0];if(ch===ch.toLowerCase()&&ch!==ch.toUpperCase())return[{severity:import_node10.DiagnosticSeverity.Hint,range:symbol.selectionRange,message:`Definition '${symbol.name}' should use PascalCase`,source:"sysml",code:"naming-convention",data:{name:symbol.name,convention:"PascalCase"}}]}else{let ch=symbol.name[0];if(ch===ch.toUpperCase()&&ch!==ch.toLowerCase())return[{severity:import_node10.DiagnosticSeverity.Hint,range:symbol.selectionRange,message:`Usage '${symbol.name}' should use camelCase`,source:"sysml",code:"naming-convention",data:{name:symbol.name,convention:"camelCase"}}]}return[]}checkMissingDocumentation(symbol){return isDefinition(symbol.kind)?symbol.documentation?[]:[{severity:import_node10.DiagnosticSeverity.Information,range:symbol.selectionRange,message:`Definition '${symbol.name}' has no documentation`,source:"sysml",code:"missing-doc",data:{name:symbol.name}}]:[]}checkUnusedDefinitions(symbols,targetUri){let defs=symbols.filter(s=>s.kind==="part def"||s.kind==="action def"),defsInScope=targetUri?defs.filter(def=>def.uri===targetUri):defs,referencedTypes=new Set(symbols.filter(s=>s.kind!=="package").flatMap(s=>s.typeNames));for(let s of symbols)if(s.exposeTargets)for(let target of s.exposeTargets){let simpleName=target.replace(/::\*{1,2}$/,"").split("::").pop();simpleName&&referencedTypes.add(simpleName)}let diagnostics=[];for(let def of defsInScope){let isReferenced=referencedTypes.has(def.name),hasBaseType=(def.typeNames?.length??0)>0;!isReferenced&&!hasBaseType&&diagnostics.push({severity:import_node10.DiagnosticSeverity.Warning,range:def.selectionRange,message:`Definition '${def.name}' is not referenced by any usage in the workspace`,source:"sysml",code:"unused-definition",data:{name:def.name}})}return diagnostics}static validateSymbols(symbolsInUri,allNames,opts){let diagnostics=[],instance=Object.create(_SemanticValidator.prototype),allSymbols=opts?.allSymbols??symbolsInUri,includeStyleRules=opts?.includeStyleRules??!0,indexes=instance.buildSymbolIndexes(allSymbols);for(let symbol of symbolsInUri)diagnostics.push(...instance.checkUnresolvedType(symbol,allNames,new Set),...instance.checkInvalidMultiplicity(symbol),...instance.checkEmptyEnum(symbol,symbolsInUri)),includeStyleRules&&diagnostics.push(...instance.checkNamingConvention(symbol),...instance.checkMissingDocumentation(symbol));return diagnostics.push(...instance.checkDuplicateDefinitions(symbolsInUri)),diagnostics.push(...instance.checkUnusedDefinitions(allSymbols)),diagnostics.push(...instance.checkRedefinitionMultiplicity(symbolsInUri,indexes,opts?.text)),diagnostics.push(...instance.checkCircularSpecialization(symbolsInUri,indexes)),diagnostics.push(...instance.checkCircularContainment(symbolsInUri,indexes)),diagnostics.push(...instance.checkUnsatisfiedRequirements(allSymbols,indexes,opts?.text?[opts.text]:[])),diagnostics.push(...instance.checkUnverifiedRequirements(allSymbols,indexes,opts?.text?[opts.text]:[])),opts?.text&&opts.uri&&(diagnostics.push(...instance.checkPortCompatibility(opts.text,opts.uri,indexes)),diagnostics.push(...instance.checkConstraintBodyReferences(opts.text,opts.uri,symbolsInUri,indexes))),instance.dedupeDiagnostics(diagnostics)}checkCircularSpecialization(symbolsInUri,indexes){let diagnostics=[],defsInFile=symbolsInUri.filter(s=>isDefinition(s.kind)&&s.typeNames.length>0);for(let def of defsInFile){let visited=new Set;visited.add(def.name);let cycle=this.followSpecializationChain(def.name,def.typeNames,visited,indexes);cycle&&diagnostics.push({severity:import_node10.DiagnosticSeverity.Error,range:def.selectionRange,message:`Circular specialization: ${cycle.join(" :> ")} :> ${cycle[0]}`,source:"sysml",code:"circular-specialization"})}return diagnostics}followSpecializationChain(originName,typeNames,visited,indexes){for(let tn of typeNames){if(visited.has(tn))return[...visited];let candidates=indexes.definitionsByName.get(tn);if(!candidates||candidates.length===0)continue;let target=candidates[0];if(target.typeNames.length===0)continue;visited.add(tn);let cycle=this.followSpecializationChain(originName,target.typeNames,visited,indexes);if(cycle)return cycle;visited.delete(tn)}}checkCircularContainment(symbolsInUri,indexes){let diagnostics=[],defsInFile=symbolsInUri.filter(s=>isDefinition(s.kind));for(let def of defsInFile){let children=indexes.byParent.get(def.qualifiedName)??[],childTypeNames=children.flatMap(c=>c.typeNames).filter(t=>t.length>0);if(childTypeNames.length!==0)for(let childTypeName of childTypeNames){if(childTypeName===def.name)continue;let visited=new Set;visited.add(def.name);let cycle=this.followContainmentChain(childTypeName,visited,indexes);if(cycle){let range=children.find(c=>c.typeNames.includes(childTypeName))?.selectionRange??def.selectionRange;diagnostics.push({severity:import_node10.DiagnosticSeverity.Error,range,message:`Circular containment: ${cycle.join(" -> ")} -> ${cycle[0]}`,source:"sysml",code:"circular-containment"});break}}}return diagnostics}followContainmentChain(typeName,visited,indexes){if(visited.has(typeName))return[...visited];let candidates=indexes.definitionsByName.get(typeName);if(!candidates||candidates.length===0)return;let target=candidates[0],childTypeNames=(indexes.byParent.get(target.qualifiedName)??[]).flatMap(c=>c.typeNames).filter(t=>t.length>0);if(childTypeNames.length!==0){visited.add(typeName);for(let tn of childTypeNames){let cycle=this.followContainmentChain(tn,visited,indexes);if(cycle)return cycle}visited.delete(typeName)}}checkUnsatisfiedRequirements(allSymbols,indexes,workspaceTexts){let diagnostics=[],satisfiedNames,satisfyBlockRanges;if(workspaceTexts){satisfiedNames=new Set,satisfyBlockRanges=new Map;for(let text of workspaceTexts)this.extractSatisfyReferences(text,satisfiedNames),satisfyBlockRanges.set("__static__",this.extractSatisfyBlockRanges(text))}else if(this.documentManager){let uris=this.documentManager.getUris(),versionKey=uris.map(u=>u+":"+this.documentManager.getVersion(u)).join("|");if(this.satisfyCache&&this.satisfyCache.versionKey===versionKey)satisfiedNames=this.satisfyCache.satisfiedNames,satisfyBlockRanges=this.satisfyCache.satisfyBlockRanges;else{let relNames=this.collectWorkspaceRequirementRelationshipNames();satisfiedNames=relNames.satisfiedNames,satisfyBlockRanges=new Map;for(let uri of uris){let text=this.documentManager.getText(uri);text&&satisfyBlockRanges.set(uri,this.extractSatisfyBlockRanges(text))}this.satisfyCache={versionKey,satisfiedNames,satisfyBlockRanges},(!this.verifyCache||this.verifyCache.versionKey!==versionKey)&&(this.verifyCache={versionKey,verifiedNames:relNames.verifiedNames})}}else satisfiedNames=new Set,satisfyBlockRanges=new Map;let requirementUsages=allSymbols.filter(s=>s.kind==="requirement");for(let req of requirementUsages){if(req.parentQualifiedName&&indexes.byQualifiedName.get(req.parentQualifiedName)?.kind==="requirement")continue;let uriRanges=satisfyBlockRanges.get(req.uri)??satisfyBlockRanges.get("__static__")??[],reqLine=req.selectionRange.start.line;if(uriRanges.some(r=>reqLine>=r.startLine&&reqLine<=r.endLine))continue;satisfiedNames.has(req.name)||satisfiedNames.has(req.qualifiedName)||diagnostics.push({severity:import_node10.DiagnosticSeverity.Warning,range:req.selectionRange,message:`Requirement '${req.name}' is not satisfied by any element`,source:"sysml",code:"unsatisfied-requirement",data:{name:req.name,qualifiedName:req.qualifiedName}})}return diagnostics}extractSatisfyReferences(text,out){let stripped=stripComments(text),re=/\bsatisfy\s+(?:requirement\s+)?([\w]+(?:::[\w]+)*)\s+(?:by\b|;|:)/g,m2;for(;(m2=re.exec(stripped))!==null;){let ref=m2[1];out.add(ref);let lastSeg=ref.includes("::")?ref.split("::").pop():ref;out.add(lastSeg)}}extractSatisfyBlockRanges(text){let ranges=[],stripped=stripComments(text),re=/\bsatisfy\b[^;{]*\{/g,m2,lineOffsets;for(;(m2=re.exec(stripped))!==null;){let open=m2.index+m2[0].length-1,depth=1,i=open+1;for(;i<stripped.length&&depth>0;)stripped[i]==="{"&&depth++,stripped[i]==="}"&&depth--,i++;if(depth===0){if(!lineOffsets){lineOffsets=[0];for(let j=0;j<text.length;j++)text[j]===`
|
|
28736
28712
|
`&&lineOffsets.push(j+1)}ranges.push({startLine:this.offsetToLine(lineOffsets,open),endLine:this.offsetToLine(lineOffsets,i-1)})}}return ranges}checkUnverifiedRequirements(allSymbols,indexes,workspaceTexts){let diagnostics=[],satisfiedNames,verifiedNames,satisfyBlockRanges;if(workspaceTexts){satisfiedNames=new Set,verifiedNames=new Set,satisfyBlockRanges=new Map;for(let text of workspaceTexts)this.extractSatisfyReferences(text,satisfiedNames),this.extractVerifyReferences(text,verifiedNames),satisfyBlockRanges.set("__static__",this.extractSatisfyBlockRanges(text))}else if(this.documentManager){let uris=this.documentManager.getUris(),versionKey=uris.map(u=>u+":"+this.documentManager.getVersion(u)).join("|"),satisfyCacheValid=this.satisfyCache&&this.satisfyCache.versionKey===versionKey,verifyCacheValid=this.verifyCache&&this.verifyCache.versionKey===versionKey;if(!satisfyCacheValid||!verifyCacheValid){let relNames=this.collectWorkspaceRequirementRelationshipNames();if(!satisfyCacheValid){satisfyBlockRanges=new Map;for(let uri of uris){let text=this.documentManager.getText(uri);text&&satisfyBlockRanges.set(uri,this.extractSatisfyBlockRanges(text))}this.satisfyCache={versionKey,satisfiedNames:relNames.satisfiedNames,satisfyBlockRanges}}verifyCacheValid||(this.verifyCache={versionKey,verifiedNames:relNames.verifiedNames})}satisfiedNames=this.satisfyCache.satisfiedNames,satisfyBlockRanges=this.satisfyCache.satisfyBlockRanges,verifiedNames=this.verifyCache.verifiedNames}else satisfiedNames=new Set,verifiedNames=new Set,satisfyBlockRanges=new Map;let requirementUsages=allSymbols.filter(s=>s.kind==="requirement");for(let req of requirementUsages){if(req.parentQualifiedName&&indexes.byQualifiedName.get(req.parentQualifiedName)?.kind==="requirement")continue;let uriRanges=satisfyBlockRanges.get(req.uri)??satisfyBlockRanges.get("__static__")??[],reqLine=req.selectionRange.start.line;if(uriRanges.some(r=>reqLine>=r.startLine&&reqLine<=r.endLine))continue;let isSatisfied=satisfiedNames.has(req.name)||satisfiedNames.has(req.qualifiedName);if(!(verifiedNames.has(req.name)||verifiedNames.has(req.qualifiedName))){let message=isSatisfied?`Requirement '${req.name}' is satisfied but has no verification case \u2014 consider adding: verify ${req.name} by <VerificationCase>;`:`Requirement '${req.name}' has no verification case \u2014 consider adding: verify ${req.name} by <VerificationCase>;`;diagnostics.push({severity:import_node10.DiagnosticSeverity.Warning,range:req.selectionRange,message,source:"sysml",code:"unverified-requirement",data:{name:req.name,qualifiedName:req.qualifiedName}})}}return diagnostics}extractVerifyReferences(text,out){let stripped=stripComments(text),re=/\bverify\s+(?:requirement\s+)?([\w]+(?:::[\w]+)*)\s*(?:by\b|;|:|\{)/g,m2;for(;(m2=re.exec(stripped))!==null;){let ref=m2[1];out.add(ref);let lastSeg=ref.includes("::")?ref.split("::").pop():ref;out.add(lastSeg)}}offsetToLine(lineOffsets,offset){let lo=0,hi=lineOffsets.length-1;for(;lo<hi;){let mid=lo+hi+1>>>1;lineOffsets[mid]<=offset?lo=mid:hi=mid-1}return lo}checkViewpointSatisfaction(symbols,_indexes){let diagnostics=[],views=symbols.filter(s=>s.kind==="view"),_viewpointNames=new Set(symbols.filter(s=>s.kind==="viewpoint def"||s.kind==="viewpoint").map(s=>s.name));for(let view of views){let hasExpose=view.exposeTargets&&view.exposeTargets.length>0,hasFilter=view.viewFilters&&view.viewFilters.length>0;!hasExpose&&!hasFilter&&diagnostics.push({severity:import_node10.DiagnosticSeverity.Information,range:view.selectionRange,message:`View '${view.name}' has no expose or filter directives \u2014 it will show all elements`,source:"sysml",code:"view-no-scope"})}return diagnostics}checkRedefinitionMultiplicity(symbolsInUri,indexes,text){let diagnostics=[],lines=text?.split(`
|
|
28737
28713
|
`);for(let s of symbolsInUri){if(!s.typeName||!s.multiplicityRange)continue;let c0=s.typeName.charCodeAt(0);if(!(c0>=97&&c0<=122))continue;if(lines){let lineIdx=s.selectionRange.start.line,line=lines[lineIdx]||"";if(!/:>>/.test(line)&&!/\bredefines\b/.test(line))continue}let base=(indexes.byName.get(s.typeName)??[]).find(c=>!!c.multiplicityRange);if(!base?.multiplicityRange)continue;let baseLower=base.multiplicityRange.lower,baseUpper=base.multiplicityRange.upper,curLower=s.multiplicityRange.lower,curUpper=s.multiplicityRange.upper,lowerOk=curLower>=baseLower,upperOk=baseUpper==="*"||curUpper!=="*"&&curUpper<=baseUpper;lowerOk&&upperOk||diagnostics.push({severity:import_node10.DiagnosticSeverity.Error,range:s.selectionRange,message:`Redefinition multiplicity [${s.multiplicity??"?"}] is incompatible with base '${base.name}' multiplicity [${base.multiplicity??"?"}]`,source:"sysml",code:"invalid-redefinition-multiplicity"})}return diagnostics}checkPortCompatibility(text,uri,indexes){if(!text)return[];let diagnostics=[],lines=text.split(`
|
|
28738
28714
|
`),re=/\bconnect\s+([A-Za-z_][\w.]*)\s+to\s+([A-Za-z_][\w.]*)/g,m2;for(;(m2=re.exec(text))!==null;){let left=m2[1].split(".").pop(),right=m2[2].split(".").pop(),lSym=(indexes.portsByName.get(left)??[])[0],rSym=(indexes.portsByName.get(right)??[])[0];if(!lSym||!rSym)continue;let lType=lSym.typeNames[0]??lSym.typeName,rType=rSym.typeNames[0]??rSym.typeName;if(!lType||!rType||lType===rType||lType==="~"+rType||rType==="~"+lType||lType.startsWith("~")&&lType.slice(1)===rType||rType.startsWith("~")&&rType.slice(1)===lType)continue;let matchLine=text.substring(0,m2.index).split(`
|
|
28739
28715
|
`).length-1,insideInterfaceDef=!1;for(let i=matchLine;i>=0&&i>=matchLine-30;i--){let line=(lines[i]||"").trim();if(/\binterface\s+def\b/.test(line)){insideInterfaceDef=!0;break}if(/^\s*package\b/.test(line))break}if(insideInterfaceDef)continue;let precedingText=text.substring(Math.max(0,m2.index-300),m2.index);if(/\binterface\s+\w[\w']*(:\w[\w']*)?\s*$/m.test(precedingText))continue;let lDefSyms=indexes.byName.get(lType)??[],rDefSyms=indexes.byName.get(rType)??[],lDef=lDefSyms.find(s=>s.kind.includes("def")),rDef=rDefSyms.find(s=>s.kind.includes("def")),lChildren=lDef?indexes.byParent.get(lDef.qualifiedName)??[]:[],rChildren=rDef?indexes.byParent.get(rDef.qualifiedName)??[]:[];if(lChildren.length===0&&rChildren.length===0)continue;if(lDef&&rDef){let lHierarchy=this.resolveTypeHierarchy(lType,indexes),rHierarchy=this.resolveTypeHierarchy(rType,indexes);if(lHierarchy.has(rType)||rHierarchy.has(lType)||[...lHierarchy].some(t=>rHierarchy.has(t)))continue;let lChildNames=new Set(lChildren.map(c=>c.name));if(rChildren.some(c=>lChildNames.has(c.name)))continue}let range=this.indexToRange(text,m2.index,m2[0].length);diagnostics.push({severity:import_node10.DiagnosticSeverity.Warning,range,message:`Port compatibility issue: '${left}' (${lType}) is connected to '${right}' (${rType})`,source:"sysml",code:"incompatible-port-types",data:{uri}})}return diagnostics}resolveTypeHierarchy(typeName,indexes){let hierarchy=new Set,queue=[typeName];for(;queue.length>0&&hierarchy.size<50;){let current=queue.shift();if(hierarchy.has(current))continue;hierarchy.add(current);let defs=indexes.byName.get(current)??[];for(let def of defs)if(def.kind.includes("def"))for(let parent of def.typeNames)hierarchy.has(parent)||queue.push(parent)}return hierarchy}checkConstraintBodyReferences(text,uri,symbolsInUri,indexes){if(!text)return[];let diagnostics=[],blocks=this.extractConstraintBlocks(text);for(let b of blocks){if(this.hasDocumentationOnlyConstraintBody(b.body)){if(b.isRequire&&this.isInsideViewpoint(text,b.bodyOffset))continue;let trimStart=b.body.search(/\S/),startInBody=trimStart>=0?trimStart:0,trimmedLen=Math.max(1,b.body.trim().length);diagnostics.push({severity:import_node10.DiagnosticSeverity.Warning,range:this.indexToRange(text,b.bodyOffset+startInBody,trimmedLen),message:"Invalid constraint body: expected expression, found documentation text",source:"sysml",code:"invalid-constraint-body",data:{uri}});continue}let parent=this.findConstraintScopeSymbol(symbolsInUri,indexes,b.startLine);if(!parent)continue;let parentMembers=indexes.byParent.get(parent.qualifiedName)??[];if(parentMembers.length===0)continue;let ignoredRanges=this.getIgnoredBodyRanges(b.body),idRe=/\b([A-Za-z_][\w]*(?:\.[A-Za-z_][\w]*)*)\b/g,im;for(;(im=idRe.exec(b.body))!==null;){if(this.isIndexInRanges(im.index,ignoredRanges))continue;let expr=im[1];if(this.isConstraintKeyword(expr)||/^\d/.test(expr))continue;let path=expr.split(".");if(this.resolvePathFromParent(path,parentMembers,indexes))continue;if(path.length===1){let root=path[0];if(indexes.byName.has(root)||resolveLibraryType(root)!==void 0)continue}let absoluteStart=b.bodyOffset+im.index;diagnostics.push({severity:import_node10.DiagnosticSeverity.Warning,range:this.indexToRange(text,absoluteStart,expr.length),message:`Unresolved constraint reference '${expr}' in scope '${parent.name}'`,source:"sysml",code:"unresolved-constraint-reference",data:{uri}})}}return diagnostics}extractConstraintBlocks(text){let out=[],re=/\b(require\s+)?constraint\s*\{/g,m2;for(;(m2=re.exec(text))!==null;){let open=m2.index+m2[0].length-1,depth=1,i=open+1;for(;i<text.length&&depth>0;){let ch=text[i];ch==="{"&&depth++,ch==="}"&&depth--,i++}if(depth!==0)continue;let bodyStart=open+1,bodyEnd=i-1,body=text.slice(bodyStart,bodyEnd),startLine=text.slice(0,bodyStart).split(`
|
|
28740
28716
|
`).length-1;out.push({body,bodyOffset:bodyStart,startLine,isRequire:!!m2[1]})}return out}resolvePathFromParent(path,parentMembers,indexes){let root=parentMembers.find(s=>s.name===path[0]);if(!root)return!1;if(path.length===1)return!0;let typeName=root.typeNames[0]??root.typeName;for(let i=1;i<path.length;i++){if(!typeName)return!1;let typeDef=(indexes.definitionsByName.get(typeName)??[])[0];if(!typeDef)return!1;let member=(indexes.byParent.get(typeDef.qualifiedName)??[]).find(s=>s.name===path[i]);if(!member)return!1;typeName=member.typeNames[0]??member.typeName}return!0}findContainingSymbolByLine(symbols,line){return symbols.filter(s=>s.range.start.line<=line&&s.range.end.line>=line).sort((a,b)=>{let ar=(a.range.end.line-a.range.start.line)*1e3+(a.range.end.character-a.range.start.character),br=(b.range.end.line-b.range.start.line)*1e3+(b.range.end.character-b.range.start.character);return ar-br})[0]}findConstraintScopeSymbol(symbolsInUri,indexes,line){let scope=this.findContainingSymbolByLine(symbolsInUri,line);for(;scope;){if((indexes.byParent.get(scope.qualifiedName)??[]).length>0||!scope.parentQualifiedName)return scope;scope=indexes.byQualifiedName.get(scope.parentQualifiedName)}}getOrBuildIndexes(allSymbols){if(this.indexCache&&this.indexCache.symbols===allSymbols)return this.indexCache.indexes;let indexes=this.buildSymbolIndexes(allSymbols);return this.indexCache={symbols:allSymbols,indexes},indexes}buildSymbolIndexes(allSymbols){let byName=new Map,byParent=new Map,byQualifiedName=new Map,definitionsByName=new Map,portsByName=new Map;for(let s of allSymbols){let nameList=byName.get(s.name)??[];if(nameList.push(s),byName.set(s.name,nameList),byQualifiedName.set(s.qualifiedName,s),s.parentQualifiedName){let children=byParent.get(s.parentQualifiedName)??[];children.push(s),byParent.set(s.parentQualifiedName,children)}if(isDefinition(s.kind)){let defs=definitionsByName.get(s.name)??[];defs.push(s),definitionsByName.set(s.name,defs)}if(s.kind==="port"||s.kind==="port def"){let ports=portsByName.get(s.name)??[];ports.push(s),portsByName.set(s.name,ports)}}return{byName,byParent,byQualifiedName,definitionsByName,portsByName}}isConstraintKeyword(value){return CONSTRAINT_KEYWORDS.has(value)}getIgnoredBodyRanges(body){let ranges=[],blockRe=/\/\*[\s\S]*?\*\//g,m2;for(;(m2=blockRe.exec(body))!==null;)ranges.push({start:m2.index,end:m2.index+m2[0].length});let lineRe=/\/\/[^\n\r]*/g;for(;(m2=lineRe.exec(body))!==null;)ranges.push({start:m2.index,end:m2.index+m2[0].length});return ranges}isIndexInRanges(index2,ranges){for(let r of ranges)if(index2>=r.start&&index2<r.end)return!0;return!1}hasDocumentationOnlyConstraintBody(body){let trimmed=body.trim();if(!trimmed)return!1;let withoutComments=trimmed.replace(/\/\*[\s\S]*?\*\//g," ").replace(/\/\/[^\n\r]*/g," ").trim();if(withoutComments==="doc"||withoutComments==="comment")return!0;let hasExprSignal=/[<>=!+\-*/%()[\].,:]|\b(and|or|not)\b/.test(withoutComments);return/^[A-Za-z_\s]+$/.test(withoutComments)&&!hasExprSignal}isInsideViewpoint(text,offset){let preceding=text.slice(0,offset),depth=0;for(let i=preceding.length-1;i>=0;i--){let ch=preceding[i];if(ch==="}"&&depth++,ch==="{"){if(depth>0){depth--;continue}let before=preceding.slice(0,i).trimEnd();return/\bviewpoint\b/.test(before.slice(-40))}}return!1}lineOffsetCache;indexToRange(text,start,length){let offsets;if(this.lineOffsetCache&&this.lineOffsetCache.text===text)offsets=this.lineOffsetCache.offsets;else{offsets=[0];for(let i=0;i<text.length;i++)text[i]===`
|
|
28741
|
-
`&&offsets.push(i+1);this.lineOffsetCache={text,offsets}}let lo=0,hi=offsets.length-1;for(;lo<hi;){let mid=lo+hi+1>>>1;offsets[mid]<=start?lo=mid:hi=mid-1}let startLine=lo,startChar=start-offsets[startLine];return{start:{line:startLine,character:startChar},end:{line:startLine,character:startChar+length}}}dedupeDiagnostics(diags){let seen=new Set,out=[];for(let d of diags){let key=[d.code??"no-code",d.range.start.line,d.range.start.character,d.range.end.line,d.range.end.character,d.message].join("|");seen.has(key)||(seen.add(key),out.push(d))}return out}checkDuplicateDefinitions(symbols){let diagnostics=[],definitionsByScope=new Map;for(let symbol of symbols){if(!isDefinition(symbol.kind))continue;let scope=symbol.parentQualifiedName??"__root__",scopeMap=definitionsByScope.get(scope);scopeMap||(scopeMap=new Map,definitionsByScope.set(scope,scopeMap));let defs=scopeMap.get(symbol.name);defs||(defs=[],scopeMap.set(symbol.name,defs)),defs.push(symbol)}for(let scopeMap of definitionsByScope.values())for(let[name,defs]of scopeMap)if(defs.length>1)for(let def of defs)diagnostics.push({severity:import_node10.DiagnosticSeverity.Warning,range:def.selectionRange,message:`Duplicate definition: '${name}' is defined ${defs.length} times in the same scope`,source:"sysml",code:"duplicate-definition"});return diagnostics}};async function readFile(_path,_enc){throw new Error("fs/promises.readFile is not available in the browser")}async function readdir(_path,_opts){return[]}var DEFAULT_SKIP_DIRS=["node_modules",".git",".settings","temp","test","tests","out","dist","build","coverage",".venv","__pycache__"],SYSML_EXTENSIONS=[".sysml",".kerml"];function isSysMLFile(name){return SYSML_EXTENSIONS.some(ext=>name.endsWith(ext))}async function findSysMLFilesAsync(dir,skipDirs2){let skip=skipDirs2??new Set(DEFAULT_SKIP_DIRS),results=[],entries;try{entries=await readdir(dir,{withFileTypes:!0})}catch{return results}let childDirPromises=[];for(let entry of entries){let fullPath=join(dir,entry.name);if(entry.isDirectory()){if(skip.has(entry.name))continue;childDirPromises.push(findSysMLFilesAsync(fullPath,skip))}else entry.isFile()&&isSysMLFile(entry.name)&&results.push(fullPath)}if(childDirPromises.length>0){let childResults=await Promise.all(childDirPromises);for(let arr of childResults)results.push(...arr)}return results}async function readFilesBatch(filePaths,batchSize=32){let contents=new Map;for(let i=0;i<filePaths.length;i+=batchSize){let batch=filePaths.slice(i,i+batchSize),settled=await Promise.allSettled(batch.map(async fp=>{let text=await readFile(fp,"utf-8");return{fp,text}}));for(let result of settled)result.status==="fulfilled"&&contents.set(result.value.fp,result.value.text)}return contents}function toFsPath(uri){try{if(uri.startsWith("file://"))return fileURLToPath(uri)}catch{}}var connection=createServerConnection(),documents=new import_node11.TextDocuments(TextDocument2),serverStartTime=Date.now(),documentManager=new DocumentManager,modelProvider=new SysMLModelProvider(documentManager),diagnosticsProvider=new DiagnosticsProvider(documentManager),completionProvider=new CompletionProvider(documentManager),hoverProvider=new HoverProvider(documentManager),definitionProvider=new DefinitionProvider(documentManager),referencesProvider=new ReferencesProvider(documentManager),documentSymbolProvider=new DocumentSymbolProvider(documentManager),semanticTokensProvider=new SemanticTokensProvider(documentManager),foldingRangeProvider=new FoldingRangeProvider(documentManager),renameProvider=new RenameProvider(documentManager),codeActionProvider=new CodeActionProvider(documentManager),formattingProvider=new FormattingProvider(documents),semanticValidator=new SemanticValidator(documentManager);hoverProvider.setSemanticValidator(semanticValidator);var hasConfigurationCapability=!1,hasWorkspaceFolderCapability=!1,workspaceRoots=[],isWorkspaceFile=!1,skipDirs=new Set(DEFAULT_SKIP_DIRS),serverReady=!1,earlyOpenUris=new Set,workerRequestId=0,parseWorker,workerReady=!1;function spawnParseWorker(){let workerPath=join("/","parseWorker.js");try{parseWorker=new Worker(workerPath),parseWorker.on("message",handleWorkerMessage),parseWorker.on("error",err=>{connection.console.log(`Parse worker error: ${err.message}`),workerReady=!1}),parseWorker.on("exit",code=>{connection.console.log(`Parse worker exited with code ${code}`),workerReady=!1,parseWorker=void 0}),workerReady=!0,connection.console.log("Parse worker spawned")}catch(err){connection.console.log(`Failed to spawn parse worker: ${err}`)}}function handleWorkerMessage(msg){if(msg.warmup){connection.console.log(`Worker DFA warm-up: ${msg.elapsed} ms, ${msg.chunksCompleted}/${msg.totalChunks} chunks`+(msg.interrupted?" (interrupted by real parse)":""));return}let{uri,version,errors,keywordDiagnostics}=msg,doc=documents.get(uri);if(!doc||doc.version!==version)return;let diagnostics=[];for(let e of errors){let line=Math.max(0,e.line);diagnostics.push({severity:1,range:{start:{line,character:e.column},end:{line,character:e.column+(e.length||1)}},message:e.message,source:"sysml"})}for(let kd of keywordDiagnostics)diagnostics.push({severity:kd.severity,range:kd.range,message:kd.message,source:"sysml",code:kd.code});connection.sendDiagnostics({uri,diagnostics}),setImmediate(()=>{let currentDoc=documents.get(uri);if(!currentDoc||currentDoc.version!==version)return;documentManager.parse(currentDoc);let correctedDiags=diagnosticsProvider.getDiagnostics(uri),parseResult=documentManager.get(uri);parseResult&&correctedDiags.push(...validateKeywords(parseResult)),connection.sendDiagnostics({uri,diagnostics:correctedDiags}),connection.sendNotification("sysml/status",{state:"end",message:`Parsed ${uri.split("/").pop()} (worker + main)`,fileName:uri.split("/").pop(),uri});let existingSemantic=semanticTimers.get(uri);existingSemantic&&clearTimeout(existingSemantic),semanticTimers.set(uri,setTimeout(()=>{if(semanticTimers.delete(uri),documentManager.getVersion(uri)!==version||!documents.get(uri))return;let semanticDiags=semanticValidator.validate(uri);documentManager.setSemanticDiagnostics(uri,semanticDiags);let allDiags=[...correctedDiags,...semanticDiags];connection.sendDiagnostics({uri,diagnostics:allDiags})},50))})}function requestWorkerParse(document){if(!workerReady||!parseWorker)return!1;let id=++workerRequestId;return parseWorker.postMessage({id,text:document.getText(),uri:document.uri,version:document.version}),!0}connection.onInitialize(params=>{let capabilities=params.capabilities;if(hasConfigurationCapability=!!(capabilities.workspace&&capabilities.workspace.configuration),hasWorkspaceFolderCapability=!!(capabilities.workspace&&capabilities.workspace.workspaceFolders),isWorkspaceFile=params.initializationOptions?.isWorkspaceFile??!1,params.workspaceFolders)workspaceRoots=params.workspaceFolders.map(f=>toFsPath(f.uri)).filter(p=>p!==void 0);else if(params.rootUri){let root=toFsPath(params.rootUri);root&&(workspaceRoots=[root])}let legend={tokenTypes,tokenModifiers},result={capabilities:{textDocumentSync:import_node11.TextDocumentSyncKind.Incremental,completionProvider:{resolveProvider:!0,triggerCharacters:[".",":"," "]},hoverProvider:!0,definitionProvider:!0,referencesProvider:!0,documentSymbolProvider:!0,semanticTokensProvider:{full:!0,legend},foldingRangeProvider:!0,renameProvider:{prepareProvider:!0},codeActionProvider:{codeActionKinds:[import_node11.CodeActionKind.QuickFix]},documentFormattingProvider:!0,documentRangeFormattingProvider:!0}};return hasWorkspaceFolderCapability&&(result.capabilities.workspace={workspaceFolders:{supported:!0}}),result});connection.onInitialized(()=>{hasConfigurationCapability&&(connection.client.register(import_node11.DidChangeConfigurationNotification.type,void 0),pullSettings().catch(()=>{}));let libCount=initLibraryIndex("/");connection.console.log(`SysML v2 Language Server initialized (${libCount} library packages indexed)`);let dfaT0=Date.now();try{let dfaStates=loadDFASnapshot();connection.console.log(`DFA snapshot loaded: ${dfaStates} states in ${Date.now()-dfaT0} ms`)}catch(e){connection.console.log(`DFA snapshot load failed (will use cold DFA): ${e}`)}if(serverReady=!0,spawnParseWorker(),isWorkspaceFile&&workspaceRoots.length>0&&scanWorkspaceFoldersAsync(workspaceRoots).then(({fileCount,scanMs})=>{connection.console.log(`Workspace scan: pre-parsed ${fileCount} .sysml files in ${scanMs} ms`),revalidateOpenDocuments()}),serverReady=!0,earlyOpenUris.size>0){connection.console.log(`Re-validating ${earlyOpenUris.size} document(s) opened before server was ready`);for(let uri of earlyOpenUris){let doc=documents.get(uri);doc&&validateDocument(doc)}earlyOpenUris.clear()}});async function pullSettings(){if(!hasConfigurationCapability)return;let config=await connection.workspace.getConfiguration("sysml.scan");applySettings(config)}function applySettings(config){if(!config)return;let raw=config.skipDirectories;Array.isArray(raw)&&raw.every(v=>typeof v=="string")&&(skipDirs=new Set(raw))}connection.onDidChangeConfiguration(_change=>{pullSettings().catch(()=>{})});function parseWorkspaceFile(filePath){let uri=pathToFileURL(filePath).toString();if(documents.get(uri))return!1;let content;try{content=readFileSync(filePath,"utf-8")}catch{return!1}let doc=TextDocument2.create(uri,"sysml",0,content);return documentManager.parse(doc),!0}async function scanWorkspaceFoldersAsync(roots){let scanT0=Date.now(),fileArrays=await Promise.all(roots.map(r=>findSysMLFilesAsync(r,skipDirs))),allFiles=[];for(let arr of fileArrays)allFiles.push(...arr);let fileContents=await readFilesBatch(allFiles,32),fileCount=0;for(let i=0;i<allFiles.length;i++){let filePath=allFiles[i],uri=pathToFileURL(filePath).toString();if(documents.get(uri))continue;let content=fileContents.get(filePath);content!==void 0&&(documentManager.parseBatch(uri,0,content),fileCount++,(i+1)%4===0&&await new Promise(resolve=>setImmediate(resolve)))}return{fileCount,scanMs:Date.now()-scanT0}}function revalidateOpenDocuments(){for(let doc of documents.all())validateDocument(doc)}var crossFileRevalidateTimer;documents.onDidOpen(event=>{if(!serverReady){earlyOpenUris.add(event.document.uri),documentManager.parse(event.document);return}validateDocument(event.document),crossFileRevalidateTimer&&clearTimeout(crossFileRevalidateTimer),crossFileRevalidateTimer=setTimeout(()=>{crossFileRevalidateTimer=void 0,revalidateOpenDocuments()},500)});var debounceTimers=new Map,semanticTimers=new Map,DEBOUNCE_MS=200;documents.onDidChangeContent(event=>{let uri=event.document.uri,existing=debounceTimers.get(uri);existing&&clearTimeout(existing),debounceTimers.set(uri,setTimeout(()=>{debounceTimers.delete(uri),documents.get(uri)&&validateDocument(event.document)},DEBOUNCE_MS))});documents.onDidClose(event=>{let uri=event.document.uri,debounceTimer=debounceTimers.get(uri);debounceTimer&&(clearTimeout(debounceTimer),debounceTimers.delete(uri));let semanticTimer=semanticTimers.get(uri);semanticTimer&&(clearTimeout(semanticTimer),semanticTimers.delete(uri)),documentManager.remove(event.document.uri),modelProvider.removeUri(event.document.uri),connection.sendDiagnostics({uri:event.document.uri,diagnostics:[]});let fsPath=toFsPath(event.document.uri);fsPath&&(fsPath.endsWith(".sysml")||fsPath.endsWith(".kerml"))&&parseWorkspaceFile(fsPath)});connection.onDidChangeWatchedFiles(params=>{let changed=!1;for(let change of params.changes){let fsPath=toFsPath(change.uri);fsPath&&(change.type===3?documentManager.get(change.uri)&&(documentManager.remove(change.uri),changed=!0):!documents.get(change.uri)&&(fsPath.endsWith(".sysml")||fsPath.endsWith(".kerml"))&&parseWorkspaceFile(fsPath)&&(changed=!0))}changed&&revalidateOpenDocuments()});async function validateDocument(document){if(!documents.get(document.uri))return;let fileName=document.uri.split("/").pop()??document.uri;if(connection.sendNotification("sysml/status",{state:"begin",message:`Parsing ${fileName}`,fileName,uri:document.uri}),requestWorkerParse(document)){documentManager.cacheTextOnly(document.uri,document.version,document.getText());return}let parseT0=Date.now();documentManager.parse(document);let parseMs=Date.now()-parseT0,diagnostics=diagnosticsProvider.getDiagnostics(document.uri),parseResult=documentManager.get(document.uri);parseResult&&diagnostics.push(...validateKeywords(parseResult)),connection.sendDiagnostics({uri:document.uri,diagnostics}),connection.sendNotification("sysml/status",{state:"end",message:`Parsed ${fileName} (${parseMs} ms)`,fileName,uri:document.uri});let version=document.version,existingSemantic=semanticTimers.get(document.uri);existingSemantic&&clearTimeout(existingSemantic);let semanticTimer=setTimeout(()=>{if(semanticTimers.delete(document.uri),documentManager.getVersion(document.uri)!==version||!documents.get(document.uri))return;let semanticDiags=semanticValidator.validate(document.uri);documentManager.setSemanticDiagnostics(document.uri,semanticDiags),semanticDiags.length!==0&&(diagnostics.push(...semanticDiags),connection.sendDiagnostics({uri:document.uri,diagnostics}))},50);semanticTimers.set(document.uri,semanticTimer)}connection.onCompletion(params=>completionProvider.provideCompletions(params));connection.onCompletionResolve(item=>completionProvider.resolveCompletion(item));connection.onHover(params=>hoverProvider.provideHover(params));connection.onDefinition(params=>definitionProvider.provideDefinition(params));connection.onReferences(params=>referencesProvider.provideReferences(params));connection.onDocumentSymbol(params=>documentSymbolProvider.provideDocumentSymbols(params));connection.languages.semanticTokens.on(params=>semanticTokensProvider.provideSemanticTokens(params));connection.onFoldingRanges(params=>foldingRangeProvider.provideFoldingRanges(params));connection.onPrepareRename(params=>renameProvider.prepareRename(params));connection.onRenameRequest(params=>renameProvider.provideRename(params));connection.onCodeAction(params=>codeActionProvider.provideCodeActions(params));connection.onDocumentFormatting(params=>formattingProvider.provideDocumentFormatting(params));connection.onDocumentRangeFormatting(params=>formattingProvider.provideRangeFormatting(params));connection.onRequest("sysml/model",params=>modelProvider.getModel(params.textDocument.uri,1,params.scope));connection.onRequest("sysml/serverStats",()=>{let mem=typeof process<"u"&&typeof process.memoryUsage=="function"?process.memoryUsage():{heapUsed:0,heapTotal:0,rss:0,external:0},toMB=bytes=>Math.round(bytes/1024/1024);return{uptime:Math.round((Date.now()-serverStartTime)/1e3),memory:{heapUsed:toMB(mem.heapUsed),heapTotal:toMB(mem.heapTotal),rss:toMB(mem.rss),external:toMB(mem.external)},caches:{documents:documentManager.getUris().length,symbolTables:modelProvider.cacheSize,semanticTokens:0}}});connection.onRequest("sysml/clearCache",()=>{let docCount=documentManager.getUris().length,stCount=modelProvider.clearAll();for(let uri of documentManager.getUris())documentManager.remove(uri);return{documents:docCount,symbolTables:stCount,semanticTokens:0}});connection.onRequest("sysml/libraryContent",params=>getLibraryFileContent(params?.uri)??null);documents.listen(connection);connection.listen();})();
|
|
28717
|
+
`&&offsets.push(i+1);this.lineOffsetCache={text,offsets}}let lo=0,hi=offsets.length-1;for(;lo<hi;){let mid=lo+hi+1>>>1;offsets[mid]<=start?lo=mid:hi=mid-1}let startLine=lo,startChar=start-offsets[startLine];return{start:{line:startLine,character:startChar},end:{line:startLine,character:startChar+length}}}dedupeDiagnostics(diags){let seen=new Set,out=[];for(let d of diags){let key=[d.code??"no-code",d.range.start.line,d.range.start.character,d.range.end.line,d.range.end.character,d.message].join("|");seen.has(key)||(seen.add(key),out.push(d))}return out}checkDuplicateDefinitions(symbols){let diagnostics=[],definitionsByScope=new Map;for(let symbol of symbols){if(!isDefinition(symbol.kind))continue;let scope=symbol.parentQualifiedName??"__root__",scopeMap=definitionsByScope.get(scope);scopeMap||(scopeMap=new Map,definitionsByScope.set(scope,scopeMap));let defs=scopeMap.get(symbol.name);defs||(defs=[],scopeMap.set(symbol.name,defs)),defs.push(symbol)}for(let scopeMap of definitionsByScope.values())for(let[name,defs]of scopeMap)if(defs.length>1)for(let def of defs)diagnostics.push({severity:import_node10.DiagnosticSeverity.Warning,range:def.selectionRange,message:`Duplicate definition: '${name}' is defined ${defs.length} times in the same scope`,source:"sysml",code:"duplicate-definition"});return diagnostics}};async function readFile(_path,_enc){throw new Error("fs/promises.readFile is not available in the browser")}async function readdir(_path,_opts){return[]}var DEFAULT_SKIP_DIRS=["node_modules",".git",".settings","temp","test","tests","out","dist","build","coverage",".venv","__pycache__"],SYSML_EXTENSIONS=[".sysml",".kerml"];function isSysMLFile(name){return SYSML_EXTENSIONS.some(ext=>name.endsWith(ext))}async function findSysMLFilesAsync(dir,skipDirs2){let skip=skipDirs2??new Set(DEFAULT_SKIP_DIRS),results=[],entries;try{entries=await readdir(dir,{withFileTypes:!0})}catch{return results}let childDirPromises=[];for(let entry of entries){let fullPath=join(dir,entry.name);if(entry.isDirectory()){if(skip.has(entry.name))continue;childDirPromises.push(findSysMLFilesAsync(fullPath,skip))}else entry.isFile()&&isSysMLFile(entry.name)&&results.push(fullPath)}if(childDirPromises.length>0){let childResults=await Promise.all(childDirPromises);for(let arr of childResults)results.push(...arr)}return results}async function readFilesBatch(filePaths,batchSize=32){let contents=new Map;for(let i=0;i<filePaths.length;i+=batchSize){let batch=filePaths.slice(i,i+batchSize),settled=await Promise.allSettled(batch.map(async fp=>{let text=await readFile(fp,"utf-8");return{fp,text}}));for(let result of settled)result.status==="fulfilled"&&contents.set(result.value.fp,result.value.text)}return contents}function toFsPath(uri){try{if(uri.startsWith("file://"))return fileURLToPath(uri)}catch{}}var connection=createServerConnection(),documents=new import_node11.TextDocuments(TextDocument2),serverStartTime=Date.now(),documentManager=new DocumentManager,modelProvider=new SysMLModelProvider(documentManager),diagnosticsProvider=new DiagnosticsProvider(documentManager),completionProvider=new CompletionProvider(documentManager),hoverProvider=new HoverProvider(documentManager),definitionProvider=new DefinitionProvider(documentManager),referencesProvider=new ReferencesProvider(documentManager),documentSymbolProvider=new DocumentSymbolProvider(documentManager),semanticTokensProvider=new SemanticTokensProvider(documentManager),foldingRangeProvider=new FoldingRangeProvider(documentManager),renameProvider=new RenameProvider(documentManager),codeActionProvider=new CodeActionProvider(documentManager),formattingProvider=new FormattingProvider(documents),semanticValidator=new SemanticValidator(documentManager);hoverProvider.setSemanticValidator(semanticValidator);var hasConfigurationCapability=!1,hasWorkspaceFolderCapability=!1,workspaceRoots=[],isWorkspaceFile=!1,skipDirs=new Set(DEFAULT_SKIP_DIRS),serverReady=!1,earlyOpenUris=new Set,workerRequestId=0,isBrowserServer=!0,parseWorker,workerReady=!1;function spawnParseWorker(){if(isBrowserServer){connection.console.log("Parse worker disabled in browser; parsing runs inline");return}let workerPath=join("/","parseWorker.js");try{parseWorker=new Worker(workerPath),parseWorker.on("message",handleWorkerMessage),parseWorker.on("error",err=>{connection.console.log(`Parse worker error: ${err.message}`),workerReady=!1}),parseWorker.on("exit",code=>{connection.console.log(`Parse worker exited with code ${code}`),workerReady=!1,parseWorker=void 0}),workerReady=!0,connection.console.log("Parse worker spawned")}catch(err){connection.console.log(`Failed to spawn parse worker: ${err}`)}}function handleWorkerMessage(msg){if(msg.warmup){connection.console.log(`Worker DFA warm-up: ${msg.elapsed} ms, ${msg.chunksCompleted}/${msg.totalChunks} chunks`+(msg.interrupted?" (interrupted by real parse)":""));return}let{uri,version,errors,keywordDiagnostics}=msg,doc=documents.get(uri);if(!doc||doc.version!==version)return;let diagnostics=[];for(let e of errors){let line=Math.max(0,e.line);diagnostics.push({severity:1,range:{start:{line,character:e.column},end:{line,character:e.column+(e.length||1)}},message:e.message,source:"sysml"})}for(let kd of keywordDiagnostics)diagnostics.push({severity:kd.severity,range:kd.range,message:kd.message,source:"sysml",code:kd.code});connection.sendDiagnostics({uri,diagnostics}),setImmediate(()=>{let currentDoc=documents.get(uri);if(!currentDoc||currentDoc.version!==version)return;documentManager.parse(currentDoc);let correctedDiags=diagnosticsProvider.getDiagnostics(uri),parseResult=documentManager.get(uri);parseResult&&correctedDiags.push(...validateKeywords(parseResult)),connection.sendDiagnostics({uri,diagnostics:correctedDiags}),connection.sendNotification("sysml/status",{state:"end",message:`Parsed ${uri.split("/").pop()} (worker + main)`,fileName:uri.split("/").pop(),uri});let existingSemantic=semanticTimers.get(uri);existingSemantic&&clearTimeout(existingSemantic),semanticTimers.set(uri,setTimeout(()=>{if(semanticTimers.delete(uri),documentManager.getVersion(uri)!==version||!documents.get(uri))return;let semanticDiags=semanticValidator.validate(uri);documentManager.setSemanticDiagnostics(uri,semanticDiags);let allDiags=[...correctedDiags,...semanticDiags];connection.sendDiagnostics({uri,diagnostics:allDiags})},50))})}function requestWorkerParse(document){if(!workerReady||!parseWorker)return!1;let id=++workerRequestId;return parseWorker.postMessage({id,text:document.getText(),uri:document.uri,version:document.version}),!0}connection.onInitialize(params=>{let capabilities=params.capabilities;if(hasConfigurationCapability=!!(capabilities.workspace&&capabilities.workspace.configuration),hasWorkspaceFolderCapability=!!(capabilities.workspace&&capabilities.workspace.workspaceFolders),isWorkspaceFile=params.initializationOptions?.isWorkspaceFile??!1,params.workspaceFolders)workspaceRoots=params.workspaceFolders.map(f=>toFsPath(f.uri)).filter(p=>p!==void 0);else if(params.rootUri){let root=toFsPath(params.rootUri);root&&(workspaceRoots=[root])}let legend={tokenTypes,tokenModifiers},result={capabilities:{textDocumentSync:import_node11.TextDocumentSyncKind.Incremental,completionProvider:{resolveProvider:!0,triggerCharacters:[".",":"," "]},hoverProvider:!0,definitionProvider:!0,referencesProvider:!0,documentSymbolProvider:!0,semanticTokensProvider:{full:!0,legend},foldingRangeProvider:!0,renameProvider:{prepareProvider:!0},codeActionProvider:{codeActionKinds:[import_node11.CodeActionKind.QuickFix]},documentFormattingProvider:!0,documentRangeFormattingProvider:!0}};return hasWorkspaceFolderCapability&&(result.capabilities.workspace={workspaceFolders:{supported:!0}}),result});connection.onInitialized(()=>{hasConfigurationCapability&&(connection.client.register(import_node11.DidChangeConfigurationNotification.type,void 0),pullSettings().catch(()=>{}));let libCount=initLibraryIndex("/");connection.console.log(`SysML v2 Language Server initialized (${libCount} library packages indexed)`);let dfaT0=Date.now();try{let dfaStates=loadDFASnapshot();connection.console.log(`DFA snapshot loaded: ${dfaStates} states in ${Date.now()-dfaT0} ms`)}catch(e){connection.console.log(`DFA snapshot load failed (will use cold DFA): ${e}`)}if(serverReady=!0,spawnParseWorker(),isWorkspaceFile&&workspaceRoots.length>0&&scanWorkspaceFoldersAsync(workspaceRoots).then(({fileCount,scanMs})=>{connection.console.log(`Workspace scan: pre-parsed ${fileCount} .sysml files in ${scanMs} ms`),revalidateOpenDocuments()}),serverReady=!0,earlyOpenUris.size>0){connection.console.log(`Re-validating ${earlyOpenUris.size} document(s) opened before server was ready`);for(let uri of earlyOpenUris){let doc=documents.get(uri);doc&&validateDocument(doc)}earlyOpenUris.clear()}});async function pullSettings(){if(!hasConfigurationCapability)return;let config=await connection.workspace.getConfiguration("sysml.scan");applySettings(config)}function applySettings(config){if(!config)return;let raw=config.skipDirectories;Array.isArray(raw)&&raw.every(v=>typeof v=="string")&&(skipDirs=new Set(raw))}connection.onDidChangeConfiguration(_change=>{pullSettings().catch(()=>{})});function parseWorkspaceFile(filePath){let uri=pathToFileURL(filePath).toString();if(documents.get(uri))return!1;let content;try{content=readFileSync(filePath,"utf-8")}catch{return!1}let doc=TextDocument2.create(uri,"sysml",0,content);return documentManager.parse(doc),!0}async function scanWorkspaceFoldersAsync(roots){let scanT0=Date.now(),fileArrays=await Promise.all(roots.map(r=>findSysMLFilesAsync(r,skipDirs))),allFiles=[];for(let arr of fileArrays)allFiles.push(...arr);let fileContents=await readFilesBatch(allFiles,32),fileCount=0;for(let i=0;i<allFiles.length;i++){let filePath=allFiles[i],uri=pathToFileURL(filePath).toString();if(documents.get(uri))continue;let content=fileContents.get(filePath);content!==void 0&&(documentManager.parseBatch(uri,0,content),fileCount++,(i+1)%4===0&&await new Promise(resolve=>setImmediate(resolve)))}return{fileCount,scanMs:Date.now()-scanT0}}function revalidateOpenDocuments(){for(let doc of documents.all())validateDocument(doc)}var crossFileRevalidateTimer;documents.onDidOpen(event=>{if(!serverReady){earlyOpenUris.add(event.document.uri),documentManager.parse(event.document);return}validateDocument(event.document),crossFileRevalidateTimer&&clearTimeout(crossFileRevalidateTimer),crossFileRevalidateTimer=setTimeout(()=>{crossFileRevalidateTimer=void 0,revalidateOpenDocuments()},500)});var debounceTimers=new Map,semanticTimers=new Map,DEBOUNCE_MS=200;documents.onDidChangeContent(event=>{let uri=event.document.uri,existing=debounceTimers.get(uri);existing&&clearTimeout(existing),debounceTimers.set(uri,setTimeout(()=>{debounceTimers.delete(uri),documents.get(uri)&&validateDocument(event.document)},DEBOUNCE_MS))});documents.onDidClose(event=>{let uri=event.document.uri,debounceTimer=debounceTimers.get(uri);debounceTimer&&(clearTimeout(debounceTimer),debounceTimers.delete(uri));let semanticTimer=semanticTimers.get(uri);semanticTimer&&(clearTimeout(semanticTimer),semanticTimers.delete(uri)),documentManager.remove(event.document.uri),modelProvider.removeUri(event.document.uri),connection.sendDiagnostics({uri:event.document.uri,diagnostics:[]});let fsPath=toFsPath(event.document.uri);fsPath&&(fsPath.endsWith(".sysml")||fsPath.endsWith(".kerml"))&&parseWorkspaceFile(fsPath)});connection.onDidChangeWatchedFiles(params=>{let changed=!1;for(let change of params.changes){let fsPath=toFsPath(change.uri);fsPath&&(change.type===3?documentManager.get(change.uri)&&(documentManager.remove(change.uri),changed=!0):!documents.get(change.uri)&&(fsPath.endsWith(".sysml")||fsPath.endsWith(".kerml"))&&parseWorkspaceFile(fsPath)&&(changed=!0))}changed&&revalidateOpenDocuments()});async function validateDocument(document){if(!documents.get(document.uri))return;let fileName=document.uri.split("/").pop()??document.uri;if(connection.sendNotification("sysml/status",{state:"begin",message:`Parsing ${fileName}`,fileName,uri:document.uri}),requestWorkerParse(document)){documentManager.cacheTextOnly(document.uri,document.version,document.getText());return}let parseT0=Date.now();documentManager.parse(document);let parseMs=Date.now()-parseT0,diagnostics=diagnosticsProvider.getDiagnostics(document.uri),parseResult=documentManager.get(document.uri);parseResult&&diagnostics.push(...validateKeywords(parseResult)),connection.sendDiagnostics({uri:document.uri,diagnostics}),connection.sendNotification("sysml/status",{state:"end",message:`Parsed ${fileName} (${parseMs} ms)`,fileName,uri:document.uri});let version=document.version,existingSemantic=semanticTimers.get(document.uri);existingSemantic&&clearTimeout(existingSemantic);let semanticTimer=setTimeout(()=>{if(semanticTimers.delete(document.uri),documentManager.getVersion(document.uri)!==version||!documents.get(document.uri))return;let semanticDiags=semanticValidator.validate(document.uri);documentManager.setSemanticDiagnostics(document.uri,semanticDiags),semanticDiags.length!==0&&(diagnostics.push(...semanticDiags),connection.sendDiagnostics({uri:document.uri,diagnostics}))},50);semanticTimers.set(document.uri,semanticTimer)}connection.onCompletion(params=>completionProvider.provideCompletions(params));connection.onCompletionResolve(item=>completionProvider.resolveCompletion(item));connection.onHover(params=>hoverProvider.provideHover(params));connection.onDefinition(params=>definitionProvider.provideDefinition(params));connection.onReferences(params=>referencesProvider.provideReferences(params));connection.onDocumentSymbol(params=>documentSymbolProvider.provideDocumentSymbols(params));connection.languages.semanticTokens.on(params=>semanticTokensProvider.provideSemanticTokens(params));connection.onFoldingRanges(params=>foldingRangeProvider.provideFoldingRanges(params));connection.onPrepareRename(params=>renameProvider.prepareRename(params));connection.onRenameRequest(params=>renameProvider.provideRename(params));connection.onCodeAction(params=>codeActionProvider.provideCodeActions(params));connection.onDocumentFormatting(params=>formattingProvider.provideDocumentFormatting(params));connection.onDocumentRangeFormatting(params=>formattingProvider.provideRangeFormatting(params));connection.onRequest("sysml/model",params=>modelProvider.getModel(params.textDocument.uri,1,params.scope));connection.onRequest("sysml/serverStats",()=>{let mem=typeof process<"u"&&typeof process.memoryUsage=="function"?process.memoryUsage():{heapUsed:0,heapTotal:0,rss:0,external:0},toMB=bytes=>Math.round(bytes/1024/1024);return{uptime:Math.round((Date.now()-serverStartTime)/1e3),memory:{heapUsed:toMB(mem.heapUsed),heapTotal:toMB(mem.heapTotal),rss:toMB(mem.rss),external:toMB(mem.external)},caches:{documents:documentManager.getUris().length,symbolTables:modelProvider.cacheSize,semanticTokens:0}}});connection.onRequest("sysml/clearCache",()=>{let docCount=documentManager.getUris().length,stCount=modelProvider.clearAll();for(let uri of documentManager.getUris())documentManager.remove(uri);return{documents:docCount,symbolTables:stCount,semanticTokens:0}});connection.onRequest("sysml/libraryContent",params=>getLibraryFileContent(params?.uri)??null);documents.listen(connection);connection.listen();})();
|