monaco-languageclient-examples 6.4.5 → 6.4.6

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.
Files changed (47) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/README.md +2 -2
  3. package/dist/browser/main.js +1 -1
  4. package/dist/browser/main.js.map +1 -1
  5. package/dist/common.d.ts.map +1 -1
  6. package/dist/common.js +5 -3
  7. package/dist/common.js.map +1 -1
  8. package/dist/index.d.ts +0 -1
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +0 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/json/client/main.js +1 -1
  13. package/dist/json/client/main.js.map +1 -1
  14. package/dist/langium/statemachineClient.js +3 -3
  15. package/dist/langium/statemachineClient.js.map +1 -1
  16. package/dist/python/client/main.js +1 -1
  17. package/dist/python/client/main.js.map +1 -1
  18. package/dist/python/server/direct.js +1 -1
  19. package/dist/python/server/direct.js.map +1 -1
  20. package/dist/react/app.js +1 -1
  21. package/dist/react/app.js.map +1 -1
  22. package/dist/worker/statemachineServerWorker.js +1 -1
  23. package/package.json +6 -11
  24. package/src/browser/main.ts +1 -1
  25. package/src/common.ts +5 -3
  26. package/src/index.ts +0 -1
  27. package/src/json/client/main.ts +1 -1
  28. package/src/langium/statemachineClient.ts +3 -3
  29. package/src/python/client/main.ts +1 -1
  30. package/src/python/server/direct.ts +1 -1
  31. package/src/react/app.tsx +1 -1
  32. package/vite.statemachine-worker.ts +1 -1
  33. package/dist/langium/langiumClient.d.ts +0 -4
  34. package/dist/langium/langiumClient.d.ts.map +0 -1
  35. package/dist/langium/langiumClient.js +0 -129
  36. package/dist/langium/langiumClient.js.map +0 -1
  37. package/dist/langium/langiumServerWorker.d.ts +0 -2
  38. package/dist/langium/langiumServerWorker.d.ts.map +0 -1
  39. package/dist/langium/langiumServerWorker.js +0 -18
  40. package/dist/langium/langiumServerWorker.js.map +0 -1
  41. package/dist/worker/langiumServerWorker.js +0 -210
  42. package/langium_client.html +0 -20
  43. package/src/langium/example.langium +0 -215
  44. package/src/langium/langium.configuration.json +0 -164
  45. package/src/langium/langium.tmLanguage.json +0 -290
  46. package/src/langium/langiumClient.ts +0 -145
  47. package/src/langium/langiumServerWorker.ts +0 -21
@@ -1,210 +0,0 @@
1
- "use strict";(()=>{var iN=Object.create;var vh=Object.defineProperty;var oN=Object.getOwnPropertyDescriptor;var sN=Object.getOwnPropertyNames;var aN=Object.getPrototypeOf,cN=Object.prototype.hasOwnProperty;var Fl=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var $=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),uN=(t,e)=>{for(var r in e)vh(t,r,{get:e[r],enumerable:!0})},lN=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of sN(e))!cN.call(t,i)&&i!==r&&vh(t,i,{get:()=>e[i],enumerable:!(n=oN(e,i))||n.enumerable});return t};var Ie=(t,e,r)=>(r=t!=null?iN(aN(t)):{},lN(e||!t||!t.__esModule?vh(r,"default",{value:t,enumerable:!0}):r,t));var eo=$(bh=>{"use strict";Object.defineProperty(bh,"__esModule",{value:!0});var Th;function Rh(){if(Th===void 0)throw new Error("No runtime abstraction layer installed");return Th}(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");Th=r}t.install=e})(Rh||(Rh={}));bh.default=Rh});var xh=$(Vc=>{"use strict";Object.defineProperty(Vc,"__esModule",{value:!0});Vc.Disposable=void 0;var fN;(function(t){function e(r){return{dispose:r}}t.create=e})(fN=Vc.Disposable||(Vc.Disposable={}))});var ys=$(gs=>{"use strict";Object.defineProperty(gs,"__esModule",{value:!0});gs.Emitter=gs.Event=void 0;var dN=eo(),pN;(function(t){let e={dispose(){}};t.None=function(){return e}})(pN=gs.Event||(gs.Event={}));var _h=class{add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,r)})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,o=this._callbacks.length;i<o;i++)if(this._callbacks[i]===e)if(this._contexts[i]===r){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else n=!0;if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let r=[],n=this._callbacks.slice(0),i=this._contexts.slice(0);for(let o=0,s=n.length;o<s;o++)try{r.push(n[o].apply(i[o],e))}catch(a){(0,dN.default)().console.error(a)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},ql=class t{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,r,n)=>{this._callbacks||(this._callbacks=new _h),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};gs.Emitter=ql;ql._noop=function(){}});var jR=$(jl=>{"use strict";Object.defineProperty(jl,"__esModule",{value:!0});jl.AbstractMessageBuffer=void 0;var mN=13,hN=10,gN=`\r
2
- `,Sh=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let r=typeof e=="string"?this.fromString(e,this._encoding):e;this._chunks.push(r),this._totalLength+=r.byteLength}tryReadHeaders(){if(this._chunks.length===0)return;let e=0,r=0,n=0,i=0;e:for(;r<this._chunks.length;){let c=this._chunks[r];for(n=0;n<c.length;){switch(c[n]){case mN:switch(e){case 0:e=1;break;case 2:e=3;break;default:e=0}break;case hN:switch(e){case 1:e=2;break;case 3:e=4,n++;break e;default:e=0}break;default:e=0}n++}i+=c.byteLength,r++}if(e!==4)return;let o=this._read(i+n),s=new Map,a=this.toString(o,"ascii").split(gN);if(a.length<2)return s;for(let c=0;c<a.length-2;c++){let f=a[c],p=f.indexOf(":");if(p===-1)throw new Error("Message header must separate key and value using :");let m=f.substr(0,p),T=f.substr(p+1).trim();s.set(m,T)}return s}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(e===0)return this.emptyBuffer();if(e>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let o=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(o)}if(this._chunks[0].byteLength>e){let o=this._chunks[0],s=this.asNative(o,e);return this._chunks[0]=o.slice(e),this._totalLength-=e,s}let r=this.allocNative(e),n=0,i=0;for(;e>0;){let o=this._chunks[i];if(o.byteLength>e){let s=o.slice(0,e);r.set(s,n),n+=e,this._chunks[i]=o.slice(e),this._totalLength-=e,e-=e}else r.set(o,n),n+=o.byteLength,this._chunks.shift(),this._totalLength-=o.byteLength,e-=o.byteLength}return r}};jl.AbstractMessageBuffer=Sh});var HR=$(Dh=>{"use strict";Object.defineProperty(Dh,"__esModule",{value:!0});var UR=eo(),Zs=xh(),yN=ys(),vN=jR(),Ul=class t extends vN.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return t.emptyBuffer}fromString(e,r){return new TextEncoder().encode(e)}toString(e,r){return r==="ascii"?this.asciiDecoder.decode(e):new TextDecoder(r).decode(e)}asNative(e,r){return r===void 0?e:e.slice(0,r)}allocNative(e){return new Uint8Array(e)}};Ul.emptyBuffer=new Uint8Array(0);var kh=class{constructor(e){this.socket=e,this._onData=new yN.Emitter,this._messageListener=r=>{r.data.arrayBuffer().then(i=>{this._onData.fire(new Uint8Array(i))},()=>{(0,UR.default)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),Zs.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),Zs.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),Zs.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}},Ch=class{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),Zs.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),Zs.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),Zs.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,r){if(typeof e=="string"){if(r!==void 0&&r!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${r}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}},TN=new TextEncoder,WR=Object.freeze({messageBuffer:Object.freeze({create:t=>new Ul(t)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(t,e)=>{if(e.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${e.charset}`);return Promise.resolve(TN.encode(JSON.stringify(t,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(t,e)=>{if(!(t instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(e.charset).decode(t)))}})}),stream:Object.freeze({asReadableStream:t=>new kh(t),asWritableStream:t=>new Ch(t)}),console,timer:Object.freeze({setTimeout(t,e,...r){let n=setTimeout(t,e,...r);return{dispose:()=>clearTimeout(n)}},setImmediate(t,...e){let r=setTimeout(t,0,...e);return{dispose:()=>clearTimeout(r)}},setInterval(t,e,...r){let n=setInterval(t,e,...r);return{dispose:()=>clearInterval(n)}}})});function wh(){return WR}(function(t){function e(){UR.default.install(WR)}t.install=e})(wh||(wh={}));Dh.default=wh});var ea=$(jr=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});jr.stringArray=jr.array=jr.func=jr.error=jr.number=jr.string=jr.boolean=void 0;function RN(t){return t===!0||t===!1}jr.boolean=RN;function GR(t){return typeof t=="string"||t instanceof String}jr.string=GR;function bN(t){return typeof t=="number"||t instanceof Number}jr.number=bN;function xN(t){return t instanceof Error}jr.error=xN;function _N(t){return typeof t=="function"}jr.func=_N;function BR(t){return Array.isArray(t)}jr.array=BR;function SN(t){return BR(t)&&t.every(e=>GR(e))}jr.stringArray=SN});var Qh=$(ue=>{"use strict";Object.defineProperty(ue,"__esModule",{value:!0});ue.Message=ue.NotificationType9=ue.NotificationType8=ue.NotificationType7=ue.NotificationType6=ue.NotificationType5=ue.NotificationType4=ue.NotificationType3=ue.NotificationType2=ue.NotificationType1=ue.NotificationType0=ue.NotificationType=ue.RequestType9=ue.RequestType8=ue.RequestType7=ue.RequestType6=ue.RequestType5=ue.RequestType4=ue.RequestType3=ue.RequestType2=ue.RequestType1=ue.RequestType=ue.RequestType0=ue.AbstractMessageSignature=ue.ParameterStructures=ue.ResponseError=ue.ErrorCodes=void 0;var vs=ea(),KR;(function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3})(KR=ue.ErrorCodes||(ue.ErrorCodes={}));var Eh=class t extends Error{constructor(e,r,n){super(r),this.code=vs.number(e)?e:KR.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,t.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};ue.ResponseError=Eh;var fn=class t{constructor(e){this.kind=e}static is(e){return e===t.auto||e===t.byName||e===t.byPosition}toString(){return this.kind}};ue.ParameterStructures=fn;fn.auto=new fn("auto");fn.byPosition=new fn("byPosition");fn.byName=new fn("byName");var bt=class{constructor(e,r){this.method=e,this.numberOfParams=r}get parameterStructures(){return fn.auto}};ue.AbstractMessageSignature=bt;var Ph=class extends bt{constructor(e){super(e,0)}};ue.RequestType0=Ph;var Ah=class extends bt{constructor(e,r=fn.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ue.RequestType=Ah;var Nh=class extends bt{constructor(e,r=fn.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ue.RequestType1=Nh;var Ih=class extends bt{constructor(e){super(e,2)}};ue.RequestType2=Ih;var Oh=class extends bt{constructor(e){super(e,3)}};ue.RequestType3=Oh;var Lh=class extends bt{constructor(e){super(e,4)}};ue.RequestType4=Lh;var Mh=class extends bt{constructor(e){super(e,5)}};ue.RequestType5=Mh;var $h=class extends bt{constructor(e){super(e,6)}};ue.RequestType6=$h;var Fh=class extends bt{constructor(e){super(e,7)}};ue.RequestType7=Fh;var qh=class extends bt{constructor(e){super(e,8)}};ue.RequestType8=qh;var jh=class extends bt{constructor(e){super(e,9)}};ue.RequestType9=jh;var Uh=class extends bt{constructor(e,r=fn.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ue.NotificationType=Uh;var Wh=class extends bt{constructor(e){super(e,0)}};ue.NotificationType0=Wh;var Hh=class extends bt{constructor(e,r=fn.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ue.NotificationType1=Hh;var Gh=class extends bt{constructor(e){super(e,2)}};ue.NotificationType2=Gh;var Bh=class extends bt{constructor(e){super(e,3)}};ue.NotificationType3=Bh;var Kh=class extends bt{constructor(e){super(e,4)}};ue.NotificationType4=Kh;var zh=class extends bt{constructor(e){super(e,5)}};ue.NotificationType5=zh;var Vh=class extends bt{constructor(e){super(e,6)}};ue.NotificationType6=Vh;var Xh=class extends bt{constructor(e){super(e,7)}};ue.NotificationType7=Xh;var Yh=class extends bt{constructor(e){super(e,8)}};ue.NotificationType8=Yh;var Jh=class extends bt{constructor(e){super(e,9)}};ue.NotificationType9=Jh;var kN;(function(t){function e(i){let o=i;return o&&vs.string(o.method)&&(vs.string(o.id)||vs.number(o.id))}t.isRequest=e;function r(i){let o=i;return o&&vs.string(o.method)&&i.id===void 0}t.isNotification=r;function n(i){let o=i;return o&&(o.result!==void 0||!!o.error)&&(vs.string(o.id)||vs.number(o.id)||o.id===null)}t.isResponse=n})(kN=ue.Message||(ue.Message={}))});var eg=$(to=>{"use strict";var zR;Object.defineProperty(to,"__esModule",{value:!0});to.LRUCache=to.LinkedMap=to.Touch=void 0;var Yr;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(Yr=to.Touch||(to.Touch={}));var Wl=class{constructor(){this[zR]="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(e){return this._map.has(e)}get(e,r=Yr.None){let n=this._map.get(e);if(n)return r!==Yr.None&&this.touch(n,r),n.value}set(e,r,n=Yr.None){let i=this._map.get(e);if(i)i.value=r,n!==Yr.None&&this.touch(i,n);else{switch(i={key:e,value:r,next:void 0,previous:void 0},n){case Yr.None:this.addItemLast(i);break;case Yr.First:this.addItemFirst(i);break;case Yr.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let r=this._map.get(e);if(r)return this._map.delete(e),this.removeItem(r),this._size--,r.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,r){let n=this._state,i=this._head;for(;i;){if(r?e.bind(r)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.key,done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}values(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.value,done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}entries(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:[r.key,r.value],done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}[(zR=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let r=this._head,n=this.size;for(;r&&n>e;)this._map.delete(r.key),r=r.next,n--;this._head=r,this._size=n,r&&(r.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let r=e.next,n=e.previous;if(!r||!n)throw new Error("Invalid list");r.previous=n,n.next=r}e.next=void 0,e.previous=void 0,this._state++}touch(e,r){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(r!==Yr.First&&r!==Yr.Last)){if(r===Yr.First){if(e===this._head)return;let n=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(n.previous=i,i.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(r===Yr.Last){if(e===this._tail)return;let n=e.next,i=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=i,i.next=n),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((r,n)=>{e.push([n,r])}),e}fromJSON(e){this.clear();for(let[r,n]of e)this.set(r,n)}};to.LinkedMap=Wl;var Zh=class extends Wl{constructor(e,r=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,r),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,r=Yr.AsNew){return super.get(e,r)}peek(e){return super.get(e,Yr.None)}set(e,r){return super.set(e,r,Yr.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};to.LRUCache=Zh});var ig=$(Ts=>{"use strict";Object.defineProperty(Ts,"__esModule",{value:!0});Ts.CancellationTokenSource=Ts.CancellationToken=void 0;var CN=eo(),wN=ea(),tg=ys(),rg;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:tg.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:tg.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||wN.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}t.is=e})(rg=Ts.CancellationToken||(Ts.CancellationToken={}));var DN=Object.freeze(function(t,e){let r=(0,CN.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),Hl=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?DN:(this._emitter||(this._emitter=new tg.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},ng=class{get token(){return this._token||(this._token=new Hl),this._token}cancel(){this._token?this._token.cancel():this._token=rg.Cancelled}dispose(){this._token?this._token instanceof Hl&&this._token.dispose():this._token=rg.None}};Ts.CancellationTokenSource=ng});var VR=$(ro=>{"use strict";Object.defineProperty(ro,"__esModule",{value:!0});ro.ReadableStreamMessageReader=ro.AbstractMessageReader=ro.MessageReader=void 0;var sg=eo(),ta=ea(),og=ys(),EN;(function(t){function e(r){let n=r;return n&&ta.func(n.listen)&&ta.func(n.dispose)&&ta.func(n.onError)&&ta.func(n.onClose)&&ta.func(n.onPartialMessage)}t.is=e})(EN=ro.MessageReader||(ro.MessageReader={}));var Gl=class{constructor(){this.errorEmitter=new og.Emitter,this.closeEmitter=new og.Emitter,this.partialMessageEmitter=new og.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${ta.string(e.message)?e.message:"unknown"}`)}};ro.AbstractMessageReader=Gl;var ag;(function(t){function e(r){let n,i,o,s=new Map,a,c=new Map;if(r===void 0||typeof r=="string")n=r??"utf-8";else{if(n=r.charset??"utf-8",r.contentDecoder!==void 0&&(o=r.contentDecoder,s.set(o.name,o)),r.contentDecoders!==void 0)for(let f of r.contentDecoders)s.set(f.name,f);if(r.contentTypeDecoder!==void 0&&(a=r.contentTypeDecoder,c.set(a.name,a)),r.contentTypeDecoders!==void 0)for(let f of r.contentTypeDecoders)c.set(f.name,f)}return a===void 0&&(a=(0,sg.default)().applicationJson.decoder,c.set(a.name,a)),{charset:n,contentDecoder:o,contentDecoders:s,contentTypeDecoder:a,contentTypeDecoders:c}}t.fromOptions=e})(ag||(ag={}));var cg=class extends Gl{constructor(e,r){super(),this.readable=e,this.options=ag.fromOptions(r),this.buffer=(0,sg.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let r=this.readable.onData(n=>{this.onData(n)});return this.readable.onError(n=>this.fireError(n)),this.readable.onClose(()=>this.fireClose()),r}onData(e){for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let i=this.buffer.tryReadHeaders();if(!i)return;let o=i.get("Content-Length");if(!o)throw new Error("Header must provide a Content-Length property.");let s=parseInt(o);if(isNaN(s))throw new Error("Content-Length value must be a number.");this.nextMessageLength=s}let r=this.buffer.tryReadBody(this.nextMessageLength);if(r===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1;let n;this.options.contentDecoder!==void 0?n=this.options.contentDecoder.decode(r):n=Promise.resolve(r),n.then(i=>{this.options.contentTypeDecoder.decode(i,this.options).then(o=>{this.callback(o)},o=>{this.fireError(o)})},i=>{this.fireError(i)})}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,sg.default)().timer.setTimeout((e,r)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:r}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};ro.ReadableStreamMessageReader=cg});var XR=$(Bl=>{"use strict";Object.defineProperty(Bl,"__esModule",{value:!0});Bl.Semaphore=void 0;var PN=eo(),ug=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((r,n)=>{this._waiting.push({thunk:e,resolve:r,reject:n}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,PN.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let r=e.thunk();r instanceof Promise?r.then(n=>{this._active--,e.resolve(n),this.runNext()},n=>{this._active--,e.reject(n),this.runNext()}):(this._active--,e.resolve(r),this.runNext())}catch(r){this._active--,e.reject(r),this.runNext()}}};Bl.Semaphore=ug});var ZR=$(no=>{"use strict";Object.defineProperty(no,"__esModule",{value:!0});no.WriteableStreamMessageWriter=no.AbstractMessageWriter=no.MessageWriter=void 0;var YR=eo(),Xc=ea(),AN=XR(),JR=ys(),NN="Content-Length: ",QR=`\r
3
- `,IN;(function(t){function e(r){let n=r;return n&&Xc.func(n.dispose)&&Xc.func(n.onClose)&&Xc.func(n.onError)&&Xc.func(n.write)}t.is=e})(IN=no.MessageWriter||(no.MessageWriter={}));var Kl=class{constructor(){this.errorEmitter=new JR.Emitter,this.closeEmitter=new JR.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,r,n){this.errorEmitter.fire([this.asError(e),r,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${Xc.string(e.message)?e.message:"unknown"}`)}};no.AbstractMessageWriter=Kl;var lg;(function(t){function e(r){return r===void 0||typeof r=="string"?{charset:r??"utf-8",contentTypeEncoder:(0,YR.default)().applicationJson.encoder}:{charset:r.charset??"utf-8",contentEncoder:r.contentEncoder,contentTypeEncoder:r.contentTypeEncoder??(0,YR.default)().applicationJson.encoder}}t.fromOptions=e})(lg||(lg={}));var fg=class extends Kl{constructor(e,r){super(),this.writable=e,this.options=lg.fromOptions(r),this.errorCount=0,this.writeSemaphore=new AN.Semaphore(1),this.writable.onError(n=>this.fireError(n)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(n=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(n):n).then(n=>{let i=[];return i.push(NN,n.byteLength.toString(),QR),i.push(QR),this.doWrite(e,i,n)},n=>{throw this.fireError(n),n}))}async doWrite(e,r,n){try{return await this.writable.write(r.join(""),"ascii"),this.writable.write(n)}catch(i){return this.handleError(i,e),Promise.reject(i)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){this.writable.end()}};no.WriteableStreamMessageWriter=fg});var ob=$(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});ge.createMessageConnection=ge.ConnectionOptions=ge.CancellationStrategy=ge.CancellationSenderStrategy=ge.CancellationReceiverStrategy=ge.ConnectionStrategy=ge.ConnectionError=ge.ConnectionErrors=ge.LogTraceNotification=ge.SetTraceNotification=ge.TraceFormat=ge.TraceValues=ge.Trace=ge.NullLogger=ge.ProgressType=ge.ProgressToken=void 0;var eb=eo(),fr=ea(),Te=Qh(),tb=eg(),Yc=ys(),dg=ig(),Qc;(function(t){t.type=new Te.NotificationType("$/cancelRequest")})(Qc||(Qc={}));var rb;(function(t){function e(r){return typeof r=="string"||typeof r=="number"}t.is=e})(rb=ge.ProgressToken||(ge.ProgressToken={}));var Jc;(function(t){t.type=new Te.NotificationType("$/progress")})(Jc||(Jc={}));var pg=class{constructor(){}};ge.ProgressType=pg;var mg;(function(t){function e(r){return fr.func(r)}t.is=e})(mg||(mg={}));ge.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var Je;(function(t){t[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose"})(Je=ge.Trace||(ge.Trace={}));var ON;(function(t){t.Off="off",t.Messages="messages",t.Compact="compact",t.Verbose="verbose"})(ON=ge.TraceValues||(ge.TraceValues={}));(function(t){function e(n){if(!fr.string(n))return t.Off;switch(n=n.toLowerCase(),n){case"off":return t.Off;case"messages":return t.Messages;case"compact":return t.Compact;case"verbose":return t.Verbose;default:return t.Off}}t.fromString=e;function r(n){switch(n){case t.Off:return"off";case t.Messages:return"messages";case t.Compact:return"compact";case t.Verbose:return"verbose";default:return"off"}}t.toString=r})(Je=ge.Trace||(ge.Trace={}));var Zn;(function(t){t.Text="text",t.JSON="json"})(Zn=ge.TraceFormat||(ge.TraceFormat={}));(function(t){function e(r){return fr.string(r)?(r=r.toLowerCase(),r==="json"?t.JSON:t.Text):t.Text}t.fromString=e})(Zn=ge.TraceFormat||(ge.TraceFormat={}));var nb;(function(t){t.type=new Te.NotificationType("$/setTrace")})(nb=ge.SetTraceNotification||(ge.SetTraceNotification={}));var hg;(function(t){t.type=new Te.NotificationType("$/logTrace")})(hg=ge.LogTraceNotification||(ge.LogTraceNotification={}));var zl;(function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"})(zl=ge.ConnectionErrors||(ge.ConnectionErrors={}));var ra=class t extends Error{constructor(e,r){super(r),this.code=e,Object.setPrototypeOf(this,t.prototype)}};ge.ConnectionError=ra;var ib;(function(t){function e(r){let n=r;return n&&fr.func(n.cancelUndispatched)}t.is=e})(ib=ge.ConnectionStrategy||(ge.ConnectionStrategy={}));var gg;(function(t){t.Message=Object.freeze({createCancellationTokenSource(r){return new dg.CancellationTokenSource}});function e(r){let n=r;return n&&fr.func(n.createCancellationTokenSource)}t.is=e})(gg=ge.CancellationReceiverStrategy||(ge.CancellationReceiverStrategy={}));var yg;(function(t){t.Message=Object.freeze({sendCancellation(r,n){return r.sendNotification(Qc.type,{id:n})},cleanup(r){}});function e(r){let n=r;return n&&fr.func(n.sendCancellation)&&fr.func(n.cleanup)}t.is=e})(yg=ge.CancellationSenderStrategy||(ge.CancellationSenderStrategy={}));var vg;(function(t){t.Message=Object.freeze({receiver:gg.Message,sender:yg.Message});function e(r){let n=r;return n&&gg.is(n.receiver)&&yg.is(n.sender)}t.is=e})(vg=ge.CancellationStrategy||(ge.CancellationStrategy={}));var LN;(function(t){function e(r){let n=r;return n&&(vg.is(n.cancellationStrategy)||ib.is(n.connectionStrategy))}t.is=e})(LN=ge.ConnectionOptions||(ge.ConnectionOptions={}));var ei;(function(t){t[t.New=1]="New",t[t.Listening=2]="Listening",t[t.Closed=3]="Closed",t[t.Disposed=4]="Disposed"})(ei||(ei={}));function MN(t,e,r,n){let i=r!==void 0?r:ge.NullLogger,o=0,s=0,a=0,c="2.0",f,p=new Map,m,T=new Map,_=new Map,E,N=new tb.LinkedMap,I=new Map,A=new Set,y=new Map,h=Je.Off,C=Zn.Text,L,J=ei.New,fe=new Yc.Emitter,Ae=new Yc.Emitter,Wt=new Yc.Emitter,Xe=new Yc.Emitter,Ye=new Yc.Emitter,V=n&&n.cancellationStrategy?n.cancellationStrategy:vg.Message;function nt(D){if(D===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+D.toString()}function Tt(D){return D===null?"res-unknown-"+(++a).toString():"res-"+D.toString()}function ur(){return"not-"+(++s).toString()}function j(D,R){Te.Message.isRequest(R)?D.set(nt(R.id),R):Te.Message.isResponse(R)?D.set(Tt(R.id),R):D.set(ur(),R)}function M(D){}function U(){return J===ei.Listening}function W(){return J===ei.Closed}function re(){return J===ei.Disposed}function ve(){(J===ei.New||J===ei.Listening)&&(J=ei.Closed,Ae.fire(void 0))}function ne(D){fe.fire([D,void 0,void 0])}function Yt(D){fe.fire(D)}t.onClose(ve),t.onError(ne),e.onClose(ve),e.onError(Yt);function Rt(){E||N.size===0||(E=(0,eb.default)().timer.setImmediate(()=>{E=void 0,Ge()}))}function Ge(){if(N.size===0)return;let D=N.shift();try{Te.Message.isRequest(D)?He(D):Te.Message.isNotification(D)?un(D):Te.Message.isResponse(D)?Jt(D):Kt(D)}finally{Rt()}}let Xr=D=>{try{if(Te.Message.isNotification(D)&&D.method===Qc.type.method){let R=D.params.id,P=nt(R),O=N.get(P);if(Te.Message.isRequest(O)){let de=n?.connectionStrategy,pe=de&&de.cancelUndispatched?de.cancelUndispatched(O,M):void 0;if(pe&&(pe.error!==void 0||pe.result!==void 0)){N.delete(P),y.delete(R),pe.id=O.id,yr(pe,D.method,Date.now()),e.write(pe).catch(()=>i.error("Sending response for canceled message failed."));return}}let H=y.get(R);if(H!==void 0){H.cancel(),In(D);return}else A.add(R)}j(N,D)}finally{Rt()}};function He(D){if(re())return;function R(ce,ie,se){let me={jsonrpc:c,id:D.id};ce instanceof Te.ResponseError?me.error=ce.toJson():me.result=ce===void 0?null:ce,yr(me,ie,se),e.write(me).catch(()=>i.error("Sending response failed."))}function P(ce,ie,se){let me={jsonrpc:c,id:D.id,error:ce.toJson()};yr(me,ie,se),e.write(me).catch(()=>i.error("Sending response failed."))}function O(ce,ie,se){ce===void 0&&(ce=null);let me={jsonrpc:c,id:D.id,result:ce};yr(me,ie,se),e.write(me).catch(()=>i.error("Sending response failed."))}ln(D);let H=p.get(D.method),de,pe;H&&(de=H.type,pe=H.handler);let be=Date.now();if(pe||f){let ce=D.id??String(Date.now()),ie=V.receiver.createCancellationTokenSource(ce);D.id!==null&&A.has(D.id)&&ie.cancel(),D.id!==null&&y.set(ce,ie);try{let se;if(pe)if(D.params===void 0){if(de!==void 0&&de.numberOfParams!==0){P(new Te.ResponseError(Te.ErrorCodes.InvalidParams,`Request ${D.method} defines ${de.numberOfParams} params but received none.`),D.method,be);return}se=pe(ie.token)}else if(Array.isArray(D.params)){if(de!==void 0&&de.parameterStructures===Te.ParameterStructures.byName){P(new Te.ResponseError(Te.ErrorCodes.InvalidParams,`Request ${D.method} defines parameters by name but received parameters by position`),D.method,be);return}se=pe(...D.params,ie.token)}else{if(de!==void 0&&de.parameterStructures===Te.ParameterStructures.byPosition){P(new Te.ResponseError(Te.ErrorCodes.InvalidParams,`Request ${D.method} defines parameters by position but received parameters by name`),D.method,be);return}se=pe(D.params,ie.token)}else f&&(se=f(D.method,D.params,ie.token));let me=se;se?me.then?me.then(Pe=>{y.delete(ce),R(Pe,D.method,be)},Pe=>{y.delete(ce),Pe instanceof Te.ResponseError?P(Pe,D.method,be):Pe&&fr.string(Pe.message)?P(new Te.ResponseError(Te.ErrorCodes.InternalError,`Request ${D.method} failed with message: ${Pe.message}`),D.method,be):P(new Te.ResponseError(Te.ErrorCodes.InternalError,`Request ${D.method} failed unexpectedly without providing any details.`),D.method,be)}):(y.delete(ce),R(se,D.method,be)):(y.delete(ce),O(se,D.method,be))}catch(se){y.delete(ce),se instanceof Te.ResponseError?R(se,D.method,be):se&&fr.string(se.message)?P(new Te.ResponseError(Te.ErrorCodes.InternalError,`Request ${D.method} failed with message: ${se.message}`),D.method,be):P(new Te.ResponseError(Te.ErrorCodes.InternalError,`Request ${D.method} failed unexpectedly without providing any details.`),D.method,be)}}else P(new Te.ResponseError(Te.ErrorCodes.MethodNotFound,`Unhandled method ${D.method}`),D.method,be)}function Jt(D){if(!re())if(D.id===null)D.error?i.error(`Received response message without id: Error is:
4
- ${JSON.stringify(D.error,void 0,4)}`):i.error("Received response message without id. No further error information provided.");else{let R=D.id,P=I.get(R);if(Ji(D,P),P!==void 0){I.delete(R);try{if(D.error){let O=D.error;P.reject(new Te.ResponseError(O.code,O.message,O.data))}else if(D.result!==void 0)P.resolve(D.result);else throw new Error("Should never happen.")}catch(O){O.message?i.error(`Response handler '${P.method}' failed with message: ${O.message}`):i.error(`Response handler '${P.method}' failed unexpectedly.`)}}}}function un(D){if(re())return;let R,P;if(D.method===Qc.type.method){let O=D.params.id;A.delete(O),In(D);return}else{let O=T.get(D.method);O&&(P=O.handler,R=O.type)}if(P||m)try{if(In(D),P)if(D.params===void 0)R!==void 0&&R.numberOfParams!==0&&R.parameterStructures!==Te.ParameterStructures.byName&&i.error(`Notification ${D.method} defines ${R.numberOfParams} params but received none.`),P();else if(Array.isArray(D.params)){let O=D.params;D.method===Jc.type.method&&O.length===2&&rb.is(O[0])?P({token:O[0],value:O[1]}):(R!==void 0&&(R.parameterStructures===Te.ParameterStructures.byName&&i.error(`Notification ${D.method} defines parameters by name but received parameters by position`),R.numberOfParams!==D.params.length&&i.error(`Notification ${D.method} defines ${R.numberOfParams} params but received ${O.length} arguments`)),P(...O))}else R!==void 0&&R.parameterStructures===Te.ParameterStructures.byPosition&&i.error(`Notification ${D.method} defines parameters by position but received parameters by name`),P(D.params);else m&&m(D.method,D.params)}catch(O){O.message?i.error(`Notification handler '${D.method}' failed with message: ${O.message}`):i.error(`Notification handler '${D.method}' failed unexpectedly.`)}else Wt.fire(D)}function Kt(D){if(!D){i.error("Received empty message.");return}i.error(`Received message which is neither a response nor a notification message:
5
- ${JSON.stringify(D,null,4)}`);let R=D;if(fr.string(R.id)||fr.number(R.id)){let P=R.id,O=I.get(P);O&&O.reject(new Error("The received response has neither a result nor an error property."))}}function it(D){if(D!=null)switch(h){case Je.Verbose:return JSON.stringify(D,null,4);case Je.Compact:return JSON.stringify(D);default:return}}function Et(D){if(!(h===Je.Off||!L))if(C===Zn.Text){let R;(h===Je.Verbose||h===Je.Compact)&&D.params&&(R=`Params: ${it(D.params)}
6
-
7
- `),L.log(`Sending request '${D.method} - (${D.id})'.`,R)}else On("send-request",D)}function Sr(D){if(!(h===Je.Off||!L))if(C===Zn.Text){let R;(h===Je.Verbose||h===Je.Compact)&&(D.params?R=`Params: ${it(D.params)}
8
-
9
- `:R=`No parameters provided.
10
-
11
- `),L.log(`Sending notification '${D.method}'.`,R)}else On("send-notification",D)}function yr(D,R,P){if(!(h===Je.Off||!L))if(C===Zn.Text){let O;(h===Je.Verbose||h===Je.Compact)&&(D.error&&D.error.data?O=`Error data: ${it(D.error.data)}
12
-
13
- `:D.result?O=`Result: ${it(D.result)}
14
-
15
- `:D.error===void 0&&(O=`No result returned.
16
-
17
- `)),L.log(`Sending response '${R} - (${D.id})'. Processing request took ${Date.now()-P}ms`,O)}else On("send-response",D)}function ln(D){if(!(h===Je.Off||!L))if(C===Zn.Text){let R;(h===Je.Verbose||h===Je.Compact)&&D.params&&(R=`Params: ${it(D.params)}
18
-
19
- `),L.log(`Received request '${D.method} - (${D.id})'.`,R)}else On("receive-request",D)}function In(D){if(!(h===Je.Off||!L||D.method===hg.type.method))if(C===Zn.Text){let R;(h===Je.Verbose||h===Je.Compact)&&(D.params?R=`Params: ${it(D.params)}
20
-
21
- `:R=`No parameters provided.
22
-
23
- `),L.log(`Received notification '${D.method}'.`,R)}else On("receive-notification",D)}function Ji(D,R){if(!(h===Je.Off||!L))if(C===Zn.Text){let P;if((h===Je.Verbose||h===Je.Compact)&&(D.error&&D.error.data?P=`Error data: ${it(D.error.data)}
24
-
25
- `:D.result?P=`Result: ${it(D.result)}
26
-
27
- `:D.error===void 0&&(P=`No result returned.
28
-
29
- `)),R){let O=D.error?` Request failed: ${D.error.message} (${D.error.code}).`:"";L.log(`Received response '${R.method} - (${D.id})' in ${Date.now()-R.timerStart}ms.${O}`,P)}else L.log(`Received response ${D.id} without active response promise.`,P)}else On("receive-response",D)}function On(D,R){if(!L||h===Je.Off)return;let P={isLSPMessage:!0,type:D,message:R,timestamp:Date.now()};L.log(P)}function Fr(){if(W())throw new ra(zl.Closed,"Connection is closed.");if(re())throw new ra(zl.Disposed,"Connection is disposed.")}function Jn(){if(U())throw new ra(zl.AlreadyListening,"Connection is already listening")}function hs(){if(!U())throw new Error("Call listen() first.")}function Qn(D){return D===void 0?null:D}function qr(D){if(D!==null)return D}function Qi(D){return D!=null&&!Array.isArray(D)&&typeof D=="object"}function Si(D,R){switch(D){case Te.ParameterStructures.auto:return Qi(R)?qr(R):[Qn(R)];case Te.ParameterStructures.byName:if(!Qi(R))throw new Error("Received parameters by name but param is not an object literal.");return qr(R);case Te.ParameterStructures.byPosition:return[Qn(R)];default:throw new Error(`Unknown parameter structure ${D.toString()}`)}}function ki(D,R){let P,O=D.numberOfParams;switch(O){case 0:P=void 0;break;case 1:P=Si(D.parameterStructures,R[0]);break;default:P=[];for(let H=0;H<R.length&&H<O;H++)P.push(Qn(R[H]));if(R.length<O)for(let H=R.length;H<O;H++)P.push(null);break}return P}let Rn={sendNotification:(D,...R)=>{Fr();let P,O;if(fr.string(D)){P=D;let de=R[0],pe=0,be=Te.ParameterStructures.auto;Te.ParameterStructures.is(de)&&(pe=1,be=de);let ce=R.length,ie=ce-pe;switch(ie){case 0:O=void 0;break;case 1:O=Si(be,R[pe]);break;default:if(be===Te.ParameterStructures.byName)throw new Error(`Received ${ie} parameters for 'by Name' notification parameter structure.`);O=R.slice(pe,ce).map(se=>Qn(se));break}}else{let de=R;P=D.method,O=ki(D,de)}let H={jsonrpc:c,method:P,params:O};return Sr(H),e.write(H).catch(()=>i.error("Sending notification failed."))},onNotification:(D,R)=>{Fr();let P;return fr.func(D)?m=D:R&&(fr.string(D)?(P=D,T.set(D,{type:void 0,handler:R})):(P=D.method,T.set(D.method,{type:D,handler:R}))),{dispose:()=>{P!==void 0?T.delete(P):m=void 0}}},onProgress:(D,R,P)=>{if(_.has(R))throw new Error(`Progress handler for token ${R} already registered`);return _.set(R,P),{dispose:()=>{_.delete(R)}}},sendProgress:(D,R,P)=>Rn.sendNotification(Jc.type,{token:R,value:P}),onUnhandledProgress:Xe.event,sendRequest:(D,...R)=>{Fr(),hs();let P,O,H;if(fr.string(D)){P=D;let ce=R[0],ie=R[R.length-1],se=0,me=Te.ParameterStructures.auto;Te.ParameterStructures.is(ce)&&(se=1,me=ce);let Pe=R.length;dg.CancellationToken.is(ie)&&(Pe=Pe-1,H=ie);let st=Pe-se;switch(st){case 0:O=void 0;break;case 1:O=Si(me,R[se]);break;default:if(me===Te.ParameterStructures.byName)throw new Error(`Received ${st} parameters for 'by Name' request parameter structure.`);O=R.slice(se,Pe).map(Pt=>Qn(Pt));break}}else{let ce=R;P=D.method,O=ki(D,ce);let ie=D.numberOfParams;H=dg.CancellationToken.is(ce[ie])?ce[ie]:void 0}let de=o++,pe;return H&&(pe=H.onCancellationRequested(()=>{let ce=V.sender.sendCancellation(Rn,de);return ce===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${de}`),Promise.resolve()):ce.catch(()=>{i.log(`Sending cancellation messages for id ${de} failed`)})})),new Promise((ce,ie)=>{let se={jsonrpc:c,id:de,method:P,params:O},me=Pt=>{ce(Pt),V.sender.cleanup(de),pe?.dispose()},Pe=Pt=>{ie(Pt),V.sender.cleanup(de),pe?.dispose()},st={method:P,timerStart:Date.now(),resolve:me,reject:Pe};Et(se);try{e.write(se).catch(()=>i.error("Sending request failed."))}catch(Pt){st.reject(new Te.ResponseError(Te.ErrorCodes.MessageWriteError,Pt.message?Pt.message:"Unknown reason")),st=null}st&&I.set(de,st)})},onRequest:(D,R)=>{Fr();let P=null;return mg.is(D)?(P=void 0,f=D):fr.string(D)?(P=null,R!==void 0&&(P=D,p.set(D,{handler:R,type:void 0}))):R!==void 0&&(P=D.method,p.set(D.method,{type:D,handler:R})),{dispose:()=>{P!==null&&(P!==void 0?p.delete(P):f=void 0)}}},hasPendingResponse:()=>I.size>0,trace:async(D,R,P)=>{let O=!1,H=Zn.Text;P!==void 0&&(fr.boolean(P)?O=P:(O=P.sendNotification||!1,H=P.traceFormat||Zn.Text)),h=D,C=H,h===Je.Off?L=void 0:L=R,O&&!W()&&!re()&&await Rn.sendNotification(nb.type,{value:Je.toString(D)})},onError:fe.event,onClose:Ae.event,onUnhandledNotification:Wt.event,onDispose:Ye.event,end:()=>{e.end()},dispose:()=>{if(re())return;J=ei.Disposed,Ye.fire(void 0);let D=new Te.ResponseError(Te.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let R of I.values())R.reject(D);I=new Map,y=new Map,A=new Set,N=new tb.LinkedMap,fr.func(e.dispose)&&e.dispose(),fr.func(t.dispose)&&t.dispose()},listen:()=>{Fr(),Jn(),J=ei.Listening,t.listen(Xr)},inspect:()=>{(0,eb.default)().console.log("inspect")}};return Rn.onNotification(hg.type,D=>{if(h===Je.Off||!L)return;let R=h===Je.Verbose||h===Je.Compact;L.log(D.message,R?D.verbose:void 0)}),Rn.onNotification(Jc.type,D=>{let R=_.get(D.token);R?R(D.value):Xe.fire(D)}),Rn}ge.createMessageConnection=MN});var xg=$(q=>{"use strict";Object.defineProperty(q,"__esModule",{value:!0});q.TraceFormat=q.TraceValues=q.Trace=q.ProgressType=q.ProgressToken=q.createMessageConnection=q.NullLogger=q.ConnectionOptions=q.ConnectionStrategy=q.WriteableStreamMessageWriter=q.AbstractMessageWriter=q.MessageWriter=q.ReadableStreamMessageReader=q.AbstractMessageReader=q.MessageReader=q.CancellationToken=q.CancellationTokenSource=q.Emitter=q.Event=q.Disposable=q.LRUCache=q.Touch=q.LinkedMap=q.ParameterStructures=q.NotificationType9=q.NotificationType8=q.NotificationType7=q.NotificationType6=q.NotificationType5=q.NotificationType4=q.NotificationType3=q.NotificationType2=q.NotificationType1=q.NotificationType0=q.NotificationType=q.ErrorCodes=q.ResponseError=q.RequestType9=q.RequestType8=q.RequestType7=q.RequestType6=q.RequestType5=q.RequestType4=q.RequestType3=q.RequestType2=q.RequestType1=q.RequestType0=q.RequestType=q.Message=q.RAL=void 0;q.CancellationStrategy=q.CancellationSenderStrategy=q.CancellationReceiverStrategy=q.ConnectionError=q.ConnectionErrors=q.LogTraceNotification=q.SetTraceNotification=void 0;var lt=Qh();Object.defineProperty(q,"Message",{enumerable:!0,get:function(){return lt.Message}});Object.defineProperty(q,"RequestType",{enumerable:!0,get:function(){return lt.RequestType}});Object.defineProperty(q,"RequestType0",{enumerable:!0,get:function(){return lt.RequestType0}});Object.defineProperty(q,"RequestType1",{enumerable:!0,get:function(){return lt.RequestType1}});Object.defineProperty(q,"RequestType2",{enumerable:!0,get:function(){return lt.RequestType2}});Object.defineProperty(q,"RequestType3",{enumerable:!0,get:function(){return lt.RequestType3}});Object.defineProperty(q,"RequestType4",{enumerable:!0,get:function(){return lt.RequestType4}});Object.defineProperty(q,"RequestType5",{enumerable:!0,get:function(){return lt.RequestType5}});Object.defineProperty(q,"RequestType6",{enumerable:!0,get:function(){return lt.RequestType6}});Object.defineProperty(q,"RequestType7",{enumerable:!0,get:function(){return lt.RequestType7}});Object.defineProperty(q,"RequestType8",{enumerable:!0,get:function(){return lt.RequestType8}});Object.defineProperty(q,"RequestType9",{enumerable:!0,get:function(){return lt.RequestType9}});Object.defineProperty(q,"ResponseError",{enumerable:!0,get:function(){return lt.ResponseError}});Object.defineProperty(q,"ErrorCodes",{enumerable:!0,get:function(){return lt.ErrorCodes}});Object.defineProperty(q,"NotificationType",{enumerable:!0,get:function(){return lt.NotificationType}});Object.defineProperty(q,"NotificationType0",{enumerable:!0,get:function(){return lt.NotificationType0}});Object.defineProperty(q,"NotificationType1",{enumerable:!0,get:function(){return lt.NotificationType1}});Object.defineProperty(q,"NotificationType2",{enumerable:!0,get:function(){return lt.NotificationType2}});Object.defineProperty(q,"NotificationType3",{enumerable:!0,get:function(){return lt.NotificationType3}});Object.defineProperty(q,"NotificationType4",{enumerable:!0,get:function(){return lt.NotificationType4}});Object.defineProperty(q,"NotificationType5",{enumerable:!0,get:function(){return lt.NotificationType5}});Object.defineProperty(q,"NotificationType6",{enumerable:!0,get:function(){return lt.NotificationType6}});Object.defineProperty(q,"NotificationType7",{enumerable:!0,get:function(){return lt.NotificationType7}});Object.defineProperty(q,"NotificationType8",{enumerable:!0,get:function(){return lt.NotificationType8}});Object.defineProperty(q,"NotificationType9",{enumerable:!0,get:function(){return lt.NotificationType9}});Object.defineProperty(q,"ParameterStructures",{enumerable:!0,get:function(){return lt.ParameterStructures}});var Tg=eg();Object.defineProperty(q,"LinkedMap",{enumerable:!0,get:function(){return Tg.LinkedMap}});Object.defineProperty(q,"LRUCache",{enumerable:!0,get:function(){return Tg.LRUCache}});Object.defineProperty(q,"Touch",{enumerable:!0,get:function(){return Tg.Touch}});var $N=xh();Object.defineProperty(q,"Disposable",{enumerable:!0,get:function(){return $N.Disposable}});var sb=ys();Object.defineProperty(q,"Event",{enumerable:!0,get:function(){return sb.Event}});Object.defineProperty(q,"Emitter",{enumerable:!0,get:function(){return sb.Emitter}});var ab=ig();Object.defineProperty(q,"CancellationTokenSource",{enumerable:!0,get:function(){return ab.CancellationTokenSource}});Object.defineProperty(q,"CancellationToken",{enumerable:!0,get:function(){return ab.CancellationToken}});var Rg=VR();Object.defineProperty(q,"MessageReader",{enumerable:!0,get:function(){return Rg.MessageReader}});Object.defineProperty(q,"AbstractMessageReader",{enumerable:!0,get:function(){return Rg.AbstractMessageReader}});Object.defineProperty(q,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return Rg.ReadableStreamMessageReader}});var bg=ZR();Object.defineProperty(q,"MessageWriter",{enumerable:!0,get:function(){return bg.MessageWriter}});Object.defineProperty(q,"AbstractMessageWriter",{enumerable:!0,get:function(){return bg.AbstractMessageWriter}});Object.defineProperty(q,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return bg.WriteableStreamMessageWriter}});var Ur=ob();Object.defineProperty(q,"ConnectionStrategy",{enumerable:!0,get:function(){return Ur.ConnectionStrategy}});Object.defineProperty(q,"ConnectionOptions",{enumerable:!0,get:function(){return Ur.ConnectionOptions}});Object.defineProperty(q,"NullLogger",{enumerable:!0,get:function(){return Ur.NullLogger}});Object.defineProperty(q,"createMessageConnection",{enumerable:!0,get:function(){return Ur.createMessageConnection}});Object.defineProperty(q,"ProgressToken",{enumerable:!0,get:function(){return Ur.ProgressToken}});Object.defineProperty(q,"ProgressType",{enumerable:!0,get:function(){return Ur.ProgressType}});Object.defineProperty(q,"Trace",{enumerable:!0,get:function(){return Ur.Trace}});Object.defineProperty(q,"TraceValues",{enumerable:!0,get:function(){return Ur.TraceValues}});Object.defineProperty(q,"TraceFormat",{enumerable:!0,get:function(){return Ur.TraceFormat}});Object.defineProperty(q,"SetTraceNotification",{enumerable:!0,get:function(){return Ur.SetTraceNotification}});Object.defineProperty(q,"LogTraceNotification",{enumerable:!0,get:function(){return Ur.LogTraceNotification}});Object.defineProperty(q,"ConnectionErrors",{enumerable:!0,get:function(){return Ur.ConnectionErrors}});Object.defineProperty(q,"ConnectionError",{enumerable:!0,get:function(){return Ur.ConnectionError}});Object.defineProperty(q,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return Ur.CancellationReceiverStrategy}});Object.defineProperty(q,"CancellationSenderStrategy",{enumerable:!0,get:function(){return Ur.CancellationSenderStrategy}});Object.defineProperty(q,"CancellationStrategy",{enumerable:!0,get:function(){return Ur.CancellationStrategy}});var FN=eo();q.RAL=FN.default});var io=$(xn=>{"use strict";var qN=xn&&xn.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),jN=xn&&xn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&qN(e,t,r)};Object.defineProperty(xn,"__esModule",{value:!0});xn.createMessageConnection=xn.BrowserMessageWriter=xn.BrowserMessageReader=void 0;var UN=HR();UN.default.install();var na=xg();jN(xg(),xn);var _g=class extends na.AbstractMessageReader{constructor(e){super(),this._onData=new na.Emitter,this._messageListener=r=>{this._onData.fire(r.data)},e.addEventListener("error",r=>this.fireError(r)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}};xn.BrowserMessageReader=_g;var Sg=class extends na.AbstractMessageWriter{constructor(e){super(),this.context=e,this.errorCount=0,e.addEventListener("error",r=>this.fireError(r))}write(e){try{return this.context.postMessage(e),Promise.resolve()}catch(r){return this.handleError(r,e),Promise.reject(r)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){}};xn.BrowserMessageWriter=Sg;function WN(t,e,r,n){return r===void 0&&(r=na.NullLogger),na.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,na.createMessageConnection)(t,e,r,n)}xn.createMessageConnection=WN});var kg=$((t4,cb)=>{"use strict";cb.exports=io()});var Rs=$((ub,Vl)=>{(function(t){if(typeof Vl=="object"&&typeof Vl.exports=="object"){var e=t(Fl,ub);e!==void 0&&(Vl.exports=e)}else typeof define=="function"&&define.amd&&define(["require","exports"],t)})(function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextDocument=e.EOL=e.WorkspaceFolder=e.InlayHint=e.InlayHintLabelPart=e.InlayHintKind=e.InlineValueContext=e.InlineValueEvaluatableExpression=e.InlineValueVariableLookup=e.InlineValueText=e.SemanticTokens=e.SemanticTokenModifiers=e.SemanticTokenTypes=e.SelectionRange=e.DocumentLink=e.FormattingOptions=e.CodeLens=e.CodeAction=e.CodeActionContext=e.CodeActionTriggerKind=e.CodeActionKind=e.DocumentSymbol=e.WorkspaceSymbol=e.SymbolInformation=e.SymbolTag=e.SymbolKind=e.DocumentHighlight=e.DocumentHighlightKind=e.SignatureInformation=e.ParameterInformation=e.Hover=e.MarkedString=e.CompletionList=e.CompletionItem=e.CompletionItemLabelDetails=e.InsertTextMode=e.InsertReplaceEdit=e.CompletionItemTag=e.InsertTextFormat=e.CompletionItemKind=e.MarkupContent=e.MarkupKind=e.TextDocumentItem=e.OptionalVersionedTextDocumentIdentifier=e.VersionedTextDocumentIdentifier=e.TextDocumentIdentifier=e.WorkspaceChange=e.WorkspaceEdit=e.DeleteFile=e.RenameFile=e.CreateFile=e.TextDocumentEdit=e.AnnotatedTextEdit=e.ChangeAnnotationIdentifier=e.ChangeAnnotation=e.TextEdit=e.Command=e.Diagnostic=e.CodeDescription=e.DiagnosticTag=e.DiagnosticSeverity=e.DiagnosticRelatedInformation=e.FoldingRange=e.FoldingRangeKind=e.ColorPresentation=e.ColorInformation=e.Color=e.LocationLink=e.Location=e.Range=e.Position=e.uinteger=e.integer=e.URI=e.DocumentUri=void 0;var r;(function(l){function g(v){return typeof v=="string"}l.is=g})(r=e.DocumentUri||(e.DocumentUri={}));var n;(function(l){function g(v){return typeof v=="string"}l.is=g})(n=e.URI||(e.URI={}));var i;(function(l){l.MIN_VALUE=-2147483648,l.MAX_VALUE=2147483647;function g(v){return typeof v=="number"&&l.MIN_VALUE<=v&&v<=l.MAX_VALUE}l.is=g})(i=e.integer||(e.integer={}));var o;(function(l){l.MIN_VALUE=0,l.MAX_VALUE=2147483647;function g(v){return typeof v=="number"&&l.MIN_VALUE<=v&&v<=l.MAX_VALUE}l.is=g})(o=e.uinteger||(e.uinteger={}));var s;(function(l){function g(d,u){return d===Number.MAX_VALUE&&(d=o.MAX_VALUE),u===Number.MAX_VALUE&&(u=o.MAX_VALUE),{line:d,character:u}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&b.uinteger(u.line)&&b.uinteger(u.character)}l.is=v})(s=e.Position||(e.Position={}));var a;(function(l){function g(d,u,x,w){if(b.uinteger(d)&&b.uinteger(u)&&b.uinteger(x)&&b.uinteger(w))return{start:s.create(d,u),end:s.create(x,w)};if(s.is(d)&&s.is(u))return{start:d,end:u};throw new Error("Range#create called with invalid arguments[".concat(d,", ").concat(u,", ").concat(x,", ").concat(w,"]"))}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&s.is(u.start)&&s.is(u.end)}l.is=v})(a=e.Range||(e.Range={}));var c;(function(l){function g(d,u){return{uri:d,range:u}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&a.is(u.range)&&(b.string(u.uri)||b.undefined(u.uri))}l.is=v})(c=e.Location||(e.Location={}));var f;(function(l){function g(d,u,x,w){return{targetUri:d,targetRange:u,targetSelectionRange:x,originSelectionRange:w}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&a.is(u.targetRange)&&b.string(u.targetUri)&&a.is(u.targetSelectionRange)&&(a.is(u.originSelectionRange)||b.undefined(u.originSelectionRange))}l.is=v})(f=e.LocationLink||(e.LocationLink={}));var p;(function(l){function g(d,u,x,w){return{red:d,green:u,blue:x,alpha:w}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&b.numberRange(u.red,0,1)&&b.numberRange(u.green,0,1)&&b.numberRange(u.blue,0,1)&&b.numberRange(u.alpha,0,1)}l.is=v})(p=e.Color||(e.Color={}));var m;(function(l){function g(d,u){return{range:d,color:u}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&a.is(u.range)&&p.is(u.color)}l.is=v})(m=e.ColorInformation||(e.ColorInformation={}));var T;(function(l){function g(d,u,x){return{label:d,textEdit:u,additionalTextEdits:x}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&b.string(u.label)&&(b.undefined(u.textEdit)||L.is(u))&&(b.undefined(u.additionalTextEdits)||b.typedArray(u.additionalTextEdits,L.is))}l.is=v})(T=e.ColorPresentation||(e.ColorPresentation={}));var _;(function(l){l.Comment="comment",l.Imports="imports",l.Region="region"})(_=e.FoldingRangeKind||(e.FoldingRangeKind={}));var E;(function(l){function g(d,u,x,w,G,xe){var he={startLine:d,endLine:u};return b.defined(x)&&(he.startCharacter=x),b.defined(w)&&(he.endCharacter=w),b.defined(G)&&(he.kind=G),b.defined(xe)&&(he.collapsedText=xe),he}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&b.uinteger(u.startLine)&&b.uinteger(u.startLine)&&(b.undefined(u.startCharacter)||b.uinteger(u.startCharacter))&&(b.undefined(u.endCharacter)||b.uinteger(u.endCharacter))&&(b.undefined(u.kind)||b.string(u.kind))}l.is=v})(E=e.FoldingRange||(e.FoldingRange={}));var N;(function(l){function g(d,u){return{location:d,message:u}}l.create=g;function v(d){var u=d;return b.defined(u)&&c.is(u.location)&&b.string(u.message)}l.is=v})(N=e.DiagnosticRelatedInformation||(e.DiagnosticRelatedInformation={}));var I;(function(l){l.Error=1,l.Warning=2,l.Information=3,l.Hint=4})(I=e.DiagnosticSeverity||(e.DiagnosticSeverity={}));var A;(function(l){l.Unnecessary=1,l.Deprecated=2})(A=e.DiagnosticTag||(e.DiagnosticTag={}));var y;(function(l){function g(v){var d=v;return b.objectLiteral(d)&&b.string(d.href)}l.is=g})(y=e.CodeDescription||(e.CodeDescription={}));var h;(function(l){function g(d,u,x,w,G,xe){var he={range:d,message:u};return b.defined(x)&&(he.severity=x),b.defined(w)&&(he.code=w),b.defined(G)&&(he.source=G),b.defined(xe)&&(he.relatedInformation=xe),he}l.create=g;function v(d){var u,x=d;return b.defined(x)&&a.is(x.range)&&b.string(x.message)&&(b.number(x.severity)||b.undefined(x.severity))&&(b.integer(x.code)||b.string(x.code)||b.undefined(x.code))&&(b.undefined(x.codeDescription)||b.string((u=x.codeDescription)===null||u===void 0?void 0:u.href))&&(b.string(x.source)||b.undefined(x.source))&&(b.undefined(x.relatedInformation)||b.typedArray(x.relatedInformation,N.is))}l.is=v})(h=e.Diagnostic||(e.Diagnostic={}));var C;(function(l){function g(d,u){for(var x=[],w=2;w<arguments.length;w++)x[w-2]=arguments[w];var G={title:d,command:u};return b.defined(x)&&x.length>0&&(G.arguments=x),G}l.create=g;function v(d){var u=d;return b.defined(u)&&b.string(u.title)&&b.string(u.command)}l.is=v})(C=e.Command||(e.Command={}));var L;(function(l){function g(x,w){return{range:x,newText:w}}l.replace=g;function v(x,w){return{range:{start:x,end:x},newText:w}}l.insert=v;function d(x){return{range:x,newText:""}}l.del=d;function u(x){var w=x;return b.objectLiteral(w)&&b.string(w.newText)&&a.is(w.range)}l.is=u})(L=e.TextEdit||(e.TextEdit={}));var J;(function(l){function g(d,u,x){var w={label:d};return u!==void 0&&(w.needsConfirmation=u),x!==void 0&&(w.description=x),w}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&b.string(u.label)&&(b.boolean(u.needsConfirmation)||u.needsConfirmation===void 0)&&(b.string(u.description)||u.description===void 0)}l.is=v})(J=e.ChangeAnnotation||(e.ChangeAnnotation={}));var fe;(function(l){function g(v){var d=v;return b.string(d)}l.is=g})(fe=e.ChangeAnnotationIdentifier||(e.ChangeAnnotationIdentifier={}));var Ae;(function(l){function g(x,w,G){return{range:x,newText:w,annotationId:G}}l.replace=g;function v(x,w,G){return{range:{start:x,end:x},newText:w,annotationId:G}}l.insert=v;function d(x,w){return{range:x,newText:"",annotationId:w}}l.del=d;function u(x){var w=x;return L.is(w)&&(J.is(w.annotationId)||fe.is(w.annotationId))}l.is=u})(Ae=e.AnnotatedTextEdit||(e.AnnotatedTextEdit={}));var Wt;(function(l){function g(d,u){return{textDocument:d,edits:u}}l.create=g;function v(d){var u=d;return b.defined(u)&&W.is(u.textDocument)&&Array.isArray(u.edits)}l.is=v})(Wt=e.TextDocumentEdit||(e.TextDocumentEdit={}));var Xe;(function(l){function g(d,u,x){var w={kind:"create",uri:d};return u!==void 0&&(u.overwrite!==void 0||u.ignoreIfExists!==void 0)&&(w.options=u),x!==void 0&&(w.annotationId=x),w}l.create=g;function v(d){var u=d;return u&&u.kind==="create"&&b.string(u.uri)&&(u.options===void 0||(u.options.overwrite===void 0||b.boolean(u.options.overwrite))&&(u.options.ignoreIfExists===void 0||b.boolean(u.options.ignoreIfExists)))&&(u.annotationId===void 0||fe.is(u.annotationId))}l.is=v})(Xe=e.CreateFile||(e.CreateFile={}));var Ye;(function(l){function g(d,u,x,w){var G={kind:"rename",oldUri:d,newUri:u};return x!==void 0&&(x.overwrite!==void 0||x.ignoreIfExists!==void 0)&&(G.options=x),w!==void 0&&(G.annotationId=w),G}l.create=g;function v(d){var u=d;return u&&u.kind==="rename"&&b.string(u.oldUri)&&b.string(u.newUri)&&(u.options===void 0||(u.options.overwrite===void 0||b.boolean(u.options.overwrite))&&(u.options.ignoreIfExists===void 0||b.boolean(u.options.ignoreIfExists)))&&(u.annotationId===void 0||fe.is(u.annotationId))}l.is=v})(Ye=e.RenameFile||(e.RenameFile={}));var V;(function(l){function g(d,u,x){var w={kind:"delete",uri:d};return u!==void 0&&(u.recursive!==void 0||u.ignoreIfNotExists!==void 0)&&(w.options=u),x!==void 0&&(w.annotationId=x),w}l.create=g;function v(d){var u=d;return u&&u.kind==="delete"&&b.string(u.uri)&&(u.options===void 0||(u.options.recursive===void 0||b.boolean(u.options.recursive))&&(u.options.ignoreIfNotExists===void 0||b.boolean(u.options.ignoreIfNotExists)))&&(u.annotationId===void 0||fe.is(u.annotationId))}l.is=v})(V=e.DeleteFile||(e.DeleteFile={}));var nt;(function(l){function g(v){var d=v;return d&&(d.changes!==void 0||d.documentChanges!==void 0)&&(d.documentChanges===void 0||d.documentChanges.every(function(u){return b.string(u.kind)?Xe.is(u)||Ye.is(u)||V.is(u):Wt.is(u)}))}l.is=g})(nt=e.WorkspaceEdit||(e.WorkspaceEdit={}));var Tt=function(){function l(g,v){this.edits=g,this.changeAnnotations=v}return l.prototype.insert=function(g,v,d){var u,x;if(d===void 0?u=L.insert(g,v):fe.is(d)?(x=d,u=Ae.insert(g,v,d)):(this.assertChangeAnnotations(this.changeAnnotations),x=this.changeAnnotations.manage(d),u=Ae.insert(g,v,x)),this.edits.push(u),x!==void 0)return x},l.prototype.replace=function(g,v,d){var u,x;if(d===void 0?u=L.replace(g,v):fe.is(d)?(x=d,u=Ae.replace(g,v,d)):(this.assertChangeAnnotations(this.changeAnnotations),x=this.changeAnnotations.manage(d),u=Ae.replace(g,v,x)),this.edits.push(u),x!==void 0)return x},l.prototype.delete=function(g,v){var d,u;if(v===void 0?d=L.del(g):fe.is(v)?(u=v,d=Ae.del(g,v)):(this.assertChangeAnnotations(this.changeAnnotations),u=this.changeAnnotations.manage(v),d=Ae.del(g,u)),this.edits.push(d),u!==void 0)return u},l.prototype.add=function(g){this.edits.push(g)},l.prototype.all=function(){return this.edits},l.prototype.clear=function(){this.edits.splice(0,this.edits.length)},l.prototype.assertChangeAnnotations=function(g){if(g===void 0)throw new Error("Text edit change is not configured to manage change annotations.")},l}(),ur=function(){function l(g){this._annotations=g===void 0?Object.create(null):g,this._counter=0,this._size=0}return l.prototype.all=function(){return this._annotations},Object.defineProperty(l.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),l.prototype.manage=function(g,v){var d;if(fe.is(g)?d=g:(d=this.nextId(),v=g),this._annotations[d]!==void 0)throw new Error("Id ".concat(d," is already in use."));if(v===void 0)throw new Error("No annotation provided for id ".concat(d));return this._annotations[d]=v,this._size++,d},l.prototype.nextId=function(){return this._counter++,this._counter.toString()},l}(),j=function(){function l(g){var v=this;this._textEditChanges=Object.create(null),g!==void 0?(this._workspaceEdit=g,g.documentChanges?(this._changeAnnotations=new ur(g.changeAnnotations),g.changeAnnotations=this._changeAnnotations.all(),g.documentChanges.forEach(function(d){if(Wt.is(d)){var u=new Tt(d.edits,v._changeAnnotations);v._textEditChanges[d.textDocument.uri]=u}})):g.changes&&Object.keys(g.changes).forEach(function(d){var u=new Tt(g.changes[d]);v._textEditChanges[d]=u})):this._workspaceEdit={}}return Object.defineProperty(l.prototype,"edit",{get:function(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),l.prototype.getTextEditChange=function(g){if(W.is(g)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var v={uri:g.uri,version:g.version},d=this._textEditChanges[v.uri];if(!d){var u=[],x={textDocument:v,edits:u};this._workspaceEdit.documentChanges.push(x),d=new Tt(u,this._changeAnnotations),this._textEditChanges[v.uri]=d}return d}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");var d=this._textEditChanges[g];if(!d){var u=[];this._workspaceEdit.changes[g]=u,d=new Tt(u),this._textEditChanges[g]=d}return d}},l.prototype.initDocumentChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new ur,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},l.prototype.initChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))},l.prototype.createFile=function(g,v,d){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var u;J.is(v)||fe.is(v)?u=v:d=v;var x,w;if(u===void 0?x=Xe.create(g,d):(w=fe.is(u)?u:this._changeAnnotations.manage(u),x=Xe.create(g,d,w)),this._workspaceEdit.documentChanges.push(x),w!==void 0)return w},l.prototype.renameFile=function(g,v,d,u){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var x;J.is(d)||fe.is(d)?x=d:u=d;var w,G;if(x===void 0?w=Ye.create(g,v,u):(G=fe.is(x)?x:this._changeAnnotations.manage(x),w=Ye.create(g,v,u,G)),this._workspaceEdit.documentChanges.push(w),G!==void 0)return G},l.prototype.deleteFile=function(g,v,d){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var u;J.is(v)||fe.is(v)?u=v:d=v;var x,w;if(u===void 0?x=V.create(g,d):(w=fe.is(u)?u:this._changeAnnotations.manage(u),x=V.create(g,d,w)),this._workspaceEdit.documentChanges.push(x),w!==void 0)return w},l}();e.WorkspaceChange=j;var M;(function(l){function g(d){return{uri:d}}l.create=g;function v(d){var u=d;return b.defined(u)&&b.string(u.uri)}l.is=v})(M=e.TextDocumentIdentifier||(e.TextDocumentIdentifier={}));var U;(function(l){function g(d,u){return{uri:d,version:u}}l.create=g;function v(d){var u=d;return b.defined(u)&&b.string(u.uri)&&b.integer(u.version)}l.is=v})(U=e.VersionedTextDocumentIdentifier||(e.VersionedTextDocumentIdentifier={}));var W;(function(l){function g(d,u){return{uri:d,version:u}}l.create=g;function v(d){var u=d;return b.defined(u)&&b.string(u.uri)&&(u.version===null||b.integer(u.version))}l.is=v})(W=e.OptionalVersionedTextDocumentIdentifier||(e.OptionalVersionedTextDocumentIdentifier={}));var re;(function(l){function g(d,u,x,w){return{uri:d,languageId:u,version:x,text:w}}l.create=g;function v(d){var u=d;return b.defined(u)&&b.string(u.uri)&&b.string(u.languageId)&&b.integer(u.version)&&b.string(u.text)}l.is=v})(re=e.TextDocumentItem||(e.TextDocumentItem={}));var ve;(function(l){l.PlainText="plaintext",l.Markdown="markdown";function g(v){var d=v;return d===l.PlainText||d===l.Markdown}l.is=g})(ve=e.MarkupKind||(e.MarkupKind={}));var ne;(function(l){function g(v){var d=v;return b.objectLiteral(v)&&ve.is(d.kind)&&b.string(d.value)}l.is=g})(ne=e.MarkupContent||(e.MarkupContent={}));var Yt;(function(l){l.Text=1,l.Method=2,l.Function=3,l.Constructor=4,l.Field=5,l.Variable=6,l.Class=7,l.Interface=8,l.Module=9,l.Property=10,l.Unit=11,l.Value=12,l.Enum=13,l.Keyword=14,l.Snippet=15,l.Color=16,l.File=17,l.Reference=18,l.Folder=19,l.EnumMember=20,l.Constant=21,l.Struct=22,l.Event=23,l.Operator=24,l.TypeParameter=25})(Yt=e.CompletionItemKind||(e.CompletionItemKind={}));var Rt;(function(l){l.PlainText=1,l.Snippet=2})(Rt=e.InsertTextFormat||(e.InsertTextFormat={}));var Ge;(function(l){l.Deprecated=1})(Ge=e.CompletionItemTag||(e.CompletionItemTag={}));var Xr;(function(l){function g(d,u,x){return{newText:d,insert:u,replace:x}}l.create=g;function v(d){var u=d;return u&&b.string(u.newText)&&a.is(u.insert)&&a.is(u.replace)}l.is=v})(Xr=e.InsertReplaceEdit||(e.InsertReplaceEdit={}));var He;(function(l){l.asIs=1,l.adjustIndentation=2})(He=e.InsertTextMode||(e.InsertTextMode={}));var Jt;(function(l){function g(v){var d=v;return d&&(b.string(d.detail)||d.detail===void 0)&&(b.string(d.description)||d.description===void 0)}l.is=g})(Jt=e.CompletionItemLabelDetails||(e.CompletionItemLabelDetails={}));var un;(function(l){function g(v){return{label:v}}l.create=g})(un=e.CompletionItem||(e.CompletionItem={}));var Kt;(function(l){function g(v,d){return{items:v||[],isIncomplete:!!d}}l.create=g})(Kt=e.CompletionList||(e.CompletionList={}));var it;(function(l){function g(d){return d.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}l.fromPlainText=g;function v(d){var u=d;return b.string(u)||b.objectLiteral(u)&&b.string(u.language)&&b.string(u.value)}l.is=v})(it=e.MarkedString||(e.MarkedString={}));var Et;(function(l){function g(v){var d=v;return!!d&&b.objectLiteral(d)&&(ne.is(d.contents)||it.is(d.contents)||b.typedArray(d.contents,it.is))&&(v.range===void 0||a.is(v.range))}l.is=g})(Et=e.Hover||(e.Hover={}));var Sr;(function(l){function g(v,d){return d?{label:v,documentation:d}:{label:v}}l.create=g})(Sr=e.ParameterInformation||(e.ParameterInformation={}));var yr;(function(l){function g(v,d){for(var u=[],x=2;x<arguments.length;x++)u[x-2]=arguments[x];var w={label:v};return b.defined(d)&&(w.documentation=d),b.defined(u)?w.parameters=u:w.parameters=[],w}l.create=g})(yr=e.SignatureInformation||(e.SignatureInformation={}));var ln;(function(l){l.Text=1,l.Read=2,l.Write=3})(ln=e.DocumentHighlightKind||(e.DocumentHighlightKind={}));var In;(function(l){function g(v,d){var u={range:v};return b.number(d)&&(u.kind=d),u}l.create=g})(In=e.DocumentHighlight||(e.DocumentHighlight={}));var Ji;(function(l){l.File=1,l.Module=2,l.Namespace=3,l.Package=4,l.Class=5,l.Method=6,l.Property=7,l.Field=8,l.Constructor=9,l.Enum=10,l.Interface=11,l.Function=12,l.Variable=13,l.Constant=14,l.String=15,l.Number=16,l.Boolean=17,l.Array=18,l.Object=19,l.Key=20,l.Null=21,l.EnumMember=22,l.Struct=23,l.Event=24,l.Operator=25,l.TypeParameter=26})(Ji=e.SymbolKind||(e.SymbolKind={}));var On;(function(l){l.Deprecated=1})(On=e.SymbolTag||(e.SymbolTag={}));var Fr;(function(l){function g(v,d,u,x,w){var G={name:v,kind:d,location:{uri:x,range:u}};return w&&(G.containerName=w),G}l.create=g})(Fr=e.SymbolInformation||(e.SymbolInformation={}));var Jn;(function(l){function g(v,d,u,x){return x!==void 0?{name:v,kind:d,location:{uri:u,range:x}}:{name:v,kind:d,location:{uri:u}}}l.create=g})(Jn=e.WorkspaceSymbol||(e.WorkspaceSymbol={}));var hs;(function(l){function g(d,u,x,w,G,xe){var he={name:d,detail:u,kind:x,range:w,selectionRange:G};return xe!==void 0&&(he.children=xe),he}l.create=g;function v(d){var u=d;return u&&b.string(u.name)&&b.number(u.kind)&&a.is(u.range)&&a.is(u.selectionRange)&&(u.detail===void 0||b.string(u.detail))&&(u.deprecated===void 0||b.boolean(u.deprecated))&&(u.children===void 0||Array.isArray(u.children))&&(u.tags===void 0||Array.isArray(u.tags))}l.is=v})(hs=e.DocumentSymbol||(e.DocumentSymbol={}));var Qn;(function(l){l.Empty="",l.QuickFix="quickfix",l.Refactor="refactor",l.RefactorExtract="refactor.extract",l.RefactorInline="refactor.inline",l.RefactorRewrite="refactor.rewrite",l.Source="source",l.SourceOrganizeImports="source.organizeImports",l.SourceFixAll="source.fixAll"})(Qn=e.CodeActionKind||(e.CodeActionKind={}));var qr;(function(l){l.Invoked=1,l.Automatic=2})(qr=e.CodeActionTriggerKind||(e.CodeActionTriggerKind={}));var Qi;(function(l){function g(d,u,x){var w={diagnostics:d};return u!=null&&(w.only=u),x!=null&&(w.triggerKind=x),w}l.create=g;function v(d){var u=d;return b.defined(u)&&b.typedArray(u.diagnostics,h.is)&&(u.only===void 0||b.typedArray(u.only,b.string))&&(u.triggerKind===void 0||u.triggerKind===qr.Invoked||u.triggerKind===qr.Automatic)}l.is=v})(Qi=e.CodeActionContext||(e.CodeActionContext={}));var Si;(function(l){function g(d,u,x){var w={title:d},G=!0;return typeof u=="string"?(G=!1,w.kind=u):C.is(u)?w.command=u:w.edit=u,G&&x!==void 0&&(w.kind=x),w}l.create=g;function v(d){var u=d;return u&&b.string(u.title)&&(u.diagnostics===void 0||b.typedArray(u.diagnostics,h.is))&&(u.kind===void 0||b.string(u.kind))&&(u.edit!==void 0||u.command!==void 0)&&(u.command===void 0||C.is(u.command))&&(u.isPreferred===void 0||b.boolean(u.isPreferred))&&(u.edit===void 0||nt.is(u.edit))}l.is=v})(Si=e.CodeAction||(e.CodeAction={}));var ki;(function(l){function g(d,u){var x={range:d};return b.defined(u)&&(x.data=u),x}l.create=g;function v(d){var u=d;return b.defined(u)&&a.is(u.range)&&(b.undefined(u.command)||C.is(u.command))}l.is=v})(ki=e.CodeLens||(e.CodeLens={}));var Rn;(function(l){function g(d,u){return{tabSize:d,insertSpaces:u}}l.create=g;function v(d){var u=d;return b.defined(u)&&b.uinteger(u.tabSize)&&b.boolean(u.insertSpaces)}l.is=v})(Rn=e.FormattingOptions||(e.FormattingOptions={}));var D;(function(l){function g(d,u,x){return{range:d,target:u,data:x}}l.create=g;function v(d){var u=d;return b.defined(u)&&a.is(u.range)&&(b.undefined(u.target)||b.string(u.target))}l.is=v})(D=e.DocumentLink||(e.DocumentLink={}));var R;(function(l){function g(d,u){return{range:d,parent:u}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&a.is(u.range)&&(u.parent===void 0||l.is(u.parent))}l.is=v})(R=e.SelectionRange||(e.SelectionRange={}));var P;(function(l){l.namespace="namespace",l.type="type",l.class="class",l.enum="enum",l.interface="interface",l.struct="struct",l.typeParameter="typeParameter",l.parameter="parameter",l.variable="variable",l.property="property",l.enumMember="enumMember",l.event="event",l.function="function",l.method="method",l.macro="macro",l.keyword="keyword",l.modifier="modifier",l.comment="comment",l.string="string",l.number="number",l.regexp="regexp",l.operator="operator",l.decorator="decorator"})(P=e.SemanticTokenTypes||(e.SemanticTokenTypes={}));var O;(function(l){l.declaration="declaration",l.definition="definition",l.readonly="readonly",l.static="static",l.deprecated="deprecated",l.abstract="abstract",l.async="async",l.modification="modification",l.documentation="documentation",l.defaultLibrary="defaultLibrary"})(O=e.SemanticTokenModifiers||(e.SemanticTokenModifiers={}));var H;(function(l){function g(v){var d=v;return b.objectLiteral(d)&&(d.resultId===void 0||typeof d.resultId=="string")&&Array.isArray(d.data)&&(d.data.length===0||typeof d.data[0]=="number")}l.is=g})(H=e.SemanticTokens||(e.SemanticTokens={}));var de;(function(l){function g(d,u){return{range:d,text:u}}l.create=g;function v(d){var u=d;return u!=null&&a.is(u.range)&&b.string(u.text)}l.is=v})(de=e.InlineValueText||(e.InlineValueText={}));var pe;(function(l){function g(d,u,x){return{range:d,variableName:u,caseSensitiveLookup:x}}l.create=g;function v(d){var u=d;return u!=null&&a.is(u.range)&&b.boolean(u.caseSensitiveLookup)&&(b.string(u.variableName)||u.variableName===void 0)}l.is=v})(pe=e.InlineValueVariableLookup||(e.InlineValueVariableLookup={}));var be;(function(l){function g(d,u){return{range:d,expression:u}}l.create=g;function v(d){var u=d;return u!=null&&a.is(u.range)&&(b.string(u.expression)||u.expression===void 0)}l.is=v})(be=e.InlineValueEvaluatableExpression||(e.InlineValueEvaluatableExpression={}));var ce;(function(l){function g(d,u){return{frameId:d,stoppedLocation:u}}l.create=g;function v(d){var u=d;return b.defined(u)&&a.is(d.stoppedLocation)}l.is=v})(ce=e.InlineValueContext||(e.InlineValueContext={}));var ie;(function(l){l.Type=1,l.Parameter=2;function g(v){return v===1||v===2}l.is=g})(ie=e.InlayHintKind||(e.InlayHintKind={}));var se;(function(l){function g(d){return{value:d}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&(u.tooltip===void 0||b.string(u.tooltip)||ne.is(u.tooltip))&&(u.location===void 0||c.is(u.location))&&(u.command===void 0||C.is(u.command))}l.is=v})(se=e.InlayHintLabelPart||(e.InlayHintLabelPart={}));var me;(function(l){function g(d,u,x){var w={position:d,label:u};return x!==void 0&&(w.kind=x),w}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&s.is(u.position)&&(b.string(u.label)||b.typedArray(u.label,se.is))&&(u.kind===void 0||ie.is(u.kind))&&u.textEdits===void 0||b.typedArray(u.textEdits,L.is)&&(u.tooltip===void 0||b.string(u.tooltip)||ne.is(u.tooltip))&&(u.paddingLeft===void 0||b.boolean(u.paddingLeft))&&(u.paddingRight===void 0||b.boolean(u.paddingRight))}l.is=v})(me=e.InlayHint||(e.InlayHint={}));var Pe;(function(l){function g(v){var d=v;return b.objectLiteral(d)&&n.is(d.uri)&&b.string(d.name)}l.is=g})(Pe=e.WorkspaceFolder||(e.WorkspaceFolder={})),e.EOL=[`
30
- `,`\r
31
- `,"\r"];var st;(function(l){function g(x,w,G,xe){return new Pt(x,w,G,xe)}l.create=g;function v(x){var w=x;return!!(b.defined(w)&&b.string(w.uri)&&(b.undefined(w.languageId)||b.string(w.languageId))&&b.uinteger(w.lineCount)&&b.func(w.getText)&&b.func(w.positionAt)&&b.func(w.offsetAt))}l.is=v;function d(x,w){for(var G=x.getText(),xe=u(w,function(bn,Zi){var zc=bn.range.start.line-Zi.range.start.line;return zc===0?bn.range.start.character-Zi.range.start.character:zc}),he=G.length,At=xe.length-1;At>=0;At--){var Nt=xe[At],lr=x.offsetAt(Nt.range.start),Q=x.offsetAt(Nt.range.end);if(Q<=he)G=G.substring(0,lr)+Nt.newText+G.substring(Q,G.length);else throw new Error("Overlapping edit");he=lr}return G}l.applyEdits=d;function u(x,w){if(x.length<=1)return x;var G=x.length/2|0,xe=x.slice(0,G),he=x.slice(G);u(xe,w),u(he,w);for(var At=0,Nt=0,lr=0;At<xe.length&&Nt<he.length;){var Q=w(xe[At],he[Nt]);Q<=0?x[lr++]=xe[At++]:x[lr++]=he[Nt++]}for(;At<xe.length;)x[lr++]=xe[At++];for(;Nt<he.length;)x[lr++]=he[Nt++];return x}})(st=e.TextDocument||(e.TextDocument={}));var Pt=function(){function l(g,v,d,u){this._uri=g,this._languageId=v,this._version=d,this._content=u,this._lineOffsets=void 0}return Object.defineProperty(l.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(l.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(l.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),l.prototype.getText=function(g){if(g){var v=this.offsetAt(g.start),d=this.offsetAt(g.end);return this._content.substring(v,d)}return this._content},l.prototype.update=function(g,v){this._content=g.text,this._version=v,this._lineOffsets=void 0},l.prototype.getLineOffsets=function(){if(this._lineOffsets===void 0){for(var g=[],v=this._content,d=!0,u=0;u<v.length;u++){d&&(g.push(u),d=!1);var x=v.charAt(u);d=x==="\r"||x===`
32
- `,x==="\r"&&u+1<v.length&&v.charAt(u+1)===`
33
- `&&u++}d&&v.length>0&&g.push(v.length),this._lineOffsets=g}return this._lineOffsets},l.prototype.positionAt=function(g){g=Math.max(Math.min(g,this._content.length),0);var v=this.getLineOffsets(),d=0,u=v.length;if(u===0)return s.create(0,g);for(;d<u;){var x=Math.floor((d+u)/2);v[x]>g?u=x:d=x+1}var w=d-1;return s.create(w,g-v[w])},l.prototype.offsetAt=function(g){var v=this.getLineOffsets();if(g.line>=v.length)return this._content.length;if(g.line<0)return 0;var d=v[g.line],u=g.line+1<v.length?v[g.line+1]:this._content.length;return Math.max(Math.min(d+g.character,u),d)},Object.defineProperty(l.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!1,configurable:!0}),l}(),b;(function(l){var g=Object.prototype.toString;function v(Q){return typeof Q<"u"}l.defined=v;function d(Q){return typeof Q>"u"}l.undefined=d;function u(Q){return Q===!0||Q===!1}l.boolean=u;function x(Q){return g.call(Q)==="[object String]"}l.string=x;function w(Q){return g.call(Q)==="[object Number]"}l.number=w;function G(Q,bn,Zi){return g.call(Q)==="[object Number]"&&bn<=Q&&Q<=Zi}l.numberRange=G;function xe(Q){return g.call(Q)==="[object Number]"&&-2147483648<=Q&&Q<=2147483647}l.integer=xe;function he(Q){return g.call(Q)==="[object Number]"&&0<=Q&&Q<=2147483647}l.uinteger=he;function At(Q){return g.call(Q)==="[object Function]"}l.func=At;function Nt(Q){return Q!==null&&typeof Q=="object"}l.objectLiteral=Nt;function lr(Q,bn){return Array.isArray(Q)&&Q.every(bn)}l.typedArray=lr})(b||(b={}))})});var It=$(Jr=>{"use strict";Object.defineProperty(Jr,"__esModule",{value:!0});Jr.ProtocolNotificationType=Jr.ProtocolNotificationType0=Jr.ProtocolRequestType=Jr.ProtocolRequestType0=Jr.RegistrationType=Jr.MessageDirection=void 0;var ia=io(),HN;(function(t){t.clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both"})(HN=Jr.MessageDirection||(Jr.MessageDirection={}));var Cg=class{constructor(e){this.method=e}};Jr.RegistrationType=Cg;var wg=class extends ia.RequestType0{constructor(e){super(e)}};Jr.ProtocolRequestType0=wg;var Dg=class extends ia.RequestType{constructor(e){super(e,ia.ParameterStructures.byName)}};Jr.ProtocolRequestType=Dg;var Eg=class extends ia.NotificationType0{constructor(e){super(e)}};Jr.ProtocolNotificationType0=Eg;var Pg=class extends ia.NotificationType{constructor(e){super(e,ia.ParameterStructures.byName)}};Jr.ProtocolNotificationType=Pg});var Xl=$(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.objectLiteral=Qt.typedArray=Qt.stringArray=Qt.array=Qt.func=Qt.error=Qt.number=Qt.string=Qt.boolean=void 0;function GN(t){return t===!0||t===!1}Qt.boolean=GN;function lb(t){return typeof t=="string"||t instanceof String}Qt.string=lb;function BN(t){return typeof t=="number"||t instanceof Number}Qt.number=BN;function KN(t){return t instanceof Error}Qt.error=KN;function zN(t){return typeof t=="function"}Qt.func=zN;function fb(t){return Array.isArray(t)}Qt.array=fb;function VN(t){return fb(t)&&t.every(e=>lb(e))}Qt.stringArray=VN;function XN(t,e){return Array.isArray(t)&&t.every(e)}Qt.typedArray=XN;function YN(t){return t!==null&&typeof t=="object"}Qt.objectLiteral=YN});var pb=$(Zc=>{"use strict";Object.defineProperty(Zc,"__esModule",{value:!0});Zc.ImplementationRequest=void 0;var db=It(),JN;(function(t){t.method="textDocument/implementation",t.messageDirection=db.MessageDirection.clientToServer,t.type=new db.ProtocolRequestType(t.method)})(JN=Zc.ImplementationRequest||(Zc.ImplementationRequest={}))});var hb=$(eu=>{"use strict";Object.defineProperty(eu,"__esModule",{value:!0});eu.TypeDefinitionRequest=void 0;var mb=It(),QN;(function(t){t.method="textDocument/typeDefinition",t.messageDirection=mb.MessageDirection.clientToServer,t.type=new mb.ProtocolRequestType(t.method)})(QN=eu.TypeDefinitionRequest||(eu.TypeDefinitionRequest={}))});var gb=$(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.DidChangeWorkspaceFoldersNotification=Io.WorkspaceFoldersRequest=void 0;var Yl=It(),ZN;(function(t){t.method="workspace/workspaceFolders",t.messageDirection=Yl.MessageDirection.serverToClient,t.type=new Yl.ProtocolRequestType0(t.method)})(ZN=Io.WorkspaceFoldersRequest||(Io.WorkspaceFoldersRequest={}));var eI;(function(t){t.method="workspace/didChangeWorkspaceFolders",t.messageDirection=Yl.MessageDirection.clientToServer,t.type=new Yl.ProtocolNotificationType(t.method)})(eI=Io.DidChangeWorkspaceFoldersNotification||(Io.DidChangeWorkspaceFoldersNotification={}))});var vb=$(tu=>{"use strict";Object.defineProperty(tu,"__esModule",{value:!0});tu.ConfigurationRequest=void 0;var yb=It(),tI;(function(t){t.method="workspace/configuration",t.messageDirection=yb.MessageDirection.serverToClient,t.type=new yb.ProtocolRequestType(t.method)})(tI=tu.ConfigurationRequest||(tu.ConfigurationRequest={}))});var Tb=$(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.ColorPresentationRequest=Oo.DocumentColorRequest=void 0;var Jl=It(),rI;(function(t){t.method="textDocument/documentColor",t.messageDirection=Jl.MessageDirection.clientToServer,t.type=new Jl.ProtocolRequestType(t.method)})(rI=Oo.DocumentColorRequest||(Oo.DocumentColorRequest={}));var nI;(function(t){t.method="textDocument/colorPresentation",t.messageDirection=Jl.MessageDirection.clientToServer,t.type=new Jl.ProtocolRequestType(t.method)})(nI=Oo.ColorPresentationRequest||(Oo.ColorPresentationRequest={}))});var bb=$(ru=>{"use strict";Object.defineProperty(ru,"__esModule",{value:!0});ru.FoldingRangeRequest=void 0;var Rb=It(),iI;(function(t){t.method="textDocument/foldingRange",t.messageDirection=Rb.MessageDirection.clientToServer,t.type=new Rb.ProtocolRequestType(t.method)})(iI=ru.FoldingRangeRequest||(ru.FoldingRangeRequest={}))});var _b=$(nu=>{"use strict";Object.defineProperty(nu,"__esModule",{value:!0});nu.DeclarationRequest=void 0;var xb=It(),oI;(function(t){t.method="textDocument/declaration",t.messageDirection=xb.MessageDirection.clientToServer,t.type=new xb.ProtocolRequestType(t.method)})(oI=nu.DeclarationRequest||(nu.DeclarationRequest={}))});var kb=$(iu=>{"use strict";Object.defineProperty(iu,"__esModule",{value:!0});iu.SelectionRangeRequest=void 0;var Sb=It(),sI;(function(t){t.method="textDocument/selectionRange",t.messageDirection=Sb.MessageDirection.clientToServer,t.type=new Sb.ProtocolRequestType(t.method)})(sI=iu.SelectionRangeRequest||(iu.SelectionRangeRequest={}))});var Cb=$(ti=>{"use strict";Object.defineProperty(ti,"__esModule",{value:!0});ti.WorkDoneProgressCancelNotification=ti.WorkDoneProgressCreateRequest=ti.WorkDoneProgress=void 0;var aI=io(),Ql=It(),cI;(function(t){t.type=new aI.ProgressType;function e(r){return r===t.type}t.is=e})(cI=ti.WorkDoneProgress||(ti.WorkDoneProgress={}));var uI;(function(t){t.method="window/workDoneProgress/create",t.messageDirection=Ql.MessageDirection.serverToClient,t.type=new Ql.ProtocolRequestType(t.method)})(uI=ti.WorkDoneProgressCreateRequest||(ti.WorkDoneProgressCreateRequest={}));var lI;(function(t){t.method="window/workDoneProgress/cancel",t.messageDirection=Ql.MessageDirection.clientToServer,t.type=new Ql.ProtocolNotificationType(t.method)})(lI=ti.WorkDoneProgressCancelNotification||(ti.WorkDoneProgressCancelNotification={}))});var wb=$(ri=>{"use strict";Object.defineProperty(ri,"__esModule",{value:!0});ri.CallHierarchyOutgoingCallsRequest=ri.CallHierarchyIncomingCallsRequest=ri.CallHierarchyPrepareRequest=void 0;var oa=It(),fI;(function(t){t.method="textDocument/prepareCallHierarchy",t.messageDirection=oa.MessageDirection.clientToServer,t.type=new oa.ProtocolRequestType(t.method)})(fI=ri.CallHierarchyPrepareRequest||(ri.CallHierarchyPrepareRequest={}));var dI;(function(t){t.method="callHierarchy/incomingCalls",t.messageDirection=oa.MessageDirection.clientToServer,t.type=new oa.ProtocolRequestType(t.method)})(dI=ri.CallHierarchyIncomingCallsRequest||(ri.CallHierarchyIncomingCallsRequest={}));var pI;(function(t){t.method="callHierarchy/outgoingCalls",t.messageDirection=oa.MessageDirection.clientToServer,t.type=new oa.ProtocolRequestType(t.method)})(pI=ri.CallHierarchyOutgoingCallsRequest||(ri.CallHierarchyOutgoingCallsRequest={}))});var Db=$(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.SemanticTokensRefreshRequest=Zt.SemanticTokensRangeRequest=Zt.SemanticTokensDeltaRequest=Zt.SemanticTokensRequest=Zt.SemanticTokensRegistrationType=Zt.TokenFormat=void 0;var oo=It(),mI;(function(t){t.Relative="relative"})(mI=Zt.TokenFormat||(Zt.TokenFormat={}));var Zl;(function(t){t.method="textDocument/semanticTokens",t.type=new oo.RegistrationType(t.method)})(Zl=Zt.SemanticTokensRegistrationType||(Zt.SemanticTokensRegistrationType={}));var hI;(function(t){t.method="textDocument/semanticTokens/full",t.messageDirection=oo.MessageDirection.clientToServer,t.type=new oo.ProtocolRequestType(t.method),t.registrationMethod=Zl.method})(hI=Zt.SemanticTokensRequest||(Zt.SemanticTokensRequest={}));var gI;(function(t){t.method="textDocument/semanticTokens/full/delta",t.messageDirection=oo.MessageDirection.clientToServer,t.type=new oo.ProtocolRequestType(t.method),t.registrationMethod=Zl.method})(gI=Zt.SemanticTokensDeltaRequest||(Zt.SemanticTokensDeltaRequest={}));var yI;(function(t){t.method="textDocument/semanticTokens/range",t.messageDirection=oo.MessageDirection.clientToServer,t.type=new oo.ProtocolRequestType(t.method),t.registrationMethod=Zl.method})(yI=Zt.SemanticTokensRangeRequest||(Zt.SemanticTokensRangeRequest={}));var vI;(function(t){t.method="workspace/semanticTokens/refresh",t.messageDirection=oo.MessageDirection.clientToServer,t.type=new oo.ProtocolRequestType0(t.method)})(vI=Zt.SemanticTokensRefreshRequest||(Zt.SemanticTokensRefreshRequest={}))});var Pb=$(ou=>{"use strict";Object.defineProperty(ou,"__esModule",{value:!0});ou.ShowDocumentRequest=void 0;var Eb=It(),TI;(function(t){t.method="window/showDocument",t.messageDirection=Eb.MessageDirection.serverToClient,t.type=new Eb.ProtocolRequestType(t.method)})(TI=ou.ShowDocumentRequest||(ou.ShowDocumentRequest={}))});var Nb=$(su=>{"use strict";Object.defineProperty(su,"__esModule",{value:!0});su.LinkedEditingRangeRequest=void 0;var Ab=It(),RI;(function(t){t.method="textDocument/linkedEditingRange",t.messageDirection=Ab.MessageDirection.clientToServer,t.type=new Ab.ProtocolRequestType(t.method)})(RI=su.LinkedEditingRangeRequest||(su.LinkedEditingRangeRequest={}))});var Ib=$(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.WillDeleteFilesRequest=Ot.DidDeleteFilesNotification=Ot.DidRenameFilesNotification=Ot.WillRenameFilesRequest=Ot.DidCreateFilesNotification=Ot.WillCreateFilesRequest=Ot.FileOperationPatternKind=void 0;var Ln=It(),bI;(function(t){t.file="file",t.folder="folder"})(bI=Ot.FileOperationPatternKind||(Ot.FileOperationPatternKind={}));var xI;(function(t){t.method="workspace/willCreateFiles",t.messageDirection=Ln.MessageDirection.clientToServer,t.type=new Ln.ProtocolRequestType(t.method)})(xI=Ot.WillCreateFilesRequest||(Ot.WillCreateFilesRequest={}));var _I;(function(t){t.method="workspace/didCreateFiles",t.messageDirection=Ln.MessageDirection.clientToServer,t.type=new Ln.ProtocolNotificationType(t.method)})(_I=Ot.DidCreateFilesNotification||(Ot.DidCreateFilesNotification={}));var SI;(function(t){t.method="workspace/willRenameFiles",t.messageDirection=Ln.MessageDirection.clientToServer,t.type=new Ln.ProtocolRequestType(t.method)})(SI=Ot.WillRenameFilesRequest||(Ot.WillRenameFilesRequest={}));var kI;(function(t){t.method="workspace/didRenameFiles",t.messageDirection=Ln.MessageDirection.clientToServer,t.type=new Ln.ProtocolNotificationType(t.method)})(kI=Ot.DidRenameFilesNotification||(Ot.DidRenameFilesNotification={}));var CI;(function(t){t.method="workspace/didDeleteFiles",t.messageDirection=Ln.MessageDirection.clientToServer,t.type=new Ln.ProtocolNotificationType(t.method)})(CI=Ot.DidDeleteFilesNotification||(Ot.DidDeleteFilesNotification={}));var wI;(function(t){t.method="workspace/willDeleteFiles",t.messageDirection=Ln.MessageDirection.clientToServer,t.type=new Ln.ProtocolRequestType(t.method)})(wI=Ot.WillDeleteFilesRequest||(Ot.WillDeleteFilesRequest={}))});var Lb=$(ni=>{"use strict";Object.defineProperty(ni,"__esModule",{value:!0});ni.MonikerRequest=ni.MonikerKind=ni.UniquenessLevel=void 0;var Ob=It(),DI;(function(t){t.document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global"})(DI=ni.UniquenessLevel||(ni.UniquenessLevel={}));var EI;(function(t){t.$import="import",t.$export="export",t.local="local"})(EI=ni.MonikerKind||(ni.MonikerKind={}));var PI;(function(t){t.method="textDocument/moniker",t.messageDirection=Ob.MessageDirection.clientToServer,t.type=new Ob.ProtocolRequestType(t.method)})(PI=ni.MonikerRequest||(ni.MonikerRequest={}))});var Mb=$(ii=>{"use strict";Object.defineProperty(ii,"__esModule",{value:!0});ii.TypeHierarchySubtypesRequest=ii.TypeHierarchySupertypesRequest=ii.TypeHierarchyPrepareRequest=void 0;var sa=It(),AI;(function(t){t.method="textDocument/prepareTypeHierarchy",t.messageDirection=sa.MessageDirection.clientToServer,t.type=new sa.ProtocolRequestType(t.method)})(AI=ii.TypeHierarchyPrepareRequest||(ii.TypeHierarchyPrepareRequest={}));var NI;(function(t){t.method="typeHierarchy/supertypes",t.messageDirection=sa.MessageDirection.clientToServer,t.type=new sa.ProtocolRequestType(t.method)})(NI=ii.TypeHierarchySupertypesRequest||(ii.TypeHierarchySupertypesRequest={}));var II;(function(t){t.method="typeHierarchy/subtypes",t.messageDirection=sa.MessageDirection.clientToServer,t.type=new sa.ProtocolRequestType(t.method)})(II=ii.TypeHierarchySubtypesRequest||(ii.TypeHierarchySubtypesRequest={}))});var $b=$(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.InlineValueRefreshRequest=Lo.InlineValueRequest=void 0;var ef=It(),OI;(function(t){t.method="textDocument/inlineValue",t.messageDirection=ef.MessageDirection.clientToServer,t.type=new ef.ProtocolRequestType(t.method)})(OI=Lo.InlineValueRequest||(Lo.InlineValueRequest={}));var LI;(function(t){t.method="workspace/inlineValue/refresh",t.messageDirection=ef.MessageDirection.clientToServer,t.type=new ef.ProtocolRequestType0(t.method)})(LI=Lo.InlineValueRefreshRequest||(Lo.InlineValueRefreshRequest={}))});var Fb=$(oi=>{"use strict";Object.defineProperty(oi,"__esModule",{value:!0});oi.InlayHintRefreshRequest=oi.InlayHintResolveRequest=oi.InlayHintRequest=void 0;var aa=It(),MI;(function(t){t.method="textDocument/inlayHint",t.messageDirection=aa.MessageDirection.clientToServer,t.type=new aa.ProtocolRequestType(t.method)})(MI=oi.InlayHintRequest||(oi.InlayHintRequest={}));var $I;(function(t){t.method="inlayHint/resolve",t.messageDirection=aa.MessageDirection.clientToServer,t.type=new aa.ProtocolRequestType(t.method)})($I=oi.InlayHintResolveRequest||(oi.InlayHintResolveRequest={}));var FI;(function(t){t.method="workspace/inlayHint/refresh",t.messageDirection=aa.MessageDirection.clientToServer,t.type=new aa.ProtocolRequestType0(t.method)})(FI=oi.InlayHintRefreshRequest||(oi.InlayHintRefreshRequest={}))});var jb=$(kr=>{"use strict";Object.defineProperty(kr,"__esModule",{value:!0});kr.DiagnosticRefreshRequest=kr.WorkspaceDiagnosticRequest=kr.DocumentDiagnosticRequest=kr.DocumentDiagnosticReportKind=kr.DiagnosticServerCancellationData=void 0;var qb=io(),qI=Xl(),ca=It(),jI;(function(t){function e(r){let n=r;return n&&qI.boolean(n.retriggerRequest)}t.is=e})(jI=kr.DiagnosticServerCancellationData||(kr.DiagnosticServerCancellationData={}));var UI;(function(t){t.Full="full",t.Unchanged="unchanged"})(UI=kr.DocumentDiagnosticReportKind||(kr.DocumentDiagnosticReportKind={}));var WI;(function(t){t.method="textDocument/diagnostic",t.messageDirection=ca.MessageDirection.clientToServer,t.type=new ca.ProtocolRequestType(t.method),t.partialResult=new qb.ProgressType})(WI=kr.DocumentDiagnosticRequest||(kr.DocumentDiagnosticRequest={}));var HI;(function(t){t.method="workspace/diagnostic",t.messageDirection=ca.MessageDirection.clientToServer,t.type=new ca.ProtocolRequestType(t.method),t.partialResult=new qb.ProgressType})(HI=kr.WorkspaceDiagnosticRequest||(kr.WorkspaceDiagnosticRequest={}));var GI;(function(t){t.method="workspace/diagnostic/refresh",t.messageDirection=ca.MessageDirection.clientToServer,t.type=new ca.ProtocolRequestType0(t.method)})(GI=kr.DiagnosticRefreshRequest||(kr.DiagnosticRefreshRequest={}))});var Hb=$(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.DidCloseNotebookDocumentNotification=qe.DidSaveNotebookDocumentNotification=qe.DidChangeNotebookDocumentNotification=qe.NotebookCellArrayChange=qe.DidOpenNotebookDocumentNotification=qe.NotebookDocumentSyncRegistrationType=qe.NotebookDocument=qe.NotebookCell=qe.ExecutionSummary=qe.NotebookCellKind=void 0;var au=Rs(),si=Xl(),Ci=It(),Ub;(function(t){t.Markup=1,t.Code=2;function e(r){return r===1||r===2}t.is=e})(Ub=qe.NotebookCellKind||(qe.NotebookCellKind={}));var Wb;(function(t){function e(i,o){let s={executionOrder:i};return(o===!0||o===!1)&&(s.success=o),s}t.create=e;function r(i){let o=i;return si.objectLiteral(o)&&au.uinteger.is(o.executionOrder)&&(o.success===void 0||si.boolean(o.success))}t.is=r;function n(i,o){return i===o?!0:i==null||o===null||o===void 0?!1:i.executionOrder===o.executionOrder&&i.success===o.success}t.equals=n})(Wb=qe.ExecutionSummary||(qe.ExecutionSummary={}));var Ag;(function(t){function e(o,s){return{kind:o,document:s}}t.create=e;function r(o){let s=o;return si.objectLiteral(s)&&Ub.is(s.kind)&&au.DocumentUri.is(s.document)&&(s.metadata===void 0||si.objectLiteral(s.metadata))}t.is=r;function n(o,s){let a=new Set;return o.document!==s.document&&a.add("document"),o.kind!==s.kind&&a.add("kind"),o.executionSummary!==s.executionSummary&&a.add("executionSummary"),(o.metadata!==void 0||s.metadata!==void 0)&&!i(o.metadata,s.metadata)&&a.add("metadata"),(o.executionSummary!==void 0||s.executionSummary!==void 0)&&!Wb.equals(o.executionSummary,s.executionSummary)&&a.add("executionSummary"),a}t.diff=n;function i(o,s){if(o===s)return!0;if(o==null||s===null||s===void 0||typeof o!=typeof s||typeof o!="object")return!1;let a=Array.isArray(o),c=Array.isArray(s);if(a!==c)return!1;if(a&&c){if(o.length!==s.length)return!1;for(let f=0;f<o.length;f++)if(!i(o[f],s[f]))return!1}if(si.objectLiteral(o)&&si.objectLiteral(s)){let f=Object.keys(o),p=Object.keys(s);if(f.length!==p.length||(f.sort(),p.sort(),!i(f,p)))return!1;for(let m=0;m<f.length;m++){let T=f[m];if(!i(o[T],s[T]))return!1}}return!0}})(Ag=qe.NotebookCell||(qe.NotebookCell={}));var BI;(function(t){function e(n,i,o,s){return{uri:n,notebookType:i,version:o,cells:s}}t.create=e;function r(n){let i=n;return si.objectLiteral(i)&&si.string(i.uri)&&au.integer.is(i.version)&&si.typedArray(i.cells,Ag.is)}t.is=r})(BI=qe.NotebookDocument||(qe.NotebookDocument={}));var cu;(function(t){t.method="notebookDocument/sync",t.messageDirection=Ci.MessageDirection.clientToServer,t.type=new Ci.RegistrationType(t.method)})(cu=qe.NotebookDocumentSyncRegistrationType||(qe.NotebookDocumentSyncRegistrationType={}));var KI;(function(t){t.method="notebookDocument/didOpen",t.messageDirection=Ci.MessageDirection.clientToServer,t.type=new Ci.ProtocolNotificationType(t.method),t.registrationMethod=cu.method})(KI=qe.DidOpenNotebookDocumentNotification||(qe.DidOpenNotebookDocumentNotification={}));var zI;(function(t){function e(n){let i=n;return si.objectLiteral(i)&&au.uinteger.is(i.start)&&au.uinteger.is(i.deleteCount)&&(i.cells===void 0||si.typedArray(i.cells,Ag.is))}t.is=e;function r(n,i,o){let s={start:n,deleteCount:i};return o!==void 0&&(s.cells=o),s}t.create=r})(zI=qe.NotebookCellArrayChange||(qe.NotebookCellArrayChange={}));var VI;(function(t){t.method="notebookDocument/didChange",t.messageDirection=Ci.MessageDirection.clientToServer,t.type=new Ci.ProtocolNotificationType(t.method),t.registrationMethod=cu.method})(VI=qe.DidChangeNotebookDocumentNotification||(qe.DidChangeNotebookDocumentNotification={}));var XI;(function(t){t.method="notebookDocument/didSave",t.messageDirection=Ci.MessageDirection.clientToServer,t.type=new Ci.ProtocolNotificationType(t.method),t.registrationMethod=cu.method})(XI=qe.DidSaveNotebookDocumentNotification||(qe.DidSaveNotebookDocumentNotification={}));var YI;(function(t){t.method="notebookDocument/didClose",t.messageDirection=Ci.MessageDirection.clientToServer,t.type=new Ci.ProtocolNotificationType(t.method),t.registrationMethod=cu.method})(YI=qe.DidCloseNotebookDocumentNotification||(qe.DidCloseNotebookDocumentNotification={}))});var Qb=$(S=>{"use strict";Object.defineProperty(S,"__esModule",{value:!0});S.WorkspaceSymbolRequest=S.CodeActionResolveRequest=S.CodeActionRequest=S.DocumentSymbolRequest=S.DocumentHighlightRequest=S.ReferencesRequest=S.DefinitionRequest=S.SignatureHelpRequest=S.SignatureHelpTriggerKind=S.HoverRequest=S.CompletionResolveRequest=S.CompletionRequest=S.CompletionTriggerKind=S.PublishDiagnosticsNotification=S.WatchKind=S.RelativePattern=S.FileChangeType=S.DidChangeWatchedFilesNotification=S.WillSaveTextDocumentWaitUntilRequest=S.WillSaveTextDocumentNotification=S.TextDocumentSaveReason=S.DidSaveTextDocumentNotification=S.DidCloseTextDocumentNotification=S.DidChangeTextDocumentNotification=S.TextDocumentContentChangeEvent=S.DidOpenTextDocumentNotification=S.TextDocumentSyncKind=S.TelemetryEventNotification=S.LogMessageNotification=S.ShowMessageRequest=S.ShowMessageNotification=S.MessageType=S.DidChangeConfigurationNotification=S.ExitNotification=S.ShutdownRequest=S.InitializedNotification=S.InitializeErrorCodes=S.InitializeRequest=S.WorkDoneProgressOptions=S.TextDocumentRegistrationOptions=S.StaticRegistrationOptions=S.PositionEncodingKind=S.FailureHandlingKind=S.ResourceOperationKind=S.UnregistrationRequest=S.RegistrationRequest=S.DocumentSelector=S.NotebookCellTextDocumentFilter=S.NotebookDocumentFilter=S.TextDocumentFilter=void 0;S.TypeHierarchySubtypesRequest=S.TypeHierarchyPrepareRequest=S.MonikerRequest=S.MonikerKind=S.UniquenessLevel=S.WillDeleteFilesRequest=S.DidDeleteFilesNotification=S.WillRenameFilesRequest=S.DidRenameFilesNotification=S.WillCreateFilesRequest=S.DidCreateFilesNotification=S.FileOperationPatternKind=S.LinkedEditingRangeRequest=S.ShowDocumentRequest=S.SemanticTokensRegistrationType=S.SemanticTokensRefreshRequest=S.SemanticTokensRangeRequest=S.SemanticTokensDeltaRequest=S.SemanticTokensRequest=S.TokenFormat=S.CallHierarchyPrepareRequest=S.CallHierarchyOutgoingCallsRequest=S.CallHierarchyIncomingCallsRequest=S.WorkDoneProgressCancelNotification=S.WorkDoneProgressCreateRequest=S.WorkDoneProgress=S.SelectionRangeRequest=S.DeclarationRequest=S.FoldingRangeRequest=S.ColorPresentationRequest=S.DocumentColorRequest=S.ConfigurationRequest=S.DidChangeWorkspaceFoldersNotification=S.WorkspaceFoldersRequest=S.TypeDefinitionRequest=S.ImplementationRequest=S.ApplyWorkspaceEditRequest=S.ExecuteCommandRequest=S.PrepareRenameRequest=S.RenameRequest=S.PrepareSupportDefaultBehavior=S.DocumentOnTypeFormattingRequest=S.DocumentRangeFormattingRequest=S.DocumentFormattingRequest=S.DocumentLinkResolveRequest=S.DocumentLinkRequest=S.CodeLensRefreshRequest=S.CodeLensResolveRequest=S.CodeLensRequest=S.WorkspaceSymbolResolveRequest=void 0;S.DidCloseNotebookDocumentNotification=S.DidSaveNotebookDocumentNotification=S.DidChangeNotebookDocumentNotification=S.NotebookCellArrayChange=S.DidOpenNotebookDocumentNotification=S.NotebookDocumentSyncRegistrationType=S.NotebookDocument=S.NotebookCell=S.ExecutionSummary=S.NotebookCellKind=S.DiagnosticRefreshRequest=S.WorkspaceDiagnosticRequest=S.DocumentDiagnosticRequest=S.DocumentDiagnosticReportKind=S.DiagnosticServerCancellationData=S.InlayHintRefreshRequest=S.InlayHintResolveRequest=S.InlayHintRequest=S.InlineValueRefreshRequest=S.InlineValueRequest=S.TypeHierarchySupertypesRequest=void 0;var B=It(),Gb=Rs(),Cr=Xl(),JI=pb();Object.defineProperty(S,"ImplementationRequest",{enumerable:!0,get:function(){return JI.ImplementationRequest}});var QI=hb();Object.defineProperty(S,"TypeDefinitionRequest",{enumerable:!0,get:function(){return QI.TypeDefinitionRequest}});var Bb=gb();Object.defineProperty(S,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return Bb.WorkspaceFoldersRequest}});Object.defineProperty(S,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return Bb.DidChangeWorkspaceFoldersNotification}});var ZI=vb();Object.defineProperty(S,"ConfigurationRequest",{enumerable:!0,get:function(){return ZI.ConfigurationRequest}});var Kb=Tb();Object.defineProperty(S,"DocumentColorRequest",{enumerable:!0,get:function(){return Kb.DocumentColorRequest}});Object.defineProperty(S,"ColorPresentationRequest",{enumerable:!0,get:function(){return Kb.ColorPresentationRequest}});var e0=bb();Object.defineProperty(S,"FoldingRangeRequest",{enumerable:!0,get:function(){return e0.FoldingRangeRequest}});var t0=_b();Object.defineProperty(S,"DeclarationRequest",{enumerable:!0,get:function(){return t0.DeclarationRequest}});var r0=kb();Object.defineProperty(S,"SelectionRangeRequest",{enumerable:!0,get:function(){return r0.SelectionRangeRequest}});var Ng=Cb();Object.defineProperty(S,"WorkDoneProgress",{enumerable:!0,get:function(){return Ng.WorkDoneProgress}});Object.defineProperty(S,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return Ng.WorkDoneProgressCreateRequest}});Object.defineProperty(S,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return Ng.WorkDoneProgressCancelNotification}});var Ig=wb();Object.defineProperty(S,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return Ig.CallHierarchyIncomingCallsRequest}});Object.defineProperty(S,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return Ig.CallHierarchyOutgoingCallsRequest}});Object.defineProperty(S,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return Ig.CallHierarchyPrepareRequest}});var ua=Db();Object.defineProperty(S,"TokenFormat",{enumerable:!0,get:function(){return ua.TokenFormat}});Object.defineProperty(S,"SemanticTokensRequest",{enumerable:!0,get:function(){return ua.SemanticTokensRequest}});Object.defineProperty(S,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return ua.SemanticTokensDeltaRequest}});Object.defineProperty(S,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return ua.SemanticTokensRangeRequest}});Object.defineProperty(S,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return ua.SemanticTokensRefreshRequest}});Object.defineProperty(S,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return ua.SemanticTokensRegistrationType}});var n0=Pb();Object.defineProperty(S,"ShowDocumentRequest",{enumerable:!0,get:function(){return n0.ShowDocumentRequest}});var i0=Nb();Object.defineProperty(S,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return i0.LinkedEditingRangeRequest}});var bs=Ib();Object.defineProperty(S,"FileOperationPatternKind",{enumerable:!0,get:function(){return bs.FileOperationPatternKind}});Object.defineProperty(S,"DidCreateFilesNotification",{enumerable:!0,get:function(){return bs.DidCreateFilesNotification}});Object.defineProperty(S,"WillCreateFilesRequest",{enumerable:!0,get:function(){return bs.WillCreateFilesRequest}});Object.defineProperty(S,"DidRenameFilesNotification",{enumerable:!0,get:function(){return bs.DidRenameFilesNotification}});Object.defineProperty(S,"WillRenameFilesRequest",{enumerable:!0,get:function(){return bs.WillRenameFilesRequest}});Object.defineProperty(S,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return bs.DidDeleteFilesNotification}});Object.defineProperty(S,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return bs.WillDeleteFilesRequest}});var Og=Lb();Object.defineProperty(S,"UniquenessLevel",{enumerable:!0,get:function(){return Og.UniquenessLevel}});Object.defineProperty(S,"MonikerKind",{enumerable:!0,get:function(){return Og.MonikerKind}});Object.defineProperty(S,"MonikerRequest",{enumerable:!0,get:function(){return Og.MonikerRequest}});var Lg=Mb();Object.defineProperty(S,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return Lg.TypeHierarchyPrepareRequest}});Object.defineProperty(S,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return Lg.TypeHierarchySubtypesRequest}});Object.defineProperty(S,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return Lg.TypeHierarchySupertypesRequest}});var zb=$b();Object.defineProperty(S,"InlineValueRequest",{enumerable:!0,get:function(){return zb.InlineValueRequest}});Object.defineProperty(S,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return zb.InlineValueRefreshRequest}});var Mg=Fb();Object.defineProperty(S,"InlayHintRequest",{enumerable:!0,get:function(){return Mg.InlayHintRequest}});Object.defineProperty(S,"InlayHintResolveRequest",{enumerable:!0,get:function(){return Mg.InlayHintResolveRequest}});Object.defineProperty(S,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return Mg.InlayHintRefreshRequest}});var uu=jb();Object.defineProperty(S,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return uu.DiagnosticServerCancellationData}});Object.defineProperty(S,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return uu.DocumentDiagnosticReportKind}});Object.defineProperty(S,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return uu.DocumentDiagnosticRequest}});Object.defineProperty(S,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return uu.WorkspaceDiagnosticRequest}});Object.defineProperty(S,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return uu.DiagnosticRefreshRequest}});var wi=Hb();Object.defineProperty(S,"NotebookCellKind",{enumerable:!0,get:function(){return wi.NotebookCellKind}});Object.defineProperty(S,"ExecutionSummary",{enumerable:!0,get:function(){return wi.ExecutionSummary}});Object.defineProperty(S,"NotebookCell",{enumerable:!0,get:function(){return wi.NotebookCell}});Object.defineProperty(S,"NotebookDocument",{enumerable:!0,get:function(){return wi.NotebookDocument}});Object.defineProperty(S,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return wi.NotebookDocumentSyncRegistrationType}});Object.defineProperty(S,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return wi.DidOpenNotebookDocumentNotification}});Object.defineProperty(S,"NotebookCellArrayChange",{enumerable:!0,get:function(){return wi.NotebookCellArrayChange}});Object.defineProperty(S,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return wi.DidChangeNotebookDocumentNotification}});Object.defineProperty(S,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return wi.DidSaveNotebookDocumentNotification}});Object.defineProperty(S,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return wi.DidCloseNotebookDocumentNotification}});var Vb;(function(t){function e(r){let n=r;return Cr.string(n.language)||Cr.string(n.scheme)||Cr.string(n.pattern)}t.is=e})(Vb=S.TextDocumentFilter||(S.TextDocumentFilter={}));var Xb;(function(t){function e(r){let n=r;return Cr.objectLiteral(n)&&(Cr.string(n.notebookType)||Cr.string(n.scheme)||Cr.string(n.pattern))}t.is=e})(Xb=S.NotebookDocumentFilter||(S.NotebookDocumentFilter={}));var Yb;(function(t){function e(r){let n=r;return Cr.objectLiteral(n)&&(Cr.string(n.notebook)||Xb.is(n.notebook))&&(n.language===void 0||Cr.string(n.language))}t.is=e})(Yb=S.NotebookCellTextDocumentFilter||(S.NotebookCellTextDocumentFilter={}));var Jb;(function(t){function e(r){if(!Array.isArray(r))return!1;for(let n of r)if(!Cr.string(n)&&!Vb.is(n)&&!Yb.is(n))return!1;return!0}t.is=e})(Jb=S.DocumentSelector||(S.DocumentSelector={}));var o0;(function(t){t.method="client/registerCapability",t.messageDirection=B.MessageDirection.serverToClient,t.type=new B.ProtocolRequestType(t.method)})(o0=S.RegistrationRequest||(S.RegistrationRequest={}));var s0;(function(t){t.method="client/unregisterCapability",t.messageDirection=B.MessageDirection.serverToClient,t.type=new B.ProtocolRequestType(t.method)})(s0=S.UnregistrationRequest||(S.UnregistrationRequest={}));var a0;(function(t){t.Create="create",t.Rename="rename",t.Delete="delete"})(a0=S.ResourceOperationKind||(S.ResourceOperationKind={}));var c0;(function(t){t.Abort="abort",t.Transactional="transactional",t.TextOnlyTransactional="textOnlyTransactional",t.Undo="undo"})(c0=S.FailureHandlingKind||(S.FailureHandlingKind={}));var u0;(function(t){t.UTF8="utf-8",t.UTF16="utf-16",t.UTF32="utf-32"})(u0=S.PositionEncodingKind||(S.PositionEncodingKind={}));var l0;(function(t){function e(r){let n=r;return n&&Cr.string(n.id)&&n.id.length>0}t.hasId=e})(l0=S.StaticRegistrationOptions||(S.StaticRegistrationOptions={}));var f0;(function(t){function e(r){let n=r;return n&&(n.documentSelector===null||Jb.is(n.documentSelector))}t.is=e})(f0=S.TextDocumentRegistrationOptions||(S.TextDocumentRegistrationOptions={}));var d0;(function(t){function e(n){let i=n;return Cr.objectLiteral(i)&&(i.workDoneProgress===void 0||Cr.boolean(i.workDoneProgress))}t.is=e;function r(n){let i=n;return i&&Cr.boolean(i.workDoneProgress)}t.hasWorkDoneProgress=r})(d0=S.WorkDoneProgressOptions||(S.WorkDoneProgressOptions={}));var p0;(function(t){t.method="initialize",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(p0=S.InitializeRequest||(S.InitializeRequest={}));var m0;(function(t){t.unknownProtocolVersion=1})(m0=S.InitializeErrorCodes||(S.InitializeErrorCodes={}));var h0;(function(t){t.method="initialized",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolNotificationType(t.method)})(h0=S.InitializedNotification||(S.InitializedNotification={}));var g0;(function(t){t.method="shutdown",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType0(t.method)})(g0=S.ShutdownRequest||(S.ShutdownRequest={}));var y0;(function(t){t.method="exit",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolNotificationType0(t.method)})(y0=S.ExitNotification||(S.ExitNotification={}));var v0;(function(t){t.method="workspace/didChangeConfiguration",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolNotificationType(t.method)})(v0=S.DidChangeConfigurationNotification||(S.DidChangeConfigurationNotification={}));var T0;(function(t){t.Error=1,t.Warning=2,t.Info=3,t.Log=4})(T0=S.MessageType||(S.MessageType={}));var R0;(function(t){t.method="window/showMessage",t.messageDirection=B.MessageDirection.serverToClient,t.type=new B.ProtocolNotificationType(t.method)})(R0=S.ShowMessageNotification||(S.ShowMessageNotification={}));var b0;(function(t){t.method="window/showMessageRequest",t.messageDirection=B.MessageDirection.serverToClient,t.type=new B.ProtocolRequestType(t.method)})(b0=S.ShowMessageRequest||(S.ShowMessageRequest={}));var x0;(function(t){t.method="window/logMessage",t.messageDirection=B.MessageDirection.serverToClient,t.type=new B.ProtocolNotificationType(t.method)})(x0=S.LogMessageNotification||(S.LogMessageNotification={}));var _0;(function(t){t.method="telemetry/event",t.messageDirection=B.MessageDirection.serverToClient,t.type=new B.ProtocolNotificationType(t.method)})(_0=S.TelemetryEventNotification||(S.TelemetryEventNotification={}));var S0;(function(t){t.None=0,t.Full=1,t.Incremental=2})(S0=S.TextDocumentSyncKind||(S.TextDocumentSyncKind={}));var k0;(function(t){t.method="textDocument/didOpen",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolNotificationType(t.method)})(k0=S.DidOpenTextDocumentNotification||(S.DidOpenTextDocumentNotification={}));var C0;(function(t){function e(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range!==void 0&&(i.rangeLength===void 0||typeof i.rangeLength=="number")}t.isIncremental=e;function r(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range===void 0&&i.rangeLength===void 0}t.isFull=r})(C0=S.TextDocumentContentChangeEvent||(S.TextDocumentContentChangeEvent={}));var w0;(function(t){t.method="textDocument/didChange",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolNotificationType(t.method)})(w0=S.DidChangeTextDocumentNotification||(S.DidChangeTextDocumentNotification={}));var D0;(function(t){t.method="textDocument/didClose",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolNotificationType(t.method)})(D0=S.DidCloseTextDocumentNotification||(S.DidCloseTextDocumentNotification={}));var E0;(function(t){t.method="textDocument/didSave",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolNotificationType(t.method)})(E0=S.DidSaveTextDocumentNotification||(S.DidSaveTextDocumentNotification={}));var P0;(function(t){t.Manual=1,t.AfterDelay=2,t.FocusOut=3})(P0=S.TextDocumentSaveReason||(S.TextDocumentSaveReason={}));var A0;(function(t){t.method="textDocument/willSave",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolNotificationType(t.method)})(A0=S.WillSaveTextDocumentNotification||(S.WillSaveTextDocumentNotification={}));var N0;(function(t){t.method="textDocument/willSaveWaitUntil",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(N0=S.WillSaveTextDocumentWaitUntilRequest||(S.WillSaveTextDocumentWaitUntilRequest={}));var I0;(function(t){t.method="workspace/didChangeWatchedFiles",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolNotificationType(t.method)})(I0=S.DidChangeWatchedFilesNotification||(S.DidChangeWatchedFilesNotification={}));var O0;(function(t){t.Created=1,t.Changed=2,t.Deleted=3})(O0=S.FileChangeType||(S.FileChangeType={}));var L0;(function(t){function e(r){let n=r;return Cr.objectLiteral(n)&&(Gb.URI.is(n.baseUri)||Gb.WorkspaceFolder.is(n.baseUri))&&Cr.string(n.pattern)}t.is=e})(L0=S.RelativePattern||(S.RelativePattern={}));var M0;(function(t){t.Create=1,t.Change=2,t.Delete=4})(M0=S.WatchKind||(S.WatchKind={}));var $0;(function(t){t.method="textDocument/publishDiagnostics",t.messageDirection=B.MessageDirection.serverToClient,t.type=new B.ProtocolNotificationType(t.method)})($0=S.PublishDiagnosticsNotification||(S.PublishDiagnosticsNotification={}));var F0;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.TriggerForIncompleteCompletions=3})(F0=S.CompletionTriggerKind||(S.CompletionTriggerKind={}));var q0;(function(t){t.method="textDocument/completion",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(q0=S.CompletionRequest||(S.CompletionRequest={}));var j0;(function(t){t.method="completionItem/resolve",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(j0=S.CompletionResolveRequest||(S.CompletionResolveRequest={}));var U0;(function(t){t.method="textDocument/hover",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(U0=S.HoverRequest||(S.HoverRequest={}));var W0;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.ContentChange=3})(W0=S.SignatureHelpTriggerKind||(S.SignatureHelpTriggerKind={}));var H0;(function(t){t.method="textDocument/signatureHelp",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(H0=S.SignatureHelpRequest||(S.SignatureHelpRequest={}));var G0;(function(t){t.method="textDocument/definition",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(G0=S.DefinitionRequest||(S.DefinitionRequest={}));var B0;(function(t){t.method="textDocument/references",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(B0=S.ReferencesRequest||(S.ReferencesRequest={}));var K0;(function(t){t.method="textDocument/documentHighlight",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(K0=S.DocumentHighlightRequest||(S.DocumentHighlightRequest={}));var z0;(function(t){t.method="textDocument/documentSymbol",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(z0=S.DocumentSymbolRequest||(S.DocumentSymbolRequest={}));var V0;(function(t){t.method="textDocument/codeAction",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(V0=S.CodeActionRequest||(S.CodeActionRequest={}));var X0;(function(t){t.method="codeAction/resolve",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(X0=S.CodeActionResolveRequest||(S.CodeActionResolveRequest={}));var Y0;(function(t){t.method="workspace/symbol",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(Y0=S.WorkspaceSymbolRequest||(S.WorkspaceSymbolRequest={}));var J0;(function(t){t.method="workspaceSymbol/resolve",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(J0=S.WorkspaceSymbolResolveRequest||(S.WorkspaceSymbolResolveRequest={}));var Q0;(function(t){t.method="textDocument/codeLens",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(Q0=S.CodeLensRequest||(S.CodeLensRequest={}));var Z0;(function(t){t.method="codeLens/resolve",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(Z0=S.CodeLensResolveRequest||(S.CodeLensResolveRequest={}));var eO;(function(t){t.method="workspace/codeLens/refresh",t.messageDirection=B.MessageDirection.serverToClient,t.type=new B.ProtocolRequestType0(t.method)})(eO=S.CodeLensRefreshRequest||(S.CodeLensRefreshRequest={}));var tO;(function(t){t.method="textDocument/documentLink",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(tO=S.DocumentLinkRequest||(S.DocumentLinkRequest={}));var rO;(function(t){t.method="documentLink/resolve",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(rO=S.DocumentLinkResolveRequest||(S.DocumentLinkResolveRequest={}));var nO;(function(t){t.method="textDocument/formatting",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(nO=S.DocumentFormattingRequest||(S.DocumentFormattingRequest={}));var iO;(function(t){t.method="textDocument/rangeFormatting",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(iO=S.DocumentRangeFormattingRequest||(S.DocumentRangeFormattingRequest={}));var oO;(function(t){t.method="textDocument/onTypeFormatting",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(oO=S.DocumentOnTypeFormattingRequest||(S.DocumentOnTypeFormattingRequest={}));var sO;(function(t){t.Identifier=1})(sO=S.PrepareSupportDefaultBehavior||(S.PrepareSupportDefaultBehavior={}));var aO;(function(t){t.method="textDocument/rename",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(aO=S.RenameRequest||(S.RenameRequest={}));var cO;(function(t){t.method="textDocument/prepareRename",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(cO=S.PrepareRenameRequest||(S.PrepareRenameRequest={}));var uO;(function(t){t.method="workspace/executeCommand",t.messageDirection=B.MessageDirection.clientToServer,t.type=new B.ProtocolRequestType(t.method)})(uO=S.ExecuteCommandRequest||(S.ExecuteCommandRequest={}));var lO;(function(t){t.method="workspace/applyEdit",t.messageDirection=B.MessageDirection.serverToClient,t.type=new B.ProtocolRequestType("workspace/applyEdit")})(lO=S.ApplyWorkspaceEditRequest||(S.ApplyWorkspaceEditRequest={}))});var ex=$(tf=>{"use strict";Object.defineProperty(tf,"__esModule",{value:!0});tf.createProtocolConnection=void 0;var Zb=io();function fO(t,e,r,n){return Zb.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,Zb.createMessageConnection)(t,e,r,n)}tf.createProtocolConnection=fO});var tx=$(Qr=>{"use strict";var dO=Qr&&Qr.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),rf=Qr&&Qr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&dO(e,t,r)};Object.defineProperty(Qr,"__esModule",{value:!0});Qr.LSPErrorCodes=Qr.createProtocolConnection=void 0;rf(io(),Qr);rf(Rs(),Qr);rf(It(),Qr);rf(Qb(),Qr);var pO=ex();Object.defineProperty(Qr,"createProtocolConnection",{enumerable:!0,get:function(){return pO.createProtocolConnection}});var mO;(function(t){t.lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800})(mO=Qr.LSPErrorCodes||(Qr.LSPErrorCodes={}))});var er=$(Di=>{"use strict";var hO=Di&&Di.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),rx=Di&&Di.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&hO(e,t,r)};Object.defineProperty(Di,"__esModule",{value:!0});Di.createProtocolConnection=void 0;var gO=kg();rx(kg(),Di);rx(tx(),Di);function yO(t,e,r,n){return(0,gO.createMessageConnection)(t,e,r,n)}Di.createProtocolConnection=yO});var Fg=$(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.SemanticTokensBuilder=Mo.SemanticTokensDiff=Mo.SemanticTokensFeature=void 0;var nf=er(),vO=t=>class extends t{get semanticTokens(){return{refresh:()=>this.connection.sendRequest(nf.SemanticTokensRefreshRequest.type),on:e=>{let r=nf.SemanticTokensRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))},onDelta:e=>{let r=nf.SemanticTokensDeltaRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))},onRange:e=>{let r=nf.SemanticTokensRangeRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))}}}};Mo.SemanticTokensFeature=vO;var of=class{constructor(e,r){this.originalSequence=e,this.modifiedSequence=r}computeDiff(){let e=this.originalSequence.length,r=this.modifiedSequence.length,n=0;for(;n<r&&n<e&&this.originalSequence[n]===this.modifiedSequence[n];)n++;if(n<r&&n<e){let i=e-1,o=r-1;for(;i>=n&&o>=n&&this.originalSequence[i]===this.modifiedSequence[o];)i--,o--;(i<n||o<n)&&(i++,o++);let s=i-n+1,a=this.modifiedSequence.slice(n,o+1);return a.length===1&&a[0]===this.originalSequence[i]?[{start:n,deleteCount:s-1}]:[{start:n,deleteCount:s,data:a}]}else return n<r?[{start:n,deleteCount:0,data:this.modifiedSequence.slice(n)}]:n<e?[{start:n,deleteCount:e-n}]:[]}};Mo.SemanticTokensDiff=of;var $g=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(e,r,n,i,o){let s=e,a=r;this._dataLen>0&&(s-=this._prevLine,s===0&&(a-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=a,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=o,this._prevLine=e,this._prevChar=r}get id(){return this._id.toString()}previousResult(e){this.id===e&&(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 of(this._prevData,this._data).computeDiff()}:this.build()}};Mo.SemanticTokensBuilder=$g});var jg=$(sf=>{"use strict";Object.defineProperty(sf,"__esModule",{value:!0});sf.TextDocuments=void 0;var xs=er(),qg=class{constructor(e){this._configuration=e,this._syncedDocuments=new Map,this._onDidChangeContent=new xs.Emitter,this._onDidOpen=new xs.Emitter,this._onDidClose=new xs.Emitter,this._onDidSave=new xs.Emitter,this._onWillSave=new xs.Emitter}get onDidOpen(){return this._onDidOpen.event}get onDidChangeContent(){return this._onDidChangeContent.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._syncedDocuments.get(e)}all(){return Array.from(this._syncedDocuments.values())}keys(){return Array.from(this._syncedDocuments.keys())}listen(e){e.__textDocumentSync=xs.TextDocumentSyncKind.Incremental;let r=[];return r.push(e.onDidOpenTextDocument(n=>{let i=n.textDocument,o=this._configuration.create(i.uri,i.languageId,i.version,i.text);this._syncedDocuments.set(i.uri,o);let s=Object.freeze({document:o});this._onDidOpen.fire(s),this._onDidChangeContent.fire(s)})),r.push(e.onDidChangeTextDocument(n=>{let i=n.textDocument,o=n.contentChanges;if(o.length===0)return;let{version:s}=i;if(s==null)throw new Error(`Received document change event for ${i.uri} without valid version identifier`);let a=this._syncedDocuments.get(i.uri);a!==void 0&&(a=this._configuration.update(a,o,s),this._syncedDocuments.set(i.uri,a),this._onDidChangeContent.fire(Object.freeze({document:a})))})),r.push(e.onDidCloseTextDocument(n=>{let i=this._syncedDocuments.get(n.textDocument.uri);i!==void 0&&(this._syncedDocuments.delete(n.textDocument.uri),this._onDidClose.fire(Object.freeze({document:i})))})),r.push(e.onWillSaveTextDocument(n=>{let i=this._syncedDocuments.get(n.textDocument.uri);i!==void 0&&this._onWillSave.fire(Object.freeze({document:i,reason:n.reason}))})),r.push(e.onWillSaveTextDocumentWaitUntil((n,i)=>{let o=this._syncedDocuments.get(n.textDocument.uri);return o!==void 0&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:o,reason:n.reason}),i):[]})),r.push(e.onDidSaveTextDocument(n=>{let i=this._syncedDocuments.get(n.textDocument.uri);i!==void 0&&this._onDidSave.fire(Object.freeze({document:i}))})),xs.Disposable.create(()=>{r.forEach(n=>n.dispose())})}};sf.TextDocuments=qg});var Wg=$(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.NotebookDocuments=la.NotebookSyncFeature=void 0;var Mn=er(),nx=jg(),TO=t=>class extends t{get synchronization(){return{onDidOpenNotebookDocument:e=>this.connection.onNotification(Mn.DidOpenNotebookDocumentNotification.type,r=>{e(r)}),onDidChangeNotebookDocument:e=>this.connection.onNotification(Mn.DidChangeNotebookDocumentNotification.type,r=>{e(r)}),onDidSaveNotebookDocument:e=>this.connection.onNotification(Mn.DidSaveNotebookDocumentNotification.type,r=>{e(r)}),onDidCloseNotebookDocument:e=>this.connection.onNotification(Mn.DidCloseNotebookDocumentNotification.type,r=>{e(r)})}}};la.NotebookSyncFeature=TO;var af=class t{onDidOpenTextDocument(e){return this.openHandler=e,Mn.Disposable.create(()=>{this.openHandler=void 0})}openTextDocument(e){this.openHandler&&this.openHandler(e)}onDidChangeTextDocument(e){return this.changeHandler=e,Mn.Disposable.create(()=>{this.changeHandler=e})}changeTextDocument(e){this.changeHandler&&this.changeHandler(e)}onDidCloseTextDocument(e){return this.closeHandler=e,Mn.Disposable.create(()=>{this.closeHandler=void 0})}closeTextDocument(e){this.closeHandler&&this.closeHandler(e)}onWillSaveTextDocument(){return t.NULL_DISPOSE}onWillSaveTextDocumentWaitUntil(){return t.NULL_DISPOSE}onDidSaveTextDocument(){return t.NULL_DISPOSE}};af.NULL_DISPOSE=Object.freeze({dispose:()=>{}});var Ug=class{constructor(e){e instanceof nx.TextDocuments?this._cellTextDocuments=e:this._cellTextDocuments=new nx.TextDocuments(e),this.notebookDocuments=new Map,this.notebookCellMap=new Map,this._onDidOpen=new Mn.Emitter,this._onDidChange=new Mn.Emitter,this._onDidSave=new Mn.Emitter,this._onDidClose=new Mn.Emitter}get cellTextDocuments(){return this._cellTextDocuments}getCellTextDocument(e){return this._cellTextDocuments.get(e.document)}getNotebookDocument(e){return this.notebookDocuments.get(e)}getNotebookCell(e){let r=this.notebookCellMap.get(e);return r&&r[0]}findNotebookDocumentForCell(e){let r=typeof e=="string"?e:e.document,n=this.notebookCellMap.get(r);return n&&n[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(e){let r=new af,n=[];return n.push(this.cellTextDocuments.listen(r)),n.push(e.notebooks.synchronization.onDidOpenNotebookDocument(i=>{this.notebookDocuments.set(i.notebookDocument.uri,i.notebookDocument);for(let o of i.cellTextDocuments)r.openTextDocument({textDocument:o});this.updateCellMap(i.notebookDocument),this._onDidOpen.fire(i.notebookDocument)})),n.push(e.notebooks.synchronization.onDidChangeNotebookDocument(i=>{let o=this.notebookDocuments.get(i.notebookDocument.uri);if(o===void 0)return;o.version=i.notebookDocument.version;let s=o.metadata,a=!1,c=i.change;c.metadata!==void 0&&(a=!0,o.metadata=c.metadata);let f=[],p=[],m=[],T=[];if(c.cells!==void 0){let A=c.cells;if(A.structure!==void 0){let y=A.structure.array;if(o.cells.splice(y.start,y.deleteCount,...y.cells!==void 0?y.cells:[]),A.structure.didOpen!==void 0)for(let h of A.structure.didOpen)r.openTextDocument({textDocument:h}),f.push(h.uri);if(A.structure.didClose)for(let h of A.structure.didClose)r.closeTextDocument({textDocument:h}),p.push(h.uri)}if(A.data!==void 0){let y=new Map(A.data.map(h=>[h.document,h]));for(let h=0;h<=o.cells.length;h++){let C=y.get(o.cells[h].document);if(C!==void 0){let L=o.cells.splice(h,1,C);if(m.push({old:L[0],new:C}),y.delete(C.document),y.size===0)break}}}if(A.textContent!==void 0)for(let y of A.textContent)r.changeTextDocument({textDocument:y.document,contentChanges:y.changes}),T.push(y.document.uri)}this.updateCellMap(o);let _={notebookDocument:o};a&&(_.metadata={old:s,new:o.metadata});let E=[];for(let A of f)E.push(this.getNotebookCell(A));let N=[];for(let A of p)N.push(this.getNotebookCell(A));let I=[];for(let A of T)I.push(this.getNotebookCell(A));(E.length>0||N.length>0||m.length>0||I.length>0)&&(_.cells={added:E,removed:N,changed:{data:m,textContent:I}}),(_.metadata!==void 0||_.cells!==void 0)&&this._onDidChange.fire(_)})),n.push(e.notebooks.synchronization.onDidSaveNotebookDocument(i=>{let o=this.notebookDocuments.get(i.notebookDocument.uri);o!==void 0&&this._onDidSave.fire(o)})),n.push(e.notebooks.synchronization.onDidCloseNotebookDocument(i=>{let o=this.notebookDocuments.get(i.notebookDocument.uri);if(o!==void 0){this._onDidClose.fire(o);for(let s of i.cellTextDocuments)r.closeTextDocument({textDocument:s});this.notebookDocuments.delete(i.notebookDocument.uri);for(let s of o.cells)this.notebookCellMap.delete(s.document)}})),Mn.Disposable.create(()=>{n.forEach(i=>i.dispose())})}updateCellMap(e){for(let r of e.cells)this.notebookCellMap.set(r.document,[r,e])}};la.NotebookDocuments=Ug});var Hg=$(tr=>{"use strict";Object.defineProperty(tr,"__esModule",{value:!0});tr.thenable=tr.typedArray=tr.stringArray=tr.array=tr.func=tr.error=tr.number=tr.string=tr.boolean=void 0;function RO(t){return t===!0||t===!1}tr.boolean=RO;function ix(t){return typeof t=="string"||t instanceof String}tr.string=ix;function bO(t){return typeof t=="number"||t instanceof Number}tr.number=bO;function xO(t){return t instanceof Error}tr.error=xO;function ox(t){return typeof t=="function"}tr.func=ox;function sx(t){return Array.isArray(t)}tr.array=sx;function _O(t){return sx(t)&&t.every(e=>ix(e))}tr.stringArray=_O;function SO(t,e){return Array.isArray(t)&&t.every(e)}tr.typedArray=SO;function kO(t){return t&&ox(t.then)}tr.thenable=kO});var Gg=$($n=>{"use strict";Object.defineProperty($n,"__esModule",{value:!0});$n.generateUuid=$n.parse=$n.isUUID=$n.v4=$n.empty=void 0;var lu=class{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}},fu=class t extends lu{constructor(){super([t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),"-",t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),"-","4",t._randomHex(),t._randomHex(),t._randomHex(),"-",t._oneOf(t._timeHighBits),t._randomHex(),t._randomHex(),t._randomHex(),"-",t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return t._oneOf(t._chars)}};fu._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"];fu._timeHighBits=["8","9","a","b"];$n.empty=new lu("00000000-0000-0000-0000-000000000000");function ax(){return new fu}$n.v4=ax;var CO=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function cx(t){return CO.test(t)}$n.isUUID=cx;function wO(t){if(!cx(t))throw new Error("invalid uuid");return new lu(t)}$n.parse=wO;function DO(){return ax().asHex()}$n.generateUuid=DO});var ux=$(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.attachPartialResult=Fo.ProgressFeature=Fo.attachWorkDone=void 0;var $o=er(),EO=Gg(),_s=class t{constructor(e,r){this._connection=e,this._token=r,t.Instances.set(this._token,this)}begin(e,r,n,i){let o={kind:"begin",title:e,percentage:r,message:n,cancellable:i};this._connection.sendProgress($o.WorkDoneProgress.type,this._token,o)}report(e,r){let n={kind:"report"};typeof e=="number"?(n.percentage=e,r!==void 0&&(n.message=r)):n.message=e,this._connection.sendProgress($o.WorkDoneProgress.type,this._token,n)}done(){t.Instances.delete(this._token),this._connection.sendProgress($o.WorkDoneProgress.type,this._token,{kind:"end"})}};_s.Instances=new Map;var cf=class extends _s{constructor(e,r){super(e,r),this._source=new $o.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}},du=class{constructor(){}begin(){}report(){}done(){}},uf=class extends du{constructor(){super(),this._source=new $o.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}};function PO(t,e){if(e===void 0||e.workDoneToken===void 0)return new du;let r=e.workDoneToken;return delete e.workDoneToken,new _s(t,r)}Fo.attachWorkDone=PO;var AO=t=>class extends t{constructor(){super(),this._progressSupported=!1}initialize(e){super.initialize(e),e?.window?.workDoneProgress===!0&&(this._progressSupported=!0,this.connection.onNotification($o.WorkDoneProgressCancelNotification.type,r=>{let n=_s.Instances.get(r.token);(n instanceof cf||n instanceof uf)&&n.cancel()}))}attachWorkDoneProgress(e){return e===void 0?new du:new _s(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){let e=(0,EO.generateUuid)();return this.connection.sendRequest($o.WorkDoneProgressCreateRequest.type,{token:e}).then(()=>new cf(this.connection,e))}else return Promise.resolve(new uf)}};Fo.ProgressFeature=AO;var Bg;(function(t){t.type=new $o.ProgressType})(Bg||(Bg={}));var Kg=class{constructor(e,r){this._connection=e,this._token=r}report(e){this._connection.sendProgress(Bg.type,this._token,e)}};function NO(t,e){if(e===void 0||e.partialResultToken===void 0)return;let r=e.partialResultToken;return delete e.partialResultToken,new Kg(t,r)}Fo.attachPartialResult=NO});var lx=$(lf=>{"use strict";Object.defineProperty(lf,"__esModule",{value:!0});lf.ConfigurationFeature=void 0;var IO=er(),OO=Hg(),LO=t=>class extends t{getConfiguration(e){return e?OO.string(e)?this._getConfiguration({section:e}):this._getConfiguration(e):this._getConfiguration({})}_getConfiguration(e){let r={items:Array.isArray(e)?e:[e]};return this.connection.sendRequest(IO.ConfigurationRequest.type,r).then(n=>Array.isArray(n)?Array.isArray(e)?n:n[0]:Array.isArray(e)?[]:null)}};lf.ConfigurationFeature=LO});var fx=$(df=>{"use strict";Object.defineProperty(df,"__esModule",{value:!0});df.WorkspaceFoldersFeature=void 0;var ff=er(),MO=t=>class extends t{constructor(){super(),this._notificationIsAutoRegistered=!1}initialize(e){super.initialize(e);let r=e.workspace;r&&r.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new ff.Emitter,this.connection.onNotification(ff.DidChangeWorkspaceFoldersNotification.type,n=>{this._onDidChangeWorkspaceFolders.fire(n.event)}))}fillServerCapabilities(e){super.fillServerCapabilities(e);let r=e.workspace?.workspaceFolders?.changeNotifications;this._notificationIsAutoRegistered=r===!0||typeof r=="string"}getWorkspaceFolders(){return this.connection.sendRequest(ff.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(ff.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}};df.WorkspaceFoldersFeature=MO});var dx=$(pf=>{"use strict";Object.defineProperty(pf,"__esModule",{value:!0});pf.CallHierarchyFeature=void 0;var zg=er(),$O=t=>class extends t{get callHierarchy(){return{onPrepare:e=>this.connection.onRequest(zg.CallHierarchyPrepareRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r),void 0)),onIncomingCalls:e=>{let r=zg.CallHierarchyIncomingCallsRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))},onOutgoingCalls:e=>{let r=zg.CallHierarchyOutgoingCallsRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))}}}};pf.CallHierarchyFeature=$O});var px=$(mf=>{"use strict";Object.defineProperty(mf,"__esModule",{value:!0});mf.ShowDocumentFeature=void 0;var FO=er(),qO=t=>class extends t{showDocument(e){return this.connection.sendRequest(FO.ShowDocumentRequest.type,e)}};mf.ShowDocumentFeature=qO});var mx=$(hf=>{"use strict";Object.defineProperty(hf,"__esModule",{value:!0});hf.FileOperationsFeature=void 0;var fa=er(),jO=t=>class extends t{onDidCreateFiles(e){return this.connection.onNotification(fa.DidCreateFilesNotification.type,r=>{e(r)})}onDidRenameFiles(e){return this.connection.onNotification(fa.DidRenameFilesNotification.type,r=>{e(r)})}onDidDeleteFiles(e){return this.connection.onNotification(fa.DidDeleteFilesNotification.type,r=>{e(r)})}onWillCreateFiles(e){return this.connection.onRequest(fa.WillCreateFilesRequest.type,(r,n)=>e(r,n))}onWillRenameFiles(e){return this.connection.onRequest(fa.WillRenameFilesRequest.type,(r,n)=>e(r,n))}onWillDeleteFiles(e){return this.connection.onRequest(fa.WillDeleteFilesRequest.type,(r,n)=>e(r,n))}};hf.FileOperationsFeature=jO});var hx=$(gf=>{"use strict";Object.defineProperty(gf,"__esModule",{value:!0});gf.LinkedEditingRangeFeature=void 0;var UO=er(),WO=t=>class extends t{onLinkedEditingRange(e){return this.connection.onRequest(UO.LinkedEditingRangeRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r),void 0))}};gf.LinkedEditingRangeFeature=WO});var gx=$(yf=>{"use strict";Object.defineProperty(yf,"__esModule",{value:!0});yf.TypeHierarchyFeature=void 0;var Vg=er(),HO=t=>class extends t{get typeHierarchy(){return{onPrepare:e=>this.connection.onRequest(Vg.TypeHierarchyPrepareRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r),void 0)),onSupertypes:e=>{let r=Vg.TypeHierarchySupertypesRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))},onSubtypes:e=>{let r=Vg.TypeHierarchySubtypesRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))}}}};yf.TypeHierarchyFeature=HO});var vx=$(vf=>{"use strict";Object.defineProperty(vf,"__esModule",{value:!0});vf.InlineValueFeature=void 0;var yx=er(),GO=t=>class extends t{get inlineValue(){return{refresh:()=>this.connection.sendRequest(yx.InlineValueRefreshRequest.type),on:e=>this.connection.onRequest(yx.InlineValueRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r)))}}};vf.InlineValueFeature=GO});var Tx=$(Tf=>{"use strict";Object.defineProperty(Tf,"__esModule",{value:!0});Tf.InlayHintFeature=void 0;var Xg=er(),BO=t=>class extends t{get inlayHint(){return{refresh:()=>this.connection.sendRequest(Xg.InlayHintRefreshRequest.type),on:e=>this.connection.onRequest(Xg.InlayHintRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r))),resolve:e=>this.connection.onRequest(Xg.InlayHintResolveRequest.type,(r,n)=>e(r,n))}}};Tf.InlayHintFeature=BO});var Rx=$(Rf=>{"use strict";Object.defineProperty(Rf,"__esModule",{value:!0});Rf.DiagnosticFeature=void 0;var pu=er(),KO=t=>class extends t{get diagnostics(){return{refresh:()=>this.connection.sendRequest(pu.DiagnosticRefreshRequest.type),on:e=>this.connection.onRequest(pu.DocumentDiagnosticRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r),this.attachPartialResultProgress(pu.DocumentDiagnosticRequest.partialResult,r))),onWorkspace:e=>this.connection.onRequest(pu.WorkspaceDiagnosticRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r),this.attachPartialResultProgress(pu.WorkspaceDiagnosticRequest.partialResult,r)))}}};Rf.DiagnosticFeature=KO});var bx=$(bf=>{"use strict";Object.defineProperty(bf,"__esModule",{value:!0});bf.MonikerFeature=void 0;var zO=er(),VO=t=>class extends t{get moniker(){return{on:e=>{let r=zO.MonikerRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))}}}};bf.MonikerFeature=VO});var Ox=$(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.createConnection=Le.combineFeatures=Le.combineNotebooksFeatures=Le.combineLanguagesFeatures=Le.combineWorkspaceFeatures=Le.combineWindowFeatures=Le.combineClientFeatures=Le.combineTracerFeatures=Le.combineTelemetryFeatures=Le.combineConsoleFeatures=Le._NotebooksImpl=Le._LanguagesImpl=Le.BulkUnregistration=Le.BulkRegistration=Le.ErrorMessageTracker=void 0;var X=er(),Fn=Hg(),Jg=Gg(),_e=ux(),XO=lx(),YO=fx(),JO=dx(),QO=Fg(),ZO=px(),eL=mx(),tL=hx(),rL=gx(),nL=vx(),iL=Tx(),oL=Rx(),sL=Wg(),aL=bx();function Yg(t){if(t!==null)return t}var Qg=class{constructor(){this._messages=Object.create(null)}add(e){let r=this._messages[e];r||(r=0),r++,this._messages[e]=r}sendErrors(e){Object.keys(this._messages).forEach(r=>{e.window.showErrorMessage(r)})}};Le.ErrorMessageTracker=Qg;var xf=class{constructor(){}rawAttach(e){this._rawConnection=e}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(e){}initialize(e){}error(e){this.send(X.MessageType.Error,e)}warn(e){this.send(X.MessageType.Warning,e)}info(e){this.send(X.MessageType.Info,e)}log(e){this.send(X.MessageType.Log,e)}send(e,r){this._rawConnection&&this._rawConnection.sendNotification(X.LogMessageNotification.type,{type:e,message:r}).catch(()=>{(0,X.RAL)().console.error("Sending log message failed")})}},Zg=class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}showErrorMessage(e,...r){let n={type:X.MessageType.Error,message:e,actions:r};return this.connection.sendRequest(X.ShowMessageRequest.type,n).then(Yg)}showWarningMessage(e,...r){let n={type:X.MessageType.Warning,message:e,actions:r};return this.connection.sendRequest(X.ShowMessageRequest.type,n).then(Yg)}showInformationMessage(e,...r){let n={type:X.MessageType.Info,message:e,actions:r};return this.connection.sendRequest(X.ShowMessageRequest.type,n).then(Yg)}},xx=(0,ZO.ShowDocumentFeature)((0,_e.ProgressFeature)(Zg)),cL;(function(t){function e(){return new _f}t.create=e})(cL=Le.BulkRegistration||(Le.BulkRegistration={}));var _f=class{constructor(){this._registrations=[],this._registered=new Set}add(e,r){let n=Fn.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);let i=Jg.generateUuid();this._registrations.push({id:i,method:n,registerOptions:r||{}}),this._registered.add(n)}asRegistrationParams(){return{registrations:this._registrations}}},uL;(function(t){function e(){return new mu(void 0,[])}t.create=e})(uL=Le.BulkUnregistration||(Le.BulkUnregistration={}));var mu=class{constructor(e,r){this._connection=e,this._unregistrations=new Map,r.forEach(n=>{this._unregistrations.set(n.method,n)})}get isAttached(){return!!this._connection}attach(e){this._connection=e}add(e){this._unregistrations.set(e.method,e)}dispose(){let e=[];for(let n of this._unregistrations.values())e.push(n);let r={unregisterations:e};this._connection.sendRequest(X.UnregistrationRequest.type,r).catch(()=>{this._connection.console.info("Bulk unregistration failed.")})}disposeSingle(e){let r=Fn.string(e)?e:e.method,n=this._unregistrations.get(r);if(!n)return!1;let i={unregisterations:[n]};return this._connection.sendRequest(X.UnregistrationRequest.type,i).then(()=>{this._unregistrations.delete(r)},o=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)}),!0}},Sf=class{attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}register(e,r,n){return e instanceof _f?this.registerMany(e):e instanceof mu?this.registerSingle1(e,r,n):this.registerSingle2(e,r)}registerSingle1(e,r,n){let i=Fn.string(r)?r:r.method,o=Jg.generateUuid(),s={registrations:[{id:o,method:i,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(X.RegistrationRequest.type,s).then(a=>(e.add({id:o,method:i}),e),a=>(this.connection.console.info(`Registering request handler for ${i} failed.`),Promise.reject(a)))}registerSingle2(e,r){let n=Fn.string(e)?e:e.method,i=Jg.generateUuid(),o={registrations:[{id:i,method:n,registerOptions:r||{}}]};return this.connection.sendRequest(X.RegistrationRequest.type,o).then(s=>X.Disposable.create(()=>{this.unregisterSingle(i,n).catch(()=>{this.connection.console.info(`Un-registering capability with id ${i} failed.`)})}),s=>(this.connection.console.info(`Registering request handler for ${n} failed.`),Promise.reject(s)))}unregisterSingle(e,r){let n={unregisterations:[{id:e,method:r}]};return this.connection.sendRequest(X.UnregistrationRequest.type,n).catch(()=>{this.connection.console.info(`Un-registering request handler for ${e} failed.`)})}registerMany(e){let r=e.asRegistrationParams();return this.connection.sendRequest(X.RegistrationRequest.type,r).then(()=>new mu(this._connection,r.registrations.map(n=>({id:n.id,method:n.method}))),n=>(this.connection.console.info("Bulk registration failed."),Promise.reject(n)))}},ey=class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}applyEdit(e){function r(i){return i&&!!i.edit}let n=r(e)?e:{edit:e};return this.connection.sendRequest(X.ApplyWorkspaceEditRequest.type,n)}},_x=(0,eL.FileOperationsFeature)((0,YO.WorkspaceFoldersFeature)((0,XO.ConfigurationFeature)(ey))),kf=class{constructor(){this._trace=X.Trace.Off}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}set trace(e){this._trace=e}log(e,r){this._trace!==X.Trace.Off&&this.connection.sendNotification(X.LogTraceNotification.type,{message:e,verbose:this._trace===X.Trace.Verbose?r:void 0}).catch(()=>{})}},Cf=class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}logEvent(e){this.connection.sendNotification(X.TelemetryEventNotification.type,e).catch(()=>{this.connection.console.log("Sending TelemetryEventNotification failed")})}},wf=class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return(0,_e.attachWorkDone)(this.connection,e)}attachPartialResultProgress(e,r){return(0,_e.attachPartialResult)(this.connection,r)}};Le._LanguagesImpl=wf;var Sx=(0,aL.MonikerFeature)((0,oL.DiagnosticFeature)((0,iL.InlayHintFeature)((0,nL.InlineValueFeature)((0,rL.TypeHierarchyFeature)((0,tL.LinkedEditingRangeFeature)((0,QO.SemanticTokensFeature)((0,JO.CallHierarchyFeature)(wf)))))))),Df=class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return(0,_e.attachWorkDone)(this.connection,e)}attachPartialResultProgress(e,r){return(0,_e.attachPartialResult)(this.connection,r)}};Le._NotebooksImpl=Df;var kx=(0,sL.NotebookSyncFeature)(Df);function Cx(t,e){return function(r){return e(t(r))}}Le.combineConsoleFeatures=Cx;function wx(t,e){return function(r){return e(t(r))}}Le.combineTelemetryFeatures=wx;function Dx(t,e){return function(r){return e(t(r))}}Le.combineTracerFeatures=Dx;function Ex(t,e){return function(r){return e(t(r))}}Le.combineClientFeatures=Ex;function Px(t,e){return function(r){return e(t(r))}}Le.combineWindowFeatures=Px;function Ax(t,e){return function(r){return e(t(r))}}Le.combineWorkspaceFeatures=Ax;function Nx(t,e){return function(r){return e(t(r))}}Le.combineLanguagesFeatures=Nx;function Ix(t,e){return function(r){return e(t(r))}}Le.combineNotebooksFeatures=Ix;function lL(t,e){function r(i,o,s){return i&&o?s(i,o):i||o}return{__brand:"features",console:r(t.console,e.console,Cx),tracer:r(t.tracer,e.tracer,Dx),telemetry:r(t.telemetry,e.telemetry,wx),client:r(t.client,e.client,Ex),window:r(t.window,e.window,Px),workspace:r(t.workspace,e.workspace,Ax),languages:r(t.languages,e.languages,Nx),notebooks:r(t.notebooks,e.notebooks,Ix)}}Le.combineFeatures=lL;function fL(t,e,r){let n=r&&r.console?new(r.console(xf)):new xf,i=t(n);n.rawAttach(i);let o=r&&r.tracer?new(r.tracer(kf)):new kf,s=r&&r.telemetry?new(r.telemetry(Cf)):new Cf,a=r&&r.client?new(r.client(Sf)):new Sf,c=r&&r.window?new(r.window(xx)):new xx,f=r&&r.workspace?new(r.workspace(_x)):new _x,p=r&&r.languages?new(r.languages(Sx)):new Sx,m=r&&r.notebooks?new(r.notebooks(kx)):new kx,T=[n,o,s,a,c,f,p,m];function _(y){return y instanceof Promise?y:Fn.thenable(y)?new Promise((h,C)=>{y.then(L=>h(L),L=>C(L))}):Promise.resolve(y)}let E,N,I,A={listen:()=>i.listen(),sendRequest:(y,...h)=>i.sendRequest(Fn.string(y)?y:y.method,...h),onRequest:(y,h)=>i.onRequest(y,h),sendNotification:(y,h)=>{let C=Fn.string(y)?y:y.method;return arguments.length===1?i.sendNotification(C):i.sendNotification(C,h)},onNotification:(y,h)=>i.onNotification(y,h),onProgress:i.onProgress,sendProgress:i.sendProgress,onInitialize:y=>(N=y,{dispose:()=>{N=void 0}}),onInitialized:y=>i.onNotification(X.InitializedNotification.type,y),onShutdown:y=>(E=y,{dispose:()=>{E=void 0}}),onExit:y=>(I=y,{dispose:()=>{I=void 0}}),get console(){return n},get telemetry(){return s},get tracer(){return o},get client(){return a},get window(){return c},get workspace(){return f},get languages(){return p},get notebooks(){return m},onDidChangeConfiguration:y=>i.onNotification(X.DidChangeConfigurationNotification.type,y),onDidChangeWatchedFiles:y=>i.onNotification(X.DidChangeWatchedFilesNotification.type,y),__textDocumentSync:void 0,onDidOpenTextDocument:y=>i.onNotification(X.DidOpenTextDocumentNotification.type,y),onDidChangeTextDocument:y=>i.onNotification(X.DidChangeTextDocumentNotification.type,y),onDidCloseTextDocument:y=>i.onNotification(X.DidCloseTextDocumentNotification.type,y),onWillSaveTextDocument:y=>i.onNotification(X.WillSaveTextDocumentNotification.type,y),onWillSaveTextDocumentWaitUntil:y=>i.onRequest(X.WillSaveTextDocumentWaitUntilRequest.type,y),onDidSaveTextDocument:y=>i.onNotification(X.DidSaveTextDocumentNotification.type,y),sendDiagnostics:y=>i.sendNotification(X.PublishDiagnosticsNotification.type,y),onHover:y=>i.onRequest(X.HoverRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),void 0)),onCompletion:y=>i.onRequest(X.CompletionRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onCompletionResolve:y=>i.onRequest(X.CompletionResolveRequest.type,y),onSignatureHelp:y=>i.onRequest(X.SignatureHelpRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),void 0)),onDeclaration:y=>i.onRequest(X.DeclarationRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onDefinition:y=>i.onRequest(X.DefinitionRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onTypeDefinition:y=>i.onRequest(X.TypeDefinitionRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onImplementation:y=>i.onRequest(X.ImplementationRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onReferences:y=>i.onRequest(X.ReferencesRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onDocumentHighlight:y=>i.onRequest(X.DocumentHighlightRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onDocumentSymbol:y=>i.onRequest(X.DocumentSymbolRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onWorkspaceSymbol:y=>i.onRequest(X.WorkspaceSymbolRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onWorkspaceSymbolResolve:y=>i.onRequest(X.WorkspaceSymbolResolveRequest.type,y),onCodeAction:y=>i.onRequest(X.CodeActionRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onCodeActionResolve:y=>i.onRequest(X.CodeActionResolveRequest.type,(h,C)=>y(h,C)),onCodeLens:y=>i.onRequest(X.CodeLensRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onCodeLensResolve:y=>i.onRequest(X.CodeLensResolveRequest.type,(h,C)=>y(h,C)),onDocumentFormatting:y=>i.onRequest(X.DocumentFormattingRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),void 0)),onDocumentRangeFormatting:y=>i.onRequest(X.DocumentRangeFormattingRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),void 0)),onDocumentOnTypeFormatting:y=>i.onRequest(X.DocumentOnTypeFormattingRequest.type,(h,C)=>y(h,C)),onRenameRequest:y=>i.onRequest(X.RenameRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),void 0)),onPrepareRename:y=>i.onRequest(X.PrepareRenameRequest.type,(h,C)=>y(h,C)),onDocumentLinks:y=>i.onRequest(X.DocumentLinkRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onDocumentLinkResolve:y=>i.onRequest(X.DocumentLinkResolveRequest.type,(h,C)=>y(h,C)),onDocumentColor:y=>i.onRequest(X.DocumentColorRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onColorPresentation:y=>i.onRequest(X.ColorPresentationRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onFoldingRanges:y=>i.onRequest(X.FoldingRangeRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onSelectionRanges:y=>i.onRequest(X.SelectionRangeRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),(0,_e.attachPartialResult)(i,h))),onExecuteCommand:y=>i.onRequest(X.ExecuteCommandRequest.type,(h,C)=>y(h,C,(0,_e.attachWorkDone)(i,h),void 0)),dispose:()=>i.dispose()};for(let y of T)y.attach(A);return i.onRequest(X.InitializeRequest.type,y=>{e.initialize(y),Fn.string(y.trace)&&(o.trace=X.Trace.fromString(y.trace));for(let h of T)h.initialize(y.capabilities);if(N){let h=N(y,new X.CancellationTokenSource().token,(0,_e.attachWorkDone)(i,y),void 0);return _(h).then(C=>{if(C instanceof X.ResponseError)return C;let L=C;L||(L={capabilities:{}});let J=L.capabilities;J||(J={},L.capabilities=J),J.textDocumentSync===void 0||J.textDocumentSync===null?J.textDocumentSync=Fn.number(A.__textDocumentSync)?A.__textDocumentSync:X.TextDocumentSyncKind.None:!Fn.number(J.textDocumentSync)&&!Fn.number(J.textDocumentSync.change)&&(J.textDocumentSync.change=Fn.number(A.__textDocumentSync)?A.__textDocumentSync:X.TextDocumentSyncKind.None);for(let fe of T)fe.fillServerCapabilities(J);return L})}else{let h={capabilities:{textDocumentSync:X.TextDocumentSyncKind.None}};for(let C of T)C.fillServerCapabilities(h.capabilities);return h}}),i.onRequest(X.ShutdownRequest.type,()=>{if(e.shutdownReceived=!0,E)return E(new X.CancellationTokenSource().token)}),i.onNotification(X.ExitNotification.type,()=>{try{I&&I()}finally{e.shutdownReceived?e.exit(0):e.exit(1)}}),i.onNotification(X.SetTraceNotification.type,y=>{o.trace=X.Trace.fromString(y.value)}),A}Le.createConnection=fL});var ty=$(wr=>{"use strict";var dL=wr&&wr.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Lx=wr&&wr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&dL(e,t,r)};Object.defineProperty(wr,"__esModule",{value:!0});wr.ProposedFeatures=wr.NotebookDocuments=wr.TextDocuments=wr.SemanticTokensBuilder=void 0;var pL=Fg();Object.defineProperty(wr,"SemanticTokensBuilder",{enumerable:!0,get:function(){return pL.SemanticTokensBuilder}});Lx(er(),wr);var mL=jg();Object.defineProperty(wr,"TextDocuments",{enumerable:!0,get:function(){return mL.TextDocuments}});var hL=Wg();Object.defineProperty(wr,"NotebookDocuments",{enumerable:!0,get:function(){return hL.NotebookDocuments}});Lx(Ox(),wr);var gL;(function(t){t.all={__brand:"features"}})(gL=wr.ProposedFeatures||(wr.ProposedFeatures={}))});var $x=$((c8,Mx)=>{"use strict";Mx.exports=er()});var Qe=$(Ei=>{"use strict";var yL=Ei&&Ei.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),qx=Ei&&Ei.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&yL(e,t,r)};Object.defineProperty(Ei,"__esModule",{value:!0});Ei.createConnection=void 0;var Ef=ty();qx($x(),Ei);qx(ty(),Ei);var Fx=!1,vL={initialize:t=>{},get shutdownReceived(){return Fx},set shutdownReceived(t){Fx=t},exit:t=>{}};function TL(t,e,r,n){let i,o,s,a;t!==void 0&&t.__brand==="features"&&(i=t,t=e,e=r,r=n),Ef.ConnectionStrategy.is(t)||Ef.ConnectionOptions.is(t)?a=t:(o=t,s=e,a=r);let c=f=>(0,Ef.createProtocolConnection)(o,s,f,a);return(0,Ef.createConnection)(c,vL,i)}Ei.createConnection=TL});var Nc=$(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.stringArray=Vr.array=Vr.func=Vr.error=Vr.number=Vr.string=Vr.boolean=void 0;function kK(t){return t===!0||t===!1}Vr.boolean=kK;function ZE(t){return typeof t=="string"||t instanceof String}Vr.string=ZE;function CK(t){return typeof t=="number"||t instanceof Number}Vr.number=CK;function wK(t){return t instanceof Error}Vr.error=wK;function DK(t){return typeof t=="function"}Vr.func=DK;function eP(t){return Array.isArray(t)}Vr.array=eP;function EK(t){return eP(t)&&t.every(e=>ZE(e))}Vr.stringArray=EK});var xT=$(le=>{"use strict";Object.defineProperty(le,"__esModule",{value:!0});le.Message=le.NotificationType9=le.NotificationType8=le.NotificationType7=le.NotificationType6=le.NotificationType5=le.NotificationType4=le.NotificationType3=le.NotificationType2=le.NotificationType1=le.NotificationType0=le.NotificationType=le.RequestType9=le.RequestType8=le.RequestType7=le.RequestType6=le.RequestType5=le.RequestType4=le.RequestType3=le.RequestType2=le.RequestType1=le.RequestType=le.RequestType0=le.AbstractMessageSignature=le.ParameterStructures=le.ResponseError=le.ErrorCodes=void 0;var Ks=Nc(),tP;(function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3})(tP=le.ErrorCodes||(le.ErrorCodes={}));var Zv=class t extends Error{constructor(e,r,n){super(r),this.code=Ks.number(e)?e:tP.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,t.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};le.ResponseError=Zv;var Tn=class t{constructor(e){this.kind=e}static is(e){return e===t.auto||e===t.byName||e===t.byPosition}toString(){return this.kind}};le.ParameterStructures=Tn;Tn.auto=new Tn("auto");Tn.byPosition=new Tn("byPosition");Tn.byName=new Tn("byName");var _t=class{constructor(e,r){this.method=e,this.numberOfParams=r}get parameterStructures(){return Tn.auto}};le.AbstractMessageSignature=_t;var eT=class extends _t{constructor(e){super(e,0)}};le.RequestType0=eT;var tT=class extends _t{constructor(e,r=Tn.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};le.RequestType=tT;var rT=class extends _t{constructor(e,r=Tn.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};le.RequestType1=rT;var nT=class extends _t{constructor(e){super(e,2)}};le.RequestType2=nT;var iT=class extends _t{constructor(e){super(e,3)}};le.RequestType3=iT;var oT=class extends _t{constructor(e){super(e,4)}};le.RequestType4=oT;var sT=class extends _t{constructor(e){super(e,5)}};le.RequestType5=sT;var aT=class extends _t{constructor(e){super(e,6)}};le.RequestType6=aT;var cT=class extends _t{constructor(e){super(e,7)}};le.RequestType7=cT;var uT=class extends _t{constructor(e){super(e,8)}};le.RequestType8=uT;var lT=class extends _t{constructor(e){super(e,9)}};le.RequestType9=lT;var fT=class extends _t{constructor(e,r=Tn.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};le.NotificationType=fT;var dT=class extends _t{constructor(e){super(e,0)}};le.NotificationType0=dT;var pT=class extends _t{constructor(e,r=Tn.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};le.NotificationType1=pT;var mT=class extends _t{constructor(e){super(e,2)}};le.NotificationType2=mT;var hT=class extends _t{constructor(e){super(e,3)}};le.NotificationType3=hT;var gT=class extends _t{constructor(e){super(e,4)}};le.NotificationType4=gT;var yT=class extends _t{constructor(e){super(e,5)}};le.NotificationType5=yT;var vT=class extends _t{constructor(e){super(e,6)}};le.NotificationType6=vT;var TT=class extends _t{constructor(e){super(e,7)}};le.NotificationType7=TT;var RT=class extends _t{constructor(e){super(e,8)}};le.NotificationType8=RT;var bT=class extends _t{constructor(e){super(e,9)}};le.NotificationType9=bT;var PK;(function(t){function e(i){let o=i;return o&&Ks.string(o.method)&&(Ks.string(o.id)||Ks.number(o.id))}t.isRequest=e;function r(i){let o=i;return o&&Ks.string(o.method)&&i.id===void 0}t.isNotification=r;function n(i){let o=i;return o&&(o.result!==void 0||!!o.error)&&(Ks.string(o.id)||Ks.number(o.id)||o.id===null)}t.isResponse=n})(PK=le.Message||(le.Message={}))});var ST=$(Eo=>{"use strict";var rP;Object.defineProperty(Eo,"__esModule",{value:!0});Eo.LRUCache=Eo.LinkedMap=Eo.Touch=void 0;var sn;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(sn=Eo.Touch||(Eo.Touch={}));var km=class{constructor(){this[rP]="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(e){return this._map.has(e)}get(e,r=sn.None){let n=this._map.get(e);if(n)return r!==sn.None&&this.touch(n,r),n.value}set(e,r,n=sn.None){let i=this._map.get(e);if(i)i.value=r,n!==sn.None&&this.touch(i,n);else{switch(i={key:e,value:r,next:void 0,previous:void 0},n){case sn.None:this.addItemLast(i);break;case sn.First:this.addItemFirst(i);break;case sn.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let r=this._map.get(e);if(r)return this._map.delete(e),this.removeItem(r),this._size--,r.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,r){let n=this._state,i=this._head;for(;i;){if(r?e.bind(r)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.key,done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}values(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.value,done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}entries(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:[r.key,r.value],done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}[(rP=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let r=this._head,n=this.size;for(;r&&n>e;)this._map.delete(r.key),r=r.next,n--;this._head=r,this._size=n,r&&(r.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let r=e.next,n=e.previous;if(!r||!n)throw new Error("Invalid list");r.previous=n,n.next=r}e.next=void 0,e.previous=void 0,this._state++}touch(e,r){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(r!==sn.First&&r!==sn.Last)){if(r===sn.First){if(e===this._head)return;let n=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(n.previous=i,i.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(r===sn.Last){if(e===this._tail)return;let n=e.next,i=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=i,i.next=n),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((r,n)=>{e.push([n,r])}),e}fromJSON(e){this.clear();for(let[r,n]of e)this.set(r,n)}};Eo.LinkedMap=km;var _T=class extends km{constructor(e,r=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,r),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,r=sn.AsNew){return super.get(e,r)}peek(e){return super.get(e,sn.None)}set(e,r){return super.set(e,r,sn.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};Eo.LRUCache=_T});var nP=$(gl=>{"use strict";Object.defineProperty(gl,"__esModule",{value:!0});gl.Disposable=void 0;var AK;(function(t){function e(r){return{dispose:r}}t.create=e})(AK=gl.Disposable||(gl.Disposable={}))});var cs=$(wT=>{"use strict";Object.defineProperty(wT,"__esModule",{value:!0});var kT;function CT(){if(kT===void 0)throw new Error("No runtime abstraction layer installed");return kT}(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");kT=r}t.install=e})(CT||(CT={}));wT.default=CT});var Ic=$(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.Emitter=zs.Event=void 0;var NK=cs(),IK;(function(t){let e={dispose(){}};t.None=function(){return e}})(IK=zs.Event||(zs.Event={}));var DT=class{add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,r)})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,o=this._callbacks.length;i<o;i++)if(this._callbacks[i]===e)if(this._contexts[i]===r){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else n=!0;if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let r=[],n=this._callbacks.slice(0),i=this._contexts.slice(0);for(let o=0,s=n.length;o<s;o++)try{r.push(n[o].apply(i[o],e))}catch(a){(0,NK.default)().console.error(a)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},Cm=class t{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,r,n)=>{this._callbacks||(this._callbacks=new DT),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};zs.Emitter=Cm;Cm._noop=function(){}});var Dm=$(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.CancellationTokenSource=Vs.CancellationToken=void 0;var OK=cs(),LK=Nc(),ET=Ic(),PT;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:ET.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:ET.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||LK.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}t.is=e})(PT=Vs.CancellationToken||(Vs.CancellationToken={}));var MK=Object.freeze(function(t,e){let r=(0,OK.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),wm=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?MK:(this._emitter||(this._emitter=new ET.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},AT=class{get token(){return this._token||(this._token=new wm),this._token}cancel(){this._token?this._token.cancel():this._token=PT.Cancelled}dispose(){this._token?this._token instanceof wm&&this._token.dispose():this._token=PT.None}};Vs.CancellationTokenSource=AT});var iP=$(Oc=>{"use strict";Object.defineProperty(Oc,"__esModule",{value:!0});Oc.SharedArrayReceiverStrategy=Oc.SharedArraySenderStrategy=void 0;var $K=Dm(),yl;(function(t){t.Continue=0,t.Cancelled=1})(yl||(yl={}));var NT=class{constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let r=new SharedArrayBuffer(4),n=new Int32Array(r,0,1);n[0]=yl.Continue,this.buffers.set(e.id,r),e.$cancellationData=r}async sendCancellation(e,r){let n=this.buffers.get(r);if(n===void 0)return;let i=new Int32Array(n,0,1);Atomics.store(i,0,yl.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};Oc.SharedArraySenderStrategy=NT;var IT=class{constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===yl.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},OT=class{constructor(e){this.token=new IT(e)}cancel(){}dispose(){}},LT=class{constructor(){this.kind="request"}createCancellationTokenSource(e){let r=e.$cancellationData;return r===void 0?new $K.CancellationTokenSource:new OT(r)}};Oc.SharedArrayReceiverStrategy=LT});var $T=$(Em=>{"use strict";Object.defineProperty(Em,"__esModule",{value:!0});Em.Semaphore=void 0;var FK=cs(),MT=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((r,n)=>{this._waiting.push({thunk:e,resolve:r,reject:n}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,FK.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let r=e.thunk();r instanceof Promise?r.then(n=>{this._active--,e.resolve(n),this.runNext()},n=>{this._active--,e.reject(n),this.runNext()}):(this._active--,e.resolve(r),this.runNext())}catch(r){this._active--,e.reject(r),this.runNext()}}};Em.Semaphore=MT});var oP=$(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.ReadableStreamMessageReader=Po.AbstractMessageReader=Po.MessageReader=void 0;var qT=cs(),Lc=Nc(),FT=Ic(),qK=$T(),jK;(function(t){function e(r){let n=r;return n&&Lc.func(n.listen)&&Lc.func(n.dispose)&&Lc.func(n.onError)&&Lc.func(n.onClose)&&Lc.func(n.onPartialMessage)}t.is=e})(jK=Po.MessageReader||(Po.MessageReader={}));var Pm=class{constructor(){this.errorEmitter=new FT.Emitter,this.closeEmitter=new FT.Emitter,this.partialMessageEmitter=new FT.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${Lc.string(e.message)?e.message:"unknown"}`)}};Po.AbstractMessageReader=Pm;var jT;(function(t){function e(r){let n,i,o,s=new Map,a,c=new Map;if(r===void 0||typeof r=="string")n=r??"utf-8";else{if(n=r.charset??"utf-8",r.contentDecoder!==void 0&&(o=r.contentDecoder,s.set(o.name,o)),r.contentDecoders!==void 0)for(let f of r.contentDecoders)s.set(f.name,f);if(r.contentTypeDecoder!==void 0&&(a=r.contentTypeDecoder,c.set(a.name,a)),r.contentTypeDecoders!==void 0)for(let f of r.contentTypeDecoders)c.set(f.name,f)}return a===void 0&&(a=(0,qT.default)().applicationJson.decoder,c.set(a.name,a)),{charset:n,contentDecoder:o,contentDecoders:s,contentTypeDecoder:a,contentTypeDecoders:c}}t.fromOptions=e})(jT||(jT={}));var UT=class extends Pm{constructor(e,r){super(),this.readable=e,this.options=jT.fromOptions(r),this.buffer=(0,qT.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new qK.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let r=this.readable.onData(n=>{this.onData(n)});return this.readable.onError(n=>this.fireError(n)),this.readable.onClose(()=>this.fireClose()),r}onData(e){for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let n=this.buffer.tryReadHeaders(!0);if(!n)return;let i=n.get("content-length");if(!i){this.fireError(new Error("Header must provide a Content-Length property."));return}let o=parseInt(i);if(isNaN(o)){this.fireError(new Error("Content-Length value must be a number."));return}this.nextMessageLength=o}let r=this.buffer.tryReadBody(this.nextMessageLength);if(r===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let n=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(r):r,i=await this.options.contentTypeDecoder.decode(n,this.options);this.callback(i)}).catch(n=>{this.fireError(n)})}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,qT.default)().timer.setTimeout((e,r)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:r}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};Po.ReadableStreamMessageReader=UT});var uP=$(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.WriteableStreamMessageWriter=Ao.AbstractMessageWriter=Ao.MessageWriter=void 0;var sP=cs(),vl=Nc(),UK=$T(),aP=Ic(),WK="Content-Length: ",cP=`\r
34
- `,HK;(function(t){function e(r){let n=r;return n&&vl.func(n.dispose)&&vl.func(n.onClose)&&vl.func(n.onError)&&vl.func(n.write)}t.is=e})(HK=Ao.MessageWriter||(Ao.MessageWriter={}));var Am=class{constructor(){this.errorEmitter=new aP.Emitter,this.closeEmitter=new aP.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,r,n){this.errorEmitter.fire([this.asError(e),r,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${vl.string(e.message)?e.message:"unknown"}`)}};Ao.AbstractMessageWriter=Am;var WT;(function(t){function e(r){return r===void 0||typeof r=="string"?{charset:r??"utf-8",contentTypeEncoder:(0,sP.default)().applicationJson.encoder}:{charset:r.charset??"utf-8",contentEncoder:r.contentEncoder,contentTypeEncoder:r.contentTypeEncoder??(0,sP.default)().applicationJson.encoder}}t.fromOptions=e})(WT||(WT={}));var HT=class extends Am{constructor(e,r){super(),this.writable=e,this.options=WT.fromOptions(r),this.errorCount=0,this.writeSemaphore=new UK.Semaphore(1),this.writable.onError(n=>this.fireError(n)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(n=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(n):n).then(n=>{let i=[];return i.push(WK,n.byteLength.toString(),cP),i.push(cP),this.doWrite(e,i,n)},n=>{throw this.fireError(n),n}))}async doWrite(e,r,n){try{return await this.writable.write(r.join(""),"ascii"),this.writable.write(n)}catch(i){return this.handleError(i,e),Promise.reject(i)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){this.writable.end()}};Ao.WriteableStreamMessageWriter=HT});var lP=$(Nm=>{"use strict";Object.defineProperty(Nm,"__esModule",{value:!0});Nm.AbstractMessageBuffer=void 0;var GK=13,BK=10,KK=`\r
35
- `,GT=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let r=typeof e=="string"?this.fromString(e,this._encoding):e;this._chunks.push(r),this._totalLength+=r.byteLength}tryReadHeaders(e=!1){if(this._chunks.length===0)return;let r=0,n=0,i=0,o=0;e:for(;n<this._chunks.length;){let f=this._chunks[n];for(i=0;i<f.length;){switch(f[i]){case GK:switch(r){case 0:r=1;break;case 2:r=3;break;default:r=0}break;case BK:switch(r){case 1:r=2;break;case 3:r=4,i++;break e;default:r=0}break;default:r=0}i++}o+=f.byteLength,n++}if(r!==4)return;let s=this._read(o+i),a=new Map,c=this.toString(s,"ascii").split(KK);if(c.length<2)return a;for(let f=0;f<c.length-2;f++){let p=c[f],m=p.indexOf(":");if(m===-1)throw new Error("Message header must separate key and value using :");let T=p.substr(0,m),_=p.substr(m+1).trim();a.set(e?T.toLowerCase():T,_)}return a}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(e===0)return this.emptyBuffer();if(e>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let o=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(o)}if(this._chunks[0].byteLength>e){let o=this._chunks[0],s=this.asNative(o,e);return this._chunks[0]=o.slice(e),this._totalLength-=e,s}let r=this.allocNative(e),n=0,i=0;for(;e>0;){let o=this._chunks[i];if(o.byteLength>e){let s=o.slice(0,e);r.set(s,n),n+=e,this._chunks[i]=o.slice(e),this._totalLength-=e,e-=e}else r.set(o,n),n+=o.byteLength,this._chunks.shift(),this._totalLength-=o.byteLength,e-=o.byteLength}return r}};Nm.AbstractMessageBuffer=GT});var yP=$(ae=>{"use strict";Object.defineProperty(ae,"__esModule",{value:!0});ae.createMessageConnection=ae.ConnectionOptions=ae.MessageStrategy=ae.CancellationStrategy=ae.CancellationSenderStrategy=ae.CancellationReceiverStrategy=ae.RequestCancellationReceiverStrategy=ae.IdCancellationReceiverStrategy=ae.ConnectionStrategy=ae.ConnectionError=ae.ConnectionErrors=ae.LogTraceNotification=ae.SetTraceNotification=ae.TraceFormat=ae.TraceValues=ae.Trace=ae.NullLogger=ae.ProgressType=ae.ProgressToken=void 0;var fP=cs(),qt=Nc(),Re=xT(),dP=ST(),Tl=Ic(),BT=Dm(),bl;(function(t){t.type=new Re.NotificationType("$/cancelRequest")})(bl||(bl={}));var pP;(function(t){function e(r){return typeof r=="string"||typeof r=="number"}t.is=e})(pP=ae.ProgressToken||(ae.ProgressToken={}));var Rl;(function(t){t.type=new Re.NotificationType("$/progress")})(Rl||(Rl={}));var KT=class{constructor(){}};ae.ProgressType=KT;var zT;(function(t){function e(r){return qt.func(r)}t.is=e})(zT||(zT={}));ae.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var rt;(function(t){t[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose"})(rt=ae.Trace||(ae.Trace={}));var zK;(function(t){t.Off="off",t.Messages="messages",t.Compact="compact",t.Verbose="verbose"})(zK=ae.TraceValues||(ae.TraceValues={}));(function(t){function e(n){if(!qt.string(n))return t.Off;switch(n=n.toLowerCase(),n){case"off":return t.Off;case"messages":return t.Messages;case"compact":return t.Compact;case"verbose":return t.Verbose;default:return t.Off}}t.fromString=e;function r(n){switch(n){case t.Off:return"off";case t.Messages:return"messages";case t.Compact:return"compact";case t.Verbose:return"verbose";default:return"off"}}t.toString=r})(rt=ae.Trace||(ae.Trace={}));var gi;(function(t){t.Text="text",t.JSON="json"})(gi=ae.TraceFormat||(ae.TraceFormat={}));(function(t){function e(r){return qt.string(r)?(r=r.toLowerCase(),r==="json"?t.JSON:t.Text):t.Text}t.fromString=e})(gi=ae.TraceFormat||(ae.TraceFormat={}));var mP;(function(t){t.type=new Re.NotificationType("$/setTrace")})(mP=ae.SetTraceNotification||(ae.SetTraceNotification={}));var VT;(function(t){t.type=new Re.NotificationType("$/logTrace")})(VT=ae.LogTraceNotification||(ae.LogTraceNotification={}));var Im;(function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"})(Im=ae.ConnectionErrors||(ae.ConnectionErrors={}));var Mc=class t extends Error{constructor(e,r){super(r),this.code=e,Object.setPrototypeOf(this,t.prototype)}};ae.ConnectionError=Mc;var hP;(function(t){function e(r){let n=r;return n&&qt.func(n.cancelUndispatched)}t.is=e})(hP=ae.ConnectionStrategy||(ae.ConnectionStrategy={}));var JT;(function(t){function e(r){let n=r;return n&&(n.kind===void 0||n.kind==="id")&&qt.func(n.createCancellationTokenSource)&&(n.dispose===void 0||qt.func(n.dispose))}t.is=e})(JT=ae.IdCancellationReceiverStrategy||(ae.IdCancellationReceiverStrategy={}));var gP;(function(t){function e(r){let n=r;return n&&n.kind==="request"&&qt.func(n.createCancellationTokenSource)&&(n.dispose===void 0||qt.func(n.dispose))}t.is=e})(gP=ae.RequestCancellationReceiverStrategy||(ae.RequestCancellationReceiverStrategy={}));var XT;(function(t){t.Message=Object.freeze({createCancellationTokenSource(r){return new BT.CancellationTokenSource}});function e(r){return JT.is(r)||gP.is(r)}t.is=e})(XT=ae.CancellationReceiverStrategy||(ae.CancellationReceiverStrategy={}));var YT;(function(t){t.Message=Object.freeze({sendCancellation(r,n){return r.sendNotification(bl.type,{id:n})},cleanup(r){}});function e(r){let n=r;return n&&qt.func(n.sendCancellation)&&qt.func(n.cleanup)}t.is=e})(YT=ae.CancellationSenderStrategy||(ae.CancellationSenderStrategy={}));var QT;(function(t){t.Message=Object.freeze({receiver:XT.Message,sender:YT.Message});function e(r){let n=r;return n&&XT.is(n.receiver)&&YT.is(n.sender)}t.is=e})(QT=ae.CancellationStrategy||(ae.CancellationStrategy={}));var ZT;(function(t){function e(r){let n=r;return n&&qt.func(n.handleMessage)}t.is=e})(ZT=ae.MessageStrategy||(ae.MessageStrategy={}));var VK;(function(t){function e(r){let n=r;return n&&(QT.is(n.cancellationStrategy)||hP.is(n.connectionStrategy)||ZT.is(n.messageStrategy))}t.is=e})(VK=ae.ConnectionOptions||(ae.ConnectionOptions={}));var yi;(function(t){t[t.New=1]="New",t[t.Listening=2]="Listening",t[t.Closed=3]="Closed",t[t.Disposed=4]="Disposed"})(yi||(yi={}));function XK(t,e,r,n){let i=r!==void 0?r:ae.NullLogger,o=0,s=0,a=0,c="2.0",f,p=new Map,m,T=new Map,_=new Map,E,N=new dP.LinkedMap,I=new Map,A=new Set,y=new Map,h=rt.Off,C=gi.Text,L,J=yi.New,fe=new Tl.Emitter,Ae=new Tl.Emitter,Wt=new Tl.Emitter,Xe=new Tl.Emitter,Ye=new Tl.Emitter,V=n&&n.cancellationStrategy?n.cancellationStrategy:QT.Message;function nt(R){if(R===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+R.toString()}function Tt(R){return R===null?"res-unknown-"+(++a).toString():"res-"+R.toString()}function ur(){return"not-"+(++s).toString()}function j(R,P){Re.Message.isRequest(P)?R.set(nt(P.id),P):Re.Message.isResponse(P)?R.set(Tt(P.id),P):R.set(ur(),P)}function M(R){}function U(){return J===yi.Listening}function W(){return J===yi.Closed}function re(){return J===yi.Disposed}function ve(){(J===yi.New||J===yi.Listening)&&(J=yi.Closed,Ae.fire(void 0))}function ne(R){fe.fire([R,void 0,void 0])}function Yt(R){fe.fire(R)}t.onClose(ve),t.onError(ne),e.onClose(ve),e.onError(Yt);function Rt(){E||N.size===0||(E=(0,fP.default)().timer.setImmediate(()=>{E=void 0,Xr()}))}function Ge(R){Re.Message.isRequest(R)?Jt(R):Re.Message.isNotification(R)?Kt(R):Re.Message.isResponse(R)?un(R):it(R)}function Xr(){if(N.size===0)return;let R=N.shift();try{let P=n?.messageStrategy;ZT.is(P)?P.handleMessage(R,Ge):Ge(R)}finally{Rt()}}let He=R=>{try{if(Re.Message.isNotification(R)&&R.method===bl.type.method){let P=R.params.id,O=nt(P),H=N.get(O);if(Re.Message.isRequest(H)){let pe=n?.connectionStrategy,be=pe&&pe.cancelUndispatched?pe.cancelUndispatched(H,M):void 0;if(be&&(be.error!==void 0||be.result!==void 0)){N.delete(O),y.delete(P),be.id=H.id,ln(be,R.method,Date.now()),e.write(be).catch(()=>i.error("Sending response for canceled message failed."));return}}let de=y.get(P);if(de!==void 0){de.cancel(),Ji(R);return}else A.add(P)}j(N,R)}finally{Rt()}};function Jt(R){if(re())return;function P(ie,se,me){let Pe={jsonrpc:c,id:R.id};ie instanceof Re.ResponseError?Pe.error=ie.toJson():Pe.result=ie===void 0?null:ie,ln(Pe,se,me),e.write(Pe).catch(()=>i.error("Sending response failed."))}function O(ie,se,me){let Pe={jsonrpc:c,id:R.id,error:ie.toJson()};ln(Pe,se,me),e.write(Pe).catch(()=>i.error("Sending response failed."))}function H(ie,se,me){ie===void 0&&(ie=null);let Pe={jsonrpc:c,id:R.id,result:ie};ln(Pe,se,me),e.write(Pe).catch(()=>i.error("Sending response failed."))}In(R);let de=p.get(R.method),pe,be;de&&(pe=de.type,be=de.handler);let ce=Date.now();if(be||f){let ie=R.id??String(Date.now()),se=JT.is(V.receiver)?V.receiver.createCancellationTokenSource(ie):V.receiver.createCancellationTokenSource(R);R.id!==null&&A.has(R.id)&&se.cancel(),R.id!==null&&y.set(ie,se);try{let me;if(be)if(R.params===void 0){if(pe!==void 0&&pe.numberOfParams!==0){O(new Re.ResponseError(Re.ErrorCodes.InvalidParams,`Request ${R.method} defines ${pe.numberOfParams} params but received none.`),R.method,ce);return}me=be(se.token)}else if(Array.isArray(R.params)){if(pe!==void 0&&pe.parameterStructures===Re.ParameterStructures.byName){O(new Re.ResponseError(Re.ErrorCodes.InvalidParams,`Request ${R.method} defines parameters by name but received parameters by position`),R.method,ce);return}me=be(...R.params,se.token)}else{if(pe!==void 0&&pe.parameterStructures===Re.ParameterStructures.byPosition){O(new Re.ResponseError(Re.ErrorCodes.InvalidParams,`Request ${R.method} defines parameters by position but received parameters by name`),R.method,ce);return}me=be(R.params,se.token)}else f&&(me=f(R.method,R.params,se.token));let Pe=me;me?Pe.then?Pe.then(st=>{y.delete(ie),P(st,R.method,ce)},st=>{y.delete(ie),st instanceof Re.ResponseError?O(st,R.method,ce):st&&qt.string(st.message)?O(new Re.ResponseError(Re.ErrorCodes.InternalError,`Request ${R.method} failed with message: ${st.message}`),R.method,ce):O(new Re.ResponseError(Re.ErrorCodes.InternalError,`Request ${R.method} failed unexpectedly without providing any details.`),R.method,ce)}):(y.delete(ie),P(me,R.method,ce)):(y.delete(ie),H(me,R.method,ce))}catch(me){y.delete(ie),me instanceof Re.ResponseError?P(me,R.method,ce):me&&qt.string(me.message)?O(new Re.ResponseError(Re.ErrorCodes.InternalError,`Request ${R.method} failed with message: ${me.message}`),R.method,ce):O(new Re.ResponseError(Re.ErrorCodes.InternalError,`Request ${R.method} failed unexpectedly without providing any details.`),R.method,ce)}}else O(new Re.ResponseError(Re.ErrorCodes.MethodNotFound,`Unhandled method ${R.method}`),R.method,ce)}function un(R){if(!re())if(R.id===null)R.error?i.error(`Received response message without id: Error is:
36
- ${JSON.stringify(R.error,void 0,4)}`):i.error("Received response message without id. No further error information provided.");else{let P=R.id,O=I.get(P);if(On(R,O),O!==void 0){I.delete(P);try{if(R.error){let H=R.error;O.reject(new Re.ResponseError(H.code,H.message,H.data))}else if(R.result!==void 0)O.resolve(R.result);else throw new Error("Should never happen.")}catch(H){H.message?i.error(`Response handler '${O.method}' failed with message: ${H.message}`):i.error(`Response handler '${O.method}' failed unexpectedly.`)}}}}function Kt(R){if(re())return;let P,O;if(R.method===bl.type.method){let H=R.params.id;A.delete(H),Ji(R);return}else{let H=T.get(R.method);H&&(O=H.handler,P=H.type)}if(O||m)try{if(Ji(R),O)if(R.params===void 0)P!==void 0&&P.numberOfParams!==0&&P.parameterStructures!==Re.ParameterStructures.byName&&i.error(`Notification ${R.method} defines ${P.numberOfParams} params but received none.`),O();else if(Array.isArray(R.params)){let H=R.params;R.method===Rl.type.method&&H.length===2&&pP.is(H[0])?O({token:H[0],value:H[1]}):(P!==void 0&&(P.parameterStructures===Re.ParameterStructures.byName&&i.error(`Notification ${R.method} defines parameters by name but received parameters by position`),P.numberOfParams!==R.params.length&&i.error(`Notification ${R.method} defines ${P.numberOfParams} params but received ${H.length} arguments`)),O(...H))}else P!==void 0&&P.parameterStructures===Re.ParameterStructures.byPosition&&i.error(`Notification ${R.method} defines parameters by position but received parameters by name`),O(R.params);else m&&m(R.method,R.params)}catch(H){H.message?i.error(`Notification handler '${R.method}' failed with message: ${H.message}`):i.error(`Notification handler '${R.method}' failed unexpectedly.`)}else Wt.fire(R)}function it(R){if(!R){i.error("Received empty message.");return}i.error(`Received message which is neither a response nor a notification message:
37
- ${JSON.stringify(R,null,4)}`);let P=R;if(qt.string(P.id)||qt.number(P.id)){let O=P.id,H=I.get(O);H&&H.reject(new Error("The received response has neither a result nor an error property."))}}function Et(R){if(R!=null)switch(h){case rt.Verbose:return JSON.stringify(R,null,4);case rt.Compact:return JSON.stringify(R);default:return}}function Sr(R){if(!(h===rt.Off||!L))if(C===gi.Text){let P;(h===rt.Verbose||h===rt.Compact)&&R.params&&(P=`Params: ${Et(R.params)}
38
-
39
- `),L.log(`Sending request '${R.method} - (${R.id})'.`,P)}else Fr("send-request",R)}function yr(R){if(!(h===rt.Off||!L))if(C===gi.Text){let P;(h===rt.Verbose||h===rt.Compact)&&(R.params?P=`Params: ${Et(R.params)}
40
-
41
- `:P=`No parameters provided.
42
-
43
- `),L.log(`Sending notification '${R.method}'.`,P)}else Fr("send-notification",R)}function ln(R,P,O){if(!(h===rt.Off||!L))if(C===gi.Text){let H;(h===rt.Verbose||h===rt.Compact)&&(R.error&&R.error.data?H=`Error data: ${Et(R.error.data)}
44
-
45
- `:R.result?H=`Result: ${Et(R.result)}
46
-
47
- `:R.error===void 0&&(H=`No result returned.
48
-
49
- `)),L.log(`Sending response '${P} - (${R.id})'. Processing request took ${Date.now()-O}ms`,H)}else Fr("send-response",R)}function In(R){if(!(h===rt.Off||!L))if(C===gi.Text){let P;(h===rt.Verbose||h===rt.Compact)&&R.params&&(P=`Params: ${Et(R.params)}
50
-
51
- `),L.log(`Received request '${R.method} - (${R.id})'.`,P)}else Fr("receive-request",R)}function Ji(R){if(!(h===rt.Off||!L||R.method===VT.type.method))if(C===gi.Text){let P;(h===rt.Verbose||h===rt.Compact)&&(R.params?P=`Params: ${Et(R.params)}
52
-
53
- `:P=`No parameters provided.
54
-
55
- `),L.log(`Received notification '${R.method}'.`,P)}else Fr("receive-notification",R)}function On(R,P){if(!(h===rt.Off||!L))if(C===gi.Text){let O;if((h===rt.Verbose||h===rt.Compact)&&(R.error&&R.error.data?O=`Error data: ${Et(R.error.data)}
56
-
57
- `:R.result?O=`Result: ${Et(R.result)}
58
-
59
- `:R.error===void 0&&(O=`No result returned.
60
-
61
- `)),P){let H=R.error?` Request failed: ${R.error.message} (${R.error.code}).`:"";L.log(`Received response '${P.method} - (${R.id})' in ${Date.now()-P.timerStart}ms.${H}`,O)}else L.log(`Received response ${R.id} without active response promise.`,O)}else Fr("receive-response",R)}function Fr(R,P){if(!L||h===rt.Off)return;let O={isLSPMessage:!0,type:R,message:P,timestamp:Date.now()};L.log(O)}function Jn(){if(W())throw new Mc(Im.Closed,"Connection is closed.");if(re())throw new Mc(Im.Disposed,"Connection is disposed.")}function hs(){if(U())throw new Mc(Im.AlreadyListening,"Connection is already listening")}function Qn(){if(!U())throw new Error("Call listen() first.")}function qr(R){return R===void 0?null:R}function Qi(R){if(R!==null)return R}function Si(R){return R!=null&&!Array.isArray(R)&&typeof R=="object"}function ki(R,P){switch(R){case Re.ParameterStructures.auto:return Si(P)?Qi(P):[qr(P)];case Re.ParameterStructures.byName:if(!Si(P))throw new Error("Received parameters by name but param is not an object literal.");return Qi(P);case Re.ParameterStructures.byPosition:return[qr(P)];default:throw new Error(`Unknown parameter structure ${R.toString()}`)}}function Rn(R,P){let O,H=R.numberOfParams;switch(H){case 0:O=void 0;break;case 1:O=ki(R.parameterStructures,P[0]);break;default:O=[];for(let de=0;de<P.length&&de<H;de++)O.push(qr(P[de]));if(P.length<H)for(let de=P.length;de<H;de++)O.push(null);break}return O}let D={sendNotification:(R,...P)=>{Jn();let O,H;if(qt.string(R)){O=R;let pe=P[0],be=0,ce=Re.ParameterStructures.auto;Re.ParameterStructures.is(pe)&&(be=1,ce=pe);let ie=P.length,se=ie-be;switch(se){case 0:H=void 0;break;case 1:H=ki(ce,P[be]);break;default:if(ce===Re.ParameterStructures.byName)throw new Error(`Received ${se} parameters for 'by Name' notification parameter structure.`);H=P.slice(be,ie).map(me=>qr(me));break}}else{let pe=P;O=R.method,H=Rn(R,pe)}let de={jsonrpc:c,method:O,params:H};return yr(de),e.write(de).catch(pe=>{throw i.error("Sending notification failed."),pe})},onNotification:(R,P)=>{Jn();let O;return qt.func(R)?m=R:P&&(qt.string(R)?(O=R,T.set(R,{type:void 0,handler:P})):(O=R.method,T.set(R.method,{type:R,handler:P}))),{dispose:()=>{O!==void 0?T.delete(O):m=void 0}}},onProgress:(R,P,O)=>{if(_.has(P))throw new Error(`Progress handler for token ${P} already registered`);return _.set(P,O),{dispose:()=>{_.delete(P)}}},sendProgress:(R,P,O)=>D.sendNotification(Rl.type,{token:P,value:O}),onUnhandledProgress:Xe.event,sendRequest:(R,...P)=>{Jn(),Qn();let O,H,de;if(qt.string(R)){O=R;let ie=P[0],se=P[P.length-1],me=0,Pe=Re.ParameterStructures.auto;Re.ParameterStructures.is(ie)&&(me=1,Pe=ie);let st=P.length;BT.CancellationToken.is(se)&&(st=st-1,de=se);let Pt=st-me;switch(Pt){case 0:H=void 0;break;case 1:H=ki(Pe,P[me]);break;default:if(Pe===Re.ParameterStructures.byName)throw new Error(`Received ${Pt} parameters for 'by Name' request parameter structure.`);H=P.slice(me,st).map(b=>qr(b));break}}else{let ie=P;O=R.method,H=Rn(R,ie);let se=R.numberOfParams;de=BT.CancellationToken.is(ie[se])?ie[se]:void 0}let pe=o++,be;de&&(be=de.onCancellationRequested(()=>{let ie=V.sender.sendCancellation(D,pe);return ie===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${pe}`),Promise.resolve()):ie.catch(()=>{i.log(`Sending cancellation messages for id ${pe} failed`)})}));let ce={jsonrpc:c,id:pe,method:O,params:H};return Sr(ce),typeof V.sender.enableCancellation=="function"&&V.sender.enableCancellation(ce),new Promise(async(ie,se)=>{let me=Pt=>{ie(Pt),V.sender.cleanup(pe),be?.dispose()},Pe=Pt=>{se(Pt),V.sender.cleanup(pe),be?.dispose()},st={method:O,timerStart:Date.now(),resolve:me,reject:Pe};try{await e.write(ce),I.set(pe,st)}catch(Pt){throw i.error("Sending request failed."),st.reject(new Re.ResponseError(Re.ErrorCodes.MessageWriteError,Pt.message?Pt.message:"Unknown reason")),Pt}})},onRequest:(R,P)=>{Jn();let O=null;return zT.is(R)?(O=void 0,f=R):qt.string(R)?(O=null,P!==void 0&&(O=R,p.set(R,{handler:P,type:void 0}))):P!==void 0&&(O=R.method,p.set(R.method,{type:R,handler:P})),{dispose:()=>{O!==null&&(O!==void 0?p.delete(O):f=void 0)}}},hasPendingResponse:()=>I.size>0,trace:async(R,P,O)=>{let H=!1,de=gi.Text;O!==void 0&&(qt.boolean(O)?H=O:(H=O.sendNotification||!1,de=O.traceFormat||gi.Text)),h=R,C=de,h===rt.Off?L=void 0:L=P,H&&!W()&&!re()&&await D.sendNotification(mP.type,{value:rt.toString(R)})},onError:fe.event,onClose:Ae.event,onUnhandledNotification:Wt.event,onDispose:Ye.event,end:()=>{e.end()},dispose:()=>{if(re())return;J=yi.Disposed,Ye.fire(void 0);let R=new Re.ResponseError(Re.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let P of I.values())P.reject(R);I=new Map,y=new Map,A=new Set,N=new dP.LinkedMap,qt.func(e.dispose)&&e.dispose(),qt.func(t.dispose)&&t.dispose()},listen:()=>{Jn(),hs(),J=yi.Listening,t.listen(He)},inspect:()=>{(0,fP.default)().console.log("inspect")}};return D.onNotification(VT.type,R=>{if(h===rt.Off||!L)return;let P=h===rt.Verbose||h===rt.Compact;L.log(R.message,P?R.verbose:void 0)}),D.onNotification(Rl.type,R=>{let P=_.get(R.token);P?P(R.value):Xe.fire(R)}),D}ae.createMessageConnection=XK});var Om=$(F=>{"use strict";Object.defineProperty(F,"__esModule",{value:!0});F.ProgressType=F.ProgressToken=F.createMessageConnection=F.NullLogger=F.ConnectionOptions=F.ConnectionStrategy=F.AbstractMessageBuffer=F.WriteableStreamMessageWriter=F.AbstractMessageWriter=F.MessageWriter=F.ReadableStreamMessageReader=F.AbstractMessageReader=F.MessageReader=F.SharedArrayReceiverStrategy=F.SharedArraySenderStrategy=F.CancellationToken=F.CancellationTokenSource=F.Emitter=F.Event=F.Disposable=F.LRUCache=F.Touch=F.LinkedMap=F.ParameterStructures=F.NotificationType9=F.NotificationType8=F.NotificationType7=F.NotificationType6=F.NotificationType5=F.NotificationType4=F.NotificationType3=F.NotificationType2=F.NotificationType1=F.NotificationType0=F.NotificationType=F.ErrorCodes=F.ResponseError=F.RequestType9=F.RequestType8=F.RequestType7=F.RequestType6=F.RequestType5=F.RequestType4=F.RequestType3=F.RequestType2=F.RequestType1=F.RequestType0=F.RequestType=F.Message=F.RAL=void 0;F.MessageStrategy=F.CancellationStrategy=F.CancellationSenderStrategy=F.CancellationReceiverStrategy=F.ConnectionError=F.ConnectionErrors=F.LogTraceNotification=F.SetTraceNotification=F.TraceFormat=F.TraceValues=F.Trace=void 0;var vt=xT();Object.defineProperty(F,"Message",{enumerable:!0,get:function(){return vt.Message}});Object.defineProperty(F,"RequestType",{enumerable:!0,get:function(){return vt.RequestType}});Object.defineProperty(F,"RequestType0",{enumerable:!0,get:function(){return vt.RequestType0}});Object.defineProperty(F,"RequestType1",{enumerable:!0,get:function(){return vt.RequestType1}});Object.defineProperty(F,"RequestType2",{enumerable:!0,get:function(){return vt.RequestType2}});Object.defineProperty(F,"RequestType3",{enumerable:!0,get:function(){return vt.RequestType3}});Object.defineProperty(F,"RequestType4",{enumerable:!0,get:function(){return vt.RequestType4}});Object.defineProperty(F,"RequestType5",{enumerable:!0,get:function(){return vt.RequestType5}});Object.defineProperty(F,"RequestType6",{enumerable:!0,get:function(){return vt.RequestType6}});Object.defineProperty(F,"RequestType7",{enumerable:!0,get:function(){return vt.RequestType7}});Object.defineProperty(F,"RequestType8",{enumerable:!0,get:function(){return vt.RequestType8}});Object.defineProperty(F,"RequestType9",{enumerable:!0,get:function(){return vt.RequestType9}});Object.defineProperty(F,"ResponseError",{enumerable:!0,get:function(){return vt.ResponseError}});Object.defineProperty(F,"ErrorCodes",{enumerable:!0,get:function(){return vt.ErrorCodes}});Object.defineProperty(F,"NotificationType",{enumerable:!0,get:function(){return vt.NotificationType}});Object.defineProperty(F,"NotificationType0",{enumerable:!0,get:function(){return vt.NotificationType0}});Object.defineProperty(F,"NotificationType1",{enumerable:!0,get:function(){return vt.NotificationType1}});Object.defineProperty(F,"NotificationType2",{enumerable:!0,get:function(){return vt.NotificationType2}});Object.defineProperty(F,"NotificationType3",{enumerable:!0,get:function(){return vt.NotificationType3}});Object.defineProperty(F,"NotificationType4",{enumerable:!0,get:function(){return vt.NotificationType4}});Object.defineProperty(F,"NotificationType5",{enumerable:!0,get:function(){return vt.NotificationType5}});Object.defineProperty(F,"NotificationType6",{enumerable:!0,get:function(){return vt.NotificationType6}});Object.defineProperty(F,"NotificationType7",{enumerable:!0,get:function(){return vt.NotificationType7}});Object.defineProperty(F,"NotificationType8",{enumerable:!0,get:function(){return vt.NotificationType8}});Object.defineProperty(F,"NotificationType9",{enumerable:!0,get:function(){return vt.NotificationType9}});Object.defineProperty(F,"ParameterStructures",{enumerable:!0,get:function(){return vt.ParameterStructures}});var eR=ST();Object.defineProperty(F,"LinkedMap",{enumerable:!0,get:function(){return eR.LinkedMap}});Object.defineProperty(F,"LRUCache",{enumerable:!0,get:function(){return eR.LRUCache}});Object.defineProperty(F,"Touch",{enumerable:!0,get:function(){return eR.Touch}});var YK=nP();Object.defineProperty(F,"Disposable",{enumerable:!0,get:function(){return YK.Disposable}});var vP=Ic();Object.defineProperty(F,"Event",{enumerable:!0,get:function(){return vP.Event}});Object.defineProperty(F,"Emitter",{enumerable:!0,get:function(){return vP.Emitter}});var TP=Dm();Object.defineProperty(F,"CancellationTokenSource",{enumerable:!0,get:function(){return TP.CancellationTokenSource}});Object.defineProperty(F,"CancellationToken",{enumerable:!0,get:function(){return TP.CancellationToken}});var RP=iP();Object.defineProperty(F,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return RP.SharedArraySenderStrategy}});Object.defineProperty(F,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return RP.SharedArrayReceiverStrategy}});var tR=oP();Object.defineProperty(F,"MessageReader",{enumerable:!0,get:function(){return tR.MessageReader}});Object.defineProperty(F,"AbstractMessageReader",{enumerable:!0,get:function(){return tR.AbstractMessageReader}});Object.defineProperty(F,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return tR.ReadableStreamMessageReader}});var rR=uP();Object.defineProperty(F,"MessageWriter",{enumerable:!0,get:function(){return rR.MessageWriter}});Object.defineProperty(F,"AbstractMessageWriter",{enumerable:!0,get:function(){return rR.AbstractMessageWriter}});Object.defineProperty(F,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return rR.WriteableStreamMessageWriter}});var JK=lP();Object.defineProperty(F,"AbstractMessageBuffer",{enumerable:!0,get:function(){return JK.AbstractMessageBuffer}});var Or=yP();Object.defineProperty(F,"ConnectionStrategy",{enumerable:!0,get:function(){return Or.ConnectionStrategy}});Object.defineProperty(F,"ConnectionOptions",{enumerable:!0,get:function(){return Or.ConnectionOptions}});Object.defineProperty(F,"NullLogger",{enumerable:!0,get:function(){return Or.NullLogger}});Object.defineProperty(F,"createMessageConnection",{enumerable:!0,get:function(){return Or.createMessageConnection}});Object.defineProperty(F,"ProgressToken",{enumerable:!0,get:function(){return Or.ProgressToken}});Object.defineProperty(F,"ProgressType",{enumerable:!0,get:function(){return Or.ProgressType}});Object.defineProperty(F,"Trace",{enumerable:!0,get:function(){return Or.Trace}});Object.defineProperty(F,"TraceValues",{enumerable:!0,get:function(){return Or.TraceValues}});Object.defineProperty(F,"TraceFormat",{enumerable:!0,get:function(){return Or.TraceFormat}});Object.defineProperty(F,"SetTraceNotification",{enumerable:!0,get:function(){return Or.SetTraceNotification}});Object.defineProperty(F,"LogTraceNotification",{enumerable:!0,get:function(){return Or.LogTraceNotification}});Object.defineProperty(F,"ConnectionErrors",{enumerable:!0,get:function(){return Or.ConnectionErrors}});Object.defineProperty(F,"ConnectionError",{enumerable:!0,get:function(){return Or.ConnectionError}});Object.defineProperty(F,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return Or.CancellationReceiverStrategy}});Object.defineProperty(F,"CancellationSenderStrategy",{enumerable:!0,get:function(){return Or.CancellationSenderStrategy}});Object.defineProperty(F,"CancellationStrategy",{enumerable:!0,get:function(){return Or.CancellationStrategy}});Object.defineProperty(F,"MessageStrategy",{enumerable:!0,get:function(){return Or.MessageStrategy}});var QK=cs();F.RAL=QK.default});var xP=$(sR=>{"use strict";Object.defineProperty(sR,"__esModule",{value:!0});var Ki=Om(),Lm=class t extends Ki.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return t.emptyBuffer}fromString(e,r){return new TextEncoder().encode(e)}toString(e,r){return r==="ascii"?this.asciiDecoder.decode(e):new TextDecoder(r).decode(e)}asNative(e,r){return r===void 0?e:e.slice(0,r)}allocNative(e){return new Uint8Array(e)}};Lm.emptyBuffer=new Uint8Array(0);var nR=class{constructor(e){this.socket=e,this._onData=new Ki.Emitter,this._messageListener=r=>{r.data.arrayBuffer().then(i=>{this._onData.fire(new Uint8Array(i))},()=>{(0,Ki.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),Ki.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),Ki.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),Ki.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}},iR=class{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),Ki.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),Ki.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),Ki.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,r){if(typeof e=="string"){if(r!==void 0&&r!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${r}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}},ZK=new TextEncoder,bP=Object.freeze({messageBuffer:Object.freeze({create:t=>new Lm(t)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(t,e)=>{if(e.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${e.charset}`);return Promise.resolve(ZK.encode(JSON.stringify(t,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(t,e)=>{if(!(t instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(e.charset).decode(t)))}})}),stream:Object.freeze({asReadableStream:t=>new nR(t),asWritableStream:t=>new iR(t)}),console,timer:Object.freeze({setTimeout(t,e,...r){let n=setTimeout(t,e,...r);return{dispose:()=>clearTimeout(n)}},setImmediate(t,...e){let r=setTimeout(t,0,...e);return{dispose:()=>clearTimeout(r)}},setInterval(t,e,...r){let n=setInterval(t,e,...r);return{dispose:()=>clearInterval(n)}}})});function oR(){return bP}(function(t){function e(){Ki.RAL.install(bP)}t.install=e})(oR||(oR={}));sR.default=oR});var Xs=$(Nn=>{"use strict";var ez=Nn&&Nn.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),tz=Nn&&Nn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&ez(e,t,r)};Object.defineProperty(Nn,"__esModule",{value:!0});Nn.createMessageConnection=Nn.BrowserMessageWriter=Nn.BrowserMessageReader=void 0;var rz=xP();rz.default.install();var $c=Om();tz(Om(),Nn);var aR=class extends $c.AbstractMessageReader{constructor(e){super(),this._onData=new $c.Emitter,this._messageListener=r=>{this._onData.fire(r.data)},e.addEventListener("error",r=>this.fireError(r)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}};Nn.BrowserMessageReader=aR;var cR=class extends $c.AbstractMessageWriter{constructor(e){super(),this.port=e,this.errorCount=0,e.addEventListener("error",r=>this.fireError(r))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(r){return this.handleError(r,e),Promise.reject(r)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){}};Nn.BrowserMessageWriter=cR;function nz(t,e,r,n){return r===void 0&&(r=$c.NullLogger),$c.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,$c.createMessageConnection)(t,e,r,n)}Nn.createMessageConnection=nz});var uR=$((zye,_P)=>{"use strict";_P.exports=Xs()});var $m=$((SP,Mm)=>{(function(t){if(typeof Mm=="object"&&typeof Mm.exports=="object"){var e=t(Fl,SP);e!==void 0&&(Mm.exports=e)}else typeof define=="function"&&define.amd&&define(["require","exports"],t)})(function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextDocument=e.EOL=e.WorkspaceFolder=e.InlayHint=e.InlayHintLabelPart=e.InlayHintKind=e.InlineValueContext=e.InlineValueEvaluatableExpression=e.InlineValueVariableLookup=e.InlineValueText=e.SemanticTokens=e.SemanticTokenModifiers=e.SemanticTokenTypes=e.SelectionRange=e.DocumentLink=e.FormattingOptions=e.CodeLens=e.CodeAction=e.CodeActionContext=e.CodeActionTriggerKind=e.CodeActionKind=e.DocumentSymbol=e.WorkspaceSymbol=e.SymbolInformation=e.SymbolTag=e.SymbolKind=e.DocumentHighlight=e.DocumentHighlightKind=e.SignatureInformation=e.ParameterInformation=e.Hover=e.MarkedString=e.CompletionList=e.CompletionItem=e.CompletionItemLabelDetails=e.InsertTextMode=e.InsertReplaceEdit=e.CompletionItemTag=e.InsertTextFormat=e.CompletionItemKind=e.MarkupContent=e.MarkupKind=e.TextDocumentItem=e.OptionalVersionedTextDocumentIdentifier=e.VersionedTextDocumentIdentifier=e.TextDocumentIdentifier=e.WorkspaceChange=e.WorkspaceEdit=e.DeleteFile=e.RenameFile=e.CreateFile=e.TextDocumentEdit=e.AnnotatedTextEdit=e.ChangeAnnotationIdentifier=e.ChangeAnnotation=e.TextEdit=e.Command=e.Diagnostic=e.CodeDescription=e.DiagnosticTag=e.DiagnosticSeverity=e.DiagnosticRelatedInformation=e.FoldingRange=e.FoldingRangeKind=e.ColorPresentation=e.ColorInformation=e.Color=e.LocationLink=e.Location=e.Range=e.Position=e.uinteger=e.integer=e.URI=e.DocumentUri=void 0;var r;(function(l){function g(v){return typeof v=="string"}l.is=g})(r=e.DocumentUri||(e.DocumentUri={}));var n;(function(l){function g(v){return typeof v=="string"}l.is=g})(n=e.URI||(e.URI={}));var i;(function(l){l.MIN_VALUE=-2147483648,l.MAX_VALUE=2147483647;function g(v){return typeof v=="number"&&l.MIN_VALUE<=v&&v<=l.MAX_VALUE}l.is=g})(i=e.integer||(e.integer={}));var o;(function(l){l.MIN_VALUE=0,l.MAX_VALUE=2147483647;function g(v){return typeof v=="number"&&l.MIN_VALUE<=v&&v<=l.MAX_VALUE}l.is=g})(o=e.uinteger||(e.uinteger={}));var s;(function(l){function g(d,u){return d===Number.MAX_VALUE&&(d=o.MAX_VALUE),u===Number.MAX_VALUE&&(u=o.MAX_VALUE),{line:d,character:u}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&b.uinteger(u.line)&&b.uinteger(u.character)}l.is=v})(s=e.Position||(e.Position={}));var a;(function(l){function g(d,u,x,w){if(b.uinteger(d)&&b.uinteger(u)&&b.uinteger(x)&&b.uinteger(w))return{start:s.create(d,u),end:s.create(x,w)};if(s.is(d)&&s.is(u))return{start:d,end:u};throw new Error("Range#create called with invalid arguments[".concat(d,", ").concat(u,", ").concat(x,", ").concat(w,"]"))}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&s.is(u.start)&&s.is(u.end)}l.is=v})(a=e.Range||(e.Range={}));var c;(function(l){function g(d,u){return{uri:d,range:u}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&a.is(u.range)&&(b.string(u.uri)||b.undefined(u.uri))}l.is=v})(c=e.Location||(e.Location={}));var f;(function(l){function g(d,u,x,w){return{targetUri:d,targetRange:u,targetSelectionRange:x,originSelectionRange:w}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&a.is(u.targetRange)&&b.string(u.targetUri)&&a.is(u.targetSelectionRange)&&(a.is(u.originSelectionRange)||b.undefined(u.originSelectionRange))}l.is=v})(f=e.LocationLink||(e.LocationLink={}));var p;(function(l){function g(d,u,x,w){return{red:d,green:u,blue:x,alpha:w}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&b.numberRange(u.red,0,1)&&b.numberRange(u.green,0,1)&&b.numberRange(u.blue,0,1)&&b.numberRange(u.alpha,0,1)}l.is=v})(p=e.Color||(e.Color={}));var m;(function(l){function g(d,u){return{range:d,color:u}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&a.is(u.range)&&p.is(u.color)}l.is=v})(m=e.ColorInformation||(e.ColorInformation={}));var T;(function(l){function g(d,u,x){return{label:d,textEdit:u,additionalTextEdits:x}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&b.string(u.label)&&(b.undefined(u.textEdit)||L.is(u))&&(b.undefined(u.additionalTextEdits)||b.typedArray(u.additionalTextEdits,L.is))}l.is=v})(T=e.ColorPresentation||(e.ColorPresentation={}));var _;(function(l){l.Comment="comment",l.Imports="imports",l.Region="region"})(_=e.FoldingRangeKind||(e.FoldingRangeKind={}));var E;(function(l){function g(d,u,x,w,G,xe){var he={startLine:d,endLine:u};return b.defined(x)&&(he.startCharacter=x),b.defined(w)&&(he.endCharacter=w),b.defined(G)&&(he.kind=G),b.defined(xe)&&(he.collapsedText=xe),he}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&b.uinteger(u.startLine)&&b.uinteger(u.startLine)&&(b.undefined(u.startCharacter)||b.uinteger(u.startCharacter))&&(b.undefined(u.endCharacter)||b.uinteger(u.endCharacter))&&(b.undefined(u.kind)||b.string(u.kind))}l.is=v})(E=e.FoldingRange||(e.FoldingRange={}));var N;(function(l){function g(d,u){return{location:d,message:u}}l.create=g;function v(d){var u=d;return b.defined(u)&&c.is(u.location)&&b.string(u.message)}l.is=v})(N=e.DiagnosticRelatedInformation||(e.DiagnosticRelatedInformation={}));var I;(function(l){l.Error=1,l.Warning=2,l.Information=3,l.Hint=4})(I=e.DiagnosticSeverity||(e.DiagnosticSeverity={}));var A;(function(l){l.Unnecessary=1,l.Deprecated=2})(A=e.DiagnosticTag||(e.DiagnosticTag={}));var y;(function(l){function g(v){var d=v;return b.objectLiteral(d)&&b.string(d.href)}l.is=g})(y=e.CodeDescription||(e.CodeDescription={}));var h;(function(l){function g(d,u,x,w,G,xe){var he={range:d,message:u};return b.defined(x)&&(he.severity=x),b.defined(w)&&(he.code=w),b.defined(G)&&(he.source=G),b.defined(xe)&&(he.relatedInformation=xe),he}l.create=g;function v(d){var u,x=d;return b.defined(x)&&a.is(x.range)&&b.string(x.message)&&(b.number(x.severity)||b.undefined(x.severity))&&(b.integer(x.code)||b.string(x.code)||b.undefined(x.code))&&(b.undefined(x.codeDescription)||b.string((u=x.codeDescription)===null||u===void 0?void 0:u.href))&&(b.string(x.source)||b.undefined(x.source))&&(b.undefined(x.relatedInformation)||b.typedArray(x.relatedInformation,N.is))}l.is=v})(h=e.Diagnostic||(e.Diagnostic={}));var C;(function(l){function g(d,u){for(var x=[],w=2;w<arguments.length;w++)x[w-2]=arguments[w];var G={title:d,command:u};return b.defined(x)&&x.length>0&&(G.arguments=x),G}l.create=g;function v(d){var u=d;return b.defined(u)&&b.string(u.title)&&b.string(u.command)}l.is=v})(C=e.Command||(e.Command={}));var L;(function(l){function g(x,w){return{range:x,newText:w}}l.replace=g;function v(x,w){return{range:{start:x,end:x},newText:w}}l.insert=v;function d(x){return{range:x,newText:""}}l.del=d;function u(x){var w=x;return b.objectLiteral(w)&&b.string(w.newText)&&a.is(w.range)}l.is=u})(L=e.TextEdit||(e.TextEdit={}));var J;(function(l){function g(d,u,x){var w={label:d};return u!==void 0&&(w.needsConfirmation=u),x!==void 0&&(w.description=x),w}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&b.string(u.label)&&(b.boolean(u.needsConfirmation)||u.needsConfirmation===void 0)&&(b.string(u.description)||u.description===void 0)}l.is=v})(J=e.ChangeAnnotation||(e.ChangeAnnotation={}));var fe;(function(l){function g(v){var d=v;return b.string(d)}l.is=g})(fe=e.ChangeAnnotationIdentifier||(e.ChangeAnnotationIdentifier={}));var Ae;(function(l){function g(x,w,G){return{range:x,newText:w,annotationId:G}}l.replace=g;function v(x,w,G){return{range:{start:x,end:x},newText:w,annotationId:G}}l.insert=v;function d(x,w){return{range:x,newText:"",annotationId:w}}l.del=d;function u(x){var w=x;return L.is(w)&&(J.is(w.annotationId)||fe.is(w.annotationId))}l.is=u})(Ae=e.AnnotatedTextEdit||(e.AnnotatedTextEdit={}));var Wt;(function(l){function g(d,u){return{textDocument:d,edits:u}}l.create=g;function v(d){var u=d;return b.defined(u)&&W.is(u.textDocument)&&Array.isArray(u.edits)}l.is=v})(Wt=e.TextDocumentEdit||(e.TextDocumentEdit={}));var Xe;(function(l){function g(d,u,x){var w={kind:"create",uri:d};return u!==void 0&&(u.overwrite!==void 0||u.ignoreIfExists!==void 0)&&(w.options=u),x!==void 0&&(w.annotationId=x),w}l.create=g;function v(d){var u=d;return u&&u.kind==="create"&&b.string(u.uri)&&(u.options===void 0||(u.options.overwrite===void 0||b.boolean(u.options.overwrite))&&(u.options.ignoreIfExists===void 0||b.boolean(u.options.ignoreIfExists)))&&(u.annotationId===void 0||fe.is(u.annotationId))}l.is=v})(Xe=e.CreateFile||(e.CreateFile={}));var Ye;(function(l){function g(d,u,x,w){var G={kind:"rename",oldUri:d,newUri:u};return x!==void 0&&(x.overwrite!==void 0||x.ignoreIfExists!==void 0)&&(G.options=x),w!==void 0&&(G.annotationId=w),G}l.create=g;function v(d){var u=d;return u&&u.kind==="rename"&&b.string(u.oldUri)&&b.string(u.newUri)&&(u.options===void 0||(u.options.overwrite===void 0||b.boolean(u.options.overwrite))&&(u.options.ignoreIfExists===void 0||b.boolean(u.options.ignoreIfExists)))&&(u.annotationId===void 0||fe.is(u.annotationId))}l.is=v})(Ye=e.RenameFile||(e.RenameFile={}));var V;(function(l){function g(d,u,x){var w={kind:"delete",uri:d};return u!==void 0&&(u.recursive!==void 0||u.ignoreIfNotExists!==void 0)&&(w.options=u),x!==void 0&&(w.annotationId=x),w}l.create=g;function v(d){var u=d;return u&&u.kind==="delete"&&b.string(u.uri)&&(u.options===void 0||(u.options.recursive===void 0||b.boolean(u.options.recursive))&&(u.options.ignoreIfNotExists===void 0||b.boolean(u.options.ignoreIfNotExists)))&&(u.annotationId===void 0||fe.is(u.annotationId))}l.is=v})(V=e.DeleteFile||(e.DeleteFile={}));var nt;(function(l){function g(v){var d=v;return d&&(d.changes!==void 0||d.documentChanges!==void 0)&&(d.documentChanges===void 0||d.documentChanges.every(function(u){return b.string(u.kind)?Xe.is(u)||Ye.is(u)||V.is(u):Wt.is(u)}))}l.is=g})(nt=e.WorkspaceEdit||(e.WorkspaceEdit={}));var Tt=function(){function l(g,v){this.edits=g,this.changeAnnotations=v}return l.prototype.insert=function(g,v,d){var u,x;if(d===void 0?u=L.insert(g,v):fe.is(d)?(x=d,u=Ae.insert(g,v,d)):(this.assertChangeAnnotations(this.changeAnnotations),x=this.changeAnnotations.manage(d),u=Ae.insert(g,v,x)),this.edits.push(u),x!==void 0)return x},l.prototype.replace=function(g,v,d){var u,x;if(d===void 0?u=L.replace(g,v):fe.is(d)?(x=d,u=Ae.replace(g,v,d)):(this.assertChangeAnnotations(this.changeAnnotations),x=this.changeAnnotations.manage(d),u=Ae.replace(g,v,x)),this.edits.push(u),x!==void 0)return x},l.prototype.delete=function(g,v){var d,u;if(v===void 0?d=L.del(g):fe.is(v)?(u=v,d=Ae.del(g,v)):(this.assertChangeAnnotations(this.changeAnnotations),u=this.changeAnnotations.manage(v),d=Ae.del(g,u)),this.edits.push(d),u!==void 0)return u},l.prototype.add=function(g){this.edits.push(g)},l.prototype.all=function(){return this.edits},l.prototype.clear=function(){this.edits.splice(0,this.edits.length)},l.prototype.assertChangeAnnotations=function(g){if(g===void 0)throw new Error("Text edit change is not configured to manage change annotations.")},l}(),ur=function(){function l(g){this._annotations=g===void 0?Object.create(null):g,this._counter=0,this._size=0}return l.prototype.all=function(){return this._annotations},Object.defineProperty(l.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),l.prototype.manage=function(g,v){var d;if(fe.is(g)?d=g:(d=this.nextId(),v=g),this._annotations[d]!==void 0)throw new Error("Id ".concat(d," is already in use."));if(v===void 0)throw new Error("No annotation provided for id ".concat(d));return this._annotations[d]=v,this._size++,d},l.prototype.nextId=function(){return this._counter++,this._counter.toString()},l}(),j=function(){function l(g){var v=this;this._textEditChanges=Object.create(null),g!==void 0?(this._workspaceEdit=g,g.documentChanges?(this._changeAnnotations=new ur(g.changeAnnotations),g.changeAnnotations=this._changeAnnotations.all(),g.documentChanges.forEach(function(d){if(Wt.is(d)){var u=new Tt(d.edits,v._changeAnnotations);v._textEditChanges[d.textDocument.uri]=u}})):g.changes&&Object.keys(g.changes).forEach(function(d){var u=new Tt(g.changes[d]);v._textEditChanges[d]=u})):this._workspaceEdit={}}return Object.defineProperty(l.prototype,"edit",{get:function(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),l.prototype.getTextEditChange=function(g){if(W.is(g)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var v={uri:g.uri,version:g.version},d=this._textEditChanges[v.uri];if(!d){var u=[],x={textDocument:v,edits:u};this._workspaceEdit.documentChanges.push(x),d=new Tt(u,this._changeAnnotations),this._textEditChanges[v.uri]=d}return d}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");var d=this._textEditChanges[g];if(!d){var u=[];this._workspaceEdit.changes[g]=u,d=new Tt(u),this._textEditChanges[g]=d}return d}},l.prototype.initDocumentChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new ur,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},l.prototype.initChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))},l.prototype.createFile=function(g,v,d){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var u;J.is(v)||fe.is(v)?u=v:d=v;var x,w;if(u===void 0?x=Xe.create(g,d):(w=fe.is(u)?u:this._changeAnnotations.manage(u),x=Xe.create(g,d,w)),this._workspaceEdit.documentChanges.push(x),w!==void 0)return w},l.prototype.renameFile=function(g,v,d,u){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var x;J.is(d)||fe.is(d)?x=d:u=d;var w,G;if(x===void 0?w=Ye.create(g,v,u):(G=fe.is(x)?x:this._changeAnnotations.manage(x),w=Ye.create(g,v,u,G)),this._workspaceEdit.documentChanges.push(w),G!==void 0)return G},l.prototype.deleteFile=function(g,v,d){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var u;J.is(v)||fe.is(v)?u=v:d=v;var x,w;if(u===void 0?x=V.create(g,d):(w=fe.is(u)?u:this._changeAnnotations.manage(u),x=V.create(g,d,w)),this._workspaceEdit.documentChanges.push(x),w!==void 0)return w},l}();e.WorkspaceChange=j;var M;(function(l){function g(d){return{uri:d}}l.create=g;function v(d){var u=d;return b.defined(u)&&b.string(u.uri)}l.is=v})(M=e.TextDocumentIdentifier||(e.TextDocumentIdentifier={}));var U;(function(l){function g(d,u){return{uri:d,version:u}}l.create=g;function v(d){var u=d;return b.defined(u)&&b.string(u.uri)&&b.integer(u.version)}l.is=v})(U=e.VersionedTextDocumentIdentifier||(e.VersionedTextDocumentIdentifier={}));var W;(function(l){function g(d,u){return{uri:d,version:u}}l.create=g;function v(d){var u=d;return b.defined(u)&&b.string(u.uri)&&(u.version===null||b.integer(u.version))}l.is=v})(W=e.OptionalVersionedTextDocumentIdentifier||(e.OptionalVersionedTextDocumentIdentifier={}));var re;(function(l){function g(d,u,x,w){return{uri:d,languageId:u,version:x,text:w}}l.create=g;function v(d){var u=d;return b.defined(u)&&b.string(u.uri)&&b.string(u.languageId)&&b.integer(u.version)&&b.string(u.text)}l.is=v})(re=e.TextDocumentItem||(e.TextDocumentItem={}));var ve;(function(l){l.PlainText="plaintext",l.Markdown="markdown";function g(v){var d=v;return d===l.PlainText||d===l.Markdown}l.is=g})(ve=e.MarkupKind||(e.MarkupKind={}));var ne;(function(l){function g(v){var d=v;return b.objectLiteral(v)&&ve.is(d.kind)&&b.string(d.value)}l.is=g})(ne=e.MarkupContent||(e.MarkupContent={}));var Yt;(function(l){l.Text=1,l.Method=2,l.Function=3,l.Constructor=4,l.Field=5,l.Variable=6,l.Class=7,l.Interface=8,l.Module=9,l.Property=10,l.Unit=11,l.Value=12,l.Enum=13,l.Keyword=14,l.Snippet=15,l.Color=16,l.File=17,l.Reference=18,l.Folder=19,l.EnumMember=20,l.Constant=21,l.Struct=22,l.Event=23,l.Operator=24,l.TypeParameter=25})(Yt=e.CompletionItemKind||(e.CompletionItemKind={}));var Rt;(function(l){l.PlainText=1,l.Snippet=2})(Rt=e.InsertTextFormat||(e.InsertTextFormat={}));var Ge;(function(l){l.Deprecated=1})(Ge=e.CompletionItemTag||(e.CompletionItemTag={}));var Xr;(function(l){function g(d,u,x){return{newText:d,insert:u,replace:x}}l.create=g;function v(d){var u=d;return u&&b.string(u.newText)&&a.is(u.insert)&&a.is(u.replace)}l.is=v})(Xr=e.InsertReplaceEdit||(e.InsertReplaceEdit={}));var He;(function(l){l.asIs=1,l.adjustIndentation=2})(He=e.InsertTextMode||(e.InsertTextMode={}));var Jt;(function(l){function g(v){var d=v;return d&&(b.string(d.detail)||d.detail===void 0)&&(b.string(d.description)||d.description===void 0)}l.is=g})(Jt=e.CompletionItemLabelDetails||(e.CompletionItemLabelDetails={}));var un;(function(l){function g(v){return{label:v}}l.create=g})(un=e.CompletionItem||(e.CompletionItem={}));var Kt;(function(l){function g(v,d){return{items:v||[],isIncomplete:!!d}}l.create=g})(Kt=e.CompletionList||(e.CompletionList={}));var it;(function(l){function g(d){return d.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}l.fromPlainText=g;function v(d){var u=d;return b.string(u)||b.objectLiteral(u)&&b.string(u.language)&&b.string(u.value)}l.is=v})(it=e.MarkedString||(e.MarkedString={}));var Et;(function(l){function g(v){var d=v;return!!d&&b.objectLiteral(d)&&(ne.is(d.contents)||it.is(d.contents)||b.typedArray(d.contents,it.is))&&(v.range===void 0||a.is(v.range))}l.is=g})(Et=e.Hover||(e.Hover={}));var Sr;(function(l){function g(v,d){return d?{label:v,documentation:d}:{label:v}}l.create=g})(Sr=e.ParameterInformation||(e.ParameterInformation={}));var yr;(function(l){function g(v,d){for(var u=[],x=2;x<arguments.length;x++)u[x-2]=arguments[x];var w={label:v};return b.defined(d)&&(w.documentation=d),b.defined(u)?w.parameters=u:w.parameters=[],w}l.create=g})(yr=e.SignatureInformation||(e.SignatureInformation={}));var ln;(function(l){l.Text=1,l.Read=2,l.Write=3})(ln=e.DocumentHighlightKind||(e.DocumentHighlightKind={}));var In;(function(l){function g(v,d){var u={range:v};return b.number(d)&&(u.kind=d),u}l.create=g})(In=e.DocumentHighlight||(e.DocumentHighlight={}));var Ji;(function(l){l.File=1,l.Module=2,l.Namespace=3,l.Package=4,l.Class=5,l.Method=6,l.Property=7,l.Field=8,l.Constructor=9,l.Enum=10,l.Interface=11,l.Function=12,l.Variable=13,l.Constant=14,l.String=15,l.Number=16,l.Boolean=17,l.Array=18,l.Object=19,l.Key=20,l.Null=21,l.EnumMember=22,l.Struct=23,l.Event=24,l.Operator=25,l.TypeParameter=26})(Ji=e.SymbolKind||(e.SymbolKind={}));var On;(function(l){l.Deprecated=1})(On=e.SymbolTag||(e.SymbolTag={}));var Fr;(function(l){function g(v,d,u,x,w){var G={name:v,kind:d,location:{uri:x,range:u}};return w&&(G.containerName=w),G}l.create=g})(Fr=e.SymbolInformation||(e.SymbolInformation={}));var Jn;(function(l){function g(v,d,u,x){return x!==void 0?{name:v,kind:d,location:{uri:u,range:x}}:{name:v,kind:d,location:{uri:u}}}l.create=g})(Jn=e.WorkspaceSymbol||(e.WorkspaceSymbol={}));var hs;(function(l){function g(d,u,x,w,G,xe){var he={name:d,detail:u,kind:x,range:w,selectionRange:G};return xe!==void 0&&(he.children=xe),he}l.create=g;function v(d){var u=d;return u&&b.string(u.name)&&b.number(u.kind)&&a.is(u.range)&&a.is(u.selectionRange)&&(u.detail===void 0||b.string(u.detail))&&(u.deprecated===void 0||b.boolean(u.deprecated))&&(u.children===void 0||Array.isArray(u.children))&&(u.tags===void 0||Array.isArray(u.tags))}l.is=v})(hs=e.DocumentSymbol||(e.DocumentSymbol={}));var Qn;(function(l){l.Empty="",l.QuickFix="quickfix",l.Refactor="refactor",l.RefactorExtract="refactor.extract",l.RefactorInline="refactor.inline",l.RefactorRewrite="refactor.rewrite",l.Source="source",l.SourceOrganizeImports="source.organizeImports",l.SourceFixAll="source.fixAll"})(Qn=e.CodeActionKind||(e.CodeActionKind={}));var qr;(function(l){l.Invoked=1,l.Automatic=2})(qr=e.CodeActionTriggerKind||(e.CodeActionTriggerKind={}));var Qi;(function(l){function g(d,u,x){var w={diagnostics:d};return u!=null&&(w.only=u),x!=null&&(w.triggerKind=x),w}l.create=g;function v(d){var u=d;return b.defined(u)&&b.typedArray(u.diagnostics,h.is)&&(u.only===void 0||b.typedArray(u.only,b.string))&&(u.triggerKind===void 0||u.triggerKind===qr.Invoked||u.triggerKind===qr.Automatic)}l.is=v})(Qi=e.CodeActionContext||(e.CodeActionContext={}));var Si;(function(l){function g(d,u,x){var w={title:d},G=!0;return typeof u=="string"?(G=!1,w.kind=u):C.is(u)?w.command=u:w.edit=u,G&&x!==void 0&&(w.kind=x),w}l.create=g;function v(d){var u=d;return u&&b.string(u.title)&&(u.diagnostics===void 0||b.typedArray(u.diagnostics,h.is))&&(u.kind===void 0||b.string(u.kind))&&(u.edit!==void 0||u.command!==void 0)&&(u.command===void 0||C.is(u.command))&&(u.isPreferred===void 0||b.boolean(u.isPreferred))&&(u.edit===void 0||nt.is(u.edit))}l.is=v})(Si=e.CodeAction||(e.CodeAction={}));var ki;(function(l){function g(d,u){var x={range:d};return b.defined(u)&&(x.data=u),x}l.create=g;function v(d){var u=d;return b.defined(u)&&a.is(u.range)&&(b.undefined(u.command)||C.is(u.command))}l.is=v})(ki=e.CodeLens||(e.CodeLens={}));var Rn;(function(l){function g(d,u){return{tabSize:d,insertSpaces:u}}l.create=g;function v(d){var u=d;return b.defined(u)&&b.uinteger(u.tabSize)&&b.boolean(u.insertSpaces)}l.is=v})(Rn=e.FormattingOptions||(e.FormattingOptions={}));var D;(function(l){function g(d,u,x){return{range:d,target:u,data:x}}l.create=g;function v(d){var u=d;return b.defined(u)&&a.is(u.range)&&(b.undefined(u.target)||b.string(u.target))}l.is=v})(D=e.DocumentLink||(e.DocumentLink={}));var R;(function(l){function g(d,u){return{range:d,parent:u}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&a.is(u.range)&&(u.parent===void 0||l.is(u.parent))}l.is=v})(R=e.SelectionRange||(e.SelectionRange={}));var P;(function(l){l.namespace="namespace",l.type="type",l.class="class",l.enum="enum",l.interface="interface",l.struct="struct",l.typeParameter="typeParameter",l.parameter="parameter",l.variable="variable",l.property="property",l.enumMember="enumMember",l.event="event",l.function="function",l.method="method",l.macro="macro",l.keyword="keyword",l.modifier="modifier",l.comment="comment",l.string="string",l.number="number",l.regexp="regexp",l.operator="operator",l.decorator="decorator"})(P=e.SemanticTokenTypes||(e.SemanticTokenTypes={}));var O;(function(l){l.declaration="declaration",l.definition="definition",l.readonly="readonly",l.static="static",l.deprecated="deprecated",l.abstract="abstract",l.async="async",l.modification="modification",l.documentation="documentation",l.defaultLibrary="defaultLibrary"})(O=e.SemanticTokenModifiers||(e.SemanticTokenModifiers={}));var H;(function(l){function g(v){var d=v;return b.objectLiteral(d)&&(d.resultId===void 0||typeof d.resultId=="string")&&Array.isArray(d.data)&&(d.data.length===0||typeof d.data[0]=="number")}l.is=g})(H=e.SemanticTokens||(e.SemanticTokens={}));var de;(function(l){function g(d,u){return{range:d,text:u}}l.create=g;function v(d){var u=d;return u!=null&&a.is(u.range)&&b.string(u.text)}l.is=v})(de=e.InlineValueText||(e.InlineValueText={}));var pe;(function(l){function g(d,u,x){return{range:d,variableName:u,caseSensitiveLookup:x}}l.create=g;function v(d){var u=d;return u!=null&&a.is(u.range)&&b.boolean(u.caseSensitiveLookup)&&(b.string(u.variableName)||u.variableName===void 0)}l.is=v})(pe=e.InlineValueVariableLookup||(e.InlineValueVariableLookup={}));var be;(function(l){function g(d,u){return{range:d,expression:u}}l.create=g;function v(d){var u=d;return u!=null&&a.is(u.range)&&(b.string(u.expression)||u.expression===void 0)}l.is=v})(be=e.InlineValueEvaluatableExpression||(e.InlineValueEvaluatableExpression={}));var ce;(function(l){function g(d,u){return{frameId:d,stoppedLocation:u}}l.create=g;function v(d){var u=d;return b.defined(u)&&a.is(d.stoppedLocation)}l.is=v})(ce=e.InlineValueContext||(e.InlineValueContext={}));var ie;(function(l){l.Type=1,l.Parameter=2;function g(v){return v===1||v===2}l.is=g})(ie=e.InlayHintKind||(e.InlayHintKind={}));var se;(function(l){function g(d){return{value:d}}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&(u.tooltip===void 0||b.string(u.tooltip)||ne.is(u.tooltip))&&(u.location===void 0||c.is(u.location))&&(u.command===void 0||C.is(u.command))}l.is=v})(se=e.InlayHintLabelPart||(e.InlayHintLabelPart={}));var me;(function(l){function g(d,u,x){var w={position:d,label:u};return x!==void 0&&(w.kind=x),w}l.create=g;function v(d){var u=d;return b.objectLiteral(u)&&s.is(u.position)&&(b.string(u.label)||b.typedArray(u.label,se.is))&&(u.kind===void 0||ie.is(u.kind))&&u.textEdits===void 0||b.typedArray(u.textEdits,L.is)&&(u.tooltip===void 0||b.string(u.tooltip)||ne.is(u.tooltip))&&(u.paddingLeft===void 0||b.boolean(u.paddingLeft))&&(u.paddingRight===void 0||b.boolean(u.paddingRight))}l.is=v})(me=e.InlayHint||(e.InlayHint={}));var Pe;(function(l){function g(v){var d=v;return b.objectLiteral(d)&&n.is(d.uri)&&b.string(d.name)}l.is=g})(Pe=e.WorkspaceFolder||(e.WorkspaceFolder={})),e.EOL=[`
62
- `,`\r
63
- `,"\r"];var st;(function(l){function g(x,w,G,xe){return new Pt(x,w,G,xe)}l.create=g;function v(x){var w=x;return!!(b.defined(w)&&b.string(w.uri)&&(b.undefined(w.languageId)||b.string(w.languageId))&&b.uinteger(w.lineCount)&&b.func(w.getText)&&b.func(w.positionAt)&&b.func(w.offsetAt))}l.is=v;function d(x,w){for(var G=x.getText(),xe=u(w,function(bn,Zi){var zc=bn.range.start.line-Zi.range.start.line;return zc===0?bn.range.start.character-Zi.range.start.character:zc}),he=G.length,At=xe.length-1;At>=0;At--){var Nt=xe[At],lr=x.offsetAt(Nt.range.start),Q=x.offsetAt(Nt.range.end);if(Q<=he)G=G.substring(0,lr)+Nt.newText+G.substring(Q,G.length);else throw new Error("Overlapping edit");he=lr}return G}l.applyEdits=d;function u(x,w){if(x.length<=1)return x;var G=x.length/2|0,xe=x.slice(0,G),he=x.slice(G);u(xe,w),u(he,w);for(var At=0,Nt=0,lr=0;At<xe.length&&Nt<he.length;){var Q=w(xe[At],he[Nt]);Q<=0?x[lr++]=xe[At++]:x[lr++]=he[Nt++]}for(;At<xe.length;)x[lr++]=xe[At++];for(;Nt<he.length;)x[lr++]=he[Nt++];return x}})(st=e.TextDocument||(e.TextDocument={}));var Pt=function(){function l(g,v,d,u){this._uri=g,this._languageId=v,this._version=d,this._content=u,this._lineOffsets=void 0}return Object.defineProperty(l.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(l.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(l.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),l.prototype.getText=function(g){if(g){var v=this.offsetAt(g.start),d=this.offsetAt(g.end);return this._content.substring(v,d)}return this._content},l.prototype.update=function(g,v){this._content=g.text,this._version=v,this._lineOffsets=void 0},l.prototype.getLineOffsets=function(){if(this._lineOffsets===void 0){for(var g=[],v=this._content,d=!0,u=0;u<v.length;u++){d&&(g.push(u),d=!1);var x=v.charAt(u);d=x==="\r"||x===`
64
- `,x==="\r"&&u+1<v.length&&v.charAt(u+1)===`
65
- `&&u++}d&&v.length>0&&g.push(v.length),this._lineOffsets=g}return this._lineOffsets},l.prototype.positionAt=function(g){g=Math.max(Math.min(g,this._content.length),0);var v=this.getLineOffsets(),d=0,u=v.length;if(u===0)return s.create(0,g);for(;d<u;){var x=Math.floor((d+u)/2);v[x]>g?u=x:d=x+1}var w=d-1;return s.create(w,g-v[w])},l.prototype.offsetAt=function(g){var v=this.getLineOffsets();if(g.line>=v.length)return this._content.length;if(g.line<0)return 0;var d=v[g.line],u=g.line+1<v.length?v[g.line+1]:this._content.length;return Math.max(Math.min(d+g.character,u),d)},Object.defineProperty(l.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!1,configurable:!0}),l}(),b;(function(l){var g=Object.prototype.toString;function v(Q){return typeof Q<"u"}l.defined=v;function d(Q){return typeof Q>"u"}l.undefined=d;function u(Q){return Q===!0||Q===!1}l.boolean=u;function x(Q){return g.call(Q)==="[object String]"}l.string=x;function w(Q){return g.call(Q)==="[object Number]"}l.number=w;function G(Q,bn,Zi){return g.call(Q)==="[object Number]"&&bn<=Q&&Q<=Zi}l.numberRange=G;function xe(Q){return g.call(Q)==="[object Number]"&&-2147483648<=Q&&Q<=2147483647}l.integer=xe;function he(Q){return g.call(Q)==="[object Number]"&&0<=Q&&Q<=2147483647}l.uinteger=he;function At(Q){return g.call(Q)==="[object Function]"}l.func=At;function Nt(Q){return Q!==null&&typeof Q=="object"}l.objectLiteral=Nt;function lr(Q,bn){return Array.isArray(Q)&&Q.every(bn)}l.typedArray=lr})(b||(b={}))})});var jt=$(an=>{"use strict";Object.defineProperty(an,"__esModule",{value:!0});an.ProtocolNotificationType=an.ProtocolNotificationType0=an.ProtocolRequestType=an.ProtocolRequestType0=an.RegistrationType=an.MessageDirection=void 0;var Fc=Xs(),iz;(function(t){t.clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both"})(iz=an.MessageDirection||(an.MessageDirection={}));var lR=class{constructor(e){this.method=e}};an.RegistrationType=lR;var fR=class extends Fc.RequestType0{constructor(e){super(e)}};an.ProtocolRequestType0=fR;var dR=class extends Fc.RequestType{constructor(e){super(e,Fc.ParameterStructures.byName)}};an.ProtocolRequestType=dR;var pR=class extends Fc.NotificationType0{constructor(e){super(e)}};an.ProtocolNotificationType0=pR;var mR=class extends Fc.NotificationType{constructor(e){super(e,Fc.ParameterStructures.byName)}};an.ProtocolNotificationType=mR});var Fm=$(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.objectLiteral=sr.typedArray=sr.stringArray=sr.array=sr.func=sr.error=sr.number=sr.string=sr.boolean=void 0;function oz(t){return t===!0||t===!1}sr.boolean=oz;function kP(t){return typeof t=="string"||t instanceof String}sr.string=kP;function sz(t){return typeof t=="number"||t instanceof Number}sr.number=sz;function az(t){return t instanceof Error}sr.error=az;function cz(t){return typeof t=="function"}sr.func=cz;function CP(t){return Array.isArray(t)}sr.array=CP;function uz(t){return CP(t)&&t.every(e=>kP(e))}sr.stringArray=uz;function lz(t,e){return Array.isArray(t)&&t.every(e)}sr.typedArray=lz;function fz(t){return t!==null&&typeof t=="object"}sr.objectLiteral=fz});var DP=$(xl=>{"use strict";Object.defineProperty(xl,"__esModule",{value:!0});xl.ImplementationRequest=void 0;var wP=jt(),dz;(function(t){t.method="textDocument/implementation",t.messageDirection=wP.MessageDirection.clientToServer,t.type=new wP.ProtocolRequestType(t.method)})(dz=xl.ImplementationRequest||(xl.ImplementationRequest={}))});var PP=$(_l=>{"use strict";Object.defineProperty(_l,"__esModule",{value:!0});_l.TypeDefinitionRequest=void 0;var EP=jt(),pz;(function(t){t.method="textDocument/typeDefinition",t.messageDirection=EP.MessageDirection.clientToServer,t.type=new EP.ProtocolRequestType(t.method)})(pz=_l.TypeDefinitionRequest||(_l.TypeDefinitionRequest={}))});var AP=$(us=>{"use strict";Object.defineProperty(us,"__esModule",{value:!0});us.DidChangeWorkspaceFoldersNotification=us.WorkspaceFoldersRequest=void 0;var qm=jt(),mz;(function(t){t.method="workspace/workspaceFolders",t.messageDirection=qm.MessageDirection.serverToClient,t.type=new qm.ProtocolRequestType0(t.method)})(mz=us.WorkspaceFoldersRequest||(us.WorkspaceFoldersRequest={}));var hz;(function(t){t.method="workspace/didChangeWorkspaceFolders",t.messageDirection=qm.MessageDirection.clientToServer,t.type=new qm.ProtocolNotificationType(t.method)})(hz=us.DidChangeWorkspaceFoldersNotification||(us.DidChangeWorkspaceFoldersNotification={}))});var IP=$(Sl=>{"use strict";Object.defineProperty(Sl,"__esModule",{value:!0});Sl.ConfigurationRequest=void 0;var NP=jt(),gz;(function(t){t.method="workspace/configuration",t.messageDirection=NP.MessageDirection.serverToClient,t.type=new NP.ProtocolRequestType(t.method)})(gz=Sl.ConfigurationRequest||(Sl.ConfigurationRequest={}))});var OP=$(ls=>{"use strict";Object.defineProperty(ls,"__esModule",{value:!0});ls.ColorPresentationRequest=ls.DocumentColorRequest=void 0;var jm=jt(),yz;(function(t){t.method="textDocument/documentColor",t.messageDirection=jm.MessageDirection.clientToServer,t.type=new jm.ProtocolRequestType(t.method)})(yz=ls.DocumentColorRequest||(ls.DocumentColorRequest={}));var vz;(function(t){t.method="textDocument/colorPresentation",t.messageDirection=jm.MessageDirection.clientToServer,t.type=new jm.ProtocolRequestType(t.method)})(vz=ls.ColorPresentationRequest||(ls.ColorPresentationRequest={}))});var MP=$(kl=>{"use strict";Object.defineProperty(kl,"__esModule",{value:!0});kl.FoldingRangeRequest=void 0;var LP=jt(),Tz;(function(t){t.method="textDocument/foldingRange",t.messageDirection=LP.MessageDirection.clientToServer,t.type=new LP.ProtocolRequestType(t.method)})(Tz=kl.FoldingRangeRequest||(kl.FoldingRangeRequest={}))});var FP=$(Cl=>{"use strict";Object.defineProperty(Cl,"__esModule",{value:!0});Cl.DeclarationRequest=void 0;var $P=jt(),Rz;(function(t){t.method="textDocument/declaration",t.messageDirection=$P.MessageDirection.clientToServer,t.type=new $P.ProtocolRequestType(t.method)})(Rz=Cl.DeclarationRequest||(Cl.DeclarationRequest={}))});var jP=$(wl=>{"use strict";Object.defineProperty(wl,"__esModule",{value:!0});wl.SelectionRangeRequest=void 0;var qP=jt(),bz;(function(t){t.method="textDocument/selectionRange",t.messageDirection=qP.MessageDirection.clientToServer,t.type=new qP.ProtocolRequestType(t.method)})(bz=wl.SelectionRangeRequest||(wl.SelectionRangeRequest={}))});var UP=$(vi=>{"use strict";Object.defineProperty(vi,"__esModule",{value:!0});vi.WorkDoneProgressCancelNotification=vi.WorkDoneProgressCreateRequest=vi.WorkDoneProgress=void 0;var xz=Xs(),Um=jt(),_z;(function(t){t.type=new xz.ProgressType;function e(r){return r===t.type}t.is=e})(_z=vi.WorkDoneProgress||(vi.WorkDoneProgress={}));var Sz;(function(t){t.method="window/workDoneProgress/create",t.messageDirection=Um.MessageDirection.serverToClient,t.type=new Um.ProtocolRequestType(t.method)})(Sz=vi.WorkDoneProgressCreateRequest||(vi.WorkDoneProgressCreateRequest={}));var kz;(function(t){t.method="window/workDoneProgress/cancel",t.messageDirection=Um.MessageDirection.clientToServer,t.type=new Um.ProtocolNotificationType(t.method)})(kz=vi.WorkDoneProgressCancelNotification||(vi.WorkDoneProgressCancelNotification={}))});var WP=$(Ti=>{"use strict";Object.defineProperty(Ti,"__esModule",{value:!0});Ti.CallHierarchyOutgoingCallsRequest=Ti.CallHierarchyIncomingCallsRequest=Ti.CallHierarchyPrepareRequest=void 0;var qc=jt(),Cz;(function(t){t.method="textDocument/prepareCallHierarchy",t.messageDirection=qc.MessageDirection.clientToServer,t.type=new qc.ProtocolRequestType(t.method)})(Cz=Ti.CallHierarchyPrepareRequest||(Ti.CallHierarchyPrepareRequest={}));var wz;(function(t){t.method="callHierarchy/incomingCalls",t.messageDirection=qc.MessageDirection.clientToServer,t.type=new qc.ProtocolRequestType(t.method)})(wz=Ti.CallHierarchyIncomingCallsRequest||(Ti.CallHierarchyIncomingCallsRequest={}));var Dz;(function(t){t.method="callHierarchy/outgoingCalls",t.messageDirection=qc.MessageDirection.clientToServer,t.type=new qc.ProtocolRequestType(t.method)})(Dz=Ti.CallHierarchyOutgoingCallsRequest||(Ti.CallHierarchyOutgoingCallsRequest={}))});var HP=$(ar=>{"use strict";Object.defineProperty(ar,"__esModule",{value:!0});ar.SemanticTokensRefreshRequest=ar.SemanticTokensRangeRequest=ar.SemanticTokensDeltaRequest=ar.SemanticTokensRequest=ar.SemanticTokensRegistrationType=ar.TokenFormat=void 0;var No=jt(),Ez;(function(t){t.Relative="relative"})(Ez=ar.TokenFormat||(ar.TokenFormat={}));var Wm;(function(t){t.method="textDocument/semanticTokens",t.type=new No.RegistrationType(t.method)})(Wm=ar.SemanticTokensRegistrationType||(ar.SemanticTokensRegistrationType={}));var Pz;(function(t){t.method="textDocument/semanticTokens/full",t.messageDirection=No.MessageDirection.clientToServer,t.type=new No.ProtocolRequestType(t.method),t.registrationMethod=Wm.method})(Pz=ar.SemanticTokensRequest||(ar.SemanticTokensRequest={}));var Az;(function(t){t.method="textDocument/semanticTokens/full/delta",t.messageDirection=No.MessageDirection.clientToServer,t.type=new No.ProtocolRequestType(t.method),t.registrationMethod=Wm.method})(Az=ar.SemanticTokensDeltaRequest||(ar.SemanticTokensDeltaRequest={}));var Nz;(function(t){t.method="textDocument/semanticTokens/range",t.messageDirection=No.MessageDirection.clientToServer,t.type=new No.ProtocolRequestType(t.method),t.registrationMethod=Wm.method})(Nz=ar.SemanticTokensRangeRequest||(ar.SemanticTokensRangeRequest={}));var Iz;(function(t){t.method="workspace/semanticTokens/refresh",t.messageDirection=No.MessageDirection.serverToClient,t.type=new No.ProtocolRequestType0(t.method)})(Iz=ar.SemanticTokensRefreshRequest||(ar.SemanticTokensRefreshRequest={}))});var BP=$(Dl=>{"use strict";Object.defineProperty(Dl,"__esModule",{value:!0});Dl.ShowDocumentRequest=void 0;var GP=jt(),Oz;(function(t){t.method="window/showDocument",t.messageDirection=GP.MessageDirection.serverToClient,t.type=new GP.ProtocolRequestType(t.method)})(Oz=Dl.ShowDocumentRequest||(Dl.ShowDocumentRequest={}))});var zP=$(El=>{"use strict";Object.defineProperty(El,"__esModule",{value:!0});El.LinkedEditingRangeRequest=void 0;var KP=jt(),Lz;(function(t){t.method="textDocument/linkedEditingRange",t.messageDirection=KP.MessageDirection.clientToServer,t.type=new KP.ProtocolRequestType(t.method)})(Lz=El.LinkedEditingRangeRequest||(El.LinkedEditingRangeRequest={}))});var VP=$(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});Ut.WillDeleteFilesRequest=Ut.DidDeleteFilesNotification=Ut.DidRenameFilesNotification=Ut.WillRenameFilesRequest=Ut.DidCreateFilesNotification=Ut.WillCreateFilesRequest=Ut.FileOperationPatternKind=void 0;var zn=jt(),Mz;(function(t){t.file="file",t.folder="folder"})(Mz=Ut.FileOperationPatternKind||(Ut.FileOperationPatternKind={}));var $z;(function(t){t.method="workspace/willCreateFiles",t.messageDirection=zn.MessageDirection.clientToServer,t.type=new zn.ProtocolRequestType(t.method)})($z=Ut.WillCreateFilesRequest||(Ut.WillCreateFilesRequest={}));var Fz;(function(t){t.method="workspace/didCreateFiles",t.messageDirection=zn.MessageDirection.clientToServer,t.type=new zn.ProtocolNotificationType(t.method)})(Fz=Ut.DidCreateFilesNotification||(Ut.DidCreateFilesNotification={}));var qz;(function(t){t.method="workspace/willRenameFiles",t.messageDirection=zn.MessageDirection.clientToServer,t.type=new zn.ProtocolRequestType(t.method)})(qz=Ut.WillRenameFilesRequest||(Ut.WillRenameFilesRequest={}));var jz;(function(t){t.method="workspace/didRenameFiles",t.messageDirection=zn.MessageDirection.clientToServer,t.type=new zn.ProtocolNotificationType(t.method)})(jz=Ut.DidRenameFilesNotification||(Ut.DidRenameFilesNotification={}));var Uz;(function(t){t.method="workspace/didDeleteFiles",t.messageDirection=zn.MessageDirection.clientToServer,t.type=new zn.ProtocolNotificationType(t.method)})(Uz=Ut.DidDeleteFilesNotification||(Ut.DidDeleteFilesNotification={}));var Wz;(function(t){t.method="workspace/willDeleteFiles",t.messageDirection=zn.MessageDirection.clientToServer,t.type=new zn.ProtocolRequestType(t.method)})(Wz=Ut.WillDeleteFilesRequest||(Ut.WillDeleteFilesRequest={}))});var YP=$(Ri=>{"use strict";Object.defineProperty(Ri,"__esModule",{value:!0});Ri.MonikerRequest=Ri.MonikerKind=Ri.UniquenessLevel=void 0;var XP=jt(),Hz;(function(t){t.document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global"})(Hz=Ri.UniquenessLevel||(Ri.UniquenessLevel={}));var Gz;(function(t){t.$import="import",t.$export="export",t.local="local"})(Gz=Ri.MonikerKind||(Ri.MonikerKind={}));var Bz;(function(t){t.method="textDocument/moniker",t.messageDirection=XP.MessageDirection.clientToServer,t.type=new XP.ProtocolRequestType(t.method)})(Bz=Ri.MonikerRequest||(Ri.MonikerRequest={}))});var JP=$(bi=>{"use strict";Object.defineProperty(bi,"__esModule",{value:!0});bi.TypeHierarchySubtypesRequest=bi.TypeHierarchySupertypesRequest=bi.TypeHierarchyPrepareRequest=void 0;var jc=jt(),Kz;(function(t){t.method="textDocument/prepareTypeHierarchy",t.messageDirection=jc.MessageDirection.clientToServer,t.type=new jc.ProtocolRequestType(t.method)})(Kz=bi.TypeHierarchyPrepareRequest||(bi.TypeHierarchyPrepareRequest={}));var zz;(function(t){t.method="typeHierarchy/supertypes",t.messageDirection=jc.MessageDirection.clientToServer,t.type=new jc.ProtocolRequestType(t.method)})(zz=bi.TypeHierarchySupertypesRequest||(bi.TypeHierarchySupertypesRequest={}));var Vz;(function(t){t.method="typeHierarchy/subtypes",t.messageDirection=jc.MessageDirection.clientToServer,t.type=new jc.ProtocolRequestType(t.method)})(Vz=bi.TypeHierarchySubtypesRequest||(bi.TypeHierarchySubtypesRequest={}))});var QP=$(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});fs.InlineValueRefreshRequest=fs.InlineValueRequest=void 0;var Hm=jt(),Xz;(function(t){t.method="textDocument/inlineValue",t.messageDirection=Hm.MessageDirection.clientToServer,t.type=new Hm.ProtocolRequestType(t.method)})(Xz=fs.InlineValueRequest||(fs.InlineValueRequest={}));var Yz;(function(t){t.method="workspace/inlineValue/refresh",t.messageDirection=Hm.MessageDirection.serverToClient,t.type=new Hm.ProtocolRequestType0(t.method)})(Yz=fs.InlineValueRefreshRequest||(fs.InlineValueRefreshRequest={}))});var ZP=$(xi=>{"use strict";Object.defineProperty(xi,"__esModule",{value:!0});xi.InlayHintRefreshRequest=xi.InlayHintResolveRequest=xi.InlayHintRequest=void 0;var Uc=jt(),Jz;(function(t){t.method="textDocument/inlayHint",t.messageDirection=Uc.MessageDirection.clientToServer,t.type=new Uc.ProtocolRequestType(t.method)})(Jz=xi.InlayHintRequest||(xi.InlayHintRequest={}));var Qz;(function(t){t.method="inlayHint/resolve",t.messageDirection=Uc.MessageDirection.clientToServer,t.type=new Uc.ProtocolRequestType(t.method)})(Qz=xi.InlayHintResolveRequest||(xi.InlayHintResolveRequest={}));var Zz;(function(t){t.method="workspace/inlayHint/refresh",t.messageDirection=Uc.MessageDirection.serverToClient,t.type=new Uc.ProtocolRequestType0(t.method)})(Zz=xi.InlayHintRefreshRequest||(xi.InlayHintRefreshRequest={}))});var tA=$(Lr=>{"use strict";Object.defineProperty(Lr,"__esModule",{value:!0});Lr.DiagnosticRefreshRequest=Lr.WorkspaceDiagnosticRequest=Lr.DocumentDiagnosticRequest=Lr.DocumentDiagnosticReportKind=Lr.DiagnosticServerCancellationData=void 0;var eA=Xs(),e2=Fm(),Wc=jt(),t2;(function(t){function e(r){let n=r;return n&&e2.boolean(n.retriggerRequest)}t.is=e})(t2=Lr.DiagnosticServerCancellationData||(Lr.DiagnosticServerCancellationData={}));var r2;(function(t){t.Full="full",t.Unchanged="unchanged"})(r2=Lr.DocumentDiagnosticReportKind||(Lr.DocumentDiagnosticReportKind={}));var n2;(function(t){t.method="textDocument/diagnostic",t.messageDirection=Wc.MessageDirection.clientToServer,t.type=new Wc.ProtocolRequestType(t.method),t.partialResult=new eA.ProgressType})(n2=Lr.DocumentDiagnosticRequest||(Lr.DocumentDiagnosticRequest={}));var i2;(function(t){t.method="workspace/diagnostic",t.messageDirection=Wc.MessageDirection.clientToServer,t.type=new Wc.ProtocolRequestType(t.method),t.partialResult=new eA.ProgressType})(i2=Lr.WorkspaceDiagnosticRequest||(Lr.WorkspaceDiagnosticRequest={}));var o2;(function(t){t.method="workspace/diagnostic/refresh",t.messageDirection=Wc.MessageDirection.serverToClient,t.type=new Wc.ProtocolRequestType0(t.method)})(o2=Lr.DiagnosticRefreshRequest||(Lr.DiagnosticRefreshRequest={}))});var iA=$(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.DidCloseNotebookDocumentNotification=We.DidSaveNotebookDocumentNotification=We.DidChangeNotebookDocumentNotification=We.NotebookCellArrayChange=We.DidOpenNotebookDocumentNotification=We.NotebookDocumentSyncRegistrationType=We.NotebookDocument=We.NotebookCell=We.ExecutionSummary=We.NotebookCellKind=void 0;var Pl=$m(),_i=Fm(),zi=jt(),rA;(function(t){t.Markup=1,t.Code=2;function e(r){return r===1||r===2}t.is=e})(rA=We.NotebookCellKind||(We.NotebookCellKind={}));var nA;(function(t){function e(i,o){let s={executionOrder:i};return(o===!0||o===!1)&&(s.success=o),s}t.create=e;function r(i){let o=i;return _i.objectLiteral(o)&&Pl.uinteger.is(o.executionOrder)&&(o.success===void 0||_i.boolean(o.success))}t.is=r;function n(i,o){return i===o?!0:i==null||o===null||o===void 0?!1:i.executionOrder===o.executionOrder&&i.success===o.success}t.equals=n})(nA=We.ExecutionSummary||(We.ExecutionSummary={}));var hR;(function(t){function e(o,s){return{kind:o,document:s}}t.create=e;function r(o){let s=o;return _i.objectLiteral(s)&&rA.is(s.kind)&&Pl.DocumentUri.is(s.document)&&(s.metadata===void 0||_i.objectLiteral(s.metadata))}t.is=r;function n(o,s){let a=new Set;return o.document!==s.document&&a.add("document"),o.kind!==s.kind&&a.add("kind"),o.executionSummary!==s.executionSummary&&a.add("executionSummary"),(o.metadata!==void 0||s.metadata!==void 0)&&!i(o.metadata,s.metadata)&&a.add("metadata"),(o.executionSummary!==void 0||s.executionSummary!==void 0)&&!nA.equals(o.executionSummary,s.executionSummary)&&a.add("executionSummary"),a}t.diff=n;function i(o,s){if(o===s)return!0;if(o==null||s===null||s===void 0||typeof o!=typeof s||typeof o!="object")return!1;let a=Array.isArray(o),c=Array.isArray(s);if(a!==c)return!1;if(a&&c){if(o.length!==s.length)return!1;for(let f=0;f<o.length;f++)if(!i(o[f],s[f]))return!1}if(_i.objectLiteral(o)&&_i.objectLiteral(s)){let f=Object.keys(o),p=Object.keys(s);if(f.length!==p.length||(f.sort(),p.sort(),!i(f,p)))return!1;for(let m=0;m<f.length;m++){let T=f[m];if(!i(o[T],s[T]))return!1}}return!0}})(hR=We.NotebookCell||(We.NotebookCell={}));var s2;(function(t){function e(n,i,o,s){return{uri:n,notebookType:i,version:o,cells:s}}t.create=e;function r(n){let i=n;return _i.objectLiteral(i)&&_i.string(i.uri)&&Pl.integer.is(i.version)&&_i.typedArray(i.cells,hR.is)}t.is=r})(s2=We.NotebookDocument||(We.NotebookDocument={}));var Al;(function(t){t.method="notebookDocument/sync",t.messageDirection=zi.MessageDirection.clientToServer,t.type=new zi.RegistrationType(t.method)})(Al=We.NotebookDocumentSyncRegistrationType||(We.NotebookDocumentSyncRegistrationType={}));var a2;(function(t){t.method="notebookDocument/didOpen",t.messageDirection=zi.MessageDirection.clientToServer,t.type=new zi.ProtocolNotificationType(t.method),t.registrationMethod=Al.method})(a2=We.DidOpenNotebookDocumentNotification||(We.DidOpenNotebookDocumentNotification={}));var c2;(function(t){function e(n){let i=n;return _i.objectLiteral(i)&&Pl.uinteger.is(i.start)&&Pl.uinteger.is(i.deleteCount)&&(i.cells===void 0||_i.typedArray(i.cells,hR.is))}t.is=e;function r(n,i,o){let s={start:n,deleteCount:i};return o!==void 0&&(s.cells=o),s}t.create=r})(c2=We.NotebookCellArrayChange||(We.NotebookCellArrayChange={}));var u2;(function(t){t.method="notebookDocument/didChange",t.messageDirection=zi.MessageDirection.clientToServer,t.type=new zi.ProtocolNotificationType(t.method),t.registrationMethod=Al.method})(u2=We.DidChangeNotebookDocumentNotification||(We.DidChangeNotebookDocumentNotification={}));var l2;(function(t){t.method="notebookDocument/didSave",t.messageDirection=zi.MessageDirection.clientToServer,t.type=new zi.ProtocolNotificationType(t.method),t.registrationMethod=Al.method})(l2=We.DidSaveNotebookDocumentNotification||(We.DidSaveNotebookDocumentNotification={}));var f2;(function(t){t.method="notebookDocument/didClose",t.messageDirection=zi.MessageDirection.clientToServer,t.type=new zi.ProtocolNotificationType(t.method),t.registrationMethod=Al.method})(f2=We.DidCloseNotebookDocumentNotification||(We.DidCloseNotebookDocumentNotification={}))});var pA=$(k=>{"use strict";Object.defineProperty(k,"__esModule",{value:!0});k.WorkspaceSymbolRequest=k.CodeActionResolveRequest=k.CodeActionRequest=k.DocumentSymbolRequest=k.DocumentHighlightRequest=k.ReferencesRequest=k.DefinitionRequest=k.SignatureHelpRequest=k.SignatureHelpTriggerKind=k.HoverRequest=k.CompletionResolveRequest=k.CompletionRequest=k.CompletionTriggerKind=k.PublishDiagnosticsNotification=k.WatchKind=k.RelativePattern=k.FileChangeType=k.DidChangeWatchedFilesNotification=k.WillSaveTextDocumentWaitUntilRequest=k.WillSaveTextDocumentNotification=k.TextDocumentSaveReason=k.DidSaveTextDocumentNotification=k.DidCloseTextDocumentNotification=k.DidChangeTextDocumentNotification=k.TextDocumentContentChangeEvent=k.DidOpenTextDocumentNotification=k.TextDocumentSyncKind=k.TelemetryEventNotification=k.LogMessageNotification=k.ShowMessageRequest=k.ShowMessageNotification=k.MessageType=k.DidChangeConfigurationNotification=k.ExitNotification=k.ShutdownRequest=k.InitializedNotification=k.InitializeErrorCodes=k.InitializeRequest=k.WorkDoneProgressOptions=k.TextDocumentRegistrationOptions=k.StaticRegistrationOptions=k.PositionEncodingKind=k.FailureHandlingKind=k.ResourceOperationKind=k.UnregistrationRequest=k.RegistrationRequest=k.DocumentSelector=k.NotebookCellTextDocumentFilter=k.NotebookDocumentFilter=k.TextDocumentFilter=void 0;k.TypeHierarchySubtypesRequest=k.TypeHierarchyPrepareRequest=k.MonikerRequest=k.MonikerKind=k.UniquenessLevel=k.WillDeleteFilesRequest=k.DidDeleteFilesNotification=k.WillRenameFilesRequest=k.DidRenameFilesNotification=k.WillCreateFilesRequest=k.DidCreateFilesNotification=k.FileOperationPatternKind=k.LinkedEditingRangeRequest=k.ShowDocumentRequest=k.SemanticTokensRegistrationType=k.SemanticTokensRefreshRequest=k.SemanticTokensRangeRequest=k.SemanticTokensDeltaRequest=k.SemanticTokensRequest=k.TokenFormat=k.CallHierarchyPrepareRequest=k.CallHierarchyOutgoingCallsRequest=k.CallHierarchyIncomingCallsRequest=k.WorkDoneProgressCancelNotification=k.WorkDoneProgressCreateRequest=k.WorkDoneProgress=k.SelectionRangeRequest=k.DeclarationRequest=k.FoldingRangeRequest=k.ColorPresentationRequest=k.DocumentColorRequest=k.ConfigurationRequest=k.DidChangeWorkspaceFoldersNotification=k.WorkspaceFoldersRequest=k.TypeDefinitionRequest=k.ImplementationRequest=k.ApplyWorkspaceEditRequest=k.ExecuteCommandRequest=k.PrepareRenameRequest=k.RenameRequest=k.PrepareSupportDefaultBehavior=k.DocumentOnTypeFormattingRequest=k.DocumentRangeFormattingRequest=k.DocumentFormattingRequest=k.DocumentLinkResolveRequest=k.DocumentLinkRequest=k.CodeLensRefreshRequest=k.CodeLensResolveRequest=k.CodeLensRequest=k.WorkspaceSymbolResolveRequest=void 0;k.DidCloseNotebookDocumentNotification=k.DidSaveNotebookDocumentNotification=k.DidChangeNotebookDocumentNotification=k.NotebookCellArrayChange=k.DidOpenNotebookDocumentNotification=k.NotebookDocumentSyncRegistrationType=k.NotebookDocument=k.NotebookCell=k.ExecutionSummary=k.NotebookCellKind=k.DiagnosticRefreshRequest=k.WorkspaceDiagnosticRequest=k.DocumentDiagnosticRequest=k.DocumentDiagnosticReportKind=k.DiagnosticServerCancellationData=k.InlayHintRefreshRequest=k.InlayHintResolveRequest=k.InlayHintRequest=k.InlineValueRefreshRequest=k.InlineValueRequest=k.TypeHierarchySupertypesRequest=void 0;var K=jt(),oA=$m(),Mr=Fm(),d2=DP();Object.defineProperty(k,"ImplementationRequest",{enumerable:!0,get:function(){return d2.ImplementationRequest}});var p2=PP();Object.defineProperty(k,"TypeDefinitionRequest",{enumerable:!0,get:function(){return p2.TypeDefinitionRequest}});var sA=AP();Object.defineProperty(k,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return sA.WorkspaceFoldersRequest}});Object.defineProperty(k,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return sA.DidChangeWorkspaceFoldersNotification}});var m2=IP();Object.defineProperty(k,"ConfigurationRequest",{enumerable:!0,get:function(){return m2.ConfigurationRequest}});var aA=OP();Object.defineProperty(k,"DocumentColorRequest",{enumerable:!0,get:function(){return aA.DocumentColorRequest}});Object.defineProperty(k,"ColorPresentationRequest",{enumerable:!0,get:function(){return aA.ColorPresentationRequest}});var h2=MP();Object.defineProperty(k,"FoldingRangeRequest",{enumerable:!0,get:function(){return h2.FoldingRangeRequest}});var g2=FP();Object.defineProperty(k,"DeclarationRequest",{enumerable:!0,get:function(){return g2.DeclarationRequest}});var y2=jP();Object.defineProperty(k,"SelectionRangeRequest",{enumerable:!0,get:function(){return y2.SelectionRangeRequest}});var gR=UP();Object.defineProperty(k,"WorkDoneProgress",{enumerable:!0,get:function(){return gR.WorkDoneProgress}});Object.defineProperty(k,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return gR.WorkDoneProgressCreateRequest}});Object.defineProperty(k,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return gR.WorkDoneProgressCancelNotification}});var yR=WP();Object.defineProperty(k,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return yR.CallHierarchyIncomingCallsRequest}});Object.defineProperty(k,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return yR.CallHierarchyOutgoingCallsRequest}});Object.defineProperty(k,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return yR.CallHierarchyPrepareRequest}});var Hc=HP();Object.defineProperty(k,"TokenFormat",{enumerable:!0,get:function(){return Hc.TokenFormat}});Object.defineProperty(k,"SemanticTokensRequest",{enumerable:!0,get:function(){return Hc.SemanticTokensRequest}});Object.defineProperty(k,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return Hc.SemanticTokensDeltaRequest}});Object.defineProperty(k,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return Hc.SemanticTokensRangeRequest}});Object.defineProperty(k,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return Hc.SemanticTokensRefreshRequest}});Object.defineProperty(k,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return Hc.SemanticTokensRegistrationType}});var v2=BP();Object.defineProperty(k,"ShowDocumentRequest",{enumerable:!0,get:function(){return v2.ShowDocumentRequest}});var T2=zP();Object.defineProperty(k,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return T2.LinkedEditingRangeRequest}});var Ys=VP();Object.defineProperty(k,"FileOperationPatternKind",{enumerable:!0,get:function(){return Ys.FileOperationPatternKind}});Object.defineProperty(k,"DidCreateFilesNotification",{enumerable:!0,get:function(){return Ys.DidCreateFilesNotification}});Object.defineProperty(k,"WillCreateFilesRequest",{enumerable:!0,get:function(){return Ys.WillCreateFilesRequest}});Object.defineProperty(k,"DidRenameFilesNotification",{enumerable:!0,get:function(){return Ys.DidRenameFilesNotification}});Object.defineProperty(k,"WillRenameFilesRequest",{enumerable:!0,get:function(){return Ys.WillRenameFilesRequest}});Object.defineProperty(k,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return Ys.DidDeleteFilesNotification}});Object.defineProperty(k,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return Ys.WillDeleteFilesRequest}});var vR=YP();Object.defineProperty(k,"UniquenessLevel",{enumerable:!0,get:function(){return vR.UniquenessLevel}});Object.defineProperty(k,"MonikerKind",{enumerable:!0,get:function(){return vR.MonikerKind}});Object.defineProperty(k,"MonikerRequest",{enumerable:!0,get:function(){return vR.MonikerRequest}});var TR=JP();Object.defineProperty(k,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return TR.TypeHierarchyPrepareRequest}});Object.defineProperty(k,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return TR.TypeHierarchySubtypesRequest}});Object.defineProperty(k,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return TR.TypeHierarchySupertypesRequest}});var cA=QP();Object.defineProperty(k,"InlineValueRequest",{enumerable:!0,get:function(){return cA.InlineValueRequest}});Object.defineProperty(k,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return cA.InlineValueRefreshRequest}});var RR=ZP();Object.defineProperty(k,"InlayHintRequest",{enumerable:!0,get:function(){return RR.InlayHintRequest}});Object.defineProperty(k,"InlayHintResolveRequest",{enumerable:!0,get:function(){return RR.InlayHintResolveRequest}});Object.defineProperty(k,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return RR.InlayHintRefreshRequest}});var Nl=tA();Object.defineProperty(k,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return Nl.DiagnosticServerCancellationData}});Object.defineProperty(k,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return Nl.DocumentDiagnosticReportKind}});Object.defineProperty(k,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return Nl.DocumentDiagnosticRequest}});Object.defineProperty(k,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return Nl.WorkspaceDiagnosticRequest}});Object.defineProperty(k,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return Nl.DiagnosticRefreshRequest}});var Vi=iA();Object.defineProperty(k,"NotebookCellKind",{enumerable:!0,get:function(){return Vi.NotebookCellKind}});Object.defineProperty(k,"ExecutionSummary",{enumerable:!0,get:function(){return Vi.ExecutionSummary}});Object.defineProperty(k,"NotebookCell",{enumerable:!0,get:function(){return Vi.NotebookCell}});Object.defineProperty(k,"NotebookDocument",{enumerable:!0,get:function(){return Vi.NotebookDocument}});Object.defineProperty(k,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return Vi.NotebookDocumentSyncRegistrationType}});Object.defineProperty(k,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return Vi.DidOpenNotebookDocumentNotification}});Object.defineProperty(k,"NotebookCellArrayChange",{enumerable:!0,get:function(){return Vi.NotebookCellArrayChange}});Object.defineProperty(k,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return Vi.DidChangeNotebookDocumentNotification}});Object.defineProperty(k,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return Vi.DidSaveNotebookDocumentNotification}});Object.defineProperty(k,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return Vi.DidCloseNotebookDocumentNotification}});var uA;(function(t){function e(r){let n=r;return Mr.string(n.language)||Mr.string(n.scheme)||Mr.string(n.pattern)}t.is=e})(uA=k.TextDocumentFilter||(k.TextDocumentFilter={}));var lA;(function(t){function e(r){let n=r;return Mr.objectLiteral(n)&&(Mr.string(n.notebookType)||Mr.string(n.scheme)||Mr.string(n.pattern))}t.is=e})(lA=k.NotebookDocumentFilter||(k.NotebookDocumentFilter={}));var fA;(function(t){function e(r){let n=r;return Mr.objectLiteral(n)&&(Mr.string(n.notebook)||lA.is(n.notebook))&&(n.language===void 0||Mr.string(n.language))}t.is=e})(fA=k.NotebookCellTextDocumentFilter||(k.NotebookCellTextDocumentFilter={}));var dA;(function(t){function e(r){if(!Array.isArray(r))return!1;for(let n of r)if(!Mr.string(n)&&!uA.is(n)&&!fA.is(n))return!1;return!0}t.is=e})(dA=k.DocumentSelector||(k.DocumentSelector={}));var R2;(function(t){t.method="client/registerCapability",t.messageDirection=K.MessageDirection.serverToClient,t.type=new K.ProtocolRequestType(t.method)})(R2=k.RegistrationRequest||(k.RegistrationRequest={}));var b2;(function(t){t.method="client/unregisterCapability",t.messageDirection=K.MessageDirection.serverToClient,t.type=new K.ProtocolRequestType(t.method)})(b2=k.UnregistrationRequest||(k.UnregistrationRequest={}));var x2;(function(t){t.Create="create",t.Rename="rename",t.Delete="delete"})(x2=k.ResourceOperationKind||(k.ResourceOperationKind={}));var _2;(function(t){t.Abort="abort",t.Transactional="transactional",t.TextOnlyTransactional="textOnlyTransactional",t.Undo="undo"})(_2=k.FailureHandlingKind||(k.FailureHandlingKind={}));var S2;(function(t){t.UTF8="utf-8",t.UTF16="utf-16",t.UTF32="utf-32"})(S2=k.PositionEncodingKind||(k.PositionEncodingKind={}));var k2;(function(t){function e(r){let n=r;return n&&Mr.string(n.id)&&n.id.length>0}t.hasId=e})(k2=k.StaticRegistrationOptions||(k.StaticRegistrationOptions={}));var C2;(function(t){function e(r){let n=r;return n&&(n.documentSelector===null||dA.is(n.documentSelector))}t.is=e})(C2=k.TextDocumentRegistrationOptions||(k.TextDocumentRegistrationOptions={}));var w2;(function(t){function e(n){let i=n;return Mr.objectLiteral(i)&&(i.workDoneProgress===void 0||Mr.boolean(i.workDoneProgress))}t.is=e;function r(n){let i=n;return i&&Mr.boolean(i.workDoneProgress)}t.hasWorkDoneProgress=r})(w2=k.WorkDoneProgressOptions||(k.WorkDoneProgressOptions={}));var D2;(function(t){t.method="initialize",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(D2=k.InitializeRequest||(k.InitializeRequest={}));var E2;(function(t){t.unknownProtocolVersion=1})(E2=k.InitializeErrorCodes||(k.InitializeErrorCodes={}));var P2;(function(t){t.method="initialized",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolNotificationType(t.method)})(P2=k.InitializedNotification||(k.InitializedNotification={}));var A2;(function(t){t.method="shutdown",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType0(t.method)})(A2=k.ShutdownRequest||(k.ShutdownRequest={}));var N2;(function(t){t.method="exit",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolNotificationType0(t.method)})(N2=k.ExitNotification||(k.ExitNotification={}));var I2;(function(t){t.method="workspace/didChangeConfiguration",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolNotificationType(t.method)})(I2=k.DidChangeConfigurationNotification||(k.DidChangeConfigurationNotification={}));var O2;(function(t){t.Error=1,t.Warning=2,t.Info=3,t.Log=4})(O2=k.MessageType||(k.MessageType={}));var L2;(function(t){t.method="window/showMessage",t.messageDirection=K.MessageDirection.serverToClient,t.type=new K.ProtocolNotificationType(t.method)})(L2=k.ShowMessageNotification||(k.ShowMessageNotification={}));var M2;(function(t){t.method="window/showMessageRequest",t.messageDirection=K.MessageDirection.serverToClient,t.type=new K.ProtocolRequestType(t.method)})(M2=k.ShowMessageRequest||(k.ShowMessageRequest={}));var $2;(function(t){t.method="window/logMessage",t.messageDirection=K.MessageDirection.serverToClient,t.type=new K.ProtocolNotificationType(t.method)})($2=k.LogMessageNotification||(k.LogMessageNotification={}));var F2;(function(t){t.method="telemetry/event",t.messageDirection=K.MessageDirection.serverToClient,t.type=new K.ProtocolNotificationType(t.method)})(F2=k.TelemetryEventNotification||(k.TelemetryEventNotification={}));var q2;(function(t){t.None=0,t.Full=1,t.Incremental=2})(q2=k.TextDocumentSyncKind||(k.TextDocumentSyncKind={}));var j2;(function(t){t.method="textDocument/didOpen",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolNotificationType(t.method)})(j2=k.DidOpenTextDocumentNotification||(k.DidOpenTextDocumentNotification={}));var U2;(function(t){function e(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range!==void 0&&(i.rangeLength===void 0||typeof i.rangeLength=="number")}t.isIncremental=e;function r(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range===void 0&&i.rangeLength===void 0}t.isFull=r})(U2=k.TextDocumentContentChangeEvent||(k.TextDocumentContentChangeEvent={}));var W2;(function(t){t.method="textDocument/didChange",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolNotificationType(t.method)})(W2=k.DidChangeTextDocumentNotification||(k.DidChangeTextDocumentNotification={}));var H2;(function(t){t.method="textDocument/didClose",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolNotificationType(t.method)})(H2=k.DidCloseTextDocumentNotification||(k.DidCloseTextDocumentNotification={}));var G2;(function(t){t.method="textDocument/didSave",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolNotificationType(t.method)})(G2=k.DidSaveTextDocumentNotification||(k.DidSaveTextDocumentNotification={}));var B2;(function(t){t.Manual=1,t.AfterDelay=2,t.FocusOut=3})(B2=k.TextDocumentSaveReason||(k.TextDocumentSaveReason={}));var K2;(function(t){t.method="textDocument/willSave",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolNotificationType(t.method)})(K2=k.WillSaveTextDocumentNotification||(k.WillSaveTextDocumentNotification={}));var z2;(function(t){t.method="textDocument/willSaveWaitUntil",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(z2=k.WillSaveTextDocumentWaitUntilRequest||(k.WillSaveTextDocumentWaitUntilRequest={}));var V2;(function(t){t.method="workspace/didChangeWatchedFiles",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolNotificationType(t.method)})(V2=k.DidChangeWatchedFilesNotification||(k.DidChangeWatchedFilesNotification={}));var X2;(function(t){t.Created=1,t.Changed=2,t.Deleted=3})(X2=k.FileChangeType||(k.FileChangeType={}));var Y2;(function(t){function e(r){let n=r;return Mr.objectLiteral(n)&&(oA.URI.is(n.baseUri)||oA.WorkspaceFolder.is(n.baseUri))&&Mr.string(n.pattern)}t.is=e})(Y2=k.RelativePattern||(k.RelativePattern={}));var J2;(function(t){t.Create=1,t.Change=2,t.Delete=4})(J2=k.WatchKind||(k.WatchKind={}));var Q2;(function(t){t.method="textDocument/publishDiagnostics",t.messageDirection=K.MessageDirection.serverToClient,t.type=new K.ProtocolNotificationType(t.method)})(Q2=k.PublishDiagnosticsNotification||(k.PublishDiagnosticsNotification={}));var Z2;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.TriggerForIncompleteCompletions=3})(Z2=k.CompletionTriggerKind||(k.CompletionTriggerKind={}));var eV;(function(t){t.method="textDocument/completion",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(eV=k.CompletionRequest||(k.CompletionRequest={}));var tV;(function(t){t.method="completionItem/resolve",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(tV=k.CompletionResolveRequest||(k.CompletionResolveRequest={}));var rV;(function(t){t.method="textDocument/hover",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(rV=k.HoverRequest||(k.HoverRequest={}));var nV;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.ContentChange=3})(nV=k.SignatureHelpTriggerKind||(k.SignatureHelpTriggerKind={}));var iV;(function(t){t.method="textDocument/signatureHelp",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(iV=k.SignatureHelpRequest||(k.SignatureHelpRequest={}));var oV;(function(t){t.method="textDocument/definition",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(oV=k.DefinitionRequest||(k.DefinitionRequest={}));var sV;(function(t){t.method="textDocument/references",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(sV=k.ReferencesRequest||(k.ReferencesRequest={}));var aV;(function(t){t.method="textDocument/documentHighlight",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(aV=k.DocumentHighlightRequest||(k.DocumentHighlightRequest={}));var cV;(function(t){t.method="textDocument/documentSymbol",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(cV=k.DocumentSymbolRequest||(k.DocumentSymbolRequest={}));var uV;(function(t){t.method="textDocument/codeAction",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(uV=k.CodeActionRequest||(k.CodeActionRequest={}));var lV;(function(t){t.method="codeAction/resolve",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(lV=k.CodeActionResolveRequest||(k.CodeActionResolveRequest={}));var fV;(function(t){t.method="workspace/symbol",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(fV=k.WorkspaceSymbolRequest||(k.WorkspaceSymbolRequest={}));var dV;(function(t){t.method="workspaceSymbol/resolve",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(dV=k.WorkspaceSymbolResolveRequest||(k.WorkspaceSymbolResolveRequest={}));var pV;(function(t){t.method="textDocument/codeLens",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(pV=k.CodeLensRequest||(k.CodeLensRequest={}));var mV;(function(t){t.method="codeLens/resolve",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(mV=k.CodeLensResolveRequest||(k.CodeLensResolveRequest={}));var hV;(function(t){t.method="workspace/codeLens/refresh",t.messageDirection=K.MessageDirection.serverToClient,t.type=new K.ProtocolRequestType0(t.method)})(hV=k.CodeLensRefreshRequest||(k.CodeLensRefreshRequest={}));var gV;(function(t){t.method="textDocument/documentLink",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(gV=k.DocumentLinkRequest||(k.DocumentLinkRequest={}));var yV;(function(t){t.method="documentLink/resolve",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(yV=k.DocumentLinkResolveRequest||(k.DocumentLinkResolveRequest={}));var vV;(function(t){t.method="textDocument/formatting",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(vV=k.DocumentFormattingRequest||(k.DocumentFormattingRequest={}));var TV;(function(t){t.method="textDocument/rangeFormatting",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(TV=k.DocumentRangeFormattingRequest||(k.DocumentRangeFormattingRequest={}));var RV;(function(t){t.method="textDocument/onTypeFormatting",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(RV=k.DocumentOnTypeFormattingRequest||(k.DocumentOnTypeFormattingRequest={}));var bV;(function(t){t.Identifier=1})(bV=k.PrepareSupportDefaultBehavior||(k.PrepareSupportDefaultBehavior={}));var xV;(function(t){t.method="textDocument/rename",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(xV=k.RenameRequest||(k.RenameRequest={}));var _V;(function(t){t.method="textDocument/prepareRename",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(_V=k.PrepareRenameRequest||(k.PrepareRenameRequest={}));var SV;(function(t){t.method="workspace/executeCommand",t.messageDirection=K.MessageDirection.clientToServer,t.type=new K.ProtocolRequestType(t.method)})(SV=k.ExecuteCommandRequest||(k.ExecuteCommandRequest={}));var kV;(function(t){t.method="workspace/applyEdit",t.messageDirection=K.MessageDirection.serverToClient,t.type=new K.ProtocolRequestType("workspace/applyEdit")})(kV=k.ApplyWorkspaceEditRequest||(k.ApplyWorkspaceEditRequest={}))});var hA=$(Gm=>{"use strict";Object.defineProperty(Gm,"__esModule",{value:!0});Gm.createProtocolConnection=void 0;var mA=Xs();function CV(t,e,r,n){return mA.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,mA.createMessageConnection)(t,e,r,n)}Gm.createProtocolConnection=CV});var gA=$(cn=>{"use strict";var wV=cn&&cn.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Bm=cn&&cn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&wV(e,t,r)};Object.defineProperty(cn,"__esModule",{value:!0});cn.LSPErrorCodes=cn.createProtocolConnection=void 0;Bm(Xs(),cn);Bm($m(),cn);Bm(jt(),cn);Bm(pA(),cn);var DV=hA();Object.defineProperty(cn,"createProtocolConnection",{enumerable:!0,get:function(){return DV.createProtocolConnection}});var EV;(function(t){t.lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800})(EV=cn.LSPErrorCodes||(cn.LSPErrorCodes={}))});var gr=$(Xi=>{"use strict";var PV=Xi&&Xi.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),yA=Xi&&Xi.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&PV(e,t,r)};Object.defineProperty(Xi,"__esModule",{value:!0});Xi.createProtocolConnection=void 0;var AV=uR();yA(uR(),Xi);yA(gA(),Xi);function NV(t,e,r,n){return(0,AV.createMessageConnection)(t,e,r,n)}Xi.createProtocolConnection=NV});var xR=$(ds=>{"use strict";Object.defineProperty(ds,"__esModule",{value:!0});ds.SemanticTokensBuilder=ds.SemanticTokensDiff=ds.SemanticTokensFeature=void 0;var Km=gr(),IV=t=>class extends t{get semanticTokens(){return{refresh:()=>this.connection.sendRequest(Km.SemanticTokensRefreshRequest.type),on:e=>{let r=Km.SemanticTokensRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))},onDelta:e=>{let r=Km.SemanticTokensDeltaRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))},onRange:e=>{let r=Km.SemanticTokensRangeRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))}}}};ds.SemanticTokensFeature=IV;var zm=class{constructor(e,r){this.originalSequence=e,this.modifiedSequence=r}computeDiff(){let e=this.originalSequence.length,r=this.modifiedSequence.length,n=0;for(;n<r&&n<e&&this.originalSequence[n]===this.modifiedSequence[n];)n++;if(n<r&&n<e){let i=e-1,o=r-1;for(;i>=n&&o>=n&&this.originalSequence[i]===this.modifiedSequence[o];)i--,o--;(i<n||o<n)&&(i++,o++);let s=i-n+1,a=this.modifiedSequence.slice(n,o+1);return a.length===1&&a[0]===this.originalSequence[i]?[{start:n,deleteCount:s-1}]:[{start:n,deleteCount:s,data:a}]}else return n<r?[{start:n,deleteCount:0,data:this.modifiedSequence.slice(n)}]:n<e?[{start:n,deleteCount:e-n}]:[]}};ds.SemanticTokensDiff=zm;var bR=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(e,r,n,i,o){let s=e,a=r;this._dataLen>0&&(s-=this._prevLine,s===0&&(a-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=a,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=o,this._prevLine=e,this._prevChar=r}get id(){return this._id.toString()}previousResult(e){this.id===e&&(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 zm(this._prevData,this._data).computeDiff()}:this.build()}};ds.SemanticTokensBuilder=bR});var SR=$(Vm=>{"use strict";Object.defineProperty(Vm,"__esModule",{value:!0});Vm.TextDocuments=void 0;var Js=gr(),_R=class{constructor(e){this._configuration=e,this._syncedDocuments=new Map,this._onDidChangeContent=new Js.Emitter,this._onDidOpen=new Js.Emitter,this._onDidClose=new Js.Emitter,this._onDidSave=new Js.Emitter,this._onWillSave=new Js.Emitter}get onDidOpen(){return this._onDidOpen.event}get onDidChangeContent(){return this._onDidChangeContent.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._syncedDocuments.get(e)}all(){return Array.from(this._syncedDocuments.values())}keys(){return Array.from(this._syncedDocuments.keys())}listen(e){e.__textDocumentSync=Js.TextDocumentSyncKind.Incremental;let r=[];return r.push(e.onDidOpenTextDocument(n=>{let i=n.textDocument,o=this._configuration.create(i.uri,i.languageId,i.version,i.text);this._syncedDocuments.set(i.uri,o);let s=Object.freeze({document:o});this._onDidOpen.fire(s),this._onDidChangeContent.fire(s)})),r.push(e.onDidChangeTextDocument(n=>{let i=n.textDocument,o=n.contentChanges;if(o.length===0)return;let{version:s}=i;if(s==null)throw new Error(`Received document change event for ${i.uri} without valid version identifier`);let a=this._syncedDocuments.get(i.uri);a!==void 0&&(a=this._configuration.update(a,o,s),this._syncedDocuments.set(i.uri,a),this._onDidChangeContent.fire(Object.freeze({document:a})))})),r.push(e.onDidCloseTextDocument(n=>{let i=this._syncedDocuments.get(n.textDocument.uri);i!==void 0&&(this._syncedDocuments.delete(n.textDocument.uri),this._onDidClose.fire(Object.freeze({document:i})))})),r.push(e.onWillSaveTextDocument(n=>{let i=this._syncedDocuments.get(n.textDocument.uri);i!==void 0&&this._onWillSave.fire(Object.freeze({document:i,reason:n.reason}))})),r.push(e.onWillSaveTextDocumentWaitUntil((n,i)=>{let o=this._syncedDocuments.get(n.textDocument.uri);return o!==void 0&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:o,reason:n.reason}),i):[]})),r.push(e.onDidSaveTextDocument(n=>{let i=this._syncedDocuments.get(n.textDocument.uri);i!==void 0&&this._onDidSave.fire(Object.freeze({document:i}))})),Js.Disposable.create(()=>{r.forEach(n=>n.dispose())})}};Vm.TextDocuments=_R});var CR=$(Gc=>{"use strict";Object.defineProperty(Gc,"__esModule",{value:!0});Gc.NotebookDocuments=Gc.NotebookSyncFeature=void 0;var Vn=gr(),vA=SR(),OV=t=>class extends t{get synchronization(){return{onDidOpenNotebookDocument:e=>this.connection.onNotification(Vn.DidOpenNotebookDocumentNotification.type,r=>{e(r)}),onDidChangeNotebookDocument:e=>this.connection.onNotification(Vn.DidChangeNotebookDocumentNotification.type,r=>{e(r)}),onDidSaveNotebookDocument:e=>this.connection.onNotification(Vn.DidSaveNotebookDocumentNotification.type,r=>{e(r)}),onDidCloseNotebookDocument:e=>this.connection.onNotification(Vn.DidCloseNotebookDocumentNotification.type,r=>{e(r)})}}};Gc.NotebookSyncFeature=OV;var Xm=class t{onDidOpenTextDocument(e){return this.openHandler=e,Vn.Disposable.create(()=>{this.openHandler=void 0})}openTextDocument(e){this.openHandler&&this.openHandler(e)}onDidChangeTextDocument(e){return this.changeHandler=e,Vn.Disposable.create(()=>{this.changeHandler=e})}changeTextDocument(e){this.changeHandler&&this.changeHandler(e)}onDidCloseTextDocument(e){return this.closeHandler=e,Vn.Disposable.create(()=>{this.closeHandler=void 0})}closeTextDocument(e){this.closeHandler&&this.closeHandler(e)}onWillSaveTextDocument(){return t.NULL_DISPOSE}onWillSaveTextDocumentWaitUntil(){return t.NULL_DISPOSE}onDidSaveTextDocument(){return t.NULL_DISPOSE}};Xm.NULL_DISPOSE=Object.freeze({dispose:()=>{}});var kR=class{constructor(e){e instanceof vA.TextDocuments?this._cellTextDocuments=e:this._cellTextDocuments=new vA.TextDocuments(e),this.notebookDocuments=new Map,this.notebookCellMap=new Map,this._onDidOpen=new Vn.Emitter,this._onDidChange=new Vn.Emitter,this._onDidSave=new Vn.Emitter,this._onDidClose=new Vn.Emitter}get cellTextDocuments(){return this._cellTextDocuments}getCellTextDocument(e){return this._cellTextDocuments.get(e.document)}getNotebookDocument(e){return this.notebookDocuments.get(e)}getNotebookCell(e){let r=this.notebookCellMap.get(e);return r&&r[0]}findNotebookDocumentForCell(e){let r=typeof e=="string"?e:e.document,n=this.notebookCellMap.get(r);return n&&n[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(e){let r=new Xm,n=[];return n.push(this.cellTextDocuments.listen(r)),n.push(e.notebooks.synchronization.onDidOpenNotebookDocument(i=>{this.notebookDocuments.set(i.notebookDocument.uri,i.notebookDocument);for(let o of i.cellTextDocuments)r.openTextDocument({textDocument:o});this.updateCellMap(i.notebookDocument),this._onDidOpen.fire(i.notebookDocument)})),n.push(e.notebooks.synchronization.onDidChangeNotebookDocument(i=>{let o=this.notebookDocuments.get(i.notebookDocument.uri);if(o===void 0)return;o.version=i.notebookDocument.version;let s=o.metadata,a=!1,c=i.change;c.metadata!==void 0&&(a=!0,o.metadata=c.metadata);let f=[],p=[],m=[],T=[];if(c.cells!==void 0){let A=c.cells;if(A.structure!==void 0){let y=A.structure.array;if(o.cells.splice(y.start,y.deleteCount,...y.cells!==void 0?y.cells:[]),A.structure.didOpen!==void 0)for(let h of A.structure.didOpen)r.openTextDocument({textDocument:h}),f.push(h.uri);if(A.structure.didClose)for(let h of A.structure.didClose)r.closeTextDocument({textDocument:h}),p.push(h.uri)}if(A.data!==void 0){let y=new Map(A.data.map(h=>[h.document,h]));for(let h=0;h<=o.cells.length;h++){let C=y.get(o.cells[h].document);if(C!==void 0){let L=o.cells.splice(h,1,C);if(m.push({old:L[0],new:C}),y.delete(C.document),y.size===0)break}}}if(A.textContent!==void 0)for(let y of A.textContent)r.changeTextDocument({textDocument:y.document,contentChanges:y.changes}),T.push(y.document.uri)}this.updateCellMap(o);let _={notebookDocument:o};a&&(_.metadata={old:s,new:o.metadata});let E=[];for(let A of f)E.push(this.getNotebookCell(A));let N=[];for(let A of p)N.push(this.getNotebookCell(A));let I=[];for(let A of T)I.push(this.getNotebookCell(A));(E.length>0||N.length>0||m.length>0||I.length>0)&&(_.cells={added:E,removed:N,changed:{data:m,textContent:I}}),(_.metadata!==void 0||_.cells!==void 0)&&this._onDidChange.fire(_)})),n.push(e.notebooks.synchronization.onDidSaveNotebookDocument(i=>{let o=this.notebookDocuments.get(i.notebookDocument.uri);o!==void 0&&this._onDidSave.fire(o)})),n.push(e.notebooks.synchronization.onDidCloseNotebookDocument(i=>{let o=this.notebookDocuments.get(i.notebookDocument.uri);if(o!==void 0){this._onDidClose.fire(o);for(let s of i.cellTextDocuments)r.closeTextDocument({textDocument:s});this.notebookDocuments.delete(i.notebookDocument.uri);for(let s of o.cells)this.notebookCellMap.delete(s.document)}})),Vn.Disposable.create(()=>{n.forEach(i=>i.dispose())})}updateCellMap(e){for(let r of e.cells)this.notebookCellMap.set(r.document,[r,e])}};Gc.NotebookDocuments=kR});var wR=$(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.thenable=cr.typedArray=cr.stringArray=cr.array=cr.func=cr.error=cr.number=cr.string=cr.boolean=void 0;function LV(t){return t===!0||t===!1}cr.boolean=LV;function TA(t){return typeof t=="string"||t instanceof String}cr.string=TA;function MV(t){return typeof t=="number"||t instanceof Number}cr.number=MV;function $V(t){return t instanceof Error}cr.error=$V;function RA(t){return typeof t=="function"}cr.func=RA;function bA(t){return Array.isArray(t)}cr.array=bA;function FV(t){return bA(t)&&t.every(e=>TA(e))}cr.stringArray=FV;function qV(t,e){return Array.isArray(t)&&t.every(e)}cr.typedArray=qV;function jV(t){return t&&RA(t.then)}cr.thenable=jV});var DR=$(Xn=>{"use strict";Object.defineProperty(Xn,"__esModule",{value:!0});Xn.generateUuid=Xn.parse=Xn.isUUID=Xn.v4=Xn.empty=void 0;var Il=class{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}},Ol=class t extends Il{constructor(){super([t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),"-",t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),"-","4",t._randomHex(),t._randomHex(),t._randomHex(),"-",t._oneOf(t._timeHighBits),t._randomHex(),t._randomHex(),t._randomHex(),"-",t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return t._oneOf(t._chars)}};Ol._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"];Ol._timeHighBits=["8","9","a","b"];Xn.empty=new Il("00000000-0000-0000-0000-000000000000");function xA(){return new Ol}Xn.v4=xA;var UV=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function _A(t){return UV.test(t)}Xn.isUUID=_A;function WV(t){if(!_A(t))throw new Error("invalid uuid");return new Il(t)}Xn.parse=WV;function HV(){return xA().asHex()}Xn.generateUuid=HV});var SA=$(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});ms.attachPartialResult=ms.ProgressFeature=ms.attachWorkDone=void 0;var ps=gr(),GV=DR(),Qs=class t{constructor(e,r){this._connection=e,this._token=r,t.Instances.set(this._token,this)}begin(e,r,n,i){let o={kind:"begin",title:e,percentage:r,message:n,cancellable:i};this._connection.sendProgress(ps.WorkDoneProgress.type,this._token,o)}report(e,r){let n={kind:"report"};typeof e=="number"?(n.percentage=e,r!==void 0&&(n.message=r)):n.message=e,this._connection.sendProgress(ps.WorkDoneProgress.type,this._token,n)}done(){t.Instances.delete(this._token),this._connection.sendProgress(ps.WorkDoneProgress.type,this._token,{kind:"end"})}};Qs.Instances=new Map;var Ym=class extends Qs{constructor(e,r){super(e,r),this._source=new ps.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}},Ll=class{constructor(){}begin(){}report(){}done(){}},Jm=class extends Ll{constructor(){super(),this._source=new ps.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}};function BV(t,e){if(e===void 0||e.workDoneToken===void 0)return new Ll;let r=e.workDoneToken;return delete e.workDoneToken,new Qs(t,r)}ms.attachWorkDone=BV;var KV=t=>class extends t{constructor(){super(),this._progressSupported=!1}initialize(e){super.initialize(e),e?.window?.workDoneProgress===!0&&(this._progressSupported=!0,this.connection.onNotification(ps.WorkDoneProgressCancelNotification.type,r=>{let n=Qs.Instances.get(r.token);(n instanceof Ym||n instanceof Jm)&&n.cancel()}))}attachWorkDoneProgress(e){return e===void 0?new Ll:new Qs(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){let e=(0,GV.generateUuid)();return this.connection.sendRequest(ps.WorkDoneProgressCreateRequest.type,{token:e}).then(()=>new Ym(this.connection,e))}else return Promise.resolve(new Jm)}};ms.ProgressFeature=KV;var ER;(function(t){t.type=new ps.ProgressType})(ER||(ER={}));var PR=class{constructor(e,r){this._connection=e,this._token=r}report(e){this._connection.sendProgress(ER.type,this._token,e)}};function zV(t,e){if(e===void 0||e.partialResultToken===void 0)return;let r=e.partialResultToken;return delete e.partialResultToken,new PR(t,r)}ms.attachPartialResult=zV});var kA=$(Qm=>{"use strict";Object.defineProperty(Qm,"__esModule",{value:!0});Qm.ConfigurationFeature=void 0;var VV=gr(),XV=wR(),YV=t=>class extends t{getConfiguration(e){return e?XV.string(e)?this._getConfiguration({section:e}):this._getConfiguration(e):this._getConfiguration({})}_getConfiguration(e){let r={items:Array.isArray(e)?e:[e]};return this.connection.sendRequest(VV.ConfigurationRequest.type,r).then(n=>Array.isArray(n)?Array.isArray(e)?n:n[0]:Array.isArray(e)?[]:null)}};Qm.ConfigurationFeature=YV});var CA=$(eh=>{"use strict";Object.defineProperty(eh,"__esModule",{value:!0});eh.WorkspaceFoldersFeature=void 0;var Zm=gr(),JV=t=>class extends t{constructor(){super(),this._notificationIsAutoRegistered=!1}initialize(e){super.initialize(e);let r=e.workspace;r&&r.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new Zm.Emitter,this.connection.onNotification(Zm.DidChangeWorkspaceFoldersNotification.type,n=>{this._onDidChangeWorkspaceFolders.fire(n.event)}))}fillServerCapabilities(e){super.fillServerCapabilities(e);let r=e.workspace?.workspaceFolders?.changeNotifications;this._notificationIsAutoRegistered=r===!0||typeof r=="string"}getWorkspaceFolders(){return this.connection.sendRequest(Zm.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(Zm.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}};eh.WorkspaceFoldersFeature=JV});var wA=$(th=>{"use strict";Object.defineProperty(th,"__esModule",{value:!0});th.CallHierarchyFeature=void 0;var AR=gr(),QV=t=>class extends t{get callHierarchy(){return{onPrepare:e=>this.connection.onRequest(AR.CallHierarchyPrepareRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r),void 0)),onIncomingCalls:e=>{let r=AR.CallHierarchyIncomingCallsRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))},onOutgoingCalls:e=>{let r=AR.CallHierarchyOutgoingCallsRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))}}}};th.CallHierarchyFeature=QV});var DA=$(rh=>{"use strict";Object.defineProperty(rh,"__esModule",{value:!0});rh.ShowDocumentFeature=void 0;var ZV=gr(),e3=t=>class extends t{showDocument(e){return this.connection.sendRequest(ZV.ShowDocumentRequest.type,e)}};rh.ShowDocumentFeature=e3});var EA=$(nh=>{"use strict";Object.defineProperty(nh,"__esModule",{value:!0});nh.FileOperationsFeature=void 0;var Bc=gr(),t3=t=>class extends t{onDidCreateFiles(e){return this.connection.onNotification(Bc.DidCreateFilesNotification.type,r=>{e(r)})}onDidRenameFiles(e){return this.connection.onNotification(Bc.DidRenameFilesNotification.type,r=>{e(r)})}onDidDeleteFiles(e){return this.connection.onNotification(Bc.DidDeleteFilesNotification.type,r=>{e(r)})}onWillCreateFiles(e){return this.connection.onRequest(Bc.WillCreateFilesRequest.type,(r,n)=>e(r,n))}onWillRenameFiles(e){return this.connection.onRequest(Bc.WillRenameFilesRequest.type,(r,n)=>e(r,n))}onWillDeleteFiles(e){return this.connection.onRequest(Bc.WillDeleteFilesRequest.type,(r,n)=>e(r,n))}};nh.FileOperationsFeature=t3});var PA=$(ih=>{"use strict";Object.defineProperty(ih,"__esModule",{value:!0});ih.LinkedEditingRangeFeature=void 0;var r3=gr(),n3=t=>class extends t{onLinkedEditingRange(e){return this.connection.onRequest(r3.LinkedEditingRangeRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r),void 0))}};ih.LinkedEditingRangeFeature=n3});var AA=$(oh=>{"use strict";Object.defineProperty(oh,"__esModule",{value:!0});oh.TypeHierarchyFeature=void 0;var NR=gr(),i3=t=>class extends t{get typeHierarchy(){return{onPrepare:e=>this.connection.onRequest(NR.TypeHierarchyPrepareRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r),void 0)),onSupertypes:e=>{let r=NR.TypeHierarchySupertypesRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))},onSubtypes:e=>{let r=NR.TypeHierarchySubtypesRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))}}}};oh.TypeHierarchyFeature=i3});var IA=$(sh=>{"use strict";Object.defineProperty(sh,"__esModule",{value:!0});sh.InlineValueFeature=void 0;var NA=gr(),o3=t=>class extends t{get inlineValue(){return{refresh:()=>this.connection.sendRequest(NA.InlineValueRefreshRequest.type),on:e=>this.connection.onRequest(NA.InlineValueRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r)))}}};sh.InlineValueFeature=o3});var OA=$(ah=>{"use strict";Object.defineProperty(ah,"__esModule",{value:!0});ah.InlayHintFeature=void 0;var IR=gr(),s3=t=>class extends t{get inlayHint(){return{refresh:()=>this.connection.sendRequest(IR.InlayHintRefreshRequest.type),on:e=>this.connection.onRequest(IR.InlayHintRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r))),resolve:e=>this.connection.onRequest(IR.InlayHintResolveRequest.type,(r,n)=>e(r,n))}}};ah.InlayHintFeature=s3});var LA=$(ch=>{"use strict";Object.defineProperty(ch,"__esModule",{value:!0});ch.DiagnosticFeature=void 0;var Ml=gr(),a3=t=>class extends t{get diagnostics(){return{refresh:()=>this.connection.sendRequest(Ml.DiagnosticRefreshRequest.type),on:e=>this.connection.onRequest(Ml.DocumentDiagnosticRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r),this.attachPartialResultProgress(Ml.DocumentDiagnosticRequest.partialResult,r))),onWorkspace:e=>this.connection.onRequest(Ml.WorkspaceDiagnosticRequest.type,(r,n)=>e(r,n,this.attachWorkDoneProgress(r),this.attachPartialResultProgress(Ml.WorkspaceDiagnosticRequest.partialResult,r)))}}};ch.DiagnosticFeature=a3});var MA=$(uh=>{"use strict";Object.defineProperty(uh,"__esModule",{value:!0});uh.MonikerFeature=void 0;var c3=gr(),u3=t=>class extends t{get moniker(){return{on:e=>{let r=c3.MonikerRequest.type;return this.connection.onRequest(r,(n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(r,n)))}}}};uh.MonikerFeature=u3});var XA=$($e=>{"use strict";Object.defineProperty($e,"__esModule",{value:!0});$e.createConnection=$e.combineFeatures=$e.combineNotebooksFeatures=$e.combineLanguagesFeatures=$e.combineWorkspaceFeatures=$e.combineWindowFeatures=$e.combineClientFeatures=$e.combineTracerFeatures=$e.combineTelemetryFeatures=$e.combineConsoleFeatures=$e._NotebooksImpl=$e._LanguagesImpl=$e.BulkUnregistration=$e.BulkRegistration=$e.ErrorMessageTracker=void 0;var Y=gr(),Yn=wR(),LR=DR(),Se=SA(),l3=kA(),f3=CA(),d3=wA(),p3=xR(),m3=DA(),h3=EA(),g3=PA(),y3=AA(),v3=IA(),T3=OA(),R3=LA(),b3=CR(),x3=MA();function OR(t){if(t!==null)return t}var MR=class{constructor(){this._messages=Object.create(null)}add(e){let r=this._messages[e];r||(r=0),r++,this._messages[e]=r}sendErrors(e){Object.keys(this._messages).forEach(r=>{e.window.showErrorMessage(r)})}};$e.ErrorMessageTracker=MR;var lh=class{constructor(){}rawAttach(e){this._rawConnection=e}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(e){}initialize(e){}error(e){this.send(Y.MessageType.Error,e)}warn(e){this.send(Y.MessageType.Warning,e)}info(e){this.send(Y.MessageType.Info,e)}log(e){this.send(Y.MessageType.Log,e)}send(e,r){this._rawConnection&&this._rawConnection.sendNotification(Y.LogMessageNotification.type,{type:e,message:r}).catch(()=>{(0,Y.RAL)().console.error("Sending log message failed")})}},$R=class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}showErrorMessage(e,...r){let n={type:Y.MessageType.Error,message:e,actions:r};return this.connection.sendRequest(Y.ShowMessageRequest.type,n).then(OR)}showWarningMessage(e,...r){let n={type:Y.MessageType.Warning,message:e,actions:r};return this.connection.sendRequest(Y.ShowMessageRequest.type,n).then(OR)}showInformationMessage(e,...r){let n={type:Y.MessageType.Info,message:e,actions:r};return this.connection.sendRequest(Y.ShowMessageRequest.type,n).then(OR)}},$A=(0,m3.ShowDocumentFeature)((0,Se.ProgressFeature)($R)),_3;(function(t){function e(){return new fh}t.create=e})(_3=$e.BulkRegistration||($e.BulkRegistration={}));var fh=class{constructor(){this._registrations=[],this._registered=new Set}add(e,r){let n=Yn.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);let i=LR.generateUuid();this._registrations.push({id:i,method:n,registerOptions:r||{}}),this._registered.add(n)}asRegistrationParams(){return{registrations:this._registrations}}},S3;(function(t){function e(){return new $l(void 0,[])}t.create=e})(S3=$e.BulkUnregistration||($e.BulkUnregistration={}));var $l=class{constructor(e,r){this._connection=e,this._unregistrations=new Map,r.forEach(n=>{this._unregistrations.set(n.method,n)})}get isAttached(){return!!this._connection}attach(e){this._connection=e}add(e){this._unregistrations.set(e.method,e)}dispose(){let e=[];for(let n of this._unregistrations.values())e.push(n);let r={unregisterations:e};this._connection.sendRequest(Y.UnregistrationRequest.type,r).catch(()=>{this._connection.console.info("Bulk unregistration failed.")})}disposeSingle(e){let r=Yn.string(e)?e:e.method,n=this._unregistrations.get(r);if(!n)return!1;let i={unregisterations:[n]};return this._connection.sendRequest(Y.UnregistrationRequest.type,i).then(()=>{this._unregistrations.delete(r)},o=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)}),!0}},dh=class{attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}register(e,r,n){return e instanceof fh?this.registerMany(e):e instanceof $l?this.registerSingle1(e,r,n):this.registerSingle2(e,r)}registerSingle1(e,r,n){let i=Yn.string(r)?r:r.method,o=LR.generateUuid(),s={registrations:[{id:o,method:i,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(Y.RegistrationRequest.type,s).then(a=>(e.add({id:o,method:i}),e),a=>(this.connection.console.info(`Registering request handler for ${i} failed.`),Promise.reject(a)))}registerSingle2(e,r){let n=Yn.string(e)?e:e.method,i=LR.generateUuid(),o={registrations:[{id:i,method:n,registerOptions:r||{}}]};return this.connection.sendRequest(Y.RegistrationRequest.type,o).then(s=>Y.Disposable.create(()=>{this.unregisterSingle(i,n).catch(()=>{this.connection.console.info(`Un-registering capability with id ${i} failed.`)})}),s=>(this.connection.console.info(`Registering request handler for ${n} failed.`),Promise.reject(s)))}unregisterSingle(e,r){let n={unregisterations:[{id:e,method:r}]};return this.connection.sendRequest(Y.UnregistrationRequest.type,n).catch(()=>{this.connection.console.info(`Un-registering request handler for ${e} failed.`)})}registerMany(e){let r=e.asRegistrationParams();return this.connection.sendRequest(Y.RegistrationRequest.type,r).then(()=>new $l(this._connection,r.registrations.map(n=>({id:n.id,method:n.method}))),n=>(this.connection.console.info("Bulk registration failed."),Promise.reject(n)))}},FR=class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}applyEdit(e){function r(i){return i&&!!i.edit}let n=r(e)?e:{edit:e};return this.connection.sendRequest(Y.ApplyWorkspaceEditRequest.type,n)}},FA=(0,h3.FileOperationsFeature)((0,f3.WorkspaceFoldersFeature)((0,l3.ConfigurationFeature)(FR))),ph=class{constructor(){this._trace=Y.Trace.Off}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}set trace(e){this._trace=e}log(e,r){this._trace!==Y.Trace.Off&&this.connection.sendNotification(Y.LogTraceNotification.type,{message:e,verbose:this._trace===Y.Trace.Verbose?r:void 0}).catch(()=>{})}},mh=class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}logEvent(e){this.connection.sendNotification(Y.TelemetryEventNotification.type,e).catch(()=>{this.connection.console.log("Sending TelemetryEventNotification failed")})}},hh=class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return(0,Se.attachWorkDone)(this.connection,e)}attachPartialResultProgress(e,r){return(0,Se.attachPartialResult)(this.connection,r)}};$e._LanguagesImpl=hh;var qA=(0,x3.MonikerFeature)((0,R3.DiagnosticFeature)((0,T3.InlayHintFeature)((0,v3.InlineValueFeature)((0,y3.TypeHierarchyFeature)((0,g3.LinkedEditingRangeFeature)((0,p3.SemanticTokensFeature)((0,d3.CallHierarchyFeature)(hh)))))))),gh=class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return(0,Se.attachWorkDone)(this.connection,e)}attachPartialResultProgress(e,r){return(0,Se.attachPartialResult)(this.connection,r)}};$e._NotebooksImpl=gh;var jA=(0,b3.NotebookSyncFeature)(gh);function UA(t,e){return function(r){return e(t(r))}}$e.combineConsoleFeatures=UA;function WA(t,e){return function(r){return e(t(r))}}$e.combineTelemetryFeatures=WA;function HA(t,e){return function(r){return e(t(r))}}$e.combineTracerFeatures=HA;function GA(t,e){return function(r){return e(t(r))}}$e.combineClientFeatures=GA;function BA(t,e){return function(r){return e(t(r))}}$e.combineWindowFeatures=BA;function KA(t,e){return function(r){return e(t(r))}}$e.combineWorkspaceFeatures=KA;function zA(t,e){return function(r){return e(t(r))}}$e.combineLanguagesFeatures=zA;function VA(t,e){return function(r){return e(t(r))}}$e.combineNotebooksFeatures=VA;function k3(t,e){function r(i,o,s){return i&&o?s(i,o):i||o}return{__brand:"features",console:r(t.console,e.console,UA),tracer:r(t.tracer,e.tracer,HA),telemetry:r(t.telemetry,e.telemetry,WA),client:r(t.client,e.client,GA),window:r(t.window,e.window,BA),workspace:r(t.workspace,e.workspace,KA),languages:r(t.languages,e.languages,zA),notebooks:r(t.notebooks,e.notebooks,VA)}}$e.combineFeatures=k3;function C3(t,e,r){let n=r&&r.console?new(r.console(lh)):new lh,i=t(n);n.rawAttach(i);let o=r&&r.tracer?new(r.tracer(ph)):new ph,s=r&&r.telemetry?new(r.telemetry(mh)):new mh,a=r&&r.client?new(r.client(dh)):new dh,c=r&&r.window?new(r.window($A)):new $A,f=r&&r.workspace?new(r.workspace(FA)):new FA,p=r&&r.languages?new(r.languages(qA)):new qA,m=r&&r.notebooks?new(r.notebooks(jA)):new jA,T=[n,o,s,a,c,f,p,m];function _(y){return y instanceof Promise?y:Yn.thenable(y)?new Promise((h,C)=>{y.then(L=>h(L),L=>C(L))}):Promise.resolve(y)}let E,N,I,A={listen:()=>i.listen(),sendRequest:(y,...h)=>i.sendRequest(Yn.string(y)?y:y.method,...h),onRequest:(y,h)=>i.onRequest(y,h),sendNotification:(y,h)=>{let C=Yn.string(y)?y:y.method;return arguments.length===1?i.sendNotification(C):i.sendNotification(C,h)},onNotification:(y,h)=>i.onNotification(y,h),onProgress:i.onProgress,sendProgress:i.sendProgress,onInitialize:y=>(N=y,{dispose:()=>{N=void 0}}),onInitialized:y=>i.onNotification(Y.InitializedNotification.type,y),onShutdown:y=>(E=y,{dispose:()=>{E=void 0}}),onExit:y=>(I=y,{dispose:()=>{I=void 0}}),get console(){return n},get telemetry(){return s},get tracer(){return o},get client(){return a},get window(){return c},get workspace(){return f},get languages(){return p},get notebooks(){return m},onDidChangeConfiguration:y=>i.onNotification(Y.DidChangeConfigurationNotification.type,y),onDidChangeWatchedFiles:y=>i.onNotification(Y.DidChangeWatchedFilesNotification.type,y),__textDocumentSync:void 0,onDidOpenTextDocument:y=>i.onNotification(Y.DidOpenTextDocumentNotification.type,y),onDidChangeTextDocument:y=>i.onNotification(Y.DidChangeTextDocumentNotification.type,y),onDidCloseTextDocument:y=>i.onNotification(Y.DidCloseTextDocumentNotification.type,y),onWillSaveTextDocument:y=>i.onNotification(Y.WillSaveTextDocumentNotification.type,y),onWillSaveTextDocumentWaitUntil:y=>i.onRequest(Y.WillSaveTextDocumentWaitUntilRequest.type,y),onDidSaveTextDocument:y=>i.onNotification(Y.DidSaveTextDocumentNotification.type,y),sendDiagnostics:y=>i.sendNotification(Y.PublishDiagnosticsNotification.type,y),onHover:y=>i.onRequest(Y.HoverRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),void 0)),onCompletion:y=>i.onRequest(Y.CompletionRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onCompletionResolve:y=>i.onRequest(Y.CompletionResolveRequest.type,y),onSignatureHelp:y=>i.onRequest(Y.SignatureHelpRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),void 0)),onDeclaration:y=>i.onRequest(Y.DeclarationRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onDefinition:y=>i.onRequest(Y.DefinitionRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onTypeDefinition:y=>i.onRequest(Y.TypeDefinitionRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onImplementation:y=>i.onRequest(Y.ImplementationRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onReferences:y=>i.onRequest(Y.ReferencesRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onDocumentHighlight:y=>i.onRequest(Y.DocumentHighlightRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onDocumentSymbol:y=>i.onRequest(Y.DocumentSymbolRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onWorkspaceSymbol:y=>i.onRequest(Y.WorkspaceSymbolRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onWorkspaceSymbolResolve:y=>i.onRequest(Y.WorkspaceSymbolResolveRequest.type,y),onCodeAction:y=>i.onRequest(Y.CodeActionRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onCodeActionResolve:y=>i.onRequest(Y.CodeActionResolveRequest.type,(h,C)=>y(h,C)),onCodeLens:y=>i.onRequest(Y.CodeLensRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onCodeLensResolve:y=>i.onRequest(Y.CodeLensResolveRequest.type,(h,C)=>y(h,C)),onDocumentFormatting:y=>i.onRequest(Y.DocumentFormattingRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),void 0)),onDocumentRangeFormatting:y=>i.onRequest(Y.DocumentRangeFormattingRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),void 0)),onDocumentOnTypeFormatting:y=>i.onRequest(Y.DocumentOnTypeFormattingRequest.type,(h,C)=>y(h,C)),onRenameRequest:y=>i.onRequest(Y.RenameRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),void 0)),onPrepareRename:y=>i.onRequest(Y.PrepareRenameRequest.type,(h,C)=>y(h,C)),onDocumentLinks:y=>i.onRequest(Y.DocumentLinkRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onDocumentLinkResolve:y=>i.onRequest(Y.DocumentLinkResolveRequest.type,(h,C)=>y(h,C)),onDocumentColor:y=>i.onRequest(Y.DocumentColorRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onColorPresentation:y=>i.onRequest(Y.ColorPresentationRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onFoldingRanges:y=>i.onRequest(Y.FoldingRangeRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onSelectionRanges:y=>i.onRequest(Y.SelectionRangeRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),(0,Se.attachPartialResult)(i,h))),onExecuteCommand:y=>i.onRequest(Y.ExecuteCommandRequest.type,(h,C)=>y(h,C,(0,Se.attachWorkDone)(i,h),void 0)),dispose:()=>i.dispose()};for(let y of T)y.attach(A);return i.onRequest(Y.InitializeRequest.type,y=>{e.initialize(y),Yn.string(y.trace)&&(o.trace=Y.Trace.fromString(y.trace));for(let h of T)h.initialize(y.capabilities);if(N){let h=N(y,new Y.CancellationTokenSource().token,(0,Se.attachWorkDone)(i,y),void 0);return _(h).then(C=>{if(C instanceof Y.ResponseError)return C;let L=C;L||(L={capabilities:{}});let J=L.capabilities;J||(J={},L.capabilities=J),J.textDocumentSync===void 0||J.textDocumentSync===null?J.textDocumentSync=Yn.number(A.__textDocumentSync)?A.__textDocumentSync:Y.TextDocumentSyncKind.None:!Yn.number(J.textDocumentSync)&&!Yn.number(J.textDocumentSync.change)&&(J.textDocumentSync.change=Yn.number(A.__textDocumentSync)?A.__textDocumentSync:Y.TextDocumentSyncKind.None);for(let fe of T)fe.fillServerCapabilities(J);return L})}else{let h={capabilities:{textDocumentSync:Y.TextDocumentSyncKind.None}};for(let C of T)C.fillServerCapabilities(h.capabilities);return h}}),i.onRequest(Y.ShutdownRequest.type,()=>{if(e.shutdownReceived=!0,E)return E(new Y.CancellationTokenSource().token)}),i.onNotification(Y.ExitNotification.type,()=>{try{I&&I()}finally{e.shutdownReceived?e.exit(0):e.exit(1)}}),i.onNotification(Y.SetTraceNotification.type,y=>{o.trace=Y.Trace.fromString(y.value)}),A}$e.createConnection=C3});var qR=$($r=>{"use strict";var w3=$r&&$r.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),YA=$r&&$r.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&w3(e,t,r)};Object.defineProperty($r,"__esModule",{value:!0});$r.ProposedFeatures=$r.NotebookDocuments=$r.TextDocuments=$r.SemanticTokensBuilder=void 0;var D3=xR();Object.defineProperty($r,"SemanticTokensBuilder",{enumerable:!0,get:function(){return D3.SemanticTokensBuilder}});YA(gr(),$r);var E3=SR();Object.defineProperty($r,"TextDocuments",{enumerable:!0,get:function(){return E3.TextDocuments}});var P3=CR();Object.defineProperty($r,"NotebookDocuments",{enumerable:!0,get:function(){return P3.NotebookDocuments}});YA(XA(),$r);var A3;(function(t){t.all={__brand:"features"}})(A3=$r.ProposedFeatures||($r.ProposedFeatures={}))});var QA=$((eTe,JA)=>{"use strict";JA.exports=gr()});var tN=$(Yi=>{"use strict";var N3=Yi&&Yi.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),eN=Yi&&Yi.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&N3(e,t,r)};Object.defineProperty(Yi,"__esModule",{value:!0});Yi.createConnection=void 0;var yh=qR();eN(QA(),Yi);eN(qR(),Yi);var ZA=!1,I3={initialize:t=>{},get shutdownReceived(){return ZA},set shutdownReceived(t){ZA=t},exit:t=>{}};function O3(t,e,r,n){let i,o,s,a;t!==void 0&&t.__brand==="features"&&(i=t,t=e,e=r,r=n),yh.ConnectionStrategy.is(t)||yh.ConnectionOptions.is(t)?a=t:(o=t,s=e,a=r);let c=f=>(0,yh.createProtocolConnection)(o,s,f,a);return(0,yh.createConnection)(c,I3,i)}Yi.createConnection=O3});var nN=$((rTe,rN)=>{"use strict";rN.exports=tN()});var QE=Ie(Qe(),1);var RL=function(t,e,r){if(r||arguments.length===2)for(var n=0,i=e.length,o;n<i;n++)(o||!(n in e))&&(o||(o=Array.prototype.slice.call(e,0,n)),o[n]=e[n]);return t.concat(o||Array.prototype.slice.call(e))},jx=function(){function t(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(t.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),t.prototype.getText=function(e){if(e){var r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content},t.prototype.update=function(e,r){for(var n=0,i=e;n<i.length;n++){var o=i[n];if(t.isIncremental(o)){var s=Wx(o.range),a=this.offsetAt(s.start),c=this.offsetAt(s.end);this._content=this._content.substring(0,a)+o.text+this._content.substring(c,this._content.length);var f=Math.max(s.start.line,0),p=Math.max(s.end.line,0),m=this._lineOffsets,T=Ux(o.text,!1,a);if(p-f===T.length)for(var _=0,E=T.length;_<E;_++)m[_+f+1]=T[_];else T.length<1e4?m.splice.apply(m,RL([f+1,p-f],T,!1)):this._lineOffsets=m=m.slice(0,f+1).concat(T,m.slice(p+1));var N=o.text.length-(c-a);if(N!==0)for(var _=f+1+T.length,E=m.length;_<E;_++)m[_]=m[_]+N}else if(t.isFull(o))this._content=o.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received")}this._version=r},t.prototype.getLineOffsets=function(){return this._lineOffsets===void 0&&(this._lineOffsets=Ux(this._content,!0)),this._lineOffsets},t.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return{line:0,character:e};for(;n<i;){var o=Math.floor((n+i)/2);r[o]>e?i=o:n=o+1}var s=n-1;return{line:s,character:e-r[s]}},t.prototype.offsetAt=function(e){var r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;var n=r[e.line],i=e.line+1<r.length?r[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,i),n)},Object.defineProperty(t.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!1,configurable:!0}),t.isIncremental=function(e){var r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")},t.isFull=function(e){var r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0},t}(),da;(function(t){function e(i,o,s,a){return new jx(i,o,s,a)}t.create=e;function r(i,o,s){if(i instanceof jx)return i.update(o,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=r;function n(i,o){for(var s=i.getText(),a=ry(o.map(bL),function(E,N){var I=E.range.start.line-N.range.start.line;return I===0?E.range.start.character-N.range.start.character:I}),c=0,f=[],p=0,m=a;p<m.length;p++){var T=m[p],_=i.offsetAt(T.range.start);if(_<c)throw new Error("Overlapping edit");_>c&&f.push(s.substring(c,_)),T.newText.length&&f.push(T.newText),c=i.offsetAt(T.range.end)}return f.push(s.substr(c)),f.join("")}t.applyEdits=n})(da||(da={}));function ry(t,e){if(t.length<=1)return t;var r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);ry(n,e),ry(i,e);for(var o=0,s=0,a=0;o<n.length&&s<i.length;){var c=e(n[o],i[s]);c<=0?t[a++]=n[o++]:t[a++]=i[s++]}for(;o<n.length;)t[a++]=n[o++];for(;s<i.length;)t[a++]=i[s++];return t}function Ux(t,e,r){r===void 0&&(r=0);for(var n=e?[r]:[],i=0;i<t.length;i++){var o=t.charCodeAt(i);(o===13||o===10)&&(o===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,n.push(r+i+1))}return n}function Wx(t){var e=t.start,r=t.end;return e.line>r.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function bL(t){var e=Wx(t.range);return e!==t.range?{newText:t.newText,range:e}:t}function rr(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function so(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"}function Hx(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function pa(t){return typeof t=="object"&&t!==null&&rr(t.container)&&so(t.reference)&&typeof t.message=="string"}var hu=class{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,r){return rr(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});let i=n[r];if(i!==void 0)return i;{let o=this.computeIsSubtype(e,r);return n[r]=o,o}}getAllSubTypes(e){let r=this.allSubtypes[e];if(r)return r;{let n=this.getAllTypes(),i=[];for(let o of n)this.isSubtype(o,e)&&i.push(o);return this.allSubtypes[e]=i,i}}};function Pi(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Ss(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Gx(t){return Pi(t)&&typeof t.fullText=="string"}var _n=class t{constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){let e=[],r=this.iterator(),n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){let n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){let r=e[Symbol.iterator]();return new t(()=>({first:this.startFn(),firstDone:!1}),n=>{let i;if(!n.firstDone){do if(i=this.nextFn(n.first),!i.done)return i;while(!i.done);n.firstDone=!0}do if(i=r.next(),!i.done)return i;while(!i.done);return Zr})}join(e=","){let r=this.iterator(),n="",i,o=!1;do i=r.next(),i.done||(o&&(n+=e),n+=xL(i.value)),o=!0;while(!i.done);return n}indexOf(e,r=0){let n=this.iterator(),i=0,o=n.next();for(;!o.done;){if(i>=r&&o.value===e)return i;o=n.next(),i++}return-1}every(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new t(this.startFn,r=>{let{done:n,value:i}=this.nextFn(r);return n?Zr:{done:!1,value:e(i)}})}filter(e){return new t(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return Zr})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){let n=this.iterator(),i=r,o=n.next();for(;!o.done;)i===void 0?i=o.value:i=e(i,o.value),o=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){let i=e.next();if(i.done)return n;let o=this.recursiveReduce(e,r,n);return o===void 0?i.value:r(o,i.value)}find(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new t(()=>({this:this.startFn()}),r=>{do{if(r.iterator){let o=r.iterator.next();if(o.done)r.iterator=void 0;else return o}let{done:n,value:i}=this.nextFn(r.this);if(!n){let o=e(i);if(Pf(o))r.iterator=o[Symbol.iterator]();else return{done:!1,value:o}}}while(r.iterator);return Zr})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let r=e>1?this.flat(e-1):this;return new t(()=>({this:r.startFn()}),n=>{do{if(n.iterator){let s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}let{done:i,value:o}=r.nextFn(n.this);if(!i)if(Pf(o))n.iterator=o[Symbol.iterator]();else return{done:!1,value:o}}while(n.iterator);return Zr})}head(){let r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new t(()=>{let r=this.startFn();for(let n=0;n<e;n++)if(this.nextFn(r).done)return r;return r},this.nextFn)}limit(e){return new t(()=>({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?Zr:this.nextFn(r.state)))}distinct(e){let r=new Set;return this.filter(n=>{let i=e?e(n):n;return r.has(i)?!1:(r.add(i),!0)})}exclude(e,r){let n=new Set;for(let i of e){let o=r?r(i):i;n.add(o)}return this.filter(i=>{let o=r?r(i):i;return!n.has(o)})}};function xL(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Pf(t){return!!t&&typeof t[Symbol.iterator]=="function"}var ma=new _n(()=>{},()=>Zr),Zr=Object.freeze({done:!0,value:void 0});function Ce(...t){if(t.length===1){let e=t[0];if(e instanceof _n)return e;if(Pf(e))return new _n(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new _n(()=>({index:0}),r=>r.index<e.length?{done:!1,value:e[r.index++]}:Zr)}return t.length>1?new _n(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){let r=t[e.collIndex++];Pf(r)?e.iterator=r[Symbol.iterator]():r&&typeof r.length=="number"&&(e.array=r)}}while(e.iterator||e.array||e.collIndex<t.length);return Zr}):ma}var qn=class extends _n{constructor(e,r,n){super(()=>({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){let s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return Zr})}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}},gu;(function(t){function e(o){return o.reduce((s,a)=>s+a,0)}t.sum=e;function r(o){return o.reduce((s,a)=>s*a,0)}t.product=r;function n(o){return o.reduce((s,a)=>Math.min(s,a))}t.min=n;function i(o){return o.reduce((s,a)=>Math.max(s,a))}t.max=i})(gu=gu||(gu={}));function ny(t){return new qn(t,e=>Pi(e)?e.content:[],{includeRoot:!0})}function zx(t){return ny(t).filter(Ss)}function Vx(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function yu(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function Wr(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var ao;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside"})(ao=ao||(ao={}));function _L(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<t.start.character)return ao.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>e.end.character)return ao.After;let r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return r&&n?ao.Inside:r?ao.OverlapBack:ao.OverlapFront}function Af(t,e){return _L(t,e)>ao.After}var iy=/^[\w\p{L}]$/u;function dr(t,e,r=iy){if(t){if(e>0){let n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return dn(t,e)}}function Xx(t,e){if(t){let r=SL(t,!0);if(r&&Bx(r,e))return r;if(Gx(t)){let n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let o=t.content[i];if(Bx(o,e))return o}}}}function Bx(t,e){return Ss(t)&&e.includes(t.tokenType.name)}function dn(t,e){if(Ss(t))return t;if(Pi(t)){let r=0,n=t.content.length-1;for(;r<n;){let i=Math.floor((r+n)/2),o=t.content[i];if(o.offset>e)n=i-1;else if(o.end<=e)r=i+1;else return dn(o,e)}if(r===n)return dn(t.content[r],e)}}function SL(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t);for(;n>0;){n--;let i=r.content[n];if(e||!i.hidden)return i}t=r}}function Yx(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t),i=r.content.length-1;for(;n<i;){n++;let o=r.content[n];if(e||!o.hidden)return o}t=r}}function Jx(t,e){let r=kL(t,e);return r?r.parent.content.slice(r.a+1,r.b):[]}function kL(t,e){let r=Kx(t),n=Kx(e),i;for(let o=0;o<r.length&&o<n.length;o++){let s=r[o],a=n[o];if(s.parent===a.parent)i={parent:s.parent,a:s.index,b:a.index};else break}return i}function Kx(t){let e=[];for(;t.container;){let r=t.container,n=r.content.indexOf(t);e.push({parent:r,index:n}),t=r}return e.reverse()}function Nf(t,e,r,n){let i=[t,e,r,n].reduce(t_,{});return e_(i)}var oy=Symbol("isProxy");function If(t){if(t&&t[oy])for(let e of Object.values(t))If(e);return t}function e_(t,e){let r=new Proxy({},{deleteProperty:()=>!1,get:(n,i)=>Zx(n,i,t,e||r),getOwnPropertyDescriptor:(n,i)=>(Zx(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),has:(n,i)=>i in t,ownKeys:()=>[...Reflect.ownKeys(t),oy]});return r[oy]=!0,r}var Qx=Symbol();function Zx(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable.",{cause:t[e]});if(t[e]===Qx)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. See https://langium.org/docs/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){let i=r[e];t[e]=Qx;try{t[e]=typeof i=="function"?i(n):e_(i,n)}catch(o){throw t[e]=o instanceof Error?o:void 0,o}return t[e]}else return}function t_(t,e){if(e){for(let[r,n]of Object.entries(e))if(n!==void 0){let i=t[r];i!==null&&n!==null&&typeof i=="object"&&typeof n=="object"?t[r]=t_(i,n):t[r]=n}}return t}var at=class{constructor(e){if(this.map=new Map,e)for(let[r,n]of e)this.add(r,n)}get size(){return gu.sum(Ce(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{let n=this.map.get(e);if(n){let i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){var r;return(r=this.map.get(e))!==null&&r!==void 0?r:[]}has(e,r){if(r===void 0)return this.map.has(e);{let n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return Ce(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return Ce(this.map.keys())}values(){return Ce(this.map.values()).flat()}entriesGroupedByKey(){return Ce(this.map.entries())}};var sy="AbstractRule";var ks="AbstractType";var CL="Condition";var wL="TypeDefinition";var ay="AbstractElement";function ha(t){return Ne.isInstance(t,ay)}var r_="ArrayType";function Cs(t){return Ne.isInstance(t,r_)}var n_="Conjunction";function i_(t){return Ne.isInstance(t,n_)}var o_="Disjunction";function s_(t){return Ne.isInstance(t,o_)}var a_="Grammar";function ga(t){return Ne.isInstance(t,a_)}var DL="GrammarImport";function Of(t){return Ne.isInstance(t,DL)}var EL="InferredType";function ya(t){return Ne.isInstance(t,EL)}var Tu="Interface";function pn(t){return Ne.isInstance(t,Tu)}var c_="LiteralCondition";function u_(t){return Ne.isInstance(t,c_)}var l_="Negation";function f_(t){return Ne.isInstance(t,l_)}var d_="Parameter";function p_(t){return Ne.isInstance(t,d_)}var m_="ParameterReference";function va(t){return Ne.isInstance(t,m_)}var h_="ParserRule";function ee(t){return Ne.isInstance(t,h_)}var g_="ReferenceType";function ws(t){return Ne.isInstance(t,g_)}var PL="ReturnType";function Ta(t){return Ne.isInstance(t,PL)}var y_="SimpleType";function Hr(t){return Ne.isInstance(t,y_)}var cy="TerminalRule";function Be(t){return Ne.isInstance(t,cy)}var Ru="Type";function vr(t){return Ne.isInstance(t,Ru)}var AL="TypeAttribute";function Lf(t){return Ne.isInstance(t,AL)}var v_="UnionType";function jn(t){return Ne.isInstance(t,v_)}var T_="Action";function Ze(t){return Ne.isInstance(t,T_)}var R_="Alternatives";function Sn(t){return Ne.isInstance(t,R_)}var b_="Assignment";function je(t){return Ne.isInstance(t,b_)}var x_="CharacterRange";function Mf(t){return Ne.isInstance(t,x_)}var __="CrossReference";function Dr(t){return Ne.isInstance(t,__)}var S_="Group";function Tr(t){return Ne.isInstance(t,S_)}var k_="Keyword";function Ht(t){return Ne.isInstance(t,k_)}var C_="NegatedToken";function w_(t){return Ne.isInstance(t,C_)}var D_="RegexToken";function E_(t){return Ne.isInstance(t,D_)}var P_="RuleCall";function et(t){return Ne.isInstance(t,P_)}var A_="TerminalAlternatives";function N_(t){return Ne.isInstance(t,A_)}var I_="TerminalGroup";function O_(t){return Ne.isInstance(t,I_)}var L_="TerminalRuleCall";function $f(t){return Ne.isInstance(t,L_)}var M_="UnorderedGroup";function kn(t){return Ne.isInstance(t,M_)}var $_="UntilToken";function F_(t){return Ne.isInstance(t,$_)}var q_="Wildcard";function j_(t){return Ne.isInstance(t,q_)}var vu=class extends hu{getAllTypes(){return["AbstractElement","AbstractRule","AbstractType","Action","Alternatives","ArrayType","Assignment","CharacterRange","Condition","Conjunction","CrossReference","Disjunction","Grammar","GrammarImport","Group","InferredType","Interface","Keyword","LiteralCondition","NamedArgument","NegatedToken","Negation","Parameter","ParameterReference","ParserRule","ReferenceType","RegexToken","ReturnType","RuleCall","SimpleType","TerminalAlternatives","TerminalGroup","TerminalRule","TerminalRuleCall","Type","TypeAttribute","TypeDefinition","UnionType","UnorderedGroup","UntilToken","Wildcard"]}computeIsSubtype(e,r){switch(e){case T_:return this.isSubtype(ay,r)||this.isSubtype(ks,r);case R_:case b_:case x_:case __:case S_:case k_:case C_:case D_:case P_:case A_:case I_:case L_:case M_:case $_:case q_:return this.isSubtype(ay,r);case r_:case g_:case y_:case v_:return this.isSubtype(wL,r);case n_:case o_:case c_:case l_:case m_:return this.isSubtype(CL,r);case Tu:case Ru:return this.isSubtype(ks,r);case h_:return this.isSubtype(sy,r)||this.isSubtype(ks,r);case cy:return this.isSubtype(sy,r);default:return!1}}getReferenceType(e){let r=`${e.container.$type}:${e.property}`;switch(r){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return ks;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return sy;case"Grammar:usedGrammars":return a_;case"NamedArgument:parameter":case"ParameterReference:parameter":return d_;case"TerminalRuleCall:rule":return cy;default:throw new Error(`${r} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case"Grammar":return{name:"Grammar",mandatory:[{name:"definesHiddenTokens",type:"boolean"},{name:"hiddenTokens",type:"array"},{name:"imports",type:"array"},{name:"interfaces",type:"array"},{name:"isDeclared",type:"boolean"},{name:"rules",type:"array"},{name:"types",type:"array"},{name:"usedGrammars",type:"array"}]};case"Interface":return{name:"Interface",mandatory:[{name:"attributes",type:"array"},{name:"superTypes",type:"array"}]};case"LiteralCondition":return{name:"LiteralCondition",mandatory:[{name:"true",type:"boolean"}]};case"NamedArgument":return{name:"NamedArgument",mandatory:[{name:"calledByName",type:"boolean"}]};case"ParserRule":return{name:"ParserRule",mandatory:[{name:"definesHiddenTokens",type:"boolean"},{name:"entry",type:"boolean"},{name:"fragment",type:"boolean"},{name:"hiddenTokens",type:"array"},{name:"parameters",type:"array"},{name:"wildcard",type:"boolean"}]};case"TerminalRule":return{name:"TerminalRule",mandatory:[{name:"fragment",type:"boolean"},{name:"hidden",type:"boolean"}]};case"TypeAttribute":return{name:"TypeAttribute",mandatory:[{name:"isOptional",type:"boolean"}]};case"UnionType":return{name:"UnionType",mandatory:[{name:"types",type:"array"}]};case"Alternatives":return{name:"Alternatives",mandatory:[{name:"elements",type:"array"}]};case"CrossReference":return{name:"CrossReference",mandatory:[{name:"deprecatedSyntax",type:"boolean"}]};case"Group":return{name:"Group",mandatory:[{name:"elements",type:"array"}]};case"RuleCall":return{name:"RuleCall",mandatory:[{name:"arguments",type:"array"}]};case"TerminalAlternatives":return{name:"TerminalAlternatives",mandatory:[{name:"elements",type:"array"}]};case"TerminalGroup":return{name:"TerminalGroup",mandatory:[{name:"elements",type:"array"}]};case"UnorderedGroup":return{name:"UnorderedGroup",mandatory:[{name:"elements",type:"array"}]};default:return{name:e,mandatory:[]}}}},Ne=new vu;function U_(t){for(let[e,r]of Object.entries(t))e.startsWith("$")||(Array.isArray(r)?r.forEach((n,i)=>{rr(n)&&(n.$container=t,n.$containerProperty=e,n.$containerIndex=i)}):rr(r)&&(r.$container=t,r.$containerProperty=e))}function tt(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function ke(t){let r=Ff(t).$document;if(!r)throw new Error("AST node has no document.");return r}function Ff(t){for(;t.$container;)t=t.$container;return t}function qo(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new _n(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndex<n.keys.length;){let i=n.keys[n.keyIndex];if(!i.startsWith("$")){let o=t[i];if(rr(o)){if(n.keyIndex++,uy(o,r))return{done:!1,value:o}}else if(Array.isArray(o)){for(;n.arrayIndex<o.length;){let s=n.arrayIndex++,a=o[s];if(rr(a)&&uy(a,r))return{done:!1,value:a}}n.arrayIndex=0}}n.keyIndex++}return Zr})}function St(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new qn(t,r=>qo(r,e))}function uo(t,e){if(t){if(e?.range&&!uy(t,e.range))return new qn(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new qn(t,r=>qo(r,e),{includeRoot:!0})}function uy(t,e){var r;if(!e)return!0;let n=(r=t.$cstNode)===null||r===void 0?void 0:r.range;return n?Af(n,e):!1}function qf(t){return new _n(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){let r=e.keys[e.keyIndex];if(!r.startsWith("$")){let n=t[r];if(so(n))return e.keyIndex++,{done:!1,value:{reference:n,container:t,property:r}};if(Array.isArray(n)){for(;e.arrayIndex<n.length;){let i=e.arrayIndex++,o=n[i];if(so(o))return{done:!1,value:{reference:o,container:t,property:r,index:i}}}e.arrayIndex=0}}e.keyIndex++}return Zr})}function W_(t){var e,r;if(t){if("astNode"in t)return OL(t);if(Array.isArray(t))return t.reduce(H_,void 0);{let n=t,i=NL(n)?IL((r=(e=n?.root)===null||e===void 0?void 0:e.astNode)!==null&&r!==void 0?r:n?.astNode):void 0;return Ra(n,i)}}else return}function NL(t){return typeof t<"u"&&"element"in t&&"text"in t}function IL(t){try{return ke(t).uri.toString()}catch{return}}function OL(t){var e,r;let{astNode:n,property:i,index:o}=t??{},s=(e=n?.$cstNode)!==null&&e!==void 0?e:n?.$textRegion;if(!(n===void 0||s===void 0)){if(i===void 0)return Ra(s,ly(n));{let a=c=>o!==void 0&&o>-1&&Array.isArray(n[i])?o<c.length?c[o]:void 0:c.reduce(H_,void 0);if(!((r=s.assignments)===null||r===void 0)&&r[i]){let c=a(s.assignments[i]);return c&&Ra(c,ly(n))}else if(n.$cstNode){let c=a(jo(n.$cstNode,i));return c&&Ra(c,ly(n))}else return}}}function ly(t){var e,r,n,i;return t.$cstNode?(r=(e=ke(t))===null||e===void 0?void 0:e.uri)===null||r===void 0?void 0:r.toString():t.$textRegion?t.$textRegion.documentURI||((i=(n=new qn(t,o=>o.$container?[o.$container]:[]).find(o=>{var s;return(s=o.$textRegion)===null||s===void 0?void 0:s.documentURI}))===null||n===void 0?void 0:n.$textRegion)===null||i===void 0?void 0:i.documentURI):void 0}function Ra(t,e){var r,n;let i={offset:t.offset,end:(r=t.end)!==null&&r!==void 0?r:t.offset+t.length,length:(n=t.length)!==null&&n!==void 0?n:t.end-t.offset};return t.range&&(i.range=t.range),e??(e=t.fileURI),e&&(i.fileURI=e),i}function H_(t,e){var r,n;if(t){if(!e)return t&&Ra(t)}else return e&&Ra(e);let i=(r=t.end)!==null&&r!==void 0?r:t.offset+t.length,o=(n=e.end)!==null&&n!==void 0?n:e.offset+e.length,s=Math.min(t.offset,e.offset),a=Math.max(i,o),c=a-s,f={offset:s,end:a,length:c};if(t.range&&e.range&&(f.range={start:e.range.start.line<t.range.start.line||e.range.start.line===t.range.start.line&&e.range.start.character<t.range.start.character?e.range.start:t.range.start,end:e.range.end.line>t.range.end.line||e.range.end.line===t.range.end.line&&e.range.end.character>t.range.end.character?e.range.end:t.range.end}),t.fileURI||e.fileURI){let p=t.fileURI,m=e.fileURI,T=p&&m&&p!==m?`<unmergable text regions of ${p}, ${m}>`:p??m;f.fileURI=T}return f}var fy=class{constructor(e){this.defaultIndentation=" ",this.pendingIndent=!0,this.currentIndents=[],this.recentNonImmediateIndents=[],this.traceData=[],this.lines=[[]],typeof e=="string"?this.defaultIndentation=e:typeof e=="number"&&(this.defaultIndentation="".padStart(e))}get content(){return this.lines.map(e=>e.join("")).join("")}get currentLineNumber(){return this.lines.length-1}get currentLineContent(){return this.lines[this.currentLineNumber].join("")}get currentPosition(){return{offset:this.content.length,line:this.currentLineNumber,character:this.currentLineContent.length}}append(e,r){if(e.length>0){let n=r&&this.currentPosition;this.lines[this.currentLineNumber].push(e),n&&this.indentPendingTraceRegions(n)}}indentPendingTraceRegions(e){for(let r=this.traceData.length-1;r>=0;r--){let n=this.traceData[r];n.targetStart&&n.targetStart.offset===e.offset&&(n.targetStart=this.currentPosition)}}increaseIndent(e){this.currentIndents.push(e),e.indentImmediately||this.recentNonImmediateIndents.push(e)}decreaseIndent(){this.currentIndents.pop()}get relevantIndents(){return this.currentIndents.filter(e=>!this.recentNonImmediateIndents.includes(e))}resetCurrentLine(){this.lines[this.currentLineNumber]=[],this.pendingIndent=!0}addNewLine(){this.pendingIndent=!0,this.lines.push([]),this.recentNonImmediateIndents.length=0}pushTraceRegion(e){let r=LL(e,this.currentPosition,n=>{var i,o;return(o=(i=this.traceData[this.traceData.length-1])===null||i===void 0?void 0:i.children)===null||o===void 0?void 0:o.push(n)});return this.traceData.push(r),r}popTraceRegion(e){let r=this.traceData.pop();return this.assertTrue(r===e,"Trace region mismatch!"),r}getParentTraceSourceFileURI(){var e;for(let r=this.traceData.length-1;r>-1;r--){let n=(e=this.traceData[r].sourceRegion)===null||e===void 0?void 0:e.fileURI;if(n)return n}}assertTrue(e,r){if(!e)throw new Error(r)}};function LL(t,e,r){let n={sourceRegion:t,targetRegion:void 0,children:[],targetStart:e,complete:i=>{var o,s;return n.targetRegion={offset:n.targetStart.offset,end:i.offset,length:i.offset-n.targetStart.offset,range:{start:{line:n.targetStart.line,character:n.targetStart.character},end:{line:i.line,character:i.character}}},delete n.targetStart,((o=n.children)===null||o===void 0?void 0:o.length)===0&&delete n.children,!((s=n.targetRegion)===null||s===void 0)&&s.length&&r(n),delete n.complete,n}};return n}function G_(t,e){let r=new fy(e),n=r.pushTraceRegion(void 0);B_(t,r),r.popTraceRegion(n),n.complete&&n.complete(r.currentPosition);let i=n.children&&n.children.length===1?n.children[0]:void 0,o=i?.targetRegion,s=n.targetRegion;return o&&i.sourceRegion&&o.offset===s.offset&&o.length===s.length?{text:r.content,trace:i}:{text:r.content,trace:n}}function B_(t,e){typeof t=="string"?ML(t,e):t instanceof ba?$L(t,e):t instanceof Er?V_(t,e):t instanceof Uo&&FL(t,e)}function K_(t,e){return typeof t=="string"?t.length!==0:t instanceof Er?t.contents.some(r=>K_(r,e)):t instanceof Uo?!(t.ifNotEmpty&&e.currentLineContent.length===0):!1}function ML(t,e){t&&(e.pendingIndent&&z_(e,!1),e.append(t))}function z_(t,e){var r;let n="";for(let i of t.relevantIndents.filter(o=>o.indentEmptyLines||!e))n+=(r=i.indentation)!==null&&r!==void 0?r:t.defaultIndentation;t.append(n,!0),t.pendingIndent=!1}function V_(t,e){let r,n=W_(t.tracedSource);n&&(r=e.pushTraceRegion(n));for(let i of t.contents)B_(i,e);if(r){e.popTraceRegion(r);let i=e.getParentTraceSourceFileURI();i&&n?.fileURI===i&&delete n.fileURI,r.complete&&r.complete(e.currentPosition)}}function $L(t,e){var r;if(K_(t,e)){t.indentImmediately&&!e.pendingIndent&&e.append((r=t.indentation)!==null&&r!==void 0?r:e.defaultIndentation,!0);try{e.increaseIndent(t),V_(t,e)}finally{e.decreaseIndent()}}}function FL(t,e){t.ifNotEmpty&&!qL(e.currentLineContent)?e.resetCurrentLine():(e.pendingIndent&&z_(e,!0),e.append(t.lineDelimiter),e.addNewLine())}function qL(t){return t.trimStart()!==""}var N8=Object.freeze("__\xABSKIP^NEW^LINE^IF^EMPTY\xBB__"),bu=/\r?\n/g,jL=/\S|$/;function X_(t){let e=t.filter(n=>n.length>0).map(n=>n.search(jL)),r=e.length===0?0:Math.min(...e);return Math.max(0,r)}function py(t,...e){let r=UL(t),n=WL(t,e,r);return GL(n)}function Q_(t,e,r){return(n,...i)=>my(t,e,r)(py(n,...i))}function UL(t){let e=t.join("_").split(bu),r=e.length>1&&e[0].trim().length===0,n=r&&e.length>1&&e[e.length-1].trim().length===0;if(e.length===1||e.length!==0&&e[0].trim().length!==0||e.length===2&&e[1].trim().length===0)return{indentation:0,omitFirstLine:r,omitLastLine:n,trimLastLine:e.length!==1&&e[e.length-1].trim().length===0};{let i=r?e.slice(1):e;i=n?i.slice(0,i.length-1):i,i=i.filter(s=>s.length!==0);let o=X_(i);return{indentation:o,omitFirstLine:r,omitLastLine:n&&(e[e.length-1].length<o||!e[e.length-1].startsWith(i[0].substring(0,o)))}}}function WL(t,e,{indentation:r,omitFirstLine:n,omitLastLine:i,trimLastLine:o}){let s=[];t.forEach((f,p)=>{s.push(...f.split(bu).map((m,T)=>T===0||m.length<r?m:m.substring(r)).reduce(p===0?(m,T,_)=>_===0?n?[]:[T]:_===1&&m.length===0?[T]:m.concat(jf,T):(m,T,_)=>_===0?[T]:m.concat(jf,T),[]).filter(m=>!(typeof m=="string"&&m.length===0)).concat(xu(e[p])?e[p]:e[p]!==void 0?{content:String(e[p])}:p<e.length?Z_:[]))});let a=s.length,c=a!==0?s[a-1]:void 0;return(i||o)&&typeof c=="string"&&c.trim().length===0?n&&a!==1&&s[a-2]===jf?s.slice(0,a-2):s.slice(0,a-1):s}var jf={isNewLine:!0},Z_={isUndefinedSegment:!0},J_=t=>t===jf,dy=t=>t===Z_,HL=t=>t.content!==void 0;function GL(t){return t.reduce((r,n,i)=>dy(n)?r:J_(n)?{node:i!==0&&(dy(t[i-1])||xu(t[i-1]))||i>1&&typeof t[i-1]=="string"&&(dy(t[i-2])||xu(t[i-2]))?r.node.appendNewLineIfNotEmpty():r.node.appendNewLine()}:(()=>{var o;let s=(i===0||J_(t[i-1]))&&typeof n=="string"&&n.length!==0?"".padStart(n.length-n.trimStart().length):"",a=HL(n)?n.content:n,c;return{node:r.indented?r.node:s.length!==0?r.node.indent({indentation:s,indentImmediately:!1,indentedChildren:f=>c=f.append(a)}):r.node.append(a),indented:c??((o=r.indented)===null||o===void 0?void 0:o.append(a))}})(),{node:new Er}).node}var Y_=typeof process>"u"?`
66
- `:process.platform==="win32"?`\r
67
- `:`
68
- `;function xu(t){return t instanceof Er||t instanceof ba||t instanceof Uo}function xa(t,e){return xu(t)?G_(t,e).text:String(t)}var Er=class t{constructor(...e){this.contents=[],this.append(...e)}isEmpty(){return this.contents.length===0}trace(e,r,n){if(rr(e)){if(this.tracedSource={astNode:e,property:r,index:n},this.tracedSource.property===void 0&&this.tracedSource.index!==void 0&&this.tracedSource.index>-1)throw new Error("Generation support: 'property' argument must not be 'undefined' if a non-negative value is assigned to 'index' in 'CompositeGeneratorNode.trace(...)'.")}else this.tracedSource=e;return this}append(...e){for(let r of e)typeof r=="function"?r(this):r&&this.contents.push(r);return this}appendIf(e,...r){return e?this.append(...r):this}appendNewLine(){return this.append(Lt)}appendNewLineIf(e){return e?this.append(Lt):this}appendNewLineIfNotEmpty(){return this.append(BL)}appendNewLineIfNotEmptyIf(e){return e?this.appendNewLineIfNotEmpty():this}appendTemplate(e,...r){return this.append(py(e,...r))}appendTemplateIf(e){return e?(r,...n)=>this.appendTemplate(r,...n):()=>this}indent(e){let{indentedChildren:r,indentation:n,indentEmptyLines:i,indentImmediately:o}=Array.isArray(e)||typeof e=="function"?{indentedChildren:e}:typeof e=="object"?e:{},s=new ba(n,o,i);return this.contents.push(s),Array.isArray(r)?s.append(...r):r&&s.append(r),this}appendTraced(e,r,n){return i=>this.append(new t().trace(e,r,n).append(i))}appendTracedIf(e,r,n,i){return e?this.appendTraced(typeof r=="function"?r():r,n,i):()=>this}appendTracedTemplate(e,r,n){return(i,...o)=>this.append(Q_(e,r,n)(i,...o))}appendTracedTemplateIf(e,r,n,i){return e?this.appendTracedTemplate(typeof r=="function"?r():r,n,i):()=>this}};function my(t,e,r){return n=>n instanceof Er&&n.tracedSource===void 0?n.trace(t,e,r):new Er().trace(t,e,r).append(n)}var ba=class extends Er{constructor(e,r=!0,n=!1){super(),this.indentImmediately=!0,this.indentEmptyLines=!1,typeof e=="string"?this.indentation=e:typeof e=="number"&&(this.indentation="".padStart(e)),this.indentImmediately=r,this.indentEmptyLines=n}},Uo=class{constructor(e,r=!1){this.ifNotEmpty=!1,this.lineDelimiter=e??Y_,this.ifNotEmpty=r}},Lt=new Uo,BL=new Uo(void 0,!0);function lo(t){return"referenceType"in t}function fo(t){return"elementType"in t}function pr(t){return"types"in t}function yy(t){if(pr(t)){let e=[];for(let r of t.types)e.push(...yy(r));return e}else return[t]}function Cn(t){return"value"in t}function wn(t){return"primitive"in t}function Ai(t){return"string"in t}function ai(t){return t&&"type"in t}function ui(t){return t&&"properties"in t}var Wf=class{constructor(e,r){var n;this.superTypes=new Set,this.subTypes=new Set,this.typeNames=new Set,this.name=e,this.declared=(n=r?.declared)!==null&&n!==void 0?n:!1,this.dataType=r?.dataType}toAstTypesString(e){let r=new Er;return r.append(`export type ${this.name} = ${ci(this.type,"AstType")};`,Lt),e&&(r.append(Lt),rS(r,this.name)),this.dataType&&KL(r,this),xa(r)}toDeclaredTypesString(e){let r=new Er;return r.append(`type ${vy(this.name,e)} = ${ci(this.type,"DeclaredType")};`,Lt),xa(r)}},_a=class t{get superProperties(){return this.getSuperProperties(new Set)}getSuperProperties(e){if(e.has(this.name))return[];e.add(this.name);let r=new Map;for(let n of this.properties)r.set(n.name,n);for(let n of this.interfaceSuperTypes){let i=n.getSuperProperties(e);for(let o of i)r.has(o.name)||r.set(o.name,o)}return Array.from(r.values())}get allProperties(){let e=new Map(this.superProperties.map(n=>[n.name,n]));for(let n of this.subTypes)this.getSubTypeProperties(n,e,new Set);return Array.from(e.values())}getSubTypeProperties(e,r,n){if(n.has(this.name))return;n.add(this.name);let i=ui(e)?e.properties:[];for(let o of i)r.has(o.name)||r.set(o.name,o);for(let o of e.subTypes)this.getSubTypeProperties(o,r,n)}get interfaceSuperTypes(){return Array.from(this.superTypes).filter(e=>e instanceof t)}constructor(e,r,n){this.superTypes=new Set,this.subTypes=new Set,this.containerTypes=new Set,this.typeNames=new Set,this.declared=!1,this.abstract=!1,this.properties=[],this.name=e,this.declared=r,this.abstract=n}toAstTypesString(e){let r=new Er,n=this.interfaceSuperTypes.map(o=>o.name),i=n.length>0?Ds([...n]):["AstNode"];return r.append(`export interface ${this.name} extends ${i.join(", ")} {`,Lt),r.indent(o=>{this.containerTypes.size>0&&o.append(`readonly $container: ${Ds([...this.containerTypes].map(s=>s.name)).join(" | ")};`,Lt),this.typeNames.size>0&&o.append(`readonly $type: ${Ds([...this.typeNames]).map(s=>`'${s}'`).join(" | ")};`,Lt),eS(o,this.properties,"AstType")}),r.append("}",Lt),e&&(r.append(Lt),rS(r,this.name)),xa(r)}toDeclaredTypesString(e){let r=new Er,n=vy(this.name,e),i=Ds(this.interfaceSuperTypes.map(o=>o.name)).join(", ");return r.append(`interface ${n}${i.length>0?` extends ${i}`:""} {`,Lt),r.indent(o=>eS(o,this.properties,"DeclaredType",e)),r.append("}",Lt),xa(r)}},Hf=class extends Error{constructor(e,r){super(e),this.name="TypeResolutionError",this.target=r}};function Su(t,e){return Wo(t,e,new Map)}function Wo(t,e,r){let n=`${_u(t)}\xBB${_u(e)}`,i=r.get(n);return i!==void 0||(r.set(n,!1),i=!1,pr(t)?i=t.types.every(o=>Wo(o,e,r)):pr(e)?i=e.types.some(o=>Wo(t,o,r)):Cn(e)&&ai(e.value)?Cn(t)&&ai(t.value)&&e.value.name===t.value.name?i=!0:i=Wo(t,e.value.type,r):lo(t)?i=lo(e)&&Wo(t.referenceType,e.referenceType,r):fo(t)?i=fo(e)&&Wo(t.elementType,e.elementType,r):Cn(t)?ai(t.value)?i=Wo(t.value.type,e,r):Cn(e)?ai(e.value)?i=Wo(t,e.value.type,r):i=tS(t.value,e.value,new Set):i=!1:wn(t)?i=wn(e)&&t.primitive===e.primitive:Ai(t)&&(i=wn(e)&&e.primitive==="string"||Ai(e)&&e.string===t.string),i&&r.set(n,i)),i}function tS(t,e,r){let n=t.name;if(r.has(n))return!1;if(r.add(n),t.name===e.name)return!0;for(let i of t.superTypes)if(ui(i)&&tS(i,e,r))return!0;return!1}function _u(t){if(lo(t))return`@(${_u(t.referenceType)})}`;if(fo(t))return`(${_u(t.elementType)})[]`;if(pr(t)){let e=t.types.map(r=>_u(r)).join(" | ");return t.types.length<=1?`Union<${e}>`:e}else{if(Cn(t))return`Value<${t.value.name}>`;if(wn(t))return t.primitive;if(Ai(t))return`'${t.string}'`}throw new Error("Invalid type")}function ci(t,e="AstType"){if(lo(t)){let r=ci(t.referenceType,e);return e==="AstType"?`Reference<${r}>`:`@${hy(t.referenceType,r)}`}else if(fo(t)){let r=ci(t.elementType,e);return e==="AstType"?`Array<${r}>`:`${hy(t.elementType,r)}[]`}else if(pr(t)){let r=t.types.map(n=>hy(n,ci(n,e)));return Ds(r).join(" | ")}else{if(Cn(t))return t.value.name;if(wn(t))return t.primitive;if(Ai(t)){let r=e==="AstType"?"'":'"';return`${r}${t.string}${r}`}}throw new Error("Invalid type")}function hy(t,e){return pr(t)&&(e=`(${e})`),e}function eS(t,e,r,n=new Set){function i(o){let s=r==="AstType"?o.name:vy(o.name,n),a=o.optional&&!Gf(o.type),c=ci(o.type,r);return`${s}${a?"?":""}: ${c}`}Ds(e,(o,s)=>o.name.localeCompare(s.name)).forEach(o=>t.append(i(o),Lt))}function Gf(t){return fo(t)?!0:lo(t)?!1:pr(t)?t.types.every(e=>Gf(e)):wn(t)?t.primitive==="boolean":!1}function rS(t,e){t.append(`export const ${e} = '${e}';`,Lt),t.append(Lt),t.append(`export function is${e}(item: unknown): item is ${e} {`,Lt),t.indent(r=>r.append(`return reflection.isInstance(item, ${e});`,Lt)),t.append("}",Lt)}function KL(t,e){switch(e.dataType){case"string":if(gy(e.type)){let r=Array.from(e.subTypes).map(o=>o.name),n=nS(e.type),i=iS(e.type);if(r.length===0&&n.length===0&&i.length===0)Uf(t,e.name,`typeof item === '${e.dataType}'`);else{let o=zL(r,n,i);Uf(t,e.name,o)}}break;case"number":case"boolean":case"bigint":Uf(t,e.name,`typeof item === '${e.dataType}'`);break;case"Date":Uf(t,e.name,"item instanceof Date");break;default:return}}function gy(t){let e=!0;if(wn(t))return t.primitive==="string";if(Ai(t))return!0;if(pr(t)){for(let r of t.types)if(Cn(r))if(ai(r.value)){if(!gy(r.value.type))return!1}else return!1;else if(wn(r)){if(r.primitive!=="string"||!r.regex)return!1}else if(pr(r))e=gy(r);else if(!Ai(r))return!1}else return!1;return e}function zL(t,e,r){let n=[...t.map(i=>`is${i}(item)`),...e.map(i=>`item === '${i}'`)];if(r.length>0){let i=r.map(o=>`${o}.test(item)`).join(" || ");n.push(`(typeof item === 'string' && (${i}))`)}return n.join(" || ")}function vy(t,e){return e.has(t)?`^${t}`:t}function nS(t){let e=[];if(Ai(t))return[t.string];if(pr(t))for(let r of t.types)Ai(r)?e.push(r.string):pr(r)&&e.push(...nS(r));return e}function iS(t){let e=[];if(wn(t)&&t.primitive==="string"&&t.regex&&e.push(t.regex),pr(t))for(let r of t.types)wn(r)&&r.primitive==="string"&&r.regex?e.push(r.regex):pr(r)&&e.push(...iS(r));return e}function Uf(t,e,r){t.append(Lt,`export function is${e}(item: unknown): item is ${e} {`,Lt),t.indent(n=>n.append(`return ${r};`,Lt)),t.append("}",Lt)}function Ds(t,e){return Array.from(new Set(t)).sort(e)}function Ty(t,e,r,n){let i=new Set;return i.add(t),e.findReferences(t,{}).forEach(s=>{let a=r.getOrCreateDocument(s.sourceUri),c=n.getAstNode(a.parseResult.value,s.sourcePath);pn(c)?(i.add(c),Ty(c,e,r,n).forEach(p=>i.add(p))):c&&vr(c.$container)&&i.add(c.$container)}),i}function ku(t){let e=new Set;if(pn(t))e.add(t),t.superTypes.forEach(r=>{if(pn(r.ref)){e.add(r.ref);let n=ku(r.ref);for(let i of n)e.add(i)}});else if(vr(t)){let r=oS(t.type);for(let n of r){let i=ku(n);for(let o of i)e.add(o)}}return e}function oS(t){var e;if(jn(t))return t.types.flatMap(r=>oS(r));if(Hr(t)){let r=(e=t.typeRef)===null||e===void 0?void 0:e.ref;if(vr(r)||pn(r))return[r]}return[]}function Ry(t,e){return t.interfaces.concat(e.interfaces)}function Kf(t){return t.interfaces.concat(t.unions)}function sS(t){let e=t.sort((i,o)=>i.name.localeCompare(o.name)).map(i=>({value:i,nodes:[]}));for(let i of e)i.nodes=e.filter(o=>i.value.superTypes.has(o.value.name));let r=[],n=e.filter(i=>i.nodes.length===0);for(;n.length>0;){let i=n.shift();r.includes(i)||(r.push(i),e.filter(o=>o.nodes.includes(i)).forEach(o=>n.push(o)))}return r.map(i=>i.value)}function aS(t){return Bf(t,new Set)}function Bf(t,e){if(e.has(t))return[];if(e.add(t),pr(t))return t.types.flatMap(r=>Bf(r,e));if(Cn(t)){let r=t.value;return"type"in r?Bf(r.type,e):[r.name]}else if(fo(t))return Bf(t.elementType,e);return[]}function Cu(t){return typeof t.name=="string"}var Sa=class{getName(e){if(Cu(e))return e.name}getNameNode(e){return Pr(e.$cstNode,"name")}};function ye(t){return t.charCodeAt(0)}function zf(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function ka(t,e){if(t[e]===!0)throw"duplicate flag "+e;let r=t[e];t[e]=!0}function Es(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function wu(){throw Error("Internal Error - Should never get here!")}function by(t){return t.type==="Character"}var Du=[];for(let t=ye("0");t<=ye("9");t++)Du.push(t);var Eu=[ye("_")].concat(Du);for(let t=ye("a");t<=ye("z");t++)Eu.push(t);for(let t=ye("A");t<=ye("Z");t++)Eu.push(t);var xy=[ye(" "),ye("\f"),ye(`
69
- `),ye("\r"),ye(" "),ye("\v"),ye(" "),ye("\xA0"),ye("\u1680"),ye("\u2000"),ye("\u2001"),ye("\u2002"),ye("\u2003"),ye("\u2004"),ye("\u2005"),ye("\u2006"),ye("\u2007"),ye("\u2008"),ye("\u2009"),ye("\u200A"),ye("\u2028"),ye("\u2029"),ye("\u202F"),ye("\u205F"),ye("\u3000"),ye("\uFEFF")];var VL=/[0-9a-fA-F]/,Vf=/[0-9]/,XL=/[1-9]/,Ps=class{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let r=this.disjunction();this.consumeChar("/");let n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":ka(n,"global");break;case"i":ka(n,"ignoreCase");break;case"m":ka(n,"multiLine");break;case"u":ka(n,"unicode");break;case"y":ka(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){let e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){let e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break}Es(r);let n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return wu()}quantifier(e=!1){let r,n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":let i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let o;this.isDigit()?(o=this.integerIncludingZero(),r={atLeast:i,atMost:o}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;Es(r);break}if(!(e===!0&&r===void 0)&&Es(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e,r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),Es(e)?(e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):wu()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[ye(`
70
- `),ye("\r"),ye("\u2028"),ye("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=Du;break;case"D":e=Du,r=!0;break;case"s":e=xy;break;case"S":e=xy,r=!0;break;case"w":e=Eu;break;case"W":e=Eu,r=!0;break}return Es(e)?{type:"Set",value:e,complement:r}:wu()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=ye("\f");break;case"n":e=ye(`
71
- `);break;case"r":e=ye("\r");break;case"t":e=ye(" ");break;case"v":e=ye("\v");break}return Es(e)?{type:"Character",value:e}:wu()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:ye("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){let e=this.popChar();return{type:"Character",value:ye(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
72
- `:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:ye(e)}}}characterClass(){let e=[],r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){let n=this.classAtom(),i=n.type==="Character";if(by(n)&&this.isRangeDash()){this.consumeChar("-");let o=this.classAtom(),s=o.type==="Character";if(by(o)){if(o.value<n.value)throw Error("Range out of order in character class");e.push({from:n.value,to:o.value})}else zf(n.value,e),e.push(ye("-")),zf(o.value,e)}else zf(n.value,e)}return this.consumeChar("]"),{type:"Set",complement:r,value:e}}classAtom(){switch(this.peekChar()){case"]":case`
73
- `:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:ye("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;switch(this.consumeChar("("),this.peekChar(0)){case"?":this.consumeChar("?"),this.consumeChar(":"),e=!1;break;default:this.groupIdx++;break}let r=this.disjunction();this.consumeChar(")");let n={type:"Group",capturing:e,value:r};return e&&(n.idx=this.groupIdx),n}positiveInteger(){let e=this.popChar();if(XL.test(e)===!1)throw Error("Expecting a positive integer");for(;Vf.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(Vf.test(e)===!1)throw Error("Expecting an integer");for(;Vf.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let e=this.popChar();switch(e){case`
74
- `:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:ye(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return this.peekChar()==="-"&&this.isClassAtom(1)}isDigit(){return Vf.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case`
75
- `:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return this.peekChar(1)==="?"&&(this.peekChar(2)==="="||this.peekChar(2)==="!");default:return!1}}isQuantifier(){let e=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case`
76
- `:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let r="";for(let i=0;i<e;i++){let o=this.popChar();if(VL.test(o)===!1)throw Error("Expecting a HexDecimal digits");r+=o}return{type:"Character",value:parseInt(r,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){let e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(e!==void 0&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}};var Ni=class{visitChildren(e){for(let r in e){let n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}};var YL=new Ps,Sy=class extends Ni{constructor(){super(...arguments),this.isStarting=!0,this.endRegexStack=[],this.multiline=!1}get endRegex(){return this.endRegexStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegex="",this.isStarting=!0,this.endRegexStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexStack=[])}visitCharacter(e){let r=String.fromCharCode(e.value);if(!this.multiline&&r===`
77
- `&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexStack=[];else{let n=po(r);this.endRegexStack.push(n),this.isStarting&&(this.startRegex+=n)}}visitSet(e){if(!this.multiline){let r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!`
78
- `.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexStack=[];else{let r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexStack.push(r),this.isStarting&&(this.startRegex+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},_y=new Sy;function cS(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),_y.reset(t),_y.visit(YL.pattern(t)),_y.multiline}catch{return!1}}function ky(t){return(typeof t=="string"?new RegExp(t):t).test(" ")}function po(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function uS(t){return Array.prototype.map.call(t,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:po(e)).join("")}function lS(t,e){let r=JL(t),n=e.match(r);return!!n&&n[0].length>0}function JL(t){typeof t=="string"&&(t=new RegExp(t));let e=t,r=t.source,n=0;function i(){let o="",s;function a(f){o+=r.substr(n,f),n+=f}function c(f){o+="(?:"+r.substr(n,f)+"|$)",n+=f}for(;n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":c(3);break;case"x":c(4);break;case"u":e.unicode?r[n+2]==="{"?c(r.indexOf("}",n)-n+1):c(6):c(2);break;case"p":case"P":e.unicode?c(r.indexOf("}",n)-n+1):c(2);break;case"k":c(r.indexOf(">",n)-n+1);break;default:c(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],c(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":a(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?a(s[0].length):c(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":o+="(?:",n+=3,o+=i()+"|$)";break;case"=":o+="(?=",n+=3,o+=i()+")";break;case"!":s=n,n+=3,i(),o+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),o+=r.substr(s,n-s);break;default:a(r.indexOf(">",n)-n+1),o+=i()+"|$)";break}break}else a(1),o+=i()+"|$)";break;case")":return++n,o;default:c(1);break}return o}return new RegExp(i(),t.flags)}var Cy={};uN(Cy,{URI:()=>QL,Utils:()=>ZL});var fS;(()=>{"use strict";var t={470:i=>{function o(c){if(typeof c!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(c))}function s(c,f){for(var p,m="",T=0,_=-1,E=0,N=0;N<=c.length;++N){if(N<c.length)p=c.charCodeAt(N);else{if(p===47)break;p=47}if(p===47){if(!(_===N-1||E===1))if(_!==N-1&&E===2){if(m.length<2||T!==2||m.charCodeAt(m.length-1)!==46||m.charCodeAt(m.length-2)!==46){if(m.length>2){var I=m.lastIndexOf("/");if(I!==m.length-1){I===-1?(m="",T=0):T=(m=m.slice(0,I)).length-1-m.lastIndexOf("/"),_=N,E=0;continue}}else if(m.length===2||m.length===1){m="",T=0,_=N,E=0;continue}}f&&(m.length>0?m+="/..":m="..",T=2)}else m.length>0?m+="/"+c.slice(_+1,N):m=c.slice(_+1,N),T=N-_-1;_=N,E=0}else p===46&&E!==-1?++E:E=-1}return m}var a={resolve:function(){for(var c,f="",p=!1,m=arguments.length-1;m>=-1&&!p;m--){var T;m>=0?T=arguments[m]:(c===void 0&&(c=process.cwd()),T=c),o(T),T.length!==0&&(f=T+"/"+f,p=T.charCodeAt(0)===47)}return f=s(f,!p),p?f.length>0?"/"+f:"/":f.length>0?f:"."},normalize:function(c){if(o(c),c.length===0)return".";var f=c.charCodeAt(0)===47,p=c.charCodeAt(c.length-1)===47;return(c=s(c,!f)).length!==0||f||(c="."),c.length>0&&p&&(c+="/"),f?"/"+c:c},isAbsolute:function(c){return o(c),c.length>0&&c.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var c,f=0;f<arguments.length;++f){var p=arguments[f];o(p),p.length>0&&(c===void 0?c=p:c+="/"+p)}return c===void 0?".":a.normalize(c)},relative:function(c,f){if(o(c),o(f),c===f||(c=a.resolve(c))===(f=a.resolve(f)))return"";for(var p=1;p<c.length&&c.charCodeAt(p)===47;++p);for(var m=c.length,T=m-p,_=1;_<f.length&&f.charCodeAt(_)===47;++_);for(var E=f.length-_,N=T<E?T:E,I=-1,A=0;A<=N;++A){if(A===N){if(E>N){if(f.charCodeAt(_+A)===47)return f.slice(_+A+1);if(A===0)return f.slice(_+A)}else T>N&&(c.charCodeAt(p+A)===47?I=A:A===0&&(I=0));break}var y=c.charCodeAt(p+A);if(y!==f.charCodeAt(_+A))break;y===47&&(I=A)}var h="";for(A=p+I+1;A<=m;++A)A!==m&&c.charCodeAt(A)!==47||(h.length===0?h+="..":h+="/..");return h.length>0?h+f.slice(_+I):(_+=I,f.charCodeAt(_)===47&&++_,f.slice(_))},_makeLong:function(c){return c},dirname:function(c){if(o(c),c.length===0)return".";for(var f=c.charCodeAt(0),p=f===47,m=-1,T=!0,_=c.length-1;_>=1;--_)if((f=c.charCodeAt(_))===47){if(!T){m=_;break}}else T=!1;return m===-1?p?"/":".":p&&m===1?"//":c.slice(0,m)},basename:function(c,f){if(f!==void 0&&typeof f!="string")throw new TypeError('"ext" argument must be a string');o(c);var p,m=0,T=-1,_=!0;if(f!==void 0&&f.length>0&&f.length<=c.length){if(f.length===c.length&&f===c)return"";var E=f.length-1,N=-1;for(p=c.length-1;p>=0;--p){var I=c.charCodeAt(p);if(I===47){if(!_){m=p+1;break}}else N===-1&&(_=!1,N=p+1),E>=0&&(I===f.charCodeAt(E)?--E==-1&&(T=p):(E=-1,T=N))}return m===T?T=N:T===-1&&(T=c.length),c.slice(m,T)}for(p=c.length-1;p>=0;--p)if(c.charCodeAt(p)===47){if(!_){m=p+1;break}}else T===-1&&(_=!1,T=p+1);return T===-1?"":c.slice(m,T)},extname:function(c){o(c);for(var f=-1,p=0,m=-1,T=!0,_=0,E=c.length-1;E>=0;--E){var N=c.charCodeAt(E);if(N!==47)m===-1&&(T=!1,m=E+1),N===46?f===-1?f=E:_!==1&&(_=1):f!==-1&&(_=-1);else if(!T){p=E+1;break}}return f===-1||m===-1||_===0||_===1&&f===m-1&&f===p+1?"":c.slice(f,m)},format:function(c){if(c===null||typeof c!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof c);return function(f,p){var m=p.dir||p.root,T=p.base||(p.name||"")+(p.ext||"");return m?m===p.root?m+T:m+"/"+T:T}(0,c)},parse:function(c){o(c);var f={root:"",dir:"",base:"",ext:"",name:""};if(c.length===0)return f;var p,m=c.charCodeAt(0),T=m===47;T?(f.root="/",p=1):p=0;for(var _=-1,E=0,N=-1,I=!0,A=c.length-1,y=0;A>=p;--A)if((m=c.charCodeAt(A))!==47)N===-1&&(I=!1,N=A+1),m===46?_===-1?_=A:y!==1&&(y=1):_!==-1&&(y=-1);else if(!I){E=A+1;break}return _===-1||N===-1||y===0||y===1&&_===N-1&&_===E+1?N!==-1&&(f.base=f.name=E===0&&T?c.slice(1,N):c.slice(E,N)):(E===0&&T?(f.name=c.slice(1,_),f.base=c.slice(1,N)):(f.name=c.slice(E,_),f.base=c.slice(E,N)),f.ext=c.slice(_,N)),E>0?f.dir=c.slice(0,E-1):T&&(f.dir="/"),f},sep:"/",delimiter:":",win32:null,posix:null};a.posix=a,i.exports=a}},e={};function r(i){var o=e[i];if(o!==void 0)return o.exports;var s=e[i]={exports:{}};return t[i](s,s.exports,r),s.exports}r.d=(i,o)=>{for(var s in o)r.o(o,s)&&!r.o(i,s)&&Object.defineProperty(i,s,{enumerable:!0,get:o[s]})},r.o=(i,o)=>Object.prototype.hasOwnProperty.call(i,o),r.r=i=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})};var n={};(()=>{var i;if(r.r(n),r.d(n,{URI:()=>I,Utils:()=>Ye}),typeof process=="object")i=process.platform==="win32";else if(typeof navigator=="object"){var o=navigator.userAgent;i=o.indexOf("Windows")>=0}var s,a,c=(s=function(j,M){return s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(U,W){U.__proto__=W}||function(U,W){for(var re in W)Object.prototype.hasOwnProperty.call(W,re)&&(U[re]=W[re])},s(j,M)},function(j,M){if(typeof M!="function"&&M!==null)throw new TypeError("Class extends value "+String(M)+" is not a constructor or null");function U(){this.constructor=j}s(j,M),j.prototype=M===null?Object.create(M):(U.prototype=M.prototype,new U)}),f=/^\w[\w\d+.-]*$/,p=/^\//,m=/^\/\//;function T(j,M){if(!j.scheme&&M)throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'.concat(j.authority,'", path: "').concat(j.path,'", query: "').concat(j.query,'", fragment: "').concat(j.fragment,'"}'));if(j.scheme&&!f.test(j.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(j.path){if(j.authority){if(!p.test(j.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(m.test(j.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}var _="",E="/",N=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,I=function(){function j(M,U,W,re,ve,ne){ne===void 0&&(ne=!1),typeof M=="object"?(this.scheme=M.scheme||_,this.authority=M.authority||_,this.path=M.path||_,this.query=M.query||_,this.fragment=M.fragment||_):(this.scheme=function(Yt,Rt){return Yt||Rt?Yt:"file"}(M,ne),this.authority=U||_,this.path=function(Yt,Rt){switch(Yt){case"https":case"http":case"file":Rt?Rt[0]!==E&&(Rt=E+Rt):Rt=E}return Rt}(this.scheme,W||_),this.query=re||_,this.fragment=ve||_,T(this,ne))}return j.isUri=function(M){return M instanceof j||!!M&&typeof M.authority=="string"&&typeof M.fragment=="string"&&typeof M.path=="string"&&typeof M.query=="string"&&typeof M.scheme=="string"&&typeof M.fsPath=="string"&&typeof M.with=="function"&&typeof M.toString=="function"},Object.defineProperty(j.prototype,"fsPath",{get:function(){return J(this,!1)},enumerable:!1,configurable:!0}),j.prototype.with=function(M){if(!M)return this;var U=M.scheme,W=M.authority,re=M.path,ve=M.query,ne=M.fragment;return U===void 0?U=this.scheme:U===null&&(U=_),W===void 0?W=this.authority:W===null&&(W=_),re===void 0?re=this.path:re===null&&(re=_),ve===void 0?ve=this.query:ve===null&&(ve=_),ne===void 0?ne=this.fragment:ne===null&&(ne=_),U===this.scheme&&W===this.authority&&re===this.path&&ve===this.query&&ne===this.fragment?this:new y(U,W,re,ve,ne)},j.parse=function(M,U){U===void 0&&(U=!1);var W=N.exec(M);return W?new y(W[2]||_,Xe(W[4]||_),Xe(W[5]||_),Xe(W[7]||_),Xe(W[9]||_),U):new y(_,_,_,_,_)},j.file=function(M){var U=_;if(i&&(M=M.replace(/\\/g,E)),M[0]===E&&M[1]===E){var W=M.indexOf(E,2);W===-1?(U=M.substring(2),M=E):(U=M.substring(2,W),M=M.substring(W)||E)}return new y("file",U,M,_,_)},j.from=function(M){var U=new y(M.scheme,M.authority,M.path,M.query,M.fragment);return T(U,!0),U},j.prototype.toString=function(M){return M===void 0&&(M=!1),fe(this,M)},j.prototype.toJSON=function(){return this},j.revive=function(M){if(M){if(M instanceof j)return M;var U=new y(M);return U._formatted=M.external,U._fsPath=M._sep===A?M.fsPath:null,U}return M},j}(),A=i?1:void 0,y=function(j){function M(){var U=j!==null&&j.apply(this,arguments)||this;return U._formatted=null,U._fsPath=null,U}return c(M,j),Object.defineProperty(M.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=J(this,!1)),this._fsPath},enumerable:!1,configurable:!0}),M.prototype.toString=function(U){return U===void 0&&(U=!1),U?fe(this,!0):(this._formatted||(this._formatted=fe(this,!1)),this._formatted)},M.prototype.toJSON=function(){var U={$mid:1};return this._fsPath&&(U.fsPath=this._fsPath,U._sep=A),this._formatted&&(U.external=this._formatted),this.path&&(U.path=this.path),this.scheme&&(U.scheme=this.scheme),this.authority&&(U.authority=this.authority),this.query&&(U.query=this.query),this.fragment&&(U.fragment=this.fragment),U},M}(I),h=((a={})[58]="%3A",a[47]="%2F",a[63]="%3F",a[35]="%23",a[91]="%5B",a[93]="%5D",a[64]="%40",a[33]="%21",a[36]="%24",a[38]="%26",a[39]="%27",a[40]="%28",a[41]="%29",a[42]="%2A",a[43]="%2B",a[44]="%2C",a[59]="%3B",a[61]="%3D",a[32]="%20",a);function C(j,M,U){for(var W=void 0,re=-1,ve=0;ve<j.length;ve++){var ne=j.charCodeAt(ve);if(ne>=97&&ne<=122||ne>=65&&ne<=90||ne>=48&&ne<=57||ne===45||ne===46||ne===95||ne===126||M&&ne===47||U&&ne===91||U&&ne===93||U&&ne===58)re!==-1&&(W+=encodeURIComponent(j.substring(re,ve)),re=-1),W!==void 0&&(W+=j.charAt(ve));else{W===void 0&&(W=j.substr(0,ve));var Yt=h[ne];Yt!==void 0?(re!==-1&&(W+=encodeURIComponent(j.substring(re,ve)),re=-1),W+=Yt):re===-1&&(re=ve)}}return re!==-1&&(W+=encodeURIComponent(j.substring(re))),W!==void 0?W:j}function L(j){for(var M=void 0,U=0;U<j.length;U++){var W=j.charCodeAt(U);W===35||W===63?(M===void 0&&(M=j.substr(0,U)),M+=h[W]):M!==void 0&&(M+=j[U])}return M!==void 0?M:j}function J(j,M){var U;return U=j.authority&&j.path.length>1&&j.scheme==="file"?"//".concat(j.authority).concat(j.path):j.path.charCodeAt(0)===47&&(j.path.charCodeAt(1)>=65&&j.path.charCodeAt(1)<=90||j.path.charCodeAt(1)>=97&&j.path.charCodeAt(1)<=122)&&j.path.charCodeAt(2)===58?M?j.path.substr(1):j.path[1].toLowerCase()+j.path.substr(2):j.path,i&&(U=U.replace(/\//g,"\\")),U}function fe(j,M){var U=M?L:C,W="",re=j.scheme,ve=j.authority,ne=j.path,Yt=j.query,Rt=j.fragment;if(re&&(W+=re,W+=":"),(ve||re==="file")&&(W+=E,W+=E),ve){var Ge=ve.indexOf("@");if(Ge!==-1){var Xr=ve.substr(0,Ge);ve=ve.substr(Ge+1),(Ge=Xr.lastIndexOf(":"))===-1?W+=U(Xr,!1,!1):(W+=U(Xr.substr(0,Ge),!1,!1),W+=":",W+=U(Xr.substr(Ge+1),!1,!0)),W+="@"}(Ge=(ve=ve.toLowerCase()).lastIndexOf(":"))===-1?W+=U(ve,!1,!0):(W+=U(ve.substr(0,Ge),!1,!0),W+=ve.substr(Ge))}if(ne){if(ne.length>=3&&ne.charCodeAt(0)===47&&ne.charCodeAt(2)===58)(He=ne.charCodeAt(1))>=65&&He<=90&&(ne="/".concat(String.fromCharCode(He+32),":").concat(ne.substr(3)));else if(ne.length>=2&&ne.charCodeAt(1)===58){var He;(He=ne.charCodeAt(0))>=65&&He<=90&&(ne="".concat(String.fromCharCode(He+32),":").concat(ne.substr(2)))}W+=U(ne,!0,!1)}return Yt&&(W+="?",W+=U(Yt,!1,!1)),Rt&&(W+="#",W+=M?Rt:C(Rt,!1,!1)),W}function Ae(j){try{return decodeURIComponent(j)}catch{return j.length>3?j.substr(0,3)+Ae(j.substr(3)):j}}var Wt=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function Xe(j){return j.match(Wt)?j.replace(Wt,function(M){return Ae(M)}):j}var Ye,V=r(470),nt=function(j,M,U){if(U||arguments.length===2)for(var W,re=0,ve=M.length;re<ve;re++)!W&&re in M||(W||(W=Array.prototype.slice.call(M,0,re)),W[re]=M[re]);return j.concat(W||Array.prototype.slice.call(M))},Tt=V.posix||V,ur="/";(function(j){j.joinPath=function(M){for(var U=[],W=1;W<arguments.length;W++)U[W-1]=arguments[W];return M.with({path:Tt.join.apply(Tt,nt([M.path],U,!1))})},j.resolvePath=function(M){for(var U=[],W=1;W<arguments.length;W++)U[W-1]=arguments[W];var re=M.path,ve=!1;re[0]!==ur&&(re=ur+re,ve=!0);var ne=Tt.resolve.apply(Tt,nt([re],U,!1));return ve&&ne[0]===ur&&!M.authority&&(ne=ne.substring(1)),M.with({path:ne})},j.dirname=function(M){if(M.path.length===0||M.path===ur)return M;var U=Tt.dirname(M.path);return U.length===1&&U.charCodeAt(0)===46&&(U=""),M.with({path:U})},j.basename=function(M){return Tt.basename(M.path)},j.extname=function(M){return Tt.extname(M.path)}})(Ye||(Ye={}))})(),fS=n})();var{URI:QL,Utils:ZL}=fS;var mo=Cy;"default"in mo&&(mo=mo.default);var Ar=mo.URI;var Fe;(function(t){t.basename=mo.Utils.basename,t.dirname=mo.Utils.dirname,t.extname=mo.Utils.extname,t.joinPath=mo.Utils.joinPath,t.resolvePath=mo.Utils.resolvePath;function e(n,i){return n?.toString()===i?.toString()}t.equals=e;function r(n,i){let o=typeof n=="string"?n:n.path,s=typeof i=="string"?i:i.path,a=o.split("/").filter(T=>T.length>0),c=s.split("/").filter(T=>T.length>0),f=0;for(;f<a.length&&a[f]===c[f];f++);let p="../".repeat(a.length-f),m=c.slice(f).join("/");return p+m}t.relative=r})(Fe=Fe||(Fe={}));var c9=Fe.equals,u9=Fe.relative;var Xf,dS=()=>Xf??(Xf=pS(`{"$type":"Grammar","isDeclared":true,"name":"LangiumGrammar","rules":[{"$type":"ParserRule","name":"Grammar","entry":true,"definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"isDeclared","operator":"?=","terminal":{"$type":"Keyword","value":"grammar"}},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"with"},{"$type":"Assignment","feature":"usedGrammars","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@0"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"usedGrammars","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@0"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}}],"cardinality":"*"}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Assignment","feature":"definesHiddenTokens","operator":"?=","terminal":{"$type":"Keyword","value":"hidden"}},{"$type":"Keyword","value":"("},{"$type":"Group","elements":[{"$type":"Assignment","feature":"hiddenTokens","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@11"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"hiddenTokens","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@11"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}}],"cardinality":"*"}],"cardinality":"?"},{"$type":"Keyword","value":")"}],"cardinality":"?"}],"cardinality":"?"},{"$type":"Assignment","feature":"imports","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"interfaces","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"types","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"+"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Interface","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"interface"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"extends"},{"$type":"Assignment","feature":"superTypes","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/types@0"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"superTypes","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/types@0"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}}],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"SchemaType","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"attributes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},"cardinality":"*"},{"$type":"Keyword","value":"}"},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TypeAttribute","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@58"},"arguments":[]}},{"$type":"Assignment","feature":"isOptional","operator":"?=","terminal":{"$type":"Keyword","value":"?"},"cardinality":"?"},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TypeDefinition","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"UnionType","inferredType":{"$type":"InferredType","name":"TypeDefinition"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"UnionType"},"feature":"types","operator":"+="},{"$type":"Group","elements":[{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"types","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"+"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ArrayType","inferredType":{"$type":"InferredType","name":"TypeDefinition"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"ArrayType"},"feature":"elementType","operator":"="},{"$type":"Keyword","value":"["},{"$type":"Keyword","value":"]"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ReferenceType","inferredType":{"$type":"InferredType","name":"TypeDefinition"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"ReferenceType"}},{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"referenceType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"SimpleType","inferredType":{"$type":"InferredType","name":"TypeDefinition"},"definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":")"}]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"SimpleType"}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"typeRef","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/types@0"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Assignment","feature":"primitiveType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"stringType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@60"},"arguments":[]}}]}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PrimitiveType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"string"},{"$type":"Keyword","value":"number"},{"$type":"Keyword","value":"boolean"},{"$type":"Keyword","value":"Date"},{"$type":"Keyword","value":"bigint"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Type","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"type"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}},{"$type":"Keyword","value":"="},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"AbstractRule","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"GrammarImport","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"import"},{"$type":"Assignment","feature":"path","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@60"},"arguments":[]}},{"$type":"Keyword","value":";","cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ParserRule","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"entry","operator":"?=","terminal":{"$type":"Keyword","value":"entry"}},{"$type":"Assignment","feature":"fragment","operator":"?=","terminal":{"$type":"Keyword","value":"fragment"}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"wildcard","operator":"?=","terminal":{"$type":"Keyword","value":"*"}},{"$type":"Group","elements":[{"$type":"Keyword","value":"returns"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"returnType","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/types@0"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Assignment","feature":"inferredType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[{"$type":"NamedArgument","value":{"$type":"LiteralCondition","true":false},"calledByName":false}]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Assignment","feature":"definesHiddenTokens","operator":"?=","terminal":{"$type":"Keyword","value":"hidden"}},{"$type":"Keyword","value":"("},{"$type":"Group","elements":[{"$type":"Assignment","feature":"hiddenTokens","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@11"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"hiddenTokens","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@11"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}}],"cardinality":"*"}],"cardinality":"?"},{"$type":"Keyword","value":")"}],"cardinality":"?"},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"InferredType","parameters":[{"$type":"Parameter","name":"imperative"}],"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","guardCondition":{"$type":"ParameterReference","parameter":{"$ref":"#/rules@14/parameters@0"}},"elements":[{"$type":"Keyword","value":"infer"}]},{"$type":"Group","guardCondition":{"$type":"Negation","value":{"$type":"ParameterReference","parameter":{"$ref":"#/rules@14/parameters@0"}}},"elements":[{"$type":"Keyword","value":"infers"}]}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"wildcard":false},{"$type":"ParserRule","name":"RuleNameAndParams","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"<"},{"$type":"Group","elements":[{"$type":"Assignment","feature":"parameters","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"parameters","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}}],"cardinality":"*"}],"cardinality":"?"},{"$type":"Keyword","value":">"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Parameter","definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Alternatives","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"Alternatives"},"feature":"elements","operator":"+="},{"$type":"Group","elements":[{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}],"cardinality":"+"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ConditionalBranch","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"Group"}},{"$type":"Keyword","value":"<"},{"$type":"Assignment","feature":"guardCondition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":">"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"+"}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"UnorderedGroup","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"UnorderedGroup"},"feature":"elements","operator":"+="},{"$type":"Group","elements":[{"$type":"Keyword","value":"&"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"+"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Group","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"Group"},"feature":"elements","operator":"+="},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"+"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"AbstractToken","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"AbstractTokenWithCardinality","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}]},{"$type":"Assignment","feature":"cardinality","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"?"},{"$type":"Keyword","value":"*"},{"$type":"Keyword","value":"+"}]},"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Action","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"Action"}},{"$type":"Keyword","value":"{"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/types@0"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Assignment","feature":"inferredType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[{"$type":"NamedArgument","value":{"$type":"LiteralCondition","true":true},"calledByName":false}]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"."},{"$type":"Assignment","feature":"feature","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@58"},"arguments":[]}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"="},{"$type":"Keyword","value":"+="}]}},{"$type":"Keyword","value":"current"}],"cardinality":"?"},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"AbstractTerminal","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@43"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Keyword","definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@60"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RuleCall","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rule","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@11"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Group","elements":[{"$type":"Keyword","value":"<"},{"$type":"Assignment","feature":"arguments","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"arguments","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":">"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"NamedArgument","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"parameter","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@16"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Assignment","feature":"calledByName","operator":"?=","terminal":{"$type":"Keyword","value":"="}}],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"LiteralCondition","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"true","operator":"?=","terminal":{"$type":"Keyword","value":"true"}},{"$type":"Keyword","value":"false"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Disjunction","inferredType":{"$type":"InferredType","name":"Condition"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"Disjunction"},"feature":"left","operator":"="},{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"right","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Conjunction","inferredType":{"$type":"InferredType","name":"Condition"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"Conjunction"},"feature":"left","operator":"="},{"$type":"Keyword","value":"&"},{"$type":"Assignment","feature":"right","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Negation","inferredType":{"$type":"InferredType","name":"Condition"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"Negation"}},{"$type":"Keyword","value":"!"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Atom","inferredType":{"$type":"InferredType","name":"Condition"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ParenthesizedCondition","inferredType":{"$type":"InferredType","name":"Condition"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Keyword","value":")"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ParameterReference","definition":{"$type":"Assignment","feature":"parameter","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@16"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PredicatedKeyword","inferredType":{"$type":"InferredType","name":"Keyword"},"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"=>"},{"$type":"Keyword","value":"->"}]},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@60"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PredicatedRuleCall","inferredType":{"$type":"InferredType","name":"RuleCall"},"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"=>"},{"$type":"Keyword","value":"->"}]},{"$type":"Assignment","feature":"rule","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@11"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Group","elements":[{"$type":"Keyword","value":"<"},{"$type":"Assignment","feature":"arguments","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"arguments","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":">"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Assignment","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"Assignment"}},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"=>"},{"$type":"Keyword","value":"->"}],"cardinality":"?"},{"$type":"Assignment","feature":"feature","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@58"},"arguments":[]}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"+="},{"$type":"Keyword","value":"="},{"$type":"Keyword","value":"?="}]}},{"$type":"Assignment","feature":"terminal","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"AssignableTerminal","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ParenthesizedAssignableElement","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"RuleCall","rule":{"$ref":"#/rules@40"},"arguments":[]},{"$type":"Keyword","value":")"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"AssignableAlternatives","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"Alternatives"},"feature":"elements","operator":"+="},{"$type":"Group","elements":[{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]}}],"cardinality":"+"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CrossReference","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"CrossReference"}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/types@0"},"deprecatedSyntax":false}},{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"deprecatedSyntax","operator":"?=","terminal":{"$type":"Keyword","value":"|"}},{"$type":"Keyword","value":":"}]},{"$type":"Assignment","feature":"terminal","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]}}],"cardinality":"?"},{"$type":"Keyword","value":"]"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CrossReferenceableTerminal","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ParenthesizedElement","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},{"$type":"Keyword","value":")"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PredicatedGroup","inferredType":{"$type":"InferredType","name":"Group"},"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"=>"},{"$type":"Keyword","value":"->"}]},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ReturnType","definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TerminalRule","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"hidden","operator":"?=","terminal":{"$type":"Keyword","value":"hidden"},"cardinality":"?"},{"$type":"Keyword","value":"terminal"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"fragment","operator":"?=","terminal":{"$type":"Keyword","value":"fragment"}},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"returns"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}}],"cardinality":"?"}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@47"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TerminalAlternatives","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"TerminalAlternatives"},"feature":"elements","operator":"+="},{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TerminalGroup","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@49"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"TerminalGroup"},"feature":"elements","operator":"+="},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@49"},"arguments":[]},"cardinality":"+"}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TerminalToken","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"Assignment","feature":"cardinality","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"?"},{"$type":"Keyword","value":"*"},{"$type":"Keyword","value":"+"}]},"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TerminalTokenElement","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@57"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@53"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@54"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@55"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@56"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ParenthesizedTerminalElement","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"lookahead","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"?="},{"$type":"Keyword","value":"?!"}]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@47"},"arguments":[]},{"$type":"Keyword","value":")"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TerminalRuleCall","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"TerminalRuleCall"}},{"$type":"Assignment","feature":"rule","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@46"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]},"deprecatedSyntax":false}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"NegatedToken","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"NegatedToken"}},{"$type":"Keyword","value":"!"},{"$type":"Assignment","feature":"terminal","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"UntilToken","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"UntilToken"}},{"$type":"Keyword","value":"->"},{"$type":"Assignment","feature":"terminal","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RegexToken","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"RegexToken"}},{"$type":"Assignment","feature":"regex","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@61"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Wildcard","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"Wildcard"}},{"$type":"Keyword","value":"."}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CharacterRange","inferredType":{"$type":"InferredType","name":"AbstractElement"},"definition":{"$type":"Group","elements":[{"$type":"Action","inferredType":{"$type":"InferredType","name":"CharacterRange"}},{"$type":"Assignment","feature":"left","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":".."},{"$type":"Assignment","feature":"right","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]}}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"FeatureName","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"current"},{"$type":"Keyword","value":"entry"},{"$type":"Keyword","value":"extends"},{"$type":"Keyword","value":"false"},{"$type":"Keyword","value":"fragment"},{"$type":"Keyword","value":"grammar"},{"$type":"Keyword","value":"hidden"},{"$type":"Keyword","value":"import"},{"$type":"Keyword","value":"interface"},{"$type":"Keyword","value":"returns"},{"$type":"Keyword","value":"terminal"},{"$type":"Keyword","value":"true"},{"$type":"Keyword","value":"type"},{"$type":"Keyword","value":"infer"},{"$type":"Keyword","value":"infers"},{"$type":"Keyword","value":"with"},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@59"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"ID","definition":{"$type":"RegexToken","regex":"/\\\\^?[_a-zA-Z][\\\\w_]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"(\\\\\\\\.|[^\\"\\\\\\\\])*\\"|'(\\\\\\\\.|[^'\\\\\\\\])*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"RegexLiteral","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\/(?![*+?])(?:[^\\\\r\\\\n\\\\[/\\\\\\\\]|\\\\\\\\.|\\\\[(?:[^\\\\r\\\\n\\\\]\\\\\\\\]|\\\\\\\\.)*\\\\])+\\\\/[a-z]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/\\\\s+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SL_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\/[^\\\\n\\\\r]*/"},"fragment":false}],"types":[{"$type":"Type","name":"AbstractType","type":{"$type":"UnionType","types":[{"$type":"SimpleType","typeRef":{"$ref":"#/rules@1"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@10"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@23/definition/elements@0"}},{"$type":"SimpleType","typeRef":{"$ref":"#/rules@13"}}]}}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"interfaces":[],"usedGrammars":[]}`));var Qf=Ie(Rs(),1);var Pu=Ie(io(),1);function eM(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}var mS=0,tM=10;var hS=Symbol("OperationCancelled");function As(t){return t===hS}async function kt(t){if(t===Pu.CancellationToken.None)return;let e=Date.now();if(e-mS>=tM&&(mS=e,await eM()),t.isCancellationRequested)throw hS}var Yf=class{constructor(){this.previousAction=Promise.resolve(),this.previousTokenSource=new Pu.CancellationTokenSource}lock(e){this.cancel();let r=new Pu.CancellationTokenSource;return this.previousTokenSource=r,this.previousAction=this.previousAction.then(()=>e(r.token).catch(n=>{As(n)||console.error("Error: ",n)}))}cancel(){this.previousTokenSource.cancel()}};function Dn(t){return{code:t}}var Ca;(function(t){t.all=["fast","slow","built-in"]})(Ca=Ca||(Ca={}));var Jf=class{constructor(e){this.entries=new at,this.reflection=e.shared.AstReflection}register(e,r=this,n="fast"){if(n==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(let[i,o]of Object.entries(e)){let s=o;if(Array.isArray(s))for(let a of s){let c={check:this.wrapValidationException(a,r),category:n};this.addEntry(i,c)}else if(typeof s=="function"){let a={check:this.wrapValidationException(s,r),category:n};this.addEntry(i,a)}}}wrapValidationException(e,r){return async(n,i,o)=>{try{await e.call(r,n,i,o)}catch(s){if(As(s))throw s;console.error("An error occurred during validation:",s);let a=s instanceof Error?s.message:String(s);s instanceof Error&&s.stack&&console.error(s.stack),i("error","An error occurred during validation: "+a,{node:n})}}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(let n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=Ce(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}};function gS(t,e){let r={unions:[],interfaces:[]};for(let n of t){let i=[];for(let a of n.attributes)i.push({name:a.name,optional:a.isOptional,astNodes:new Set([a]),type:Ns(a.type)});let o=new Set;for(let a of n.superTypes)a.ref&&o.add(li(a.ref));let s={name:n.name,declared:!0,abstract:!1,properties:i,superTypes:o,subTypes:new Set};r.interfaces.push(s)}for(let n of e){let i={name:n.name,declared:!0,type:Ns(n.type),superTypes:new Set,subTypes:new Set};r.unions.push(i)}return r}function Ns(t){if(Cs(t))return{elementType:Ns(t.elementType)};if(ws(t))return{referenceType:Ns(t.referenceType)};if(jn(t))return{types:t.types.map(Ns)};if(Hr(t)){let e;if(t.primitiveType)return e=t.primitiveType,{primitive:e};if(t.stringType)return e=t.stringType,{string:e};if(t.typeRef){let r=t.typeRef.ref,n=Ii(r);if(n)return wa(n)?{primitive:n}:{value:n}}}return{primitive:"unknown"}}function Da(t){return"referenceType"in t}function wy(t){return"elementType"in t}function yS(t){return"types"in t}function Dy(t){return"value"in t}function rM(t){return"primitive"in t}function nM(t){return"string"in t}function vS(t){let e=new Map,r=new Map;for(let n of t.interfaces){let i=new _a(n.name,n.declared,n.abstract);e.set(n.name,i)}for(let n of t.unions){let i=new Wf(n.name,{declared:n.declared,dataType:n.dataType});r.set(n.name,i)}for(let n of t.interfaces){let i=e.get(n.name);for(let o of n.superTypes){let s=e.get(o)||r.get(o);s&&i.superTypes.add(s)}for(let o of n.subTypes){let s=e.get(o)||r.get(o);s&&i.subTypes.add(s)}for(let o of n.properties){let s=iM(o,e,r);i.properties.push(s)}}for(let n of t.unions){let i=r.get(n.name);i.type=Au(n.type,i,e,r)}return{interfaces:Array.from(e.values()),unions:Array.from(r.values())}}function iM(t,e,r){return{name:t.name,optional:t.optional,astNodes:t.astNodes,type:Au(t.type,void 0,e,r)}}function Au(t,e,r,n){if(wy(t))return{elementType:Au(t.elementType,e,r,n)};if(Da(t))return{referenceType:Au(t.referenceType,void 0,r,n)};if(yS(t))return{types:t.types.map(i=>Au(i,e,r,n))};if(nM(t))return{string:t.string};if(rM(t))return{primitive:t.primitive,regex:t.regex};if(Dy(t)){let i=r.get(t.value)||n.get(t.value);return i?(e&&e.subTypes.add(i),{value:i}):{primitive:"unknown"}}else throw new Error("Invalid property type")}function Py(t,e){let r=Nu(t),n=Nu(e);for(let i of n)oM(r,i)||r.push(i);return r.length===1?r[0]:{types:r}}function oM(t,e){return t.some(r=>Ey(r,e))}function Ey(t,e){return wy(t)&&wy(e)?Ey(t.elementType,e.elementType):Da(t)&&Da(e)?Ey(t.referenceType,e.referenceType):Dy(t)&&Dy(e)?t.value===e.value:!1}function Nu(t){return yS(t)?t.types.flatMap(e=>Nu(e)):[t]}function TS(t){let e=t.validation.ValidationRegistry,r=t.validation.LangiumGrammarValidator,n={Action:[r.checkAssignmentReservedName],AbstractRule:r.checkRuleName,Assignment:[r.checkAssignmentWithFeatureName,r.checkAssignmentToFragmentRule,r.checkAssignmentTypes,r.checkAssignmentReservedName],ParserRule:[r.checkParserRuleDataType,r.checkRuleParametersUsed,r.checkParserRuleReservedName],TerminalRule:[r.checkTerminalRuleReturnType,r.checkHiddenTerminalRule,r.checkEmptyTerminalRule],InferredType:r.checkTypeReservedName,Keyword:r.checkKeyword,UnorderedGroup:r.checkUnorderedGroup,Grammar:[r.checkGrammarName,r.checkEntryGrammarRule,r.checkUniqueRuleName,r.checkUniqueTypeName,r.checkUniqueImportedRules,r.checkDuplicateImportedGrammar,r.checkGrammarHiddenTokens,r.checkGrammarForUnusedRules,r.checkGrammarTypeInfer,r.checkClashingTerminalNames],GrammarImport:r.checkPackageImport,CharacterRange:r.checkInvalidCharacterRange,Interface:[r.checkTypeReservedName,r.checkInterfacePropertyTypes],Type:[r.checkTypeReservedName],TypeAttribute:r.checkTypeReservedName,RuleCall:[r.checkUsedHiddenTerminalRule,r.checkUsedFragmentTerminalRule,r.checkRuleCallParameters],TerminalRuleCall:r.checkUsedHiddenTerminalRule,CrossReference:[r.checkCrossReferenceSyntax,r.checkCrossRefNameAssignment,r.checkCrossRefTerminalType,r.checkCrossRefType,r.checkCrossReferenceToTypeUnion],SimpleType:r.checkFragmentsInTypes,ReferenceType:r.checkReferenceTypeUnion,RegexToken:[r.checkInvalidRegexFlags,r.checkDirectlyUsedRegexFlags]};e.register(n,r)}var Ke;(function(t){t.GrammarNameUppercase="grammar-name-uppercase",t.RuleNameUppercase="rule-name-uppercase",t.HiddenGrammarTokens="hidden-grammar-tokens",t.UseRegexTokens="use-regex-tokens",t.EntryRuleTokenSyntax="entry-rule-token-syntax",t.CrossRefTokenSyntax="cross-ref-token-syntax",t.UnnecessaryFileExtension="unnecessary-file-extension",t.InvalidReturns="invalid-returns",t.InvalidInfers="invalid-infers",t.MissingInfer="missing-infer",t.MissingReturns="missing-returns",t.SuperfluousInfer="superfluous-infer",t.OptionalUnorderedGroup="optional-unordered-group"})(Ke=Ke||(Ke={}));var Zf=class{constructor(e){this.references=e.references.References,this.documents=e.shared.workspace.LangiumDocuments}checkGrammarName(e,r){if(e.name){let n=e.name.substring(0,1);n.toUpperCase()!==n&&r("warning","Grammar name should start with an upper case letter.",{node:e,property:"name",data:Dn(Ke.GrammarNameUppercase)})}}checkEntryGrammarRule(e,r){if(e.isDeclared&&!e.name)return;let n=e.rules.filter(i=>ee(i)&&i.entry);if(e.isDeclared&&n.length===0){let i=e.rules.find(o=>ee(o)&&!En(o));i?r("error","The grammar is missing an entry parser rule. This rule can be an entry one.",{node:i,property:"name",data:Dn(Ke.EntryRuleTokenSyntax)}):r("error","This grammar is missing an entry parser rule.",{node:e,property:"name"})}else!e.isDeclared&&n.length>=1?n.forEach(i=>r("error","Cannot declare entry rules for unnamed grammars.",{node:i,property:"name"})):n.length>1?n.forEach(i=>r("error","The entry rule has to be unique.",{node:i,property:"name"})):n.length===1&&En(n[0])&&r("error","The entry rule cannot be a data type rule.",{node:n[0],property:"name"})}checkUniqueRuleName(e,r){let n=i=>Ce(i.rules).filter(o=>!Iu(o));this.checkUniqueName(e,r,n,"rule")}checkUniqueTypeName(e,r){let n=i=>Ce(i.types).concat(i.interfaces);this.checkUniqueName(e,r,n,"type")}checkUniqueName(e,r,n,i){let o=new at;n(e).forEach(c=>o.add(c.name,c));for(let[,c]of o.entriesGroupedByKey())c.length>1&&c.forEach(f=>{r("error",`A ${i}'s name has to be unique.`,{node:f,property:"name"})});let s=new Set,a=Ou(this.documents,e);for(let c of a)n(c).forEach(f=>s.add(f.name));for(let c of o.keys())s.has(c)&&o.get(c).forEach(p=>{r("error",`A ${i} with the name '${p.name}' already exists in an imported grammar.`,{node:p,property:"name"})})}checkDuplicateImportedGrammar(e,r){let n=new at;for(let i of e.imports){let o=ho(this.documents,i);o&&n.add(o,i)}for(let[,i]of n.entriesGroupedByKey())i.length>1&&i.forEach((o,s)=>{s>0&&r("warning","The grammar is already being directly imported.",{node:o,tags:[Qf.DiagnosticTag.Unnecessary]})})}checkUniqueImportedRules(e,r){let n=new Map;for(let o of e.imports){let s=Ou(this.documents,o);n.set(o,s)}let i=new at;for(let o of e.imports){let s=n.get(o);for(let a of e.imports){if(o===a)continue;let c=n.get(a),f=this.getDuplicateExportedRules(s,c);for(let p of f)i.add(o,p)}}for(let o of e.imports){let s=i.get(o);s.length>0&&r("error","Some rules exported by this grammar are also included in other imports: "+Ce(s).distinct().join(", "),{node:o,property:"path"})}}getDuplicateExportedRules(e,r){let i=e.filter(a=>!r.includes(a)).flatMap(a=>a.rules),o=r.flatMap(a=>a.rules),s=new Set;for(let a of i){let c=a.name;for(let f of o){let p=f.name;c===p&&s.add(f.name)}}return s}checkGrammarTypeInfer(e,r){var n,i,o;let s=new Set;for(let c of e.types)s.add(c.name);for(let c of e.interfaces)s.add(c.name);for(let c of Ou(this.documents,e))c.types.forEach(f=>s.add(f.name)),c.interfaces.forEach(f=>s.add(f.name));for(let c of e.rules.filter(ee)){if(Iu(c))continue;let f=En(c),p=!c.returnType&&!c.dataType,m=Ii(c);if(!f&&m&&s.has(m)===p){if((p||((n=c.returnType)===null||n===void 0?void 0:n.ref)!==void 0)&&c.inferredType===void 0)r("error",a(m,p),{node:c,property:"name",data:Dn(Ke.MissingReturns)});else if(p||((i=c.returnType)===null||i===void 0?void 0:i.ref)!==void 0){let T=Un(c.inferredType.$cstNode,"infers");r("error",a(m,p),{node:c.inferredType,property:"name",data:{code:Ke.InvalidInfers,actionSegment:Wr(T)}})}}else if(f&&p){let T=Un(c.$cstNode,"infer");r("error","Data type rules cannot infer a type.",{node:c,property:"inferredType",data:{code:Ke.InvalidInfers,actionSegment:Wr(T)}})}}for(let c of St(e).filter(Ze)){let f=this.getActionType(c);if(f){let p=!!c.inferredType,m=Ii(c);if(c.type&&m&&s.has(m)===p){let T=p?Un(c.$cstNode,"infer"):Un(c.$cstNode,"{");r("error",a(m,p),{node:c,property:"type",data:{code:p?Ke.SuperfluousInfer:Ke.MissingInfer,actionSegment:Wr(T)}})}else if(f&&m&&s.has(m)&&p&&c.$cstNode){let T=Pr((o=c.inferredType)===null||o===void 0?void 0:o.$cstNode,"name"),_=Un(c.$cstNode,"{");T&&_&&r("error",`${m} is a declared type and cannot be redefined.`,{node:c,property:"type",data:{code:Ke.SuperfluousInfer,actionRange:{start:_.range.end,end:T.range.start}}})}}}function a(c,f){return f?`The type '${c}' is already explicitly declared and cannot be inferred.`:`The type '${c}' is not explicitly declared and must be inferred.`}}getActionType(e){var r;if(e.type)return(r=e.type)===null||r===void 0?void 0:r.ref;if(e.inferredType)return e.inferredType}checkGrammarHiddenTokens(e,r){e.definesHiddenTokens&&r("error","Hidden terminals are declared at the terminal definition.",{node:e,property:"definesHiddenTokens",data:Dn(Ke.HiddenGrammarTokens)})}checkHiddenTerminalRule(e,r){e.hidden&&e.fragment&&r("error","Cannot use terminal fragments as hidden tokens.",{node:e,property:"hidden"})}checkEmptyTerminalRule(e,r){try{let n=Hn(e);new RegExp(n).test("")&&r("error","This terminal could match an empty string.",{node:e,property:"name"})}catch{}}checkInvalidRegexFlags(e,r){let n=e.regex;if(n){let i=n.lastIndexOf("/"),o=n.substring(i+1),s="gmy",c=s+"isu",f=new Set,p=new Set;for(let T=0;T<o.length;T++){let _=o.charAt(T);c.includes(_)?s.includes(_)&&p.add(_):f.add(_)}let m=this.getFlagRange(e);m&&(f.size>0?r("error",`'${Array.from(f).join("")}' ${f.size>1?"are":"is"} not valid regular expression flag${f.size>1?"s":""}.`,{node:e,range:m}):p.size>0&&r("warning",`'${Array.from(p).join("")}' regular expression flag${p.size>1?"s":""} will be ignored by Langium.`,{node:e,range:m}))}}checkDirectlyUsedRegexFlags(e,r){if(!Be(e.$container)){let n=this.getFlagRange(e);n&&r("warning","Regular expression flags are only applied if the terminal is not a composition",{node:e,range:n})}}getFlagRange(e){let r=Pr(e.$cstNode,"regex");if(!r||!e.regex)return;let n=e.regex,i=n.lastIndexOf("/")+1;return{start:{line:r.range.end.line,character:r.range.end.character-n.length+i},end:r.range.end}}checkUsedHiddenTerminalRule(e,r){let n=tt(e,i=>Be(i)||ee(i));if(n){if("hidden"in n&&n.hidden)return;let i=e.rule.ref;Be(i)&&i.hidden&&r("error","Cannot use hidden terminal in non-hidden rule",{node:e,property:"rule"})}}checkUsedFragmentTerminalRule(e,r){let n=e.rule.ref;Be(n)&&n.fragment&&tt(e,ee)&&r("error","Cannot use terminal fragments as part of parser rules.",{node:e,property:"rule"})}checkCrossReferenceSyntax(e,r){e.deprecatedSyntax&&r("error","'|' is deprecated. Please, use ':' instead.",{node:e,property:"deprecatedSyntax",data:Dn(Ke.CrossRefTokenSyntax)})}checkPackageImport(e,r){ho(this.documents,e)===void 0?r("error","Import cannot be resolved.",{node:e,property:"path"}):e.path.endsWith(".langium")&&r("warning","Imports do not need file extensions.",{node:e,property:"path",data:Dn(Ke.UnnecessaryFileExtension)})}checkInvalidCharacterRange(e,r){if(e.right){let n="Character ranges cannot use more than one character",i=!1;e.left.value.length>1&&(i=!0,r("error",n,{node:e.left,property:"value"})),e.right.value.length>1&&(i=!0,r("error",n,{node:e.right,property:"value"})),i||r("hint","Consider using regex instead of character ranges",{node:e,data:Dn(Ke.UseRegexTokens)})}}checkGrammarForUnusedRules(e,r){let n=Ea(e,!0);for(let i of e.rules)Be(i)&&i.hidden||Iu(i)||n.has(i)||r("hint","This rule is declared but never referenced.",{node:i,property:"name",tags:[Qf.DiagnosticTag.Unnecessary]})}checkClashingTerminalNames(e,r){let n=new at,i=new Set;for(let f of e.rules)Be(f)&&f.name&&n.add(f.name,f),ee(f)&&St(f).filter(Ht).forEach(m=>i.add(m.value));let o=new at,s=new at;for(let f of e.imports){let p=Ou(this.documents,f);for(let m of p)for(let T of m.rules)Be(T)&&T.name?o.add(T.name,f):ee(T)&&T.name&&St(T).filter(Ht).forEach(E=>s.add(E.value,f))}for(let f of n.values())if(i.has(f.name))r("error","Terminal name clashes with existing keyword.",{node:f,property:"name"});else if(s.has(f.name)){let p=s.get(f.name);r("error",`Terminal name clashes with imported keyword from "${p[0].path}".`,{node:f,property:"name"})}let a=new at;for(let f of i)for(let p of o.get(f))a.add(p,f);for(let[f,p]of a.entriesGroupedByKey())p.length>0&&r("error",`Imported terminals (${p.join(", ")}) clash with locally defined keywords.`,{node:f,property:"path"});let c=new at;for(let[f,p]of o.entriesGroupedByKey()){let m=s.get(f);m.length>0&&p.filter(T=>!m.includes(T)).forEach(T=>c.add(T,f))}for(let[f,p]of c.entriesGroupedByKey())p.length>0&&r("error",`Imported terminals (${p.join(", ")}) clash with imported keywords.`,{node:f,property:"path"})}checkRuleName(e,r){if(e.name&&!Iu(e)){let n=e.name.substring(0,1);n.toUpperCase()!==n&&r("warning","Rule name should start with an upper case letter.",{node:e,property:"name",data:Dn(Ke.RuleNameUppercase)})}}checkTypeReservedName(e,r){this.checkReservedName(e,"name",r)}checkAssignmentReservedName(e,r){this.checkReservedName(e,"feature",r)}checkParserRuleReservedName(e,r){e.inferredType||this.checkReservedName(e,"name",r)}checkReservedName(e,r,n){let i=e[r];typeof i=="string"&&sM.has(i)&&n("error",`'${i}' is a reserved name of the JavaScript runtime.`,{node:e,property:r})}checkKeyword(e,r){tt(e,ee)&&(e.value.length===0?r("error","Keywords cannot be empty.",{node:e}):e.value.trim().length===0?r("error","Keywords cannot only consist of whitespace characters.",{node:e}):/\s/g.test(e.value)&&r("warning","Keywords should not contain whitespace characters.",{node:e}))}checkUnorderedGroup(e,r){e.elements.forEach(n=>{Wn(n.cardinality)&&r("error","Optional elements in Unordered groups are currently not supported",{node:n,data:Dn(Ke.OptionalUnorderedGroup)})})}checkRuleParametersUsed(e,r){let n=e.parameters;if(n.length>0){let i=St(e).filter(va);for(let o of n)i.some(s=>s.parameter.ref===o)||r("hint",`Parameter '${o.name}' is unused.`,{node:o,tags:[Qf.DiagnosticTag.Unnecessary]})}}checkParserRuleDataType(e,r){if(Iu(e))return;let n=bS(e),i=En(e);!n&&i?r("error","This parser rule does not create an object. Add a primitive return type or an action to the start of the rule to force object instantiation.",{node:e,property:"name"}):n&&!i&&r("error","Normal parser rules are not allowed to return a primitive value. Use a datatype rule for that.",{node:e,property:e.dataType?"dataType":"returnType"})}checkAssignmentToFragmentRule(e,r){e.terminal&&et(e.terminal)&&ee(e.terminal.rule.ref)&&e.terminal.rule.ref.fragment&&r("error",`Cannot use fragment rule '${e.terminal.rule.ref.name}' for assignment of property '${e.feature}'.`,{node:e,property:"terminal"})}checkAssignmentTypes(e,r){if(!e.terminal)return;let n;St(e.terminal).map(o=>Dr(o)?"ref":"other").find(o=>n?o!==n:(n=o,!1))&&r("error",this.createMixedTypeError(e.feature),{node:e,property:"terminal"})}checkInterfacePropertyTypes(e,r){for(let n of e.attributes)if(n.type){let i=Ns(n.type),o=Nu(i),s=!1,a=!1;for(let c of o)Da(c)?s=!0:Da(c)||(a=!0);s&&a&&r("error",this.createMixedTypeError(n.name),{node:n,property:"type"})}}createMixedTypeError(e){return`Mixing a cross-reference with other types is not supported. Consider splitting property "${e}" into two or more different properties.`}checkTerminalRuleReturnType(e,r){var n;!((n=e.type)===null||n===void 0)&&n.name&&!wa(e.type.name)&&r("error","Terminal rules can only return primitive types like 'string', 'boolean', 'number', 'Date' or 'bigint'.",{node:e.type,property:"name"})}checkRuleCallParameters(e,r){let n=e.rule.ref;if(ee(n)){let i=n.parameters.length,o=e.arguments.length;i!==o&&r("error",`Rule '${n.name}' expects ${i} arguments, but got ${o}.`,{node:e})}else Be(n)&&e.arguments.length>0&&r("error","Terminal rules do not accept any arguments",{node:e})}checkCrossRefNameAssignment(e,r){!e.terminal&&e.type.ref&&!Lu(e.type.ref)&&r("error","Cannot infer terminal or data type rule for cross-reference.",{node:e,property:"type"})}checkCrossRefTerminalType(e,r){var n;let i=e.terminal;if(et(i)){let o=i.rule.ref;ee(o)&&!En(o)?r("error","Parser rules cannot be used for cross-references.",{node:i,property:"rule"}):ee(o)&&!xS(o)?r("error","Data type rules for cross-references must be of type string.",{node:i,property:"rule"}):Be(o)&&(!((n=o.type)===null||n===void 0)&&n.name)&&o.type.name!=="string"&&r("error","Terminal rules for cross-references must be of type string.",{node:i,property:"rule"})}}checkCrossRefType(e,r){let n=this.checkReferenceToRuleButNotType(e?.type);n&&r("error",n,{node:e,property:"type"})}checkCrossReferenceToTypeUnion(e,r){if(vr(e.type.ref)&&jn(e.type.ref.type)){let n=RS(e.type.ref.type);n.length>0&&r("error",`Cross-reference on type union is only valid if all alternatives are AST nodes. ${n.join(", ")} ${n.length>1?"are":"is"} not ${n.length>1?"":"an "}AST node${n.length>1?"s":""}.`,{node:e,property:"type"})}}checkFragmentsInTypes(e,r){var n,i;ee((n=e.typeRef)===null||n===void 0?void 0:n.ref)&&(!((i=e.typeRef)===null||i===void 0)&&i.ref.fragment)&&r("error","Cannot use rule fragments in types.",{node:e,property:"typeRef"})}checkReferenceTypeUnion(e,r){Hr(e.referenceType)||r("error","Only direct rule references are allowed in reference types.",{node:e,property:"referenceType"})}checkReferenceToRuleButNotType(e){if(e&&ee(e.ref)&&!En(e.ref)&&(e.ref.returnType||e.ref.inferredType)){let r=Ii(e.ref);if(r)return`Use the rule type '${r}' instead of the typed rule name '${e.ref.name}' for cross-references.`}}checkAssignmentWithFeatureName(e,r){e.feature==="name"&&Dr(e.terminal)&&r("warning",'The "name" property is not recommended for cross-references.',{node:e,property:"feature"})}};function Iu(t){return!t.definition||!t.definition.$cstNode||t.definition.$cstNode.length===0}var sM=new Set(["Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array","Map","Set","WeakMap","WeakSet","Error","AggregateError","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError","BigInt","RegExp","Number","Object","Function","Symbol","String","Math","NaN","Infinity","isFinite","isNaN","Buffer","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","globalThis","decodeURIComponent","decodeURI","encodeURIComponent","encodeURI","parseInt","parseFloat","Promise","Generator","GeneratorFunction","AsyncFunction","AsyncGenerator","AsyncGeneratorFunction","Reflect","Proxy","Date","Intl","eval","undefined"]);function RS(t){let e=[];return t.types.forEach(r=>{var n;Hr(r)&&(!((n=r.typeRef)===null||n===void 0)&&n.ref?vr(r.typeRef.ref)&&(jn(r.typeRef.ref.type)?e.push(...RS(r.typeRef.ref.type)):e.push(r.typeRef.ref.name)):r.stringType?e.push(`"${r.stringType}"`):r.primitiveType&&e.push(r.primitiveType))}),Array.from(new Set(e))}function Wn(t,e){return t==="?"||t==="*"||Tr(e)&&!!e.guardCondition}function _S(t){return t==="*"||t==="+"}function En(t){return SS(t,new Set)}function SS(t,e){if(e.has(t))return!0;e.add(t);for(let r of St(t))if(et(r)){if(!r.rule.ref||ee(r.rule.ref)&&!SS(r.rule.ref,e))return!1}else{if(je(r))return!1;if(Ze(r))return!1}return!!t.definition}function bS(t){var e;let r=(e=t.returnType)===null||e===void 0?void 0:e.ref;return t.dataType!==void 0||vr(r)&&aM(r)}function aM(t){return Ny(t.type,new Set)}function Ny(t,e){if(e.has(t))return!0;if(e.add(t),Cs(t))return!1;if(ws(t))return!1;if(jn(t))return t.types.every(r=>Ny(r,e));if(Hr(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){let r=t.typeRef.ref;return vr(r)?Ny(r.type,e):!1}else return!1}else return!1}function xS(t){return Mu(t,new Set)}function Mu(t,e){var r,n;if(e.has(t))return!0;if(e.add(t),ee(t)){if(t.dataType)return t.dataType==="string";if(!((r=t.returnType)===null||r===void 0)&&r.ref)return Mu(t.returnType.ref,e)}else{if(vr(t))return Mu(t.type,e);if(Cs(t))return!1;if(ws(t))return!1;if(jn(t))return t.types.every(i=>Mu(i,e));if(Hr(t)){if(t.primitiveType==="string")return!0;if(t.stringType)return!0;if(!((n=t.typeRef)===null||n===void 0)&&n.ref)return Mu(t.typeRef.ref,e)}}return!1}function Oy(t){let e=t.$container;if(Tr(e)){let r=e.elements,n=r.indexOf(t);for(let i=n-1;i>=0;i--){let o=r[i];if(Ze(o))return o;{let s=St(r[i]).find(Ze);if(s)return s}}}if(ha(e))return Oy(e)}function li(t){var e;if(ee(t))return En(t)?t.name:(e=Aa(t))!==null&&e!==void 0?e:t.name;if(pn(t)||vr(t)||Ta(t))return t.name;if(Ze(t)){let r=Na(t);if(r)return r}else if(ya(t))return t.name;throw new Hf("Cannot get name of Unknown Type",t.$cstNode)}function Ii(t){if(t)try{return li(t)}catch{return}}function Aa(t){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){let e=t.returnType.ref;if(e){if(ee(e))return e.name;if(pn(e)||vr(e))return e.name}}}function Na(t){var e;if(t.inferredType)return t.inferredType.name;if(!((e=t.type)===null||e===void 0)&&e.ref)return li(t.type.ref)}function Is(t){var e,r,n;return Be(t)?(r=(e=t.type)===null||e===void 0?void 0:e.name)!==null&&r!==void 0?r:"string":En(t)?t.name:(n=Aa(t))!==null&&n!==void 0?n:t.name}function Hn(t){let e={s:!1,i:!1,u:!1},r=Ia(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}var Ly=/[\s\S]/.source;function Ia(t,e){if(N_(t))return cM(t);if(O_(t))return uM(t);if(Mf(t))return dM(t);if($f(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return go(Ia(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead})}else{if(w_(t))return fM(t);if(F_(t))return lM(t);if(E_(t)){let r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),go(n,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}else{if(j_(t))return go(Ly,{cardinality:t.cardinality,lookahead:t.lookahead});throw new Error(`Invalid terminal element: ${t?.$type}`)}}}function cM(t){return go(t.elements.map(e=>Ia(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead})}function uM(t){return go(t.elements.map(e=>Ia(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead})}function lM(t){return go(`${Ly}*?${Ia(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead})}function fM(t){return go(`(?!${Ia(t.terminal)})${Ly}*?`,{cardinality:t.cardinality,lookahead:t.lookahead})}function dM(t){return t.right?go(`[${Ay(t.left)}-${Ay(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1}):go(Ay(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}function Ay(t){return po(t.value)}function go(t,e){var r;return(e.wrap!==!1||e.lookahead)&&(t=`(${(r=e.lookahead)!==null&&r!==void 0?r:""}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function My(t){if(t.path===void 0||t.path.length===0)return;let e=Fe.dirname(ke(t).uri),r=t.path;return r.endsWith(".langium")||(r+=".langium"),Fe.resolvePath(e,r)}function ho(t,e){let r=My(e);try{if(r){let i=t.getOrCreateDocument(r).parseResult.value;if(ga(i))return i}}catch{}}function Ou(t,e){if(Of(e)){let r=ho(t,e);if(r){let n=Iy(t,r);return n.push(r),n}return[]}else return Iy(t,e)}function Iy(t,e,r=e,n=new Set,i=new Set){let o=ke(e);if(r!==e&&i.add(e),!n.has(o.uri)){n.add(o.uri);for(let s of e.imports){let a=ho(t,s);a&&Iy(t,a,r,n,i)}}return Array.from(i)}function Pa(t){return je(t)?[t]:Sn(t)||Tr(t)||kn(t)?t.elements.flatMap(e=>Pa(e)):et(t)&&t.rule.ref?Pa(t.rule.ref.definition):[]}var pM=["string","number","boolean","Date","bigint"];function wa(t){return pM.includes(t)}var $y=class{constructor(e,r){this.context=e,this.root=r}getTypes(){let e={name:this.root.name,properties:this.root.properties,ruleCalls:this.root.ruleCalls,super:[]};return this.root.children.length===0?[{alt:e,next:[]}]:this.applyNext(this.root,{alt:e,next:this.root.children})}applyNext(e,r){let n=this.splitType(r.alt,r.next.length),i=[];for(let o=0;o<r.next.length;o++){let s=n[o],a=r.next[o];a.actionWithAssignment&&i.push({alt:kS(s),next:[]}),a.name!==void 0&&a.name!==s.name&&(a.actionWithAssignment?(s.properties=[],s.ruleCalls=[],s.super=[e.name],s.name=a.name):(s.super=[s.name,...s.ruleCalls],s.properties=[],s.ruleCalls=[],s.name=a.name)),s.properties.push(...a.properties),s.ruleCalls.push(...a.ruleCalls);let c={alt:s,next:a.children};c.next.length===0?(c.alt.super=c.alt.super.filter(f=>f!==c.alt.name),i.push(c)):i.push(...this.applyNext(e,c))}return PS(i)}splitType(e,r){let n=[];for(let i=0;i<r;i++)n.push(kS(e));return n}getSuperTypes(e){let r=new Set;return this.collectSuperTypes(e,e,r),Array.from(r)}collectSuperTypes(e,r,n){if(r.ruleCalls.length>0){for(let i of r.ruleCalls)n.add(i);return}for(let i of r.parents)e.name===void 0?this.collectSuperTypes(i,i,n):i.name!==void 0&&i.name!==e.name?n.add(i.name):this.collectSuperTypes(e,i,n);r.parents.length===0&&r.name&&n.add(r.name)}connect(e,r){return r.parents.push(e),e.children.push(r),r}merge(...e){if(e.length===1)return e[0];if(e.length===0)throw new Error("No parts to merge");let r=Os();r.parents=e;for(let n of e)n.children.push(r);return r}hasLeafNode(e){return this.partHasLeafNode(e)}partHasLeafNode(e,r){return e.children.some(n=>n!==r)?!0:e.name?!1:e.parents.some(n=>this.partHasLeafNode(n,e))}};function mM(t){return{name:t.name,children:[],parents:[],actionWithAssignment:t.actionWithAssignment,ruleCalls:[...t.ruleCalls],properties:t.properties.map(CS)}}function kS(t){return{name:t.name,super:t.super,ruleCalls:t.ruleCalls,properties:t.properties.map(e=>CS(e))}}function CS(t){return{name:t.name,optional:t.optional,type:t.type,astNodes:t.astNodes}}function wS(t,e,r){let n=[],i={fragments:new Map};for(let c of t)n.push(...DS(i,c));let o=RM(n),s=bM(o),a=xM(o,s,r);for(let c of e){let f=hM(c);a.unions.push({name:c.name,declared:!1,type:f,subTypes:new Set,superTypes:new Set,dataType:c.dataType})}return a}function hM(t){if(t.dataType&&t.dataType!=="string")return{primitive:t.dataType};let e=!1,r=()=>(e=!0,{primitive:"unknown"}),n=Fy(t.definition,r);return e?{primitive:"string"}:n}function Fy(t,e){var r,n,i;if(t.cardinality)return e();if(Sn(t))return{types:t.elements.map(o=>Fy(o,e))};if(Tr(t)||kn(t))return t.elements.length!==1?e():Fy(t.elements[0],e);if(et(t)){let o=(r=t.rule)===null||r===void 0?void 0:r.ref;return o?Be(o)?{primitive:(i=(n=o.type)===null||n===void 0?void 0:n.name)!==null&&i!==void 0?i:"string",regex:Hn(o).toString()}:{value:o.name}:e()}else if(Ht(t))return{string:t.value};return e()}function DS(t,e){let r=Os(e),n=new $y(t,r);return e.definition&&qy(n,n.root,e.definition),n.getTypes()}function Os(t){return{name:ee(t)||Ze(t)?Ii(t):t,properties:[],ruleCalls:[],children:[],parents:[],actionWithAssignment:!1}}function qy(t,e,r){let n=Wn(r.cardinality,r);if(Sn(r)){let i=[];n&&i.push(t.connect(e,Os()));for(let o of r.elements){let s=t.connect(e,Os());i.push(qy(t,s,o))}return t.merge(...i)}else if(Tr(r)||kn(r)){let i=t.connect(e,Os()),o;n&&(o=t.connect(e,Os()));for(let s of r.elements)i=qy(t,i,s);return o?t.merge(o,i):i}else{if(Ze(r))return gM(t,e,r);je(r)?yM(e,r):et(r)&&vM(t,e,r)}return e}function gM(t,e,r){var n;if(!t.hasLeafNode(e)){let o=mM(e);t.connect(e,o)}let i=t.connect(e,Os(r));if(r.type){let o=(n=r.type)===null||n===void 0?void 0:n.ref;o&&Cu(o)&&(i.name=o.name)}return r.feature&&r.operator&&(i.actionWithAssignment=!0,i.properties.push({name:r.feature,optional:!1,type:Ls(r.operator==="+=",!1,t.root.ruleCalls.length!==0?t.root.ruleCalls:t.getSuperTypes(i)),astNodes:new Set([r])})),i}function yM(t,e){let r={types:new Set,reference:!1};ES(e.terminal,r);let n=Ls(e.operator==="+=",r.reference,e.operator==="?="?["boolean"]:Array.from(r.types));t.properties.push({name:e.feature,optional:Wn(e.cardinality),type:n,astNodes:new Set([e])})}function ES(t,e){if(Sn(t)||kn(t)||Tr(t))for(let r of t.elements)ES(r,e);else if(Ht(t))e.types.add(`'${t.value}'`);else if(et(t)&&t.rule.ref)e.types.add(Is(t.rule.ref));else if(Dr(t)&&t.type.ref){let r=Ii(t.type.ref);r&&e.types.add(r),e.reference=!0}}function vM(t,e,r){let n=r.rule.ref;if(ee(n)&&n.fragment){let i=TM(n,t.context);Wn(r.cardinality)?e.properties.push(...i.map(o=>Object.assign(Object.assign({},o),{optional:!0}))):e.properties.push(...i)}else ee(n)&&e.ruleCalls.push(Is(n))}function TM(t,e){let r=e.fragments.get(t);if(r)return r;let n=[];e.fragments.set(t,n);let i=Ii(t),o=DS(e,t).filter(s=>s.alt.name===i);return n.push(...o.flatMap(s=>s.alt.properties)),n}function RM(t){let e=new Map,r=[],n=PS(t).map(i=>i.alt);for(let i of n){let o={name:i.name,properties:i.properties,superTypes:new Set(i.super),subTypes:new Set,declared:!1,abstract:!1};e.set(o.name,o),i.ruleCalls.length>0&&(r.push(i),i.ruleCalls.forEach(s=>{s!==o.name&&o.subTypes.add(s)}))}for(let i of r)for(let o of i.ruleCalls){let s=e.get(o);s&&s.name!==i.name&&s.superTypes.add(i.name)}return Array.from(e.values())}function PS(t){let e=t.reduce((n,i)=>n.add(i.alt.name,i),new at),r=[];for(let[n,i]of e.entriesGroupedByKey()){let o=[],s=new Set,a={alt:{name:n,properties:o,ruleCalls:[],super:[]},next:[]};for(let c of i){let f=c.alt;a.alt.super.push(...f.super),a.next.push(...c.next);let p=f.properties;for(let m of p){let T=o.find(_=>_.name===m.name);T?(T.type=Py(T.type,m.type),m.astNodes.forEach(_=>T.astNodes.add(_))):o.push(Object.assign({},m))}f.ruleCalls.forEach(m=>s.add(m))}for(let c of i){let f=c.alt;if(f.ruleCalls.length===0)for(let p of o)f.properties.find(m=>m.name===p.name)||(p.optional=!0)}a.alt.ruleCalls=Array.from(s),r.push(a)}return r}function bM(t){let e=new Map(t.map(i=>[i.name,i])),r=[],n=new at;for(let i of t)for(let o of i.superTypes)n.add(o,i.name);for(let[i,o]of n.entriesGroupedByKey())if(!e.has(i)){let s={declared:!1,name:i,subTypes:new Set,superTypes:new Set,type:Ls(!1,!1,o)};r.push(s)}return r}function xM(t,e,r){let n=new at;for(let a of t)for(let c of a.superTypes)n.add(c,a.name);let i=new Set(r.interfaces.map(a=>a.name)),o={interfaces:[],unions:e},s=new Map(e.map(a=>[a.name,a]));for(let a of t){let c=new Set(n.get(a.name));if(a.properties.length===0&&c.size>0)if(i.has(a.name))a.abstract=!0,o.interfaces.push(a);else{let f=Ls(!1,!1,Array.from(c)),p=s.get(a.name);if(p)p.type=Py(p.type,f);else{let m={name:a.name,declared:!1,subTypes:c,superTypes:a.superTypes,type:f};o.unions.push(m),s.set(a.name,m)}}else o.interfaces.push(a)}for(let a of o.interfaces)a.superTypes=new Set([...a.superTypes].filter(c=>!s.has(c)));return o}function Ls(t,e,r){if(t)return{elementType:Ls(!1,e,r)};if(e)return{referenceType:Ls(!1,!1,r)};if(r.length===1){let n=r[0];return n.startsWith("'")?{string:n.substring(1,n.length-1)}:wa(n)?{primitive:n}:{value:n}}else return{types:r.map(n=>Ls(!1,!1,[n]))}}function AS(t,e){let r=NS(t,e),n=gS(r.interfaces,r.types),i=wS(r.parserRules,r.datatypeRules,n);return{astResources:r,inferred:i,declared:n}}function NS(t,e,r=new Set,n={parserRules:[],datatypeRules:[],interfaces:[],types:[]}){Array.isArray(t)||(t=[t]);for(let i of t){let o=ke(i);if(!r.has(o.uri)){r.add(o.uri);for(let s of i.rules)ee(s)&&!s.fragment&&(En(s)?n.datatypeRules.push(s):n.parserRules.push(s));if(i.interfaces.forEach(s=>n.interfaces.push(s)),i.types.forEach(s=>n.types.push(s)),e){let s=i.imports.map(a=>ho(e,a)).filter(a=>a!==void 0);NS(s,e,r,n)}}}return n}function LS(t,e){let{inferred:r,declared:n,astResources:i}=AS(t,e);return{astResources:i,inferred:IS(n,r),declared:IS(r,n)}}function IS(t,e){var r,n;let i={interfaces:sS(OS(...t.interfaces,...(r=e?.interfaces)!==null&&r!==void 0?r:[])),unions:OS(...t.unions,...(n=e?.unions)!==null&&n!==void 0?n:[])},o=vS(i);return _M(o),o}function OS(...t){return Array.from(t.reduce((e,r)=>(e.set(r.name,r),e),new Map).values()).sort((e,r)=>e.name.localeCompare(r.name))}function _M(t){let e=kM(t),r=Array.from(e.values());CM(r),wM(t.interfaces),SM(r)}function SM(t){let e=new Set,r=n=>{if(!e.has(n)){e.add(n),n.typeNames.add(n.name);for(let i of n.subTypes)r(i),i.typeNames.forEach(o=>n.typeNames.add(o))}};t.forEach(r)}function kM({interfaces:t,unions:e}){let r=t.concat(e).reduce((i,o)=>(i.set(o.name,o),i),new Map),n=new Map;for(let i of e)n.set(i,jy(i.type,new Set));for(let[i,o]of n)o&&r.delete(i.name);return r}function jy(t,e){if(e.has(t))return!0;if(e.add(t),pr(t))return t.types.every(r=>jy(r,e));if(Cn(t)){let r=t.value;return ai(r)?jy(r.type,e):!1}else return wn(t)||Ai(t)}function CM(t){for(let e of t)for(let r of e.superTypes)r.subTypes.add(e)}function wM(t){var e;let r=t.reduce((s,a)=>(s.set(a.name,a),s),new Map);for(let s of t){let a=s.properties.flatMap(c=>aS(c.type));for(let c of a)(e=r.get(c))===null||e===void 0||e.containerTypes.add(s)}let n=new Set,i=t.filter(s=>s.subTypes.size===0),o=new Set(i);for(;i.length>0;){let s=i.shift();if(s)for(let a of s.superTypes)ui(a)&&(s.containerTypes.size===0?(n.add(a.name),a.containerTypes.clear()):n.has(a.name)||s.containerTypes.forEach(c=>a.containerTypes.add(c)),o.has(a)||(o.add(a),i.push(a)))}}var DM={languageId:"langium",fileExtensions:[".langium"],caseInsensitive:!1},EM={maxLookahead:3},MS={AstReflection:()=>new vu},$S={Grammar:()=>dS(),LanguageMetaData:()=>DM,parser:{ParserConfig:()=>EM}};var $u=class{constructor(e,r,n){var i;this.elements=e,this.outerScope=r,this.caseInsensitive=(i=n?.caseInsensitive)!==null&&i!==void 0?i:!1}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let r=this.caseInsensitive?this.elements.find(n=>n.name.toLowerCase()===e.toLowerCase()):this.elements.find(n=>n.name===e);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}},Oa=class{constructor(e,r,n){var i;this.elements=new Map,this.caseInsensitive=(i=n?.caseInsensitive)!==null&&i!==void 0?i:!1;for(let o of e){let s=this.caseInsensitive?o.name.toLowerCase():o.name;this.elements.set(s,o)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getAllElements(){let e=Ce(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},FS={getElement(){},getAllElements(){return ma}};var ed=Ie(io(),1);var La=class{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,r=ed.CancellationToken.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,r)}async computeExportsForNode(e,r,n=qo,i=ed.CancellationToken.None){let o=[];this.exportNode(e,o,r);for(let s of n(e))await kt(i),this.exportNode(s,o,r);return o}exportNode(e,r,n){let i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async computeLocalScopes(e,r=ed.CancellationToken.None){let n=e.parseResult.value,i=new at;for(let o of St(n))await kt(r),this.processNode(o,e,i);return i}processNode(e,r,n){let i=e.$container;if(i){let o=this.nameProvider.getName(e);o&&n.add(i,this.descriptions.createDescription(e,o,r))}}};var td=class{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}},Uy=class extends td{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){let n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},rd=class extends td{constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();let i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){let o=n();return i.set(r,o),o}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){let r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){let r=this.converter(e),n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}};var nd=class extends Uy{constructor(e){super(),this.onDispose(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}};var Ma=class{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new nd(e.shared)}getScope(e){let r=[],n=this.reflection.getReferenceType(e),i=ke(e.container).precomputedScopes;if(i){let s=e.container;do{let a=i.get(s);a.length>0&&r.push(Ce(a).filter(c=>this.reflection.isSubtype(c.type,n))),s=s.$container}while(s)}let o=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)o=this.createScope(r[s],o);return o}createScope(e,r,n){return new $u(Ce(e),r,n)}createScopeForNodes(e,r,n){let i=Ce(e).map(o=>{let s=this.nameProvider.getName(o);if(s)return this.descriptions.createDescription(o,s)}).nonNullable();return new $u(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new Oa(this.indexManager.allElements(e)))}};var id=class extends Ma{constructor(e){super(e),this.langiumDocuments=e.shared.workspace.LangiumDocuments}getScope(e){let r=this.reflection.getReferenceType(e);return r===ks?this.getTypeScope(r,e):super.getScope(e)}getTypeScope(e,r){let n,i=ke(r.container).precomputedScopes,o=Ff(r.container);if(i&&o){let a=i.get(o);a.length>0&&(n=Ce(a).filter(c=>c.type===Tu||c.type===Ru))}let s=this.getGlobalScope(e,r);return n?this.createScope(n,s):s}getGlobalScope(e,r){let n=tt(r.container,ga);if(!n)return FS;let i=new Set;this.gatherImports(n,i);let o=this.indexManager.allElements(e,i);return e===ks&&(o=o.filter(s=>s.type===Tu||s.type===Ru)),new Oa(o)}gatherImports(e,r){for(let n of e.imports){let i=My(n);if(i&&!r.has(i.toString())&&(r.add(i.toString()),this.langiumDocuments.hasDocument(i))){let s=this.langiumDocuments.getOrCreateDocument(i).parseResult.value;ga(s)&&this.gatherImports(s,r)}}}},od=class extends La{constructor(e){super(e),this.astNodeLocator=e.workspace.AstNodeLocator}exportNode(e,r,n){var i;if(super.exportNode(e,r,n),ee(e)){if(!e.returnType&&!e.dataType){let o=(i=e.inferredType)!==null&&i!==void 0?i:e;r.push(this.createInterfaceDescription(o,o.name,n))}St(e).forEach(o=>{if(Ze(o)&&o.inferredType){let s=Na(o);s&&r.push(this.createInterfaceDescription(o,s,n))}})}}processNode(e,r,n){Ta(e)||(this.processTypeNode(e,r,n),this.processActionNode(e,r,n),super.processNode(e,r,n))}processTypeNode(e,r,n){var i;let o=e.$container;if(o&&ee(e)&&!e.returnType&&!e.dataType){let s=(i=e.inferredType)!==null&&i!==void 0?i:e;n.add(o,this.createInterfaceDescription(s,s.name,r))}}processActionNode(e,r,n){let i=Ff(e);if(i&&Ze(e)&&e.inferredType){let o=Na(e);o&&n.add(i,this.createInterfaceDescription(e,o,r))}}createInterfaceDescription(e,r,n=ke(e)){let i,o=()=>{var s;return i??(i=Wr((s=this.nameProvider.getNameNode(e))!==null&&s!==void 0?s:e.$cstNode))};return{node:e,name:r,get nameSegment(){return o()},selectionSegment:Wr(e.$cstNode),type:"Interface",documentUri:n.uri,path:this.astNodeLocator.getAstNodePath(e)}}};var Pn=Ie(Qe(),1);var Gr=Ie(Qe(),1);var sd=class{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,r={},n=Gr.CancellationToken.None){let i=e.parseResult,o=[];if(await kt(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,o,r),r.stopAfterLexingErrors&&o.some(s=>{var a;return((a=s.data)===null||a===void 0?void 0:a.code)===fi.LexingError})||(this.processParsingErrors(i,o,r),r.stopAfterParsingErrors&&o.some(s=>{var a;return((a=s.data)===null||a===void 0?void 0:a.code)===fi.ParsingError}))||(this.processLinkingErrors(e,o,r),r.stopAfterLinkingErrors&&o.some(s=>{var a;return((a=s.data)===null||a===void 0?void 0:a.code)===fi.LinkingError}))))return o;try{o.push(...await this.validateAst(i.value,r,n))}catch(s){if(As(s))throw s;console.error("An error occurred during validation:",s)}return await kt(n),o}processLexingErrors(e,r,n){for(let i of e.lexerErrors){let o={severity:Gr.DiagnosticSeverity.Error,range:{start:{line:i.line-1,character:i.column-1},end:{line:i.line-1,character:i.column+i.length-1}},message:i.message,data:Dn(fi.LexingError),source:this.getSource()};r.push(o)}}processParsingErrors(e,r,n){for(let i of e.parserErrors){let o;if(isNaN(i.token.startOffset)){if("previousToken"in i){let s=i.previousToken;if(isNaN(s.startOffset))o=Gr.Range.create(0,0,0,0);else{let a=Gr.Position.create(s.endLine-1,s.endColumn);o=Gr.Range.create(a,a)}}}else o=yu(i.token);if(o){let s={severity:Gr.DiagnosticSeverity.Error,range:o,message:i.message,data:Dn(fi.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(let i of e.references){let o=i.error;if(o){let s={node:o.container,property:o.property,index:o.index,data:{code:fi.LinkingError,containerType:o.container.$type,property:o.property,refText:o.reference.$refText}};r.push(this.toDiagnostic("error",o.message,s))}}}async validateAst(e,r,n=Gr.CancellationToken.None){let i=[],o=(s,a,c)=>{i.push(this.toDiagnostic(s,a,c))};return await Promise.all(uo(e).map(async s=>{await kt(n);let a=this.validationRegistry.getChecks(s.$type,r.categories);for(let c of a)await c(s,o,n)})),i}toDiagnostic(e,r,n){return{message:r,range:PM(n),severity:AM(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};function PM(t){if(Gr.Range.is(t.range))return t.range;let e;return typeof t.property=="string"?e=Pr(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=Un(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function AM(t){switch(t){case"error":return Gr.DiagnosticSeverity.Error;case"warning":return Gr.DiagnosticSeverity.Warning;case"info":return Gr.DiagnosticSeverity.Information;case"hint":return Gr.DiagnosticSeverity.Hint;default:throw new Error("Invalid diagnostic severity: "+t)}}var fi;(function(t){t.LexingError="lexing-error",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(fi=fi||(fi={}));var ad=class{constructor(e){this.reflection=e.shared.AstReflection,this.indexManager=e.shared.workspace.IndexManager}getCodeActions(e,r){let n=[],i=o=>o&&n.push(o);for(let o of r.context.diagnostics)this.createCodeActions(o,e,i);return n}createCodeActions(e,r,n){var i;switch((i=e.data)===null||i===void 0?void 0:i.code){case Ke.GrammarNameUppercase:case Ke.RuleNameUppercase:n(this.makeUpperCase(e,r));break;case Ke.HiddenGrammarTokens:n(this.fixHiddenTerminals(e,r));break;case Ke.UseRegexTokens:n(this.fixRegexTokens(e,r));break;case Ke.EntryRuleTokenSyntax:n(this.addEntryKeyword(e,r));break;case Ke.CrossRefTokenSyntax:n(this.fixCrossRefSyntax(e,r));break;case Ke.UnnecessaryFileExtension:n(this.fixUnnecessaryFileExtension(e,r));break;case Ke.MissingReturns:n(this.fixMissingReturns(e,r));break;case Ke.InvalidInfers:case Ke.InvalidReturns:n(this.fixInvalidReturnsInfers(e,r));break;case Ke.MissingInfer:n(this.fixMissingInfer(e,r));break;case Ke.SuperfluousInfer:n(this.fixSuperfluousInfer(e,r));break;case fi.LinkingError:{let o=e.data;o&&o.containerType==="RuleCall"&&o.property==="rule"&&n(this.addNewRule(e,o,r)),o&&this.lookInGlobalScope(e,o,r).forEach(n);break}}}fixMissingReturns(e,r){let n=r.textDocument.getText(e.range);if(n)return{title:`Add explicit return type for parser rule ${n}`,kind:Pn.CodeActionKind.QuickFix,diagnostics:[e],edit:{changes:{[r.textDocument.uri]:[{range:e.range,newText:`${n} returns ${n}`}]}}}}fixInvalidReturnsInfers(e,r){let n=e.data;if(n&&n.actionSegment){let i=r.textDocument.getText(n.actionSegment.range);return{title:`Correct ${i} usage`,kind:Pn.CodeActionKind.QuickFix,diagnostics:[e],edit:{changes:{[r.textDocument.uri]:[{range:n.actionSegment.range,newText:i==="infers"?"returns":"infers"}]}}}}}fixMissingInfer(e,r){let n=e.data;if(n&&n.actionSegment)return{title:"Correct 'infer' usage",kind:Pn.CodeActionKind.QuickFix,diagnostics:[e],edit:{changes:{[r.textDocument.uri]:[{range:{start:n.actionSegment.range.end,end:n.actionSegment.range.end},newText:"infer "}]}}}}fixSuperfluousInfer(e,r){let n=e.data;if(n&&n.actionRange)return{title:"Remove the 'infer' keyword",kind:Pn.CodeActionKind.QuickFix,diagnostics:[e],edit:{changes:{[r.textDocument.uri]:[{range:n.actionRange,newText:""}]}}}}fixUnnecessaryFileExtension(e,r){let n=Object.assign({},e.range.end);n.character-=1;let i=Object.assign({},n);return i.character-=8,{title:"Remove file extension",kind:Pn.CodeActionKind.QuickFix,diagnostics:[e],isPreferred:!0,edit:{changes:{[r.textDocument.uri]:[{range:{start:i,end:n},newText:""}]}}}}makeUpperCase(e,r){let n={start:e.range.start,end:{line:e.range.start.line,character:e.range.start.character+1}};return{title:"First letter to upper case",kind:Pn.CodeActionKind.QuickFix,diagnostics:[e],isPreferred:!0,edit:{changes:{[r.textDocument.uri]:[{range:n,newText:r.textDocument.getText(n).toUpperCase()}]}}}}addEntryKeyword(e,r){return{title:"Add entry keyword",kind:Pn.CodeActionKind.QuickFix,diagnostics:[e],isPreferred:!0,edit:{changes:{[r.textDocument.uri]:[{range:{start:e.range.start,end:e.range.start},newText:"entry "}]}}}}fixRegexTokens(e,r){let n=r.textDocument.offsetAt(e.range.start),i=r.parseResult.value.$cstNode;if(i){let o=dn(i,n),s=tt(o?.astNode,Mf);if(s&&s.right&&s.$cstNode){let a=s.left.value,c=s.right.value;return{title:"Refactor into regular expression",kind:Pn.CodeActionKind.QuickFix,diagnostics:[e],isPreferred:!0,edit:{changes:{[r.textDocument.uri]:[{range:s.$cstNode.range,newText:`/[${po(a)}-${po(c)}]/`}]}}}}}}fixCrossRefSyntax(e,r){return{title:"Replace '|' with ':'",kind:Pn.CodeActionKind.QuickFix,diagnostics:[e],isPreferred:!0,edit:{changes:{[r.textDocument.uri]:[{range:e.range,newText:":"}]}}}}fixHiddenTerminals(e,r){let n=r.parseResult.value,i=n.hiddenTokens,o=[],s=Pr(n.$cstNode,"definesHiddenTokens");if(s){let a=s.range.start,c=s.offset,f=n.$cstNode.text.indexOf(")",c)+1;o.push({newText:"",range:{start:a,end:r.textDocument.positionAt(f)}})}for(let a of i){let c=a.ref;if(c&&Be(c)&&!c.hidden&&c.$cstNode){let f=c.$cstNode.range.start;o.push({newText:"hidden ",range:{start:f,end:f}})}}return{title:"Fix hidden terminals",kind:Pn.CodeActionKind.QuickFix,diagnostics:[e],isPreferred:!0,edit:{changes:{[r.textDocument.uri]:o}}}}addNewRule(e,r,n){let i=n.textDocument.offsetAt(e.range.start),o=n.parseResult.value.$cstNode;if(o){let s=dn(o,i),a=tt(s?.astNode,ee);if(a&&a.$cstNode)return{title:`Add new rule '${r.refText}'`,kind:Pn.CodeActionKind.QuickFix,diagnostics:[e],isPreferred:!1,edit:{changes:{[n.textDocument.uri]:[{range:{start:a.$cstNode.range.end,end:a.$cstNode.range.end},newText:`
79
-
80
- `+r.refText+`:
81
- /* TODO implement rule */ {infer `+r.refText+"};"}]}}}}}lookInGlobalScope(e,r,n){var i,o;let s={container:{$type:r.containerType},property:r.property,reference:{$refText:r.refText}},a=this.reflection.getReferenceType(s),c=this.indexManager.allElements(a).filter(T=>T.name===r.refText),f=[],p=-1,m=-1;for(let T of c){if(Fe.equals(T.documentUri,n.uri))continue;let _=NM(n.uri,T.documentUri),E,N="",I=n.parseResult.value,A=I.imports.find(y=>y.path&&_<y.path);if(A)E=(i=A.$cstNode)===null||i===void 0?void 0:i.range.start;else if(I.imports.length>0){let y=I.imports[I.imports.length-1].$cstNode.range.end;y&&(E={line:y.line+1,character:0})}else I.rules.length>0&&(E=(o=I.rules[0].$cstNode)===null||o===void 0?void 0:o.range.start,N=`
82
- `);E&&((p<0||_.length<m)&&(p=f.length,m=_.length),f.push({title:`Add import to '${_}'`,kind:Pn.CodeActionKind.QuickFix,diagnostics:[e],isPreferred:!1,edit:{changes:{[n.textDocument.uri]:[{range:{start:E,end:E},newText:`import '${_}'
83
- ${N}`}]}}}))}return p>=0&&(f[p].isPreferred=!0),f}};function NM(t,e){let r=Fe.dirname(t),n=Fe.relative(r,e);return!n.startsWith("./")&&!n.startsWith("../")&&(n="./"+n),n.endsWith(".langium")&&(n=n.substring(0,n.length-8)),n}var WS=Ie(Rs(),1);var qa=Ie(Qe(),1);function Wy(t,e){let r={stacks:t,tokens:e};return IM(r),r.stacks.flat().forEach(i=>{i.property=void 0}),jS(r.stacks).map(i=>i[i.length-1])}function Hy(t){let{next:e,cardinalities:r,visited:n,plus:i}=t,o=[],s=e.feature;if(n.has(s))return[];n.add(s);let a,c=s;for(;c.$container;)if(Tr(c.$container)){a=c.$container;break}else if(ha(c.$container))c=c.$container;else break;if(_S(c.cardinality)){let f=$a({next:{feature:c,type:e.type,new:!1},cardinalities:r,visited:n,plus:i});for(let p of f)i.add(p.feature);o.push(...f)}if(a){let f=a.elements.indexOf(c);f!==void 0&&f<a.elements.length-1&&o.push(...qS({feature:a,type:e.type,new:!1},f+1,r,n,i)),o.every(p=>Wn(p.feature.cardinality,p.feature)||Wn(r.get(p.feature))||i.has(p.feature))&&o.push(...Hy({next:{feature:a,type:e.type,new:!1},cardinalities:r,visited:n,plus:i}))}return o}function Fu(t){return rr(t)&&(t={feature:t}),$a({next:t,cardinalities:new Map,visited:new Set,plus:new Set})}function $a(t){var e,r,n;let{next:i,cardinalities:o,visited:s,plus:a}=t;if(i===void 0)return[];let{feature:c,type:f}=i;if(Tr(c)){if(s.has(c))return[];s.add(c)}if(Tr(c))return qS(i,0,o,s,a).map(p=>cd(p,c.cardinality,o));if(Sn(c)||kn(c))return c.elements.flatMap(p=>$a({next:{feature:p,new:!1,type:f},cardinalities:o,visited:s,plus:a})).map(p=>cd(p,c.cardinality,o));if(je(c)){let p={feature:c.terminal,new:!1,type:f,property:(e=i.property)!==null&&e!==void 0?e:c.feature};return $a({next:p,cardinalities:o,visited:s,plus:a}).map(m=>cd(m,c.cardinality,o))}else{if(Ze(c))return Hy({next:{feature:c,new:!0,type:li(c),property:(r=i.property)!==null&&r!==void 0?r:c.feature},cardinalities:o,visited:s,plus:a});if(et(c)&&ee(c.rule.ref)){let p=c.rule.ref,m={feature:p.definition,new:!0,type:p.fragment?void 0:(n=Aa(p))!==null&&n!==void 0?n:p.name,property:i.property};return $a({next:m,cardinalities:o,visited:s,plus:a}).map(T=>cd(T,c.cardinality,o))}else return[i]}}function cd(t,e,r){return r.set(t.feature,e),t}function qS(t,e,r,n,i){var o;let s=[],a;for(;e<t.feature.elements.length&&(a={feature:t.feature.elements[e++],new:!1,type:t.type},s.push(...$a({next:a,cardinalities:r,visited:n,plus:i})),!!Wn((o=a.feature.cardinality)!==null&&o!==void 0?o:r.get(a.feature),a.feature)););return s}function IM(t){for(let e of t.tokens){let r=jS(t.stacks,e);t.stacks=r}}function jS(t,e){let r=[];for(let n of t)r.push(...OM(n,e));return r}function OM(t,e){let r=new Map,n=new Set(t.map(o=>o.feature).filter(LM)),i=[];for(;t.length>0;){let o=t.pop(),s=Hy({next:o,cardinalities:r,plus:n,visited:new Set}).filter(a=>e?Gy(a.feature,e):!0);for(let a of s)i.push([...t,a]);if(!s.every(a=>Wn(a.feature.cardinality,a.feature)||Wn(r.get(a.feature))))break}return i}function LM(t){if(t.cardinality==="+")return!0;let e=tt(t,je);return!!(e&&e.cardinality==="+")}function Gy(t,e){if(Ht(t))return t.value===e.image;if(et(t))return MM(t.rule.ref,e);if(Dr(t)){let r=ud(t);if(r)return Gy(r,e)}return!1}function MM(t,e){return ee(t)?Fu(t.definition).some(n=>Gy(n.feature,e)):Be(t)?Hn(t).test(e.image):!1}function US(t){let e=Array.from(new Set(t.flatMap(n=>{var i;return(i=n?.triggerCharacters)!==null&&i!==void 0?i:[]}))),r=Array.from(new Set(t.flatMap(n=>{var i;return(i=n?.allCommitCharacters)!==null&&i!==void 0?i:[]})));return{triggerCharacters:e.length>0?e:void 0,allCommitCharacters:r.length>0?r:void 0}}var Fa=class{constructor(e){this.scopeProvider=e.references.ScopeProvider,this.grammar=e.Grammar,this.completionParser=e.parser.CompletionParser,this.nameProvider=e.references.NameProvider,this.lexer=e.parser.Lexer,this.nodeKindProvider=e.shared.lsp.NodeKindProvider,this.fuzzyMatcher=e.shared.lsp.FuzzyMatcher,this.grammarConfig=e.parser.GrammarConfig}async getCompletion(e,r){let n=[],i=this.buildContexts(e,r.position),o=(c,f)=>{let p=this.fillCompletionItem(c,f);p&&n.push(p)},s=c=>Ht(c.feature)?c.feature.value:c.feature,a=[];for(let c of i)if(await Promise.all(Ce(c.features).distinct(s).exclude(a).map(f=>this.completionFor(c,f,o))),a.push(...c.features),!this.continueCompletion(n))break;return qa.CompletionList.create(this.deduplicateItems(n),!0)}deduplicateItems(e){return Ce(e).distinct(r=>`${r.kind}_${r.label}_${r.detail}`).toArray()}findFeaturesAt(e,r){let n=e.getText({start:qa.Position.create(0,0),end:e.positionAt(r)}),i=this.completionParser.parse(n),o=i.tokens;if(i.tokenIndex===0){let c=ld(this.grammar),f=Fu({feature:c.definition,new:!0,type:Aa(c)});return o.length>0?(o.shift(),Wy(f.map(p=>[p]),o)):f}let s=[...o].splice(i.tokenIndex);return Wy([i.elementStack.map(c=>({feature:c}))],s)}*buildContexts(e,r){var n,i,o,s,a;let c=e.parseResult.value.$cstNode;if(!c)return;let f=e.textDocument,p=f.getText(),m=f.offsetAt(r),T={document:e,textDocument:f,offset:m,position:r},_=this.findDataTypeRuleStart(c,m);if(_){let[h,C]=_,L=(n=dn(c,h))===null||n===void 0?void 0:n.astNode,J=this.findFeaturesAt(f,h);yield Object.assign(Object.assign({},T),{node:L,tokenOffset:h,tokenEndOffset:C,features:J})}let{nextTokenStart:E,nextTokenEnd:N,previousTokenStart:I,previousTokenEnd:A}=this.backtrackToAnyToken(p,m),y;if(I!==void 0&&A!==void 0&&A===m){y=(i=dn(c,I))===null||i===void 0?void 0:i.astNode;let h=this.findFeaturesAt(f,I);yield Object.assign(Object.assign({},T),{node:y,tokenOffset:I,tokenEndOffset:A,features:h})}if(y=(s=(o=dn(c,E))===null||o===void 0?void 0:o.astNode)!==null&&s!==void 0?s:I===void 0||(a=dn(c,I))===null||a===void 0?void 0:a.astNode,y){let h=this.findFeaturesAt(f,E);yield Object.assign(Object.assign({},T),{node:y,tokenOffset:E,tokenEndOffset:N,features:h})}else{let h=ld(this.grammar),C=Fu(h.definition);yield Object.assign(Object.assign({},T),{tokenOffset:E,tokenEndOffset:N,features:C})}}findDataTypeRuleStart(e,r){var n,i;let o=dr(e,r,this.grammarConfig.nameRegexp),s=!!(!((n=tt(o?.grammarSource,ee))===null||n===void 0)&&n.dataType);if(s){for(;s;)o=o?.container,s=!!(!((i=tt(o?.grammarSource,ee))===null||i===void 0)&&i.dataType);if(o)return[o.offset,o.end]}}continueCompletion(e){return e.length===0}backtrackToAnyToken(e,r){let n=this.lexer.tokenize(e).tokens;if(n.length===0)return{nextTokenStart:r,nextTokenEnd:r};let i;for(let o of n){if(o.startOffset>=r)return{nextTokenStart:r,nextTokenEnd:r,previousTokenStart:i?i.startOffset:void 0,previousTokenEnd:i?i.endOffset+1:void 0};if(o.endOffset>=r)return{nextTokenStart:o.startOffset,nextTokenEnd:o.endOffset+1,previousTokenStart:i?i.startOffset:void 0,previousTokenEnd:i?i.endOffset+1:void 0};i=o}return{nextTokenStart:r,nextTokenEnd:r,previousTokenStart:i?i.startOffset:void 0,previousTokenEnd:i?i.endOffset+1:void 0}}async completionForRule(e,r,n){if(ee(r)){let i=Fu(r.definition);await Promise.all(i.map(o=>this.completionFor(e,o,n)))}}completionFor(e,r,n){if(Ht(r.feature))return this.completionForKeyword(e,r.feature,n);if(Dr(r.feature)&&e.node)return this.completionForCrossReference(e,r,n)}completionForCrossReference(e,r,n){let i=tt(r.feature,je),o=e.node;if(i&&o){if(r.type&&(r.new||o.$type!==r.type)&&(o={$type:r.type,$container:o,$containerProperty:r.property}),!e)return;let s={reference:{},container:o,property:i.feature};try{let a=this.scopeProvider.getScope(s),c=new Set;a.getAllElements().forEach(f=>{!c.has(f.name)&&this.filterCrossReference(f)&&(n(e,this.createReferenceCompletionItem(f)),c.add(f.name))})}catch(a){console.error(a)}}}createReferenceCompletionItem(e){return{nodeDescription:e,kind:this.nodeKindProvider.getCompletionItemKind(e),detail:e.type,sortText:"0"}}filterCrossReference(e){return!0}completionForKeyword(e,r,n){r.value.match(/[\w]/)&&n(e,{label:r.value,kind:qa.CompletionItemKind.Keyword,detail:"Keyword",sortText:"1"})}fillCompletionItem(e,r){var n,i;let o;if(typeof r.label=="string")o=r.label;else if("node"in r){let f=this.nameProvider.getName(r.node);if(!f)return;o=f}else if("nodeDescription"in r)o=r.nodeDescription.name;else return;let s;typeof((n=r.textEdit)===null||n===void 0?void 0:n.newText)=="string"?s=r.textEdit.newText:typeof r.insertText=="string"?s=r.insertText:s=o;let a=(i=r.textEdit)!==null&&i!==void 0?i:this.buildCompletionTextEdit(e,o,s);return a?{additionalTextEdits:r.additionalTextEdits,command:r.command,commitCharacters:r.commitCharacters,data:r.data,detail:r.detail,documentation:r.documentation,filterText:r.filterText,insertText:r.insertText,insertTextFormat:r.insertTextFormat,insertTextMode:r.insertTextMode,kind:r.kind,labelDetails:r.labelDetails,preselect:r.preselect,sortText:r.sortText,tags:r.tags,textEditText:r.textEditText,textEdit:a,label:o}:void 0}buildCompletionTextEdit(e,r,n){let o=e.textDocument.getText().substring(e.tokenOffset,e.offset);if(this.fuzzyMatcher.match(o,r)){let s=e.textDocument.positionAt(e.tokenOffset),a=e.position;return{newText:n,range:{start:s,end:a}}}else return}};var fd=class extends Fa{constructor(e){super(e),this.documents=()=>e.shared.workspace.LangiumDocuments}completionFor(e,r,n){let i=tt(r.feature,je);if(i?.feature==="path")this.completeImportPath(e,n);else return super.completionFor(e,r,n)}completeImportPath(e,r){let i=e.textDocument.getText().substring(e.tokenOffset,e.offset),o=this.getAllFiles(e.document),s={start:e.position,end:e.position};if(i.length>0){let a=i.substring(1);o=o.filter(p=>p.startsWith(a));let c=e.textDocument.positionAt(e.tokenOffset+1),f=e.textDocument.positionAt(e.tokenEndOffset-1);s={start:c,end:f}}for(let a of o){let c=i.length>0?"":'"',f=`${c}${a}${c}`;r(e,{label:a,textEdit:{newText:f,range:s},kind:WS.CompletionItemKind.File,sortText:"0"})}}getAllFiles(e){let r=this.documents().all,n=e.uri.toString(),i=Fe.dirname(e.uri).toString(),o=[];for(let s of r)if(!Fe.equals(s.uri,n)){let a=s.uri.toString(),c=a.substring(0,a.length-Fe.extname(s.uri).length),f=Fe.relative(i,c);f.startsWith(".")||(f=`./${f}`),o.push(f)}return o}};var qu=Ie(Qe(),1);var ja=class{constructor(e){this.commentNames=e.parser.GrammarConfig.multilineCommentRules}getFoldingRanges(e){let r=[],n=i=>r.push(i);return this.collectFolding(e,n),r}collectFolding(e,r){var n;let i=(n=e.parseResult)===null||n===void 0?void 0:n.value;if(i){if(this.shouldProcessContent(i)){let o=St(i).iterator(),s;do if(s=o.next(),!s.done){let a=s.value;this.shouldProcess(a)&&this.collectObjectFolding(e,a,r),this.shouldProcessContent(a)||o.prune()}while(!s.done)}this.collectCommentFolding(e,i,r)}}shouldProcess(e){return!0}shouldProcessContent(e){return!0}collectObjectFolding(e,r,n){let i=r.$cstNode;if(i){let o=this.toFoldingRange(e,i);o&&n(o)}}collectCommentFolding(e,r,n){let i=r.$cstNode;if(i){for(let o of zx(i))if(this.commentNames.includes(o.tokenType.name)){let s=this.toFoldingRange(e,o,qu.FoldingRangeKind.Comment);s&&n(s)}}}toFoldingRange(e,r,n){let i=r.range,o=i.start,s=i.end;if(!(s.line-o.line<2))return this.includeLastFoldingLine(r,n)||(s=e.textDocument.positionAt(e.textDocument.offsetAt({line:s.line,character:0})-1)),qu.FoldingRange.create(o.line,s.line,o.character,s.character,n)}includeLastFoldingLine(e,r){if(r===qu.FoldingRangeKind.Comment)return!1;let n=e.text,i=n.charAt(n.length-1);return!(i==="}"||i===")"||i==="]")}};var dd=class extends ja{shouldProcessContent(e){return!ee(e)}};var pd=class{constructor(){this.collector=()=>{}}getNodeFormatter(e){return new By(e,this.collector)}formatDocument(e,r){let n=e.parseResult;return n.lexerErrors.length===0&&n.parserErrors.length===0?this.doDocumentFormat(e,r.options):[]}isFormatRangeErrorFree(e,r){let n=e.parseResult;return n.lexerErrors.length||n.parserErrors.length?Math.min(...n.lexerErrors.map(o=>{var s;return(s=o.line)!==null&&s!==void 0?s:Number.MAX_VALUE}),...n.parserErrors.map(o=>{var s;return(s=o.token.startLine)!==null&&s!==void 0?s:Number.MAX_VALUE}))>r.end.line:!0}formatDocumentRange(e,r){return this.isFormatRangeErrorFree(e,r.range)?this.doDocumentFormat(e,r.options,r.range):[]}formatDocumentOnType(e,r){let n={start:{character:0,line:r.position.line},end:r.position};return this.isFormatRangeErrorFree(e,n)?this.doDocumentFormat(e,r.options,n):[]}get formatOnTypeOptions(){}doDocumentFormat(e,r,n){let i=new Map,o=(a,c,f)=>{var p,m;let T=this.nodeModeToKey(a,c),_=i.get(T),E=(p=f.options.priority)!==null&&p!==void 0?p:0,N=(m=_?.options.priority)!==null&&m!==void 0?m:0;(!_||N<=E)&&i.set(T,f)};this.collector=o,this.iterateAstFormatting(e,n);let s=this.iterateCstFormatting(e,i,r,n);return this.avoidOverlappingEdits(e.textDocument,s)}avoidOverlappingEdits(e,r){let n=[];for(let i of r){let o=n[n.length-1];if(o){let s=e.offsetAt(i.range.start),a=e.offsetAt(o.range.end);s<a&&n.pop()}n.push(i)}return n}iterateAstFormatting(e,r){let n=e.parseResult.value;this.format(n);let i=St(n).iterator(),o;do if(o=i.next(),!o.done){let s=o.value;this.insideRange(s.$cstNode.range,r)?this.format(s):i.prune()}while(!o.done)}nodeModeToKey(e,r){return`${e.offset}:${e.end}:${r}`}insideRange(e,r){return!r||e.start.line<=r.start.line&&e.end.line>=r.end.line||e.start.line>=r.start.line&&e.end.line<=r.end.line||e.start.line<=r.end.line&&e.end.line>=r.end.line}isNecessary(e,r){return r.getText(e.range)!==e.newText}iterateCstFormatting(e,r,n,i){let o={indentation:0,options:n,document:e.textDocument},s=[],c=this.iterateCstTree(e,o).iterator(),f,p;do if(p=c.next(),!p.done){let m=p.value,T=Ss(m),_=this.nodeModeToKey(m,"prepend"),E=r.get(_);if(r.delete(_),E){let A=this.createTextEdit(f,m,E,o);for(let y of A)y&&this.insideRange(y.range,i)&&this.isNecessary(y,e.textDocument)&&s.push(y)}let N=this.nodeModeToKey(m,"append"),I=r.get(N);if(r.delete(N),I){let A=Yx(m);if(A){let y=this.createTextEdit(m,A,I,o);for(let h of y)h&&this.insideRange(h.range,i)&&this.isNecessary(h,e.textDocument)&&s.push(h)}}if(!E&&m.hidden){let A=this.createHiddenTextEdits(f,m,void 0,o);for(let y of A)y&&this.insideRange(y.range,i)&&this.isNecessary(y,e.textDocument)&&s.push(y)}T&&(f=m)}while(!p.done);return s}createHiddenTextEdits(e,r,n,i){var o;let s=r.range.start.line;if(e&&e.range.end.line===s)return[];let a=[],c={start:{character:0,line:s},end:r.range.start},f=i.document.getText(c),p=this.findFittingMove(c,(o=n?.moves)!==null&&o!==void 0?o:[],i),m=this.getExistingIndentationCharacterCount(f,i),_=this.getIndentationCharacterCount(i,p)-m;if(_===0)return[];let E="";_>0&&(E=(i.options.insertSpaces?" ":" ").repeat(_));let N=r.text.split(`
84
- `);N[0]=f+N[0];for(let I=0;I<N.length;I++){let A=s+I,y={character:0,line:A};if(_>0)a.push({newText:E,range:{start:y,end:y}});else{let h=N[I],C=0;for(;C<h.length;C++){let L=h.charAt(C);if(L!==" "&&L!==" ")break}a.push({newText:"",range:{start:y,end:{line:A,character:Math.min(C,Math.abs(_))}}})}}return a}getExistingIndentationCharacterCount(e,r){let n=" ".repeat(r.options.tabSize);return(r.options.insertSpaces?e.replaceAll(" ",n):e.replaceAll(n," ")).length}getIndentationCharacterCount(e,r){let n=e.indentation;return r&&r.tabs&&(n+=r.tabs),(e.options.insertSpaces?e.options.tabSize:1)*n}createTextEdit(e,r,n,i){var o;if(r.hidden)return this.createHiddenTextEdits(e,r,n,i);let s={start:(o=e?.range.end)!==null&&o!==void 0?o:{character:0,line:0},end:r.range.start},a=this.findFittingMove(s,n.moves,i);if(!a)return[];let c=a.characters,f=a.lines,p=a.tabs,m=i.indentation;i.indentation+=p??0;let T=[];return c!==void 0?T.push(this.createSpaceTextEdit(s,c,n.options)):f!==void 0?T.push(this.createLineTextEdit(s,f,i,n.options)):p!==void 0&&T.push(this.createTabTextEdit(s,!!e,i)),Ss(r)&&(i.indentation=m),T}createSpaceTextEdit(e,r,n){if(e.start.line===e.end.line){let o=e.end.character-e.start.character;r=this.fitIntoOptions(r,o,n)}return{newText:" ".repeat(r),range:e}}createLineTextEdit(e,r,n,i){let o=e.end.line-e.start.line;r=this.fitIntoOptions(r,o,i);let a=(n.options.insertSpaces?" ".repeat(n.options.tabSize):" ").repeat(n.indentation);return{newText:`${`
85
- `.repeat(r)}${a}`,range:e}}createTabTextEdit(e,r,n){let o=(n.options.insertSpaces?" ".repeat(n.options.tabSize):" ").repeat(n.indentation),s=r?1:0,a=Math.max(e.end.line-e.start.line,s);return{newText:`${`
86
- `.repeat(a)}${o}`,range:e}}fitIntoOptions(e,r,n){return n.allowMore?e=Math.max(r,e):n.allowLess&&(e=Math.min(r,e)),e}findFittingMove(e,r,n){if(r.length===0)return;if(r.length===1)return r[0];let i=e.end.line-e.start.line;for(let o of r){if(o.lines!==void 0&&i<=o.lines)return o;if(o.lines===void 0&&i===0)return o}return r[r.length-1]}iterateCstTree(e,r){let i=e.parseResult.value.$cstNode;return i?new qn(i,o=>this.iterateCst(o,r)):ma}iterateCst(e,r){if(!Pi(e))return ma;let n=r.indentation;return new _n(()=>({index:0}),i=>i.index<e.content.length?{done:!1,value:e.content[i.index++]}:(r.indentation=n,Zr))}},By=class{constructor(e,r){this.astNode=e,this.collector=r}node(e){return new di(e.$cstNode?[e.$cstNode]:[],this.collector)}nodes(...e){let r=[];for(let n of e)n.$cstNode&&r.push(n.$cstNode);return new di(r,this.collector)}property(e,r){let n=Pr(this.astNode.$cstNode,e,r);return new di(n?[n]:[],this.collector)}properties(...e){let r=[];for(let n of e){let i=jo(this.astNode.$cstNode,n);r.push(...i)}return new di(r,this.collector)}keyword(e,r){let n=Un(this.astNode.$cstNode,e,r);return new di(n?[n]:[],this.collector)}keywords(...e){let r=[];for(let n of e){let i=md(this.astNode.$cstNode,n);r.push(...i)}return new di(r,this.collector)}cst(e){return new di([...e],this.collector)}interior(e,r){let n=e.nodes,i=r.nodes;if(n.length!==1||i.length!==1)return new di([],this.collector);let o=n[0],s=i[0];if(o.offset>s.offset){let a=o;o=s,s=a}return new di(Jx(o,s),this.collector)}},di=class t{constructor(e,r){this.nodes=e,this.collector=r}prepend(e){for(let r of this.nodes)this.collector(r,"prepend",e);return this}append(e){for(let r of this.nodes)this.collector(r,"append",e);return this}surround(e){for(let r of this.nodes)this.collector(r,"prepend",e),this.collector(r,"append",e);return this}slice(e,r){return new t(this.nodes.slice(e,r),this.collector)}},Me;(function(t){function e(...p){return{options:{},moves:p.flatMap(m=>m.moves).sort(f)}}t.fit=e;function r(p){return i(0,p)}t.noSpace=r;function n(p){return i(1,p)}t.oneSpace=n;function i(p,m){return{options:m??{},moves:[{characters:p}]}}t.spaces=i;function o(p){return s(1,p)}t.newLine=o;function s(p,m){return{options:m??{},moves:[{lines:p}]}}t.newLines=s;function a(p){return{options:p??{},moves:[{tabs:1,lines:1}]}}t.indent=a;function c(p){return{options:p??{},moves:[{tabs:0}]}}t.noIndent=c;function f(p,m){var T,_,E,N,I,A;let y=(T=p.lines)!==null&&T!==void 0?T:0,h=(_=m.lines)!==null&&_!==void 0?_:0,C=(E=p.tabs)!==null&&E!==void 0?E:0,L=(N=m.tabs)!==null&&N!==void 0?N:0,J=(I=p.characters)!==null&&I!==void 0?I:0,fe=(A=m.characters)!==null&&A!==void 0?A:0;return y<h?-1:y>h?1:C<L?-1:C>L?1:J<fe?-1:J>fe?1:0}})(Me=Me||(Me={}));var hd=class extends pd{format(e){if(Dr(e))this.getNodeFormatter(e).properties("type","terminal").surround(Me.noSpace());else if(ee(e)){let r=this.getNodeFormatter(e);r.keywords("entry","fragment","returns").append(Me.oneSpace()),(e.inferredType||e.returnType||e.dataType)&&e.parameters.length===0?r.property("name").append(Me.oneSpace()):r.property("name").append(Me.noSpace()),r.properties("parameters").append(Me.noSpace()),r.keywords(",").append(Me.oneSpace()),r.keywords("<").append(Me.noSpace());let n=r.keyword(";"),i=r.keyword(":");i.prepend(Me.noSpace()),r.interior(i,n).prepend(Me.indent()),n.prepend(Me.fit(Me.noSpace(),Me.newLine())),r.node(e).prepend(Me.noIndent())}else if(Be(e)){let r=this.getNodeFormatter(e);e.type&&(r.property("name").append(Me.oneSpace()),r.keyword("returns").append(Me.oneSpace())),r.keywords("hidden","terminal","fragment").append(Me.oneSpace()),r.keyword(":").prepend(Me.noSpace()),r.keyword(";").prepend(Me.fit(Me.noSpace(),Me.newLine())),r.node(e).prepend(Me.noIndent())}else if(Ze(e)){let r=this.getNodeFormatter(e);r.keyword("{").append(Me.noSpace()),r.keywords(".","+=","=").surround(Me.noSpace()),r.keyword("}").prepend(Me.noSpace())}else if(ya(e))this.getNodeFormatter(e).keywords("infer","infers").append(Me.oneSpace());else if(je(e))this.getNodeFormatter(e).keywords("=","+=","?=").surround(Me.noSpace());else if(et(e)){let r=this.getNodeFormatter(e);r.keyword("<").surround(Me.noSpace()),r.keyword(",").append(Me.oneSpace()),r.properties("arguments").append(Me.noSpace())}ha(e)&&this.getNodeFormatter(e).property("cardinality").prepend(Me.noSpace())}};var yo=Ie(Qe(),1);var we=Ie(Qe(),1);var Vy={[we.SemanticTokenTypes.class]:0,[we.SemanticTokenTypes.comment]:1,[we.SemanticTokenTypes.enum]:2,[we.SemanticTokenTypes.enumMember]:3,[we.SemanticTokenTypes.event]:4,[we.SemanticTokenTypes.function]:5,[we.SemanticTokenTypes.interface]:6,[we.SemanticTokenTypes.keyword]:7,[we.SemanticTokenTypes.macro]:8,[we.SemanticTokenTypes.method]:9,[we.SemanticTokenTypes.modifier]:10,[we.SemanticTokenTypes.namespace]:11,[we.SemanticTokenTypes.number]:12,[we.SemanticTokenTypes.operator]:13,[we.SemanticTokenTypes.parameter]:14,[we.SemanticTokenTypes.property]:15,[we.SemanticTokenTypes.regexp]:16,[we.SemanticTokenTypes.string]:17,[we.SemanticTokenTypes.struct]:18,[we.SemanticTokenTypes.type]:19,[we.SemanticTokenTypes.typeParameter]:20,[we.SemanticTokenTypes.variable]:21},HS={[we.SemanticTokenModifiers.abstract]:1,[we.SemanticTokenModifiers.async]:2,[we.SemanticTokenModifiers.declaration]:4,[we.SemanticTokenModifiers.defaultLibrary]:8,[we.SemanticTokenModifiers.definition]:16,[we.SemanticTokenModifiers.deprecated]:32,[we.SemanticTokenModifiers.documentation]:64,[we.SemanticTokenModifiers.modification]:128,[we.SemanticTokenModifiers.readonly]:256,[we.SemanticTokenModifiers.static]:512},GS={legend:{tokenTypes:Object.keys(Vy),tokenModifiers:Object.keys(HS)},full:{delta:!0},range:!0},zy=class extends we.SemanticTokensBuilder{constructor(){super(...arguments),this._tokens=[]}push(e,r,n,i,o){this._tokens.push({line:e,char:r,length:n,tokenType:i,tokenModifiers:o})}build(){return this.applyTokens(),super.build()}buildEdits(){return this.applyTokens(),super.buildEdits()}applyTokens(){for(let e of this._tokens.sort(this.compareTokens))super.push(e.line,e.char,e.length,e.tokenType,e.tokenModifiers);this._tokens=[]}compareTokens(e,r){return e.line===r.line?e.char-r.char:e.line-r.line}},gd=class{constructor(e){this.tokensBuilders=new Map,e.shared.workspace.TextDocuments.onDidClose(r=>{this.tokensBuilders.delete(r.document.uri)}),e.shared.lsp.LanguageServer.onInitialize(r=>{var n;this.initialize((n=r.capabilities.textDocument)===null||n===void 0?void 0:n.semanticTokens)})}initialize(e){this.clientCapabilities=e}async semanticHighlight(e,r,n=we.CancellationToken.None){return this.currentRange=void 0,this.currentDocument=e,this.currentTokensBuilder=this.getDocumentTokensBuilder(e),await this.computeHighlighting(e,this.createAcceptor(),n),this.currentTokensBuilder.build()}async semanticHighlightRange(e,r,n=we.CancellationToken.None){return this.currentRange=r.range,this.currentDocument=e,this.currentTokensBuilder=this.getDocumentTokensBuilder(e),await this.computeHighlighting(e,this.createAcceptor(),n),this.currentTokensBuilder.build()}async semanticHighlightDelta(e,r,n=we.CancellationToken.None){return this.currentRange=void 0,this.currentDocument=e,this.currentTokensBuilder=this.getDocumentTokensBuilder(e),this.currentTokensBuilder.previousResult(r.previousResultId),await this.computeHighlighting(e,this.createAcceptor(),n),this.currentTokensBuilder.buildEdits()}createAcceptor(){return r=>{"line"in r?this.highlightToken({range:{start:{line:r.line,character:r.char},end:{line:r.line,character:r.char+r.length}},type:r.type,modifier:r.modifier}):"range"in r?this.highlightToken(r):"keyword"in r?this.highlightKeyword(r):"property"in r?this.highlightProperty(r):this.highlightNode({node:r.cst,type:r.type,modifier:r.modifier})}}getDocumentTokensBuilder(e){let r=this.tokensBuilders.get(e.uri.toString());if(r)return r;let n=new zy;return this.tokensBuilders.set(e.uri.toString(),n),n}async computeHighlighting(e,r,n){let i=e.parseResult.value,o=uo(i,{range:this.currentRange}).iterator(),s;do if(s=o.next(),!s.done){await kt(n);let a=s.value;this.highlightElement(a,r)==="prune"&&o.prune()}while(!s.done)}highlightToken(e){var r;let{range:n,type:i}=e,o=e.modifier;if(this.currentRange&&!Af(n,this.currentRange)||!this.currentDocument||!this.currentTokensBuilder)return;let s=Vy[i],a=0;if(o!==void 0){typeof o=="string"&&(o=[o]);for(let p of o){let m=HS[p];a|=m}}let c=n.start.line,f=n.end.line;if(c===f){let p=n.start.character,m=n.end.character-p;this.currentTokensBuilder.push(c,p,m,s,a)}else if(!((r=this.clientCapabilities)===null||r===void 0)&&r.multilineTokenSupport){let p=n.start.character,m=this.currentDocument.textDocument.offsetAt(n.start),T=this.currentDocument.textDocument.offsetAt(n.end);this.currentTokensBuilder.push(c,p,T-m,s,a)}else{let p=n.start,m=this.currentDocument.textDocument.offsetAt({line:c+1,character:0});this.currentTokensBuilder.push(p.line,p.character,m-p.character-1,s,a);for(let T=c+1;T<f;T++){let _=m;m=this.currentDocument.textDocument.offsetAt({line:T+1,character:0}),this.currentTokensBuilder.push(T,0,m-_-1,s,a)}this.currentTokensBuilder.push(f,0,n.end.character,s,a)}}highlightProperty(e){let r=[];if(typeof e.index=="number"){let o=Pr(e.node.$cstNode,e.property,e.index);o&&r.push(o)}else r.push(...jo(e.node.$cstNode,e.property));let{type:n,modifier:i}=e;for(let o of r)this.highlightNode({node:o,type:n,modifier:i})}highlightKeyword(e){let{node:r,keyword:n,type:i,index:o,modifier:s}=e,a=[];if(typeof o=="number"){let c=Un(r.$cstNode,n,o);c&&a.push(c)}else a.push(...md(r.$cstNode,n));for(let c of a)this.highlightNode({node:c,type:i,modifier:s})}highlightNode(e){let{node:r,type:n,modifier:i}=e,o=r.range;this.highlightToken({range:o,type:n,modifier:i})}},Ky;(function(t){function e(n,i){let o=new Map;Object.entries(Vy).forEach(([c,f])=>o.set(f,c));let s=0,a=0;return r(n.data,5).map(c=>{s+=c[0],c[0]!==0&&(a=0),a+=c[1];let f=c[2];return{offset:i.textDocument.offsetAt({line:s,character:a}),tokenType:o.get(c[3]),tokenModifiers:c[4],text:i.textDocument.getText({start:{line:s,character:a},end:{line:s,character:a+f}})}})}t.decode=e;function r(n,i){let o=[];for(let s=0;s<n.length;s+=i){let a=n.slice(s,s+i);o.push(a)}return o}})(Ky=Ky||(Ky={}));var yd=class extends gd{highlightElement(e,r){var n;je(e)?r({node:e,property:"feature",type:yo.SemanticTokenTypes.property}):Ze(e)?e.feature&&r({node:e,property:"feature",type:yo.SemanticTokenTypes.property}):Ta(e)?r({node:e,property:"name",type:yo.SemanticTokenTypes.type}):Hr(e)?(e.primitiveType||e.typeRef)&&r({node:e,property:e.primitiveType?"primitiveType":"typeRef",type:yo.SemanticTokenTypes.type}):p_(e)?r({node:e,property:"name",type:yo.SemanticTokenTypes.parameter}):va(e)?r({node:e,property:"parameter",type:yo.SemanticTokenTypes.parameter}):et(e)?!((n=e.rule.ref)===null||n===void 0)&&n.fragment&&r({node:e,property:"rule",type:yo.SemanticTokenTypes.type}):Lf(e)&&r({node:e,property:"name",type:yo.SemanticTokenTypes.property})}};var vd=class extends Sa{getName(e){return je(e)?e.feature:super.getName(e)}getNameNode(e){return je(e)?Pr(e.$cstNode,"feature"):super.getNameNode(e)}};var Ua=class{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator}findDeclaration(e){if(e){let r=Wa(e),n=e.astNode;if(r&&n){let i=n[r.feature];if(so(i))return i.ref;if(Array.isArray(i)){for(let o of i)if(so(o)&&o.$refNode&&o.$refNode.offset<=e.offset&&o.$refNode.end>=e.end)return o.ref}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||Vx(e,i)))return n}}}findDeclarationNode(e){let r=this.findDeclaration(e);if(r?.$cstNode){let n=this.nameProvider.getNameNode(r);return n??r.$cstNode}}findReferences(e,r){let n=[];if(r.includeDeclaration){let o=this.getReferenceToSelf(e);o&&n.push(o)}let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(o=>Fe.equals(o.sourceUri,r.documentUri))),n.push(...i),Ce(n)}getReferenceToSelf(e){let r=this.nameProvider.getNameNode(e);if(r){let n=ke(e),i=this.nodeLocator.getAstNodePath(e);return{sourceUri:n.uri,sourcePath:i,targetUri:n.uri,targetPath:i,segment:Wr(r),local:!0}}}};var Td=class extends Ua{constructor(e){super(e),this.documents=e.shared.workspace.LangiumDocuments}findDeclaration(e){let r=e.astNode,n=Wa(e);if(n&&n.feature==="feature"){if(je(r))return this.findAssignmentDeclaration(r);if(Ze(r))return this.findActionDeclaration(r)}return super.findDeclaration(e)}findReferences(e,r){var n;return Lf(e)?this.findReferencesToTypeAttribute(e,(n=r.includeDeclaration)!==null&&n!==void 0?n:!1):super.findReferences(e,r)}findReferencesToTypeAttribute(e,r){let n=[],i=tt(e,pn);if(i){if(r){let a=this.getReferenceToSelf(e);a&&n.push(a)}let o=Ty(i,this,this.documents,this.nodeLocator),s=[];o.forEach(a=>{let c=this.findRulesWithReturnType(a);s.push(...c)}),s.forEach(a=>{let c=this.createReferencesToAttribute(a,e);n.push(...c)})}return Ce(n)}createReferencesToAttribute(e,r){let n=[];if(ee(e)){let i=Pa(e.definition).find(o=>o.feature===r.name);if(i?.$cstNode){let o=this.nameProvider.getNameNode(i);o&&n.push({sourceUri:ke(i).uri,sourcePath:this.nodeLocator.getAstNodePath(i),targetUri:ke(r).uri,targetPath:this.nodeLocator.getAstNodePath(r),segment:Wr(o),local:Fe.equals(ke(i).uri,ke(r).uri)})}}else{if(e.feature===r.name){let o=Pr(e.$cstNode,"feature");o&&n.push({sourceUri:ke(e).uri,sourcePath:this.nodeLocator.getAstNodePath(e),targetUri:ke(r).uri,targetPath:this.nodeLocator.getAstNodePath(r),segment:Wr(o),local:Fe.equals(ke(e).uri,ke(r).uri)})}let i=tt(e,ee);n.push(...this.createReferencesToAttribute(i,r))}return n}findAssignmentDeclaration(e){var r;let n=tt(e,ee),i=Oy(e);if(i){let o=this.findActionDeclaration(i,e.feature);if(o)return o}if(!((r=n?.returnType)===null||r===void 0)&&r.ref&&(pn(n.returnType.ref)||vr(n.returnType.ref))){let o=ku(n.returnType.ref);for(let s of o){let a=s.attributes.find(c=>c.name===e.feature);if(a)return a}}return e}findActionDeclaration(e,r){var n;if(!((n=e.type)===null||n===void 0)&&n.ref){let i=r??e.feature,o=ku(e.type.ref);for(let s of o){let a=s.attributes.find(c=>c.name===i);if(a)return a}}}findRulesWithReturnType(e){let r=[];return this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)).forEach(i=>{let o=this.documents.getOrCreateDocument(i.sourceUri),s=this.nodeLocator.getAstNode(o.parseResult.value,i.sourcePath);(ee(s)||Ze(s))&&r.push(s)}),r}};var ju=Ie(Qe(),1);var BS=Ie(Qe(),1);var Rd=class{constructor(e){this.grammarConfig=e.parser.GrammarConfig,this.nameProvider=e.references.NameProvider,this.documents=e.shared.workspace.LangiumDocuments,this.references=e.references.References}prepareCallHierarchy(e,r){let n=e.parseResult.value,i=dr(n.$cstNode,e.textDocument.offsetAt(r.position),this.grammarConfig.nameRegexp);if(!i)return;let o=this.references.findDeclarationNode(i);if(o)return this.getCallHierarchyItems(o.astNode,e)}getCallHierarchyItems(e,r){let n=this.nameProvider.getNameNode(e),i=this.nameProvider.getName(e);if(!(!n||!e.$cstNode||i===void 0))return[Object.assign({kind:BS.SymbolKind.Method,name:i,range:e.$cstNode.range,selectionRange:n.range,uri:r.uri.toString()},this.getCallHierarchyItem(e))]}getCallHierarchyItem(e){}incomingCalls(e){let r=this.documents.getOrCreateDocument(Ar.parse(e.item.uri)),n=r.parseResult.value,i=dr(n.$cstNode,r.textDocument.offsetAt(e.item.range.start),this.grammarConfig.nameRegexp);if(!i)return;let o=this.references.findReferences(i.astNode,{includeDeclaration:!1});return this.getIncomingCalls(i.astNode,o)}outgoingCalls(e){let r=this.documents.getOrCreateDocument(Ar.parse(e.item.uri)),n=r.parseResult.value,i=dr(n.$cstNode,r.textDocument.offsetAt(e.item.range.start),this.grammarConfig.nameRegexp);if(i)return this.getOutgoingCalls(i.astNode)}};var KS=Ie(Qe(),1);var Ha=class{constructor(e){this.nameProvider=e.references.NameProvider,this.references=e.references.References,this.grammarConfig=e.parser.GrammarConfig}getDefinition(e,r){let n=e.parseResult.value;if(n.$cstNode){let i=n.$cstNode,o=dr(i,e.textDocument.offsetAt(r.position),this.grammarConfig.nameRegexp);if(o)return this.collectLocationLinks(o,r)}}collectLocationLinks(e,r){var n;let i=this.findLink(e);if(i)return[KS.LocationLink.create(i.targetDocument.textDocument.uri,((n=i.target.astNode.$cstNode)!==null&&n!==void 0?n:i.target).range,i.target.range,i.source.range)]}findLink(e){let r=this.references.findDeclarationNode(e);if(r?.astNode){let n=ke(r.astNode);if(r&&n)return{source:e,target:r,targetDocument:n}}}};var zS=Ie(Qe(),1);var bd=class{constructor(e){this.references=e.references.References,this.nameProvider=e.references.NameProvider,this.grammarConfig=e.parser.GrammarConfig}getDocumentHighlight(e,r){let n=e.parseResult.value.$cstNode;if(!n)return;let i=dr(n,e.textDocument.offsetAt(r.position),this.grammarConfig.nameRegexp);if(!i)return;let o=this.references.findDeclaration(i);if(o){let s=Fe.equals(ke(o).uri,e.uri),a={documentUri:e.uri,includeDeclaration:s};return this.references.findReferences(o,a).map(f=>this.createDocumentHighlight(f)).toArray()}}createDocumentHighlight(e){return zS.DocumentHighlight.create(e.segment.range)}};var xd=class{constructor(e){this.nameProvider=e.references.NameProvider,this.nodeKindProvider=e.shared.lsp.NodeKindProvider}getSymbols(e){return this.getSymbol(e,e.parseResult.value)}getSymbol(e,r){let n=r.$cstNode,i=this.nameProvider.getNameNode(r);if(i&&n){let o=this.nameProvider.getName(r);return[{kind:this.nodeKindProvider.getSymbolKind(r),name:o??i.text,range:n.range,selectionRange:i.range,children:this.getChildSymbols(e,r)}]}else return this.getChildSymbols(e,r)||[]}getChildSymbols(e,r){let n=[];for(let i of qo(r)){let o=this.getSymbol(e,i);n.push(...o)}if(n.length>0)return n}};var $M=Ie(Qe(),1);var _d=class{match(e,r){if(e.length===0)return!0;r=r.toLowerCase();let n=!1,i,o=0,s=r.length;for(let a=0;a<s;a++){let c=r.charCodeAt(a),f=e.charCodeAt(o);if((c===f||this.toUpperCharCode(c)===this.toUpperCharCode(f))&&(n||(n=i===void 0||this.isWordTransition(i,c)),n&&o++,o===e.length))return!0;i=c}return!1}isWordTransition(e,r){return VS<=e&&e<=XS&&FM<=r&&r<=qM||e===YS&&r!==YS}toUpperCharCode(e){return VS<=e&&e<=XS?e-32:e}},VS="a".charCodeAt(0),XS="z".charCodeAt(0),FM="A".charCodeAt(0),qM="Z".charCodeAt(0),YS="_".charCodeAt(0);var Xy=class{constructor(e){this.references=e.references.References,this.grammarConfig=e.parser.GrammarConfig}getHoverContent(e,r){var n,i;let o=(i=(n=e.parseResult)===null||n===void 0?void 0:n.value)===null||i===void 0?void 0:i.$cstNode;if(o){let s=e.textDocument.offsetAt(r.position),a=dr(o,s,this.grammarConfig.nameRegexp);if(a&&a.offset+a.length>s){let c=this.references.findDeclaration(a);if(c)return this.getAstNodeHoverContent(c)}}}},Sd=class extends Xy{constructor(e){super(e),this.documentationProvider=e.documentation.DocumentationProvider}getAstNodeHoverContent(e){let r=this.documentationProvider.getDocumentation(e);if(r)return{contents:{kind:"markdown",value:r}}}};var jM=Ie(Qe(),1);var UM=Ie(Qe(),1);var Gn=Ie(Qe(),1);var ft;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(ft=ft||(ft={}));var kd=class{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}fromTextDocument(e,r){return this.create(r??Ar.parse(e.uri),e)}fromString(e,r){return this.create(r,e)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r){if(r??(r=this.textDocuments.get(e.toString())),r??(r=this.getContentFromFileSystem(e)),typeof r=="string"){let n=this.parse(e,r);return this.createLangiumDocument(n,e,void 0,r)}else if("$model"in r){let n={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(n,e)}else{let n=this.parse(e,r.getText());return this.createLangiumDocument(n,e,r)}}createLangiumDocument(e,r,n,i){let o;if(n)o={parseResult:e,uri:r,state:ft.Parsed,references:[],textDocument:n};else{let s=this.createTextDocumentGetter(r,i);o={parseResult:e,uri:r,state:ft.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=o,o}update(e){let r=this.textDocuments.get(e.uri.toString()),n=r?r.getText():this.getContentFromFileSystem(e.uri);if(r)Object.defineProperty(e,"textDocument",{value:r});else{let i=this.createTextDocumentGetter(e.uri,n);Object.defineProperty(e,"textDocument",{get:i})}return e.parseResult=this.parse(e.uri,n),e.parseResult.value.$document=e,e}getContentFromFileSystem(e){return this.fileSystemProvider.readFileSync(e)}parse(e,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r)}createTextDocumentGetter(e,r){let n=this.serviceRegistry,i;return()=>i??(i=da.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},Cd=class{constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory}get all(){return Ce(this.documentMap.values())}addDocument(e){let r=e.uri.toString();if(this.documentMap.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentMap.set(r,e)}getOrCreateDocument(e){let r=e.toString(),n=this.documentMap.get(r);return n||(n=this.langiumDocumentFactory.create(e),this.documentMap.set(r,n),n)}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){let r=e.toString(),n=this.documentMap.get(r);return n&&(n.state=ft.Changed,n.precomputedScopes=void 0,n.references=[],n.diagnostics=void 0),n}deleteDocument(e){let r=e.toString(),n=this.documentMap.get(r);return n&&(n.state=ft.Changed,this.documentMap.delete(r)),n}};var WM=Ie(Qe(),1);function JS(t){let e=[],r=[];t.forEach(i=>{i?.triggerCharacters&&e.push(...i.triggerCharacters),i?.retriggerCharacters&&r.push(...i.retriggerCharacters)});let n={triggerCharacters:e.length>0?Array.from(new Set(e)).sort():void 0,retriggerCharacters:r.length>0?Array.from(new Set(r)).sort():void 0};return n.triggerCharacters?n:void 0}var wd=class{constructor(e){this.onInitializeEmitter=new Gn.Emitter,this.onInitializedEmitter=new Gn.Emitter,this.services=e}get onInitialize(){return this.onInitializeEmitter.event}get onInitialized(){return this.onInitializedEmitter.event}async initialize(e){return this.eagerLoadServices(),this.onInitializeEmitter.fire(e),this.onInitializeEmitter.dispose(),this.buildInitializeResult(e)}eagerLoadServices(){If(this.services),this.services.ServiceRegistry.all.forEach(e=>If(e))}hasService(e){return this.services.ServiceRegistry.all.some(r=>e(r)!==void 0)}buildInitializeResult(e){var r;let n=this.services.ServiceRegistry.all,i=this.hasService(V=>V.lsp.Formatter),o=n.map(V=>{var nt;return(nt=V.lsp.Formatter)===null||nt===void 0?void 0:nt.formatOnTypeOptions}).find(V=>!!V),s=this.hasService(V=>V.lsp.CodeActionProvider),a=this.hasService(V=>V.lsp.SemanticTokenProvider),c=(r=this.services.lsp.ExecuteCommandHandler)===null||r===void 0?void 0:r.commands,f=this.hasService(V=>V.lsp.DocumentLinkProvider),p=JS(n.map(V=>{var nt;return(nt=V.lsp.SignatureHelp)===null||nt===void 0?void 0:nt.signatureHelpOptions})),m=this.hasService(V=>V.lsp.TypeProvider),T=this.hasService(V=>V.lsp.ImplementationProvider),_=this.hasService(V=>V.lsp.CompletionProvider),E=US(n.map(V=>{var nt;return(nt=V.lsp.CompletionProvider)===null||nt===void 0?void 0:nt.completionOptions})),N=this.hasService(V=>V.lsp.ReferencesProvider),I=this.hasService(V=>V.lsp.DocumentSymbolProvider),A=this.hasService(V=>V.lsp.DefinitionProvider),y=this.hasService(V=>V.lsp.DocumentHighlightProvider),h=this.hasService(V=>V.lsp.FoldingRangeProvider),C=this.hasService(V=>V.lsp.HoverProvider),L=this.hasService(V=>V.lsp.RenameProvider),J=this.hasService(V=>V.lsp.CallHierarchyProvider),fe=this.hasService(V=>V.lsp.CodeLensProvider),Ae=this.hasService(V=>V.lsp.DeclarationProvider),Wt=this.hasService(V=>V.lsp.InlayHintProvider),Xe=this.services.lsp.WorkspaceSymbolProvider;return{capabilities:{workspace:{workspaceFolders:{supported:!0}},executeCommandProvider:c&&{commands:c},textDocumentSync:Gn.TextDocumentSyncKind.Incremental,completionProvider:_?E:void 0,referencesProvider:N,documentSymbolProvider:I,definitionProvider:A,typeDefinitionProvider:m,documentHighlightProvider:y,codeActionProvider:s,documentFormattingProvider:i,documentRangeFormattingProvider:i,documentOnTypeFormattingProvider:o,foldingRangeProvider:h,hoverProvider:C,renameProvider:L?{prepareProvider:!0}:void 0,semanticTokensProvider:a?GS:void 0,signatureHelpProvider:p,implementationProvider:T,callHierarchyProvider:J?{}:void 0,documentLinkProvider:f?{resolveProvider:!1}:void 0,codeLensProvider:fe?{resolveProvider:!1}:void 0,declarationProvider:Ae,inlayHintProvider:Wt?{resolveProvider:!1}:void 0,workspaceSymbolProvider:Xe?{resolveProvider:!!Xe.resolveSymbol}:void 0}}}async initialized(e){this.onInitializedEmitter.fire(e),this.onInitializedEmitter.dispose()}};function ZS(t){let e=t.lsp.Connection;if(!e)throw new Error("Starting a language server requires the languageServer.Connection service to be set.");HM(e,t),GM(e,t),BM(e,t),KM(e,t),VM(e,t),XM(e,t),YM(e,t),JM(e,t),ZM(e,t),t$(e,t),r$(e,t),zM(e,t),n$(e,t),e$(e,t),i$(e,t),o$(e,t),a$(e,t),u$(e,t),d$(e,t),l$(e,t),c$(e,t),s$(e,t),QM(e,t),f$(e,t),e.onInitialize(n=>t.lsp.LanguageServer.initialize(n)),e.onInitialized(n=>t.lsp.LanguageServer.initialized(n)),t.workspace.TextDocuments.listen(e),e.listen()}function HM(t,e){let r=e.workspace.DocumentBuilder,n=e.workspace.MutexLock;function i(s,a){n.lock(c=>r.update(s,a,c))}e.workspace.TextDocuments.onDidChangeContent(s=>{i([Ar.parse(s.document.uri)],[])}),t.onDidChangeWatchedFiles(s=>{let a=[],c=[];for(let f of s.changes){let p=Ar.parse(f.uri);f.type===Gn.FileChangeType.Deleted?c.push(p):a.push(p)}i(a,c)})}function GM(t,e){e.workspace.DocumentBuilder.onBuildPhase(ft.Validated,async(n,i)=>{for(let o of n)if(o.diagnostics&&t.sendDiagnostics({uri:o.uri.toString(),diagnostics:o.diagnostics}),i.isCancellationRequested)return})}function BM(t,e){t.onCompletion(Br((r,n,i,o)=>{var s;return(s=r.lsp.CompletionProvider)===null||s===void 0?void 0:s.getCompletion(n,i,o)},e))}function KM(t,e){t.onReferences(Br((r,n,i,o)=>{var s;return(s=r.lsp.ReferencesProvider)===null||s===void 0?void 0:s.findReferences(n,i,o)},e))}function zM(t,e){t.onCodeAction(Br((r,n,i,o)=>{var s;return(s=r.lsp.CodeActionProvider)===null||s===void 0?void 0:s.getCodeActions(n,i,o)},e))}function VM(t,e){t.onDocumentSymbol(Br((r,n,i,o)=>{var s;return(s=r.lsp.DocumentSymbolProvider)===null||s===void 0?void 0:s.getSymbols(n,i,o)},e))}function XM(t,e){t.onDefinition(Br((r,n,i,o)=>{var s;return(s=r.lsp.DefinitionProvider)===null||s===void 0?void 0:s.getDefinition(n,i,o)},e))}function YM(t,e){t.onTypeDefinition(Br((r,n,i,o)=>{var s;return(s=r.lsp.TypeProvider)===null||s===void 0?void 0:s.getTypeDefinition(n,i,o)},e))}function JM(t,e){t.onImplementation(Br((r,n,i,o)=>{var s;return(s=r.lsp.ImplementationProvider)===null||s===void 0?void 0:s.getImplementation(n,i,o)},e))}function QM(t,e){t.onDeclaration(Br((r,n,i,o)=>{var s;return(s=r.lsp.DeclarationProvider)===null||s===void 0?void 0:s.getDeclaration(n,i,o)},e))}function ZM(t,e){t.onDocumentHighlight(Br((r,n,i,o)=>{var s;return(s=r.lsp.DocumentHighlightProvider)===null||s===void 0?void 0:s.getDocumentHighlight(n,i,o)},e))}function e$(t,e){t.onHover(Br((r,n,i,o)=>{var s;return(s=r.lsp.HoverProvider)===null||s===void 0?void 0:s.getHoverContent(n,i,o)},e))}function t$(t,e){t.onFoldingRanges(Br((r,n,i,o)=>{var s;return(s=r.lsp.FoldingRangeProvider)===null||s===void 0?void 0:s.getFoldingRanges(n,i,o)},e))}function r$(t,e){t.onDocumentFormatting(Br((r,n,i,o)=>{var s;return(s=r.lsp.Formatter)===null||s===void 0?void 0:s.formatDocument(n,i,o)},e)),t.onDocumentRangeFormatting(Br((r,n,i,o)=>{var s;return(s=r.lsp.Formatter)===null||s===void 0?void 0:s.formatDocumentRange(n,i,o)},e)),t.onDocumentOnTypeFormatting(Br((r,n,i,o)=>{var s;return(s=r.lsp.Formatter)===null||s===void 0?void 0:s.formatDocumentOnType(n,i,o)},e))}function n$(t,e){t.onRenameRequest(Br((r,n,i,o)=>{var s;return(s=r.lsp.RenameProvider)===null||s===void 0?void 0:s.rename(n,i,o)},e)),t.onPrepareRename(Br((r,n,i,o)=>{var s;return(s=r.lsp.RenameProvider)===null||s===void 0?void 0:s.prepareRename(n,i,o)},e))}function i$(t,e){t.languages.inlayHint.on(Ho((r,n,i,o)=>{var s;return(s=r.lsp.InlayHintProvider)===null||s===void 0?void 0:s.getInlayHints(n,i,o)},e))}function o$(t,e){let r={data:[]};t.languages.semanticTokens.on(Ho((n,i,o,s)=>n.lsp.SemanticTokenProvider?n.lsp.SemanticTokenProvider.semanticHighlight(i,o,s):r,e)),t.languages.semanticTokens.onDelta(Ho((n,i,o,s)=>n.lsp.SemanticTokenProvider?n.lsp.SemanticTokenProvider.semanticHighlightDelta(i,o,s):r,e)),t.languages.semanticTokens.onRange(Ho((n,i,o,s)=>n.lsp.SemanticTokenProvider?n.lsp.SemanticTokenProvider.semanticHighlightRange(i,o,s):r,e))}function s$(t,e){t.onDidChangeConfiguration(r=>{r.settings&&e.workspace.ConfigurationProvider.updateConfiguration(r)})}function a$(t,e){let r=e.lsp.ExecuteCommandHandler;r&&t.onExecuteCommand(async(n,i)=>{var o;try{return await r.executeCommand(n.command,(o=n.arguments)!==null&&o!==void 0?o:[],i)}catch(s){return Ga(s)}})}function c$(t,e){t.onDocumentLinks(Ho((r,n,i,o)=>{var s;return(s=r.lsp.DocumentLinkProvider)===null||s===void 0?void 0:s.getDocumentLinks(n,i,o)},e))}function u$(t,e){t.onSignatureHelp(Ho((r,n,i,o)=>{var s;return(s=r.lsp.SignatureHelp)===null||s===void 0?void 0:s.provideSignatureHelp(n,i,o)},e))}function l$(t,e){t.onCodeLens(Ho((r,n,i,o)=>{var s;return(s=r.lsp.CodeLensProvider)===null||s===void 0?void 0:s.provideCodeLens(n,i,o)},e))}function f$(t,e){var r;let n=e.lsp.WorkspaceSymbolProvider;if(n){t.onWorkspaceSymbol(async(o,s)=>{try{return await n.getSymbols(o,s)}catch(a){return Ga(a)}});let i=(r=n.resolveSymbol)===null||r===void 0?void 0:r.bind(n);i&&t.onWorkspaceSymbolResolve(async(o,s)=>{try{return await i(o,s)}catch(a){return Ga(a)}})}}function d$(t,e){t.languages.callHierarchy.onPrepare(Ho((r,n,i,o)=>{var s;return r.lsp.CallHierarchyProvider&&(s=r.lsp.CallHierarchyProvider.prepareCallHierarchy(n,i,o))!==null&&s!==void 0?s:null},e)),t.languages.callHierarchy.onIncomingCalls(QS((r,n,i)=>{var o;return r.lsp.CallHierarchyProvider&&(o=r.lsp.CallHierarchyProvider.incomingCalls(n,i))!==null&&o!==void 0?o:null},e)),t.languages.callHierarchy.onOutgoingCalls(QS((r,n,i)=>{var o;return r.lsp.CallHierarchyProvider&&(o=r.lsp.CallHierarchyProvider.outgoingCalls(n,i))!==null&&o!==void 0?o:null},e))}function QS(t,e){let r=e.ServiceRegistry;return async(n,i)=>{let o=Ar.parse(n.item.uri),s=r.getServices(o);if(!s){let a=`Could not find service instance for uri: '${o.toString()}'`;throw console.error(a),new Error(a)}try{return await t(s,n,i)}catch(a){return Ga(a)}}}function Ho(t,e){let r=e.workspace.LangiumDocuments,n=e.ServiceRegistry;return async(i,o)=>{let s=Ar.parse(i.textDocument.uri),a=n.getServices(s);if(!a)throw console.error(`Could not find service instance for uri: '${s.toString()}'`),new Error;let c=r.getOrCreateDocument(s);if(!c)throw new Error;try{return await t(a,c,i,o)}catch(f){return Ga(f)}}}function Br(t,e){let r=e.workspace.LangiumDocuments,n=e.ServiceRegistry;return async(i,o)=>{let s=Ar.parse(i.textDocument.uri),a=n.getServices(s);if(!a)return console.error(`Could not find service instance for uri: '${s.toString()}'`),null;let c=r.getOrCreateDocument(s);if(!c)return null;try{return await t(a,c,i,o)}catch(f){return Ga(f)}}}function Ga(t){if(As(t))return new Gn.ResponseError(Gn.LSPErrorCodes.RequestCancelled,"The request has been cancelled.");if(t instanceof Gn.ResponseError)return t;throw t}var Ed=Ie(Qe(),1),Dd=class{getSymbolKind(){return Ed.SymbolKind.Field}getCompletionItemKind(){return Ed.CompletionItemKind.Reference}};var ek=Ie(Qe(),1);var Pd=class{constructor(e){this.nameProvider=e.references.NameProvider,this.references=e.references.References,this.grammarConfig=e.parser.GrammarConfig}findReferences(e,r){let n=e.parseResult.value.$cstNode;if(!n)return[];let i=dr(n,e.textDocument.offsetAt(r.position),this.grammarConfig.nameRegexp);return i?this.getReferences(i,r,e):[]}getReferences(e,r,n){let i=[],o=this.references.findDeclaration(e);if(o){let s={includeDeclaration:r.context.includeDeclaration};this.references.findReferences(o,s).forEach(a=>{i.push(ek.Location.create(a.sourceUri.toString(),a.segment.range))})}return i}};var tk=Ie(Qe(),1);var Ad=class{constructor(e){this.references=e.references.References,this.nameProvider=e.references.NameProvider,this.grammarConfig=e.parser.GrammarConfig}async rename(e,r){let n={},i=e.parseResult.value.$cstNode;if(!i)return;let o=e.textDocument.offsetAt(r.position),s=dr(i,o,this.grammarConfig.nameRegexp);if(!s)return;let a=this.references.findDeclaration(s);if(!a)return;let c={onlyLocal:!1,includeDeclaration:!0};return this.references.findReferences(a,c).forEach(p=>{let m=tk.TextEdit.replace(p.segment.range,r.newName),T=p.sourceUri.toString();n[T]?n[T].push(m):n[T]=[m]}),{changes:n}}prepareRename(e,r){return this.renameNodeRange(e,r.position)}renameNodeRange(e,r){let n=e.parseResult.value.$cstNode,i=e.textDocument.offsetAt(r);if(n&&i){let o=dr(n,i,this.grammarConfig.nameRegexp);if(!o)return;if(this.references.findDeclaration(o)||this.isNameNode(o))return o.range}}isNameNode(e){return e?.astNode&&Cu(e.astNode)&&e===this.nameProvider.getNameNode(e.astNode)}};var p$=Ie(Qe(),1);var rk=Ie(Qe(),1);var Nd=class{constructor(e){this.indexManager=e.workspace.IndexManager,this.nodeKindProvider=e.lsp.NodeKindProvider,this.fuzzyMatcher=e.lsp.FuzzyMatcher}async getSymbols(e,r=rk.CancellationToken.None){let n=[],i=e.query.toLowerCase();for(let o of this.indexManager.allElements())if(await kt(r),this.fuzzyMatcher.match(i,o.name)){let s=this.getWorkspaceSymbol(o);s&&n.push(s)}return n}getWorkspaceSymbol(e){let r=e.nameSegment;if(r)return{kind:this.nodeKindProvider.getSymbolKind(e),name:e.name,location:{range:r.range,uri:e.documentUri.toString()}}}};var Id=class extends Ha{constructor(e){super(e),this.documents=e.shared.workspace.LangiumDocuments}collectLocationLinks(e,r){var n,i,o,s,a,c;let f="path";if(Of(e.astNode)&&((n=Wa(e))===null||n===void 0?void 0:n.feature)===f){let p=ho(this.documents,e.astNode);if(p?.$document){let m=(i=this.findTargetObject(p))!==null&&i!==void 0?i:p,T=(s=(o=this.nameProvider.getNameNode(m))===null||o===void 0?void 0:o.range)!==null&&s!==void 0?s:ju.Range.create(0,0,0,0),_=(c=(a=m.$cstNode)===null||a===void 0?void 0:a.range)!==null&&c!==void 0?c:ju.Range.create(0,0,0,0);return[ju.LocationLink.create(p.$document.uri.toString(),_,T,e.range)]}return}return super.collectLocationLinks(e,r)}findTargetObject(e){return e.isDeclared?e:qo(e).head()}};var Yy=Ie(Qe(),1);var Od=class extends Rd{getIncomingCalls(e,r){if(!ee(e))return;let n=new Map;if(r.forEach(i=>{let s=this.documents.getOrCreateDocument(i.sourceUri).parseResult.value;if(!s.$cstNode)return;let a=dn(s.$cstNode,i.segment.offset);if(!a)return;let c=tt(a.astNode,ee);if(!c||!c.$cstNode)return;let f=this.nameProvider.getNameNode(c);if(!f)return;let p=i.sourceUri.toString(),m=p+"@"+f.text;n.has(m)?n.set(m,{parserRule:c.$cstNode,nameNode:f,targetNodes:[...n.get(m).targetNodes,a],docUri:p}):n.set(m,{parserRule:c.$cstNode,nameNode:f,targetNodes:[a],docUri:p})}),n.size!==0)return Array.from(n.values()).map(i=>({from:{kind:Yy.SymbolKind.Method,name:i.nameNode.text,range:i.parserRule.range,selectionRange:i.nameNode.range,uri:i.docUri},fromRanges:i.targetNodes.map(o=>o.range)}))}getOutgoingCalls(e){if(!ee(e))return;let r=St(e).filter(et).toArray(),n=new Map;if(r.forEach(i=>{var o;let s=i.$cstNode;if(!s)return;let a=(o=i.rule.ref)===null||o===void 0?void 0:o.$cstNode;if(!a)return;let c=this.nameProvider.getNameNode(a.astNode);if(!c)return;let f=ke(a.astNode).uri.toString(),p=f+"@"+c.text;n.has(p)?n.set(p,{refCstNode:a,to:c,from:[...n.get(p).from,s.range],docUri:f}):n.set(p,{refCstNode:a,to:c,from:[s.range],docUri:f})}),n.size!==0)return Array.from(n.values()).map(i=>({to:{kind:Yy.SymbolKind.Method,name:i.to.text,range:i.refCstNode.range,selectionRange:i.to.range,uri:i.docUri},fromRanges:i.from}))}};var Ld=class{constructor(e){this.documents=e.shared.workspace.LangiumDocuments}collectValidationResources(e){let r=LS(e,this.documents);return{typeToValidationInfo:this.collectValidationInfo(r),typeToSuperProperties:this.collectSuperProperties(r)}}collectValidationInfo({astResources:e,inferred:r,declared:n}){let i=new Map,o=m$(e);for(let a of Kf(r))i.set(a.name,{inferred:a,inferredNodes:o.get(a.name)});let s=Ce(e.interfaces).concat(e.types).reduce((a,c)=>a.set(c.name,c),new Map);for(let a of Kf(n)){let c=s.get(a.name);if(c){let f=i.get(a.name);i.set(a.name,Object.assign(Object.assign({},f??{}),{declared:a,declaredNode:c}))}}return i}collectSuperProperties({inferred:e,declared:r}){let n=new Map,i=Ry(e,r),o=new Map(i.map(s=>[s.name,s]));for(let s of Ry(e,r))n.set(s.name,this.addSuperProperties(s,o,new Set));return n}addSuperProperties(e,r,n){if(n.has(e.name))return[];n.add(e.name);let i=[...e.properties];for(let o of e.superTypes){let s=r.get(o.name);s&&i.push(...this.addSuperProperties(s,r,n))}return i}};function m$({parserRules:t,datatypeRules:e}){let r=new at;Ce(t).concat(e).forEach(i=>r.add(Is(i),i));function n(i){if(Ze(i)){let o=Na(i);o&&r.add(o,i)}(Sn(i)||Tr(i)||kn(i))&&i.elements.forEach(o=>n(o))}return t.forEach(i=>n(i.definition)),r}function nk(t){return t&&"declared"in t}function ik(t){return t&&"inferred"in t}function ok(t){return t&&"inferred"in t&&"declared"in t}function ak(t){let e=t.validation.ValidationRegistry,r=t.validation.LangiumGrammarTypesValidator,n={Action:[r.checkActionIsNotUnionType],Grammar:[r.checkDeclaredTypesConsistency,r.checkDeclaredAndInferredTypesConsistency],Interface:[r.checkCyclicInterface],Type:[r.checkCyclicType]};e.register(n,r)}var Md=class{checkCyclicType(e,r){Go(e,new Set)&&r("error",`Type alias '${e.name}' circularly references itself.`,{node:e,property:"name"})}checkCyclicInterface(e,r){Go(e,new Set)&&r("error",`Type '${e.name}' recursively references itself as a base type.`,{node:e,property:"name"})}checkDeclaredTypesConsistency(e,r){var n;let i=(n=e.$document)===null||n===void 0?void 0:n.validationResources;if(i){for(let o of i.typeToValidationInfo.values())if(nk(o)&&ui(o.declared)&&pn(o.declaredNode)){let s=o;g$(s,r),y$(s,r)}}}checkDeclaredAndInferredTypesConsistency(e,r){var n;let i=(n=e.$document)===null||n===void 0?void 0:n.validationResources;if(i)for(let o of i.typeToValidationInfo.values())ik(o)&&o.inferred instanceof _a&&h$(o.inferred,r),ok(o)&&R$(o,i,r)}checkActionIsNotUnionType(e,r){vr(e.type)&&r("error","Actions cannot create union types.",{node:e,property:"type"})}};function Go(t,e){var r;if(e.has(t))return!0;if(e.add(t),vr(t))return Go(t.type,e);if(pn(t))return t.superTypes.some(n=>n.ref&&Go(n.ref,e));if(Hr(t)){if(!((r=t.typeRef)===null||r===void 0)&&r.ref)return Go(t.typeRef.ref,e)}else{if(ws(t))return Go(t.referenceType,e);if(Cs(t))return Go(t.elementType,e);if(jn(t))return t.types.some(n=>Go(n,e))}return!1}function h$(t,e){t.properties.forEach(r=>{var n;let i=yy(r.type);if(i.length>1){let o=a=>lo(a)?"ref":"other",s=o(i[0]);if(i.slice(1).some(a=>o(a)!==s)){let a=(n=r.astNodes.values().next())===null||n===void 0?void 0:n.value;a&&e("error",`Mixing a cross-reference with other types is not supported. Consider splitting property "${r.name}" into two or more different properties.`,{node:a})}}})}function g$({declared:t,declaredNode:e},r){Array.from(t.superTypes).forEach((n,i)=>{n&&(ai(n)&&r("error","Interfaces cannot extend union types.",{node:e,property:"superTypes",index:i}),n.declared||r("error","Extending an inferred type is discouraged.",{node:e,property:"superTypes",index:i}))})}function y$({declared:t,declaredNode:e},r){let n=t.properties.reduce((s,a)=>s.add(a.name,a),new at);for(let[s,a]of n.entriesGroupedByKey())if(a.length>1)for(let c of a)r("error",`Cannot have two properties with the same name '${s}'.`,{node:Array.from(c.astNodes)[0],property:"name"});let i=Array.from(t.superTypes);for(let s=0;s<i.length;s++)for(let a=s+1;a<i.length;a++){let c=i[s],f=i[a],p=ui(c)?c.superProperties:[],m=ui(f)?f.superProperties:[],T=v$(p,m);T.length>0&&r("error",`Cannot simultaneously inherit from '${c}' and '${f}'. Their ${T.map(_=>"'"+_+"'").join(", ")} properties are not identical.`,{node:e,property:"name"})}let o=new Set;for(let s of i){let a=ui(s)?s.superProperties:[];for(let c of a)o.add(c.name)}for(let s of t.properties)if(o.has(s.name)){let a=e.attributes.find(c=>c.name===s.name);a&&r("error",`Cannot redeclare property '${s.name}'. It is already inherited from another interface.`,{node:a,property:"name"})}}function v$(t,e){let r=[];for(let n of t){let i=e.find(o=>o.name===n.name);i&&!T$(n,i)&&r.push(n.name)}return r}function T$(t,e){return Su(t.type,e.type)&&Su(e.type,t.type)}function R$(t,e,r){let{inferred:n,declared:i,declaredNode:o,inferredNodes:s}=t,a=i.name,c=m=>T=>s.forEach(_=>r("error",`${T}${m?` ${m}`:""}.`,_?.inferredType?{node:_?.inferredType,property:"name"}:{node:_,property:Ze(_)?"type":"name"})),f=(m,T)=>m.forEach(_=>r("error",T,{node:_,property:je(_)||Ze(_)?"feature":"name"})),p=m=>{s.forEach(T=>{ee(T)&&Pa(T.definition).find(E=>E.feature===m)===void 0&&r("error",`Property '${m}' is missing in a rule '${T.name}', but is required in type '${a}'.`,{node:T,property:"parameters"})})};if(ai(n)&&ai(i))b$(n.type,i.type,c(`in a rule that returns type '${a}'`));else if(ui(n)&&ui(i))x$(n,i,e,c(`in a rule that returns type '${a}'`),f,p);else{let m=`Inferred and declared versions of type '${a}' both have to be interfaces or unions.`;c()(m),r("error",m,{node:o,property:"name"})}}function b$(t,e,r){Su(t,e)||r(`Cannot assign type '${ci(t,"DeclaredType")}' to '${ci(e,"DeclaredType")}'`)}function sk(t){return t.optional||Gf(t.type)}function x$(t,e,r,n,i,o){let s=new Set(t.properties.map(m=>m.name)),a=new Map(t.allProperties.map(m=>[m.name,m])),c=new Map(e.superProperties.map(m=>[m.name,m])),f=m=>{if(pr(m))return{types:m.types.map(T=>f(T))};if(lo(m))return{referenceType:f(m.referenceType)};if(fo(m))return{elementType:f(m.elementType)};if(Cn(m)){let T=r.typeToValidationInfo.get(m.value.name);return T?{value:"declared"in T?T.declared:T.inferred}:m}return m};for(let[m,T]of a.entries()){let _=c.get(m);if(_){let E=ci(T.type,"DeclaredType"),N=ci(_.type,"DeclaredType");if(!Su(f(T.type),_.type)&&N!=="unknown"){let A=`The assigned type '${E}' is not compatible with the declared property '${m}' of type '${N}'.`;i(T.astNodes,A)}T.optional&&!sk(_)&&o(m)}else s.has(m)&&i(T.astNodes,`A property '${m}' is not expected.`)}let p=new Set;for(let[m,T]of c.entries())!a.get(m)&&!sk(T)&&p.add(m);if(p.size>0){let m=p.size>1?"Properties":"A property",T=p.size>1?"are expected":"is expected",_=Array.from(p).map(E=>`'${E}'`).sort().join(", ");n(`${m} ${_} ${T}.`)}}var _$={validation:{LangiumGrammarValidator:t=>new Zf(t),ValidationResourcesCollector:t=>new Ld(t),LangiumGrammarTypesValidator:()=>new Md},lsp:{FoldingRangeProvider:t=>new dd(t),CodeActionProvider:t=>new ad(t),SemanticTokenProvider:t=>new yd(t),Formatter:()=>new hd,DefinitionProvider:t=>new Id(t),CallHierarchyProvider:t=>new Od(t),CompletionProvider:t=>new fd(t)},references:{ScopeComputation:t=>new od(t),ScopeProvider:t=>new id(t),References:t=>new Td(t),NameProvider:()=>new vd}};function $d(t,e){let r=Nf(Qy(t),MS,e),n=Nf(Jy({shared:r}),$S,_$);return S$(r,n),r.ServiceRegistry.register(n),TS(n),ak(n),{shared:r,grammar:n}}function S$(t,e){t.workspace.DocumentBuilder.onBuildPhase(ft.IndexedReferences,async(n,i)=>{for(let o of n){await kt(i);let s=e.validation.ValidationResourcesCollector,a=o.parseResult.value;o.validationResources=s.collectValidationResources(a)}})}var Zy=class{readFile(){throw new Error("Method not implemented.")}readFileSync(){throw new Error("Method not implemented.")}async readDirectory(){return[]}},Fd={fileSystemProvider:()=>new Zy};function ld(t){return t.rules.find(e=>ee(e)&&e.entry)}function k$(t){return t.rules.filter(e=>Be(e)&&e.hidden)}function Ea(t,e){let r=new Set,n=ld(t);if(!n)return new Set(t.rules);let i=[n].concat(k$(t));for(let s of i)ck(s,r,e);let o=new Set;for(let s of t.rules)(r.has(s.name)||Be(s)&&s.hidden)&&o.add(s);return o}function ck(t,e,r){e.add(t.name),St(t).forEach(n=>{if(et(n)||r&&$f(n)){let i=n.rule.ref;i&&!e.has(i.name)&&ck(i,e,r)}})}function ud(t){if(t.terminal)return t.terminal;if(t.type.ref){let e=Lu(t.type.ref);return e?.terminal}}function uk(t){return t.hidden&&!Hn(t).test(" ")}function jo(t,e){return!t||!e?[]:ev(t,e,t.astNode,!0)}function Pr(t,e,r){if(!t||!e)return;let n=ev(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function ev(t,e,r,n){if(!n){let i=tt(t.grammarSource,je);if(i&&i.feature===e)return[t]}return Pi(t)&&t.astNode===r?t.content.flatMap(i=>ev(i,e,r,!1)):[]}function md(t,e){return t?lk(t,e,t?.astNode):[]}function Un(t,e,r){if(!t)return;let n=lk(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function lk(t,e,r){if(t.astNode!==r)return[];if(Ht(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=ny(t).iterator(),i,o=[];do if(i=n.next(),!i.done){let s=i.value;s.astNode===r?Ht(s.grammarSource)&&s.grammarSource.value===e&&o.push(s):n.prune()}while(!i.done);return o}function Wa(t){var e;let r=t.astNode;for(;r===((e=t.container)===null||e===void 0?void 0:e.astNode);){let n=tt(t.grammarSource,je);if(n)return n;t=t.container}}function Lu(t){return ya(t)&&(t=t.$container),fk(t,new Map)}function fk(t,e){var r;function n(i,o){let s;return tt(i,je)||(s=fk(o,e)),e.set(t,s),s}if(e.has(t))return e.get(t);e.set(t,void 0);for(let i of St(t)){if(je(i)&&i.feature.toLowerCase()==="name")return e.set(t,i),i;if(et(i)&&ee(i.rule.ref))return n(i,i.rule.ref);if(Hr(i)&&(!((r=i.typeRef)===null||r===void 0)&&r.ref))return n(i,i.typeRef.ref)}}function pS(t){var e;let r=$d(Fd).grammar,n=r.serializer.JsonSerializer.deserialize(t);return r.shared.workspace.LangiumDocumentFactory.fromModel(n,Ar.parse(`memory://${(e=n.name)!==null&&e!==void 0?e:"grammar"}.langium`)),n}function dk(t){let e=[],r=t.Grammar;for(let n of r.rules)Be(n)&&uk(n)&&cS(Hn(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:iy}}var C$=typeof global=="object"&&global&&global.Object===Object&&global,qd=C$;var w$=typeof self=="object"&&self&&self.Object===Object&&self,D$=qd||w$||Function("return this")(),nr=D$;var E$=nr.Symbol,Rr=E$;var pk=Object.prototype,P$=pk.hasOwnProperty,A$=pk.toString,Uu=Rr?Rr.toStringTag:void 0;function N$(t){var e=P$.call(t,Uu),r=t[Uu];try{t[Uu]=void 0;var n=!0}catch{}var i=A$.call(t);return n&&(e?t[Uu]=r:delete t[Uu]),i}var mk=N$;var I$=Object.prototype,O$=I$.toString;function L$(t){return O$.call(t)}var hk=L$;var M$="[object Null]",$$="[object Undefined]",gk=Rr?Rr.toStringTag:void 0;function F$(t){return t==null?t===void 0?$$:M$:gk&&gk in Object(t)?mk(t):hk(t)}var en=F$;function q$(t){return t!=null&&typeof t=="object"}var zt=q$;var j$="[object Symbol]";function U$(t){return typeof t=="symbol"||zt(t)&&en(t)==j$}var Oi=U$;function W$(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}var Li=W$;var H$=Array.isArray,oe=H$;var G$=1/0,yk=Rr?Rr.prototype:void 0,vk=yk?yk.toString:void 0;function Tk(t){if(typeof t=="string")return t;if(oe(t))return Li(t,Tk)+"";if(Oi(t))return vk?vk.call(t):"";var e=t+"";return e=="0"&&1/t==-G$?"-0":e}var Rk=Tk;var B$=/\s/;function K$(t){for(var e=t.length;e--&&B$.test(t.charAt(e)););return e}var bk=K$;var z$=/^\s+/;function V$(t){return t&&t.slice(0,bk(t)+1).replace(z$,"")}var xk=V$;function X$(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var Mt=X$;var _k=0/0,Y$=/^[-+]0x[0-9a-f]+$/i,J$=/^0b[01]+$/i,Q$=/^0o[0-7]+$/i,Z$=parseInt;function eF(t){if(typeof t=="number")return t;if(Oi(t))return _k;if(Mt(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Mt(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=xk(t);var r=J$.test(t);return r||Q$.test(t)?Z$(t.slice(2),r?2:8):Y$.test(t)?_k:+t}var Sk=eF;var kk=1/0,tF=17976931348623157e292;function rF(t){if(!t)return t===0?t:0;if(t=Sk(t),t===kk||t===-kk){var e=t<0?-1:1;return e*tF}return t===t?t:0}var Ck=rF;function nF(t){var e=Ck(t),r=e%1;return e===e?r?e-r:e:0}var Mi=nF;function iF(t){return t}var mn=iF;var oF="[object AsyncFunction]",sF="[object Function]",aF="[object GeneratorFunction]",cF="[object Proxy]";function uF(t){if(!Mt(t))return!1;var e=en(t);return e==sF||e==aF||e==oF||e==cF}var tn=uF;var lF=nr["__core-js_shared__"],jd=lF;var wk=function(){var t=/[^.]+$/.exec(jd&&jd.keys&&jd.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function fF(t){return!!wk&&wk in t}var Dk=fF;var dF=Function.prototype,pF=dF.toString;function mF(t){if(t!=null){try{return pF.call(t)}catch{}try{return t+""}catch{}}return""}var vo=mF;var hF=/[\\^$.*+?()[\]{}|]/g,gF=/^\[object .+?Constructor\]$/,yF=Function.prototype,vF=Object.prototype,TF=yF.toString,RF=vF.hasOwnProperty,bF=RegExp("^"+TF.call(RF).replace(hF,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function xF(t){if(!Mt(t)||Dk(t))return!1;var e=tn(t)?bF:gF;return e.test(vo(t))}var Ek=xF;function _F(t,e){return t?.[e]}var Pk=_F;function SF(t,e){var r=Pk(t,e);return Ek(r)?r:void 0}var hn=SF;var kF=hn(nr,"WeakMap"),Ud=kF;var Ak=Object.create,CF=function(){function t(){}return function(e){if(!Mt(e))return{};if(Ak)return Ak(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}(),Nk=CF;function wF(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}var Ik=wF;function DF(){}var $t=DF;function EF(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e}var Ok=EF;var PF=800,AF=16,NF=Date.now;function IF(t){var e=0,r=0;return function(){var n=NF(),i=AF-(n-r);if(r=n,i>0){if(++e>=PF)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var Lk=IF;function OF(t){return function(){return t}}var Mk=OF;var LF=function(){try{var t=hn(Object,"defineProperty");return t({},"",{}),t}catch{}}(),Ba=LF;var MF=Ba?function(t,e){return Ba(t,"toString",{configurable:!0,enumerable:!1,value:Mk(e),writable:!0})}:mn,$k=MF;var $F=Lk($k),Fk=$F;function FF(t,e){for(var r=-1,n=t==null?0:t.length;++r<n&&e(t[r],r,t)!==!1;);return t}var Wd=FF;function qF(t,e,r,n){for(var i=t.length,o=r+(n?1:-1);n?o--:++o<i;)if(e(t[o],o,t))return o;return-1}var Hd=qF;function jF(t){return t!==t}var qk=jF;function UF(t,e,r){for(var n=r-1,i=t.length;++n<i;)if(t[n]===e)return n;return-1}var jk=UF;function WF(t,e,r){return e===e?jk(t,e,r):Hd(t,qk,r)}var Ka=WF;function HF(t,e){var r=t==null?0:t.length;return!!r&&Ka(t,e,0)>-1}var Gd=HF;var GF=9007199254740991,BF=/^(?:0|[1-9]\d*)$/;function KF(t,e){var r=typeof t;return e=e??GF,!!e&&(r=="number"||r!="symbol"&&BF.test(t))&&t>-1&&t%1==0&&t<e}var Bo=KF;function zF(t,e,r){e=="__proto__"&&Ba?Ba(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var za=zF;function VF(t,e){return t===e||t!==t&&e!==e}var $i=VF;var XF=Object.prototype,YF=XF.hasOwnProperty;function JF(t,e,r){var n=t[e];(!(YF.call(t,e)&&$i(n,r))||r===void 0&&!(e in t))&&za(t,e,r)}var Ko=JF;function QF(t,e,r,n){var i=!r;r||(r={});for(var o=-1,s=e.length;++o<s;){var a=e[o],c=n?n(r[a],t[a],a,r,t):void 0;c===void 0&&(c=t[a]),i?za(r,a,c):Ko(r,a,c)}return r}var Fi=QF;var Uk=Math.max;function ZF(t,e,r){return e=Uk(e===void 0?t.length-1:e,0),function(){for(var n=arguments,i=-1,o=Uk(n.length-e,0),s=Array(o);++i<o;)s[i]=n[e+i];i=-1;for(var a=Array(e+1);++i<e;)a[i]=n[i];return a[e]=r(s),Ik(t,this,a)}}var Wk=ZF;function eq(t,e){return Fk(Wk(t,e,mn),t+"")}var Va=eq;var tq=9007199254740991;function rq(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=tq}var Xa=rq;function nq(t){return t!=null&&Xa(t.length)&&!tn(t)}var ir=nq;function iq(t,e,r){if(!Mt(r))return!1;var n=typeof e;return(n=="number"?ir(r)&&Bo(e,r.length):n=="string"&&e in r)?$i(r[e],t):!1}var zo=iq;function oq(t){return Va(function(e,r){var n=-1,i=r.length,o=i>1?r[i-1]:void 0,s=i>2?r[2]:void 0;for(o=t.length>3&&typeof o=="function"?(i--,o):void 0,s&&zo(r[0],r[1],s)&&(o=i<3?void 0:o,i=1),e=Object(e);++n<i;){var a=r[n];a&&t(e,a,n,o)}return e})}var Hk=oq;var sq=Object.prototype;function aq(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||sq;return t===r}var qi=aq;function cq(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}var Gk=cq;var uq="[object Arguments]";function lq(t){return zt(t)&&en(t)==uq}var tv=lq;var Bk=Object.prototype,fq=Bk.hasOwnProperty,dq=Bk.propertyIsEnumerable,pq=tv(function(){return arguments}())?tv:function(t){return zt(t)&&fq.call(t,"callee")&&!dq.call(t,"callee")},Vo=pq;function mq(){return!1}var Kk=mq;var Xk=typeof exports=="object"&&exports&&!exports.nodeType&&exports,zk=Xk&&typeof module=="object"&&module&&!module.nodeType&&module,hq=zk&&zk.exports===Xk,Vk=hq?nr.Buffer:void 0,gq=Vk?Vk.isBuffer:void 0,yq=gq||Kk,To=yq;var vq="[object Arguments]",Tq="[object Array]",Rq="[object Boolean]",bq="[object Date]",xq="[object Error]",_q="[object Function]",Sq="[object Map]",kq="[object Number]",Cq="[object Object]",wq="[object RegExp]",Dq="[object Set]",Eq="[object String]",Pq="[object WeakMap]",Aq="[object ArrayBuffer]",Nq="[object DataView]",Iq="[object Float32Array]",Oq="[object Float64Array]",Lq="[object Int8Array]",Mq="[object Int16Array]",$q="[object Int32Array]",Fq="[object Uint8Array]",qq="[object Uint8ClampedArray]",jq="[object Uint16Array]",Uq="[object Uint32Array]",xt={};xt[Iq]=xt[Oq]=xt[Lq]=xt[Mq]=xt[$q]=xt[Fq]=xt[qq]=xt[jq]=xt[Uq]=!0;xt[vq]=xt[Tq]=xt[Aq]=xt[Rq]=xt[Nq]=xt[bq]=xt[xq]=xt[_q]=xt[Sq]=xt[kq]=xt[Cq]=xt[wq]=xt[Dq]=xt[Eq]=xt[Pq]=!1;function Wq(t){return zt(t)&&Xa(t.length)&&!!xt[en(t)]}var Yk=Wq;function Hq(t){return function(e){return t(e)}}var ji=Hq;var Jk=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Wu=Jk&&typeof module=="object"&&module&&!module.nodeType&&module,Gq=Wu&&Wu.exports===Jk,rv=Gq&&qd.process,Bq=function(){try{var t=Wu&&Wu.require&&Wu.require("util").types;return t||rv&&rv.binding&&rv.binding("util")}catch{}}(),Bn=Bq;var Qk=Bn&&Bn.isTypedArray,Kq=Qk?ji(Qk):Yk,Ya=Kq;var zq=Object.prototype,Vq=zq.hasOwnProperty;function Xq(t,e){var r=oe(t),n=!r&&Vo(t),i=!r&&!n&&To(t),o=!r&&!n&&!i&&Ya(t),s=r||n||i||o,a=s?Gk(t.length,String):[],c=a.length;for(var f in t)(e||Vq.call(t,f))&&!(s&&(f=="length"||i&&(f=="offset"||f=="parent")||o&&(f=="buffer"||f=="byteLength"||f=="byteOffset")||Bo(f,c)))&&a.push(f);return a}var Bd=Xq;function Yq(t,e){return function(r){return t(e(r))}}var Kd=Yq;var Jq=Kd(Object.keys,Object),Zk=Jq;var Qq=Object.prototype,Zq=Qq.hasOwnProperty;function e1(t){if(!qi(t))return Zk(t);var e=[];for(var r in Object(t))Zq.call(t,r)&&r!="constructor"&&e.push(r);return e}var zd=e1;function t1(t){return ir(t)?Bd(t):zd(t)}var dt=t1;var r1=Object.prototype,n1=r1.hasOwnProperty,i1=Hk(function(t,e){if(qi(e)||ir(e)){Fi(e,dt(e),t);return}for(var r in e)n1.call(e,r)&&Ko(t,r,e[r])}),Nr=i1;function o1(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}var eC=o1;var s1=Object.prototype,a1=s1.hasOwnProperty;function c1(t){if(!Mt(t))return eC(t);var e=qi(t),r=[];for(var n in t)n=="constructor"&&(e||!a1.call(t,n))||r.push(n);return r}var tC=c1;function u1(t){return ir(t)?Bd(t,!0):tC(t)}var Xo=u1;var l1=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,f1=/^\w*$/;function d1(t,e){if(oe(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||Oi(t)?!0:f1.test(t)||!l1.test(t)||e!=null&&t in Object(e)}var Ja=d1;var p1=hn(Object,"create"),Ro=p1;function m1(){this.__data__=Ro?Ro(null):{},this.size=0}var rC=m1;function h1(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var nC=h1;var g1="__lodash_hash_undefined__",y1=Object.prototype,v1=y1.hasOwnProperty;function T1(t){var e=this.__data__;if(Ro){var r=e[t];return r===g1?void 0:r}return v1.call(e,t)?e[t]:void 0}var iC=T1;var R1=Object.prototype,b1=R1.hasOwnProperty;function x1(t){var e=this.__data__;return Ro?e[t]!==void 0:b1.call(e,t)}var oC=x1;var _1="__lodash_hash_undefined__";function S1(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Ro&&e===void 0?_1:e,this}var sC=S1;function Qa(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Qa.prototype.clear=rC;Qa.prototype.delete=nC;Qa.prototype.get=iC;Qa.prototype.has=oC;Qa.prototype.set=sC;var nv=Qa;function k1(){this.__data__=[],this.size=0}var aC=k1;function C1(t,e){for(var r=t.length;r--;)if($i(t[r][0],e))return r;return-1}var Yo=C1;var w1=Array.prototype,D1=w1.splice;function E1(t){var e=this.__data__,r=Yo(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():D1.call(e,r,1),--this.size,!0}var cC=E1;function P1(t){var e=this.__data__,r=Yo(e,t);return r<0?void 0:e[r][1]}var uC=P1;function A1(t){return Yo(this.__data__,t)>-1}var lC=A1;function N1(t,e){var r=this.__data__,n=Yo(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var fC=N1;function Za(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Za.prototype.clear=aC;Za.prototype.delete=cC;Za.prototype.get=uC;Za.prototype.has=lC;Za.prototype.set=fC;var Jo=Za;var I1=hn(nr,"Map"),Qo=I1;function O1(){this.size=0,this.__data__={hash:new nv,map:new(Qo||Jo),string:new nv}}var dC=O1;function L1(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var pC=L1;function M1(t,e){var r=t.__data__;return pC(e)?r[typeof e=="string"?"string":"hash"]:r.map}var Zo=M1;function $1(t){var e=Zo(this,t).delete(t);return this.size-=e?1:0,e}var mC=$1;function F1(t){return Zo(this,t).get(t)}var hC=F1;function q1(t){return Zo(this,t).has(t)}var gC=q1;function j1(t,e){var r=Zo(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}var yC=j1;function ec(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}ec.prototype.clear=dC;ec.prototype.delete=mC;ec.prototype.get=hC;ec.prototype.has=gC;ec.prototype.set=yC;var Ms=ec;var U1="Expected a function";function iv(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(U1);var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var s=t.apply(this,n);return r.cache=o.set(i,s)||o,s};return r.cache=new(iv.Cache||Ms),r}iv.Cache=Ms;var vC=iv;var W1=500;function H1(t){var e=vC(t,function(n){return r.size===W1&&r.clear(),n}),r=e.cache;return e}var TC=H1;var G1=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,B1=/\\(\\)?/g,K1=TC(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(G1,function(r,n,i,o){e.push(i?o.replace(B1,"$1"):n||r)}),e}),RC=K1;function z1(t){return t==null?"":Rk(t)}var bC=z1;function V1(t,e){return oe(t)?t:Ja(t,e)?[t]:RC(bC(t))}var es=V1;var X1=1/0;function Y1(t){if(typeof t=="string"||Oi(t))return t;var e=t+"";return e=="0"&&1/t==-X1?"-0":e}var Ui=Y1;function J1(t,e){e=es(e,t);for(var r=0,n=e.length;t!=null&&r<n;)t=t[Ui(e[r++])];return r&&r==n?t:void 0}var tc=J1;function Q1(t,e,r){var n=t==null?void 0:tc(t,e);return n===void 0?r:n}var xC=Q1;function Z1(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}var rc=Z1;var _C=Rr?Rr.isConcatSpreadable:void 0;function ej(t){return oe(t)||Vo(t)||!!(_C&&t&&t[_C])}var SC=ej;function kC(t,e,r,n,i){var o=-1,s=t.length;for(r||(r=SC),i||(i=[]);++o<s;){var a=t[o];e>0&&r(a)?e>1?kC(a,e-1,r,n,i):rc(i,a):n||(i[i.length]=a)}return i}var nc=kC;function tj(t){var e=t==null?0:t.length;return e?nc(t,1):[]}var Vt=tj;var rj=Kd(Object.getPrototypeOf,Object),Vd=rj;function nj(t,e,r){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),r=r>i?i:r,r<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var o=Array(i);++n<i;)o[n]=t[n+e];return o}var Xd=nj;function ij(t,e,r,n){var i=-1,o=t==null?0:t.length;for(n&&o&&(r=t[++i]);++i<o;)r=e(r,t[i],i,t);return r}var CC=ij;function oj(){this.__data__=new Jo,this.size=0}var wC=oj;function sj(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var DC=sj;function aj(t){return this.__data__.get(t)}var EC=aj;function cj(t){return this.__data__.has(t)}var PC=cj;var uj=200;function lj(t,e){var r=this.__data__;if(r instanceof Jo){var n=r.__data__;if(!Qo||n.length<uj-1)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new Ms(n)}return r.set(t,e),this.size=r.size,this}var AC=lj;function ic(t){var e=this.__data__=new Jo(t);this.size=e.size}ic.prototype.clear=wC;ic.prototype.delete=DC;ic.prototype.get=EC;ic.prototype.has=PC;ic.prototype.set=AC;var ts=ic;function fj(t,e){return t&&Fi(e,dt(e),t)}var NC=fj;function dj(t,e){return t&&Fi(e,Xo(e),t)}var IC=dj;var $C=typeof exports=="object"&&exports&&!exports.nodeType&&exports,OC=$C&&typeof module=="object"&&module&&!module.nodeType&&module,pj=OC&&OC.exports===$C,LC=pj?nr.Buffer:void 0,MC=LC?LC.allocUnsafe:void 0;function mj(t,e){if(e)return t.slice();var r=t.length,n=MC?MC(r):new t.constructor(r);return t.copy(n),n}var FC=mj;function hj(t,e){for(var r=-1,n=t==null?0:t.length,i=0,o=[];++r<n;){var s=t[r];e(s,r,t)&&(o[i++]=s)}return o}var oc=hj;function gj(){return[]}var Yd=gj;var yj=Object.prototype,vj=yj.propertyIsEnumerable,qC=Object.getOwnPropertySymbols,Tj=qC?function(t){return t==null?[]:(t=Object(t),oc(qC(t),function(e){return vj.call(t,e)}))}:Yd,sc=Tj;function Rj(t,e){return Fi(t,sc(t),e)}var jC=Rj;var bj=Object.getOwnPropertySymbols,xj=bj?function(t){for(var e=[];t;)rc(e,sc(t)),t=Vd(t);return e}:Yd,Jd=xj;function _j(t,e){return Fi(t,Jd(t),e)}var UC=_j;function Sj(t,e,r){var n=e(t);return oe(t)?n:rc(n,r(t))}var Qd=Sj;function kj(t){return Qd(t,dt,sc)}var Hu=kj;function Cj(t){return Qd(t,Xo,Jd)}var Zd=Cj;var wj=hn(nr,"DataView"),ep=wj;var Dj=hn(nr,"Promise"),tp=Dj;var Ej=hn(nr,"Set"),rs=Ej;var WC="[object Map]",Pj="[object Object]",HC="[object Promise]",GC="[object Set]",BC="[object WeakMap]",KC="[object DataView]",Aj=vo(ep),Nj=vo(Qo),Ij=vo(tp),Oj=vo(rs),Lj=vo(Ud),$s=en;(ep&&$s(new ep(new ArrayBuffer(1)))!=KC||Qo&&$s(new Qo)!=WC||tp&&$s(tp.resolve())!=HC||rs&&$s(new rs)!=GC||Ud&&$s(new Ud)!=BC)&&($s=function(t){var e=en(t),r=e==Pj?t.constructor:void 0,n=r?vo(r):"";if(n)switch(n){case Aj:return KC;case Nj:return WC;case Ij:return HC;case Oj:return GC;case Lj:return BC}return e});var pi=$s;var Mj=Object.prototype,$j=Mj.hasOwnProperty;function Fj(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&$j.call(t,"index")&&(r.index=t.index,r.input=t.input),r}var zC=Fj;var qj=nr.Uint8Array,ac=qj;function jj(t){var e=new t.constructor(t.byteLength);return new ac(e).set(new ac(t)),e}var cc=jj;function Uj(t,e){var r=e?cc(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var VC=Uj;var Wj=/\w*$/;function Hj(t){var e=new t.constructor(t.source,Wj.exec(t));return e.lastIndex=t.lastIndex,e}var XC=Hj;var YC=Rr?Rr.prototype:void 0,JC=YC?YC.valueOf:void 0;function Gj(t){return JC?Object(JC.call(t)):{}}var QC=Gj;function Bj(t,e){var r=e?cc(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var ZC=Bj;var Kj="[object Boolean]",zj="[object Date]",Vj="[object Map]",Xj="[object Number]",Yj="[object RegExp]",Jj="[object Set]",Qj="[object String]",Zj="[object Symbol]",eU="[object ArrayBuffer]",tU="[object DataView]",rU="[object Float32Array]",nU="[object Float64Array]",iU="[object Int8Array]",oU="[object Int16Array]",sU="[object Int32Array]",aU="[object Uint8Array]",cU="[object Uint8ClampedArray]",uU="[object Uint16Array]",lU="[object Uint32Array]";function fU(t,e,r){var n=t.constructor;switch(e){case eU:return cc(t);case Kj:case zj:return new n(+t);case tU:return VC(t,r);case rU:case nU:case iU:case oU:case sU:case aU:case cU:case uU:case lU:return ZC(t,r);case Vj:return new n;case Xj:case Qj:return new n(t);case Yj:return XC(t);case Jj:return new n;case Zj:return QC(t)}}var ew=fU;function dU(t){return typeof t.constructor=="function"&&!qi(t)?Nk(Vd(t)):{}}var tw=dU;var pU="[object Map]";function mU(t){return zt(t)&&pi(t)==pU}var rw=mU;var nw=Bn&&Bn.isMap,hU=nw?ji(nw):rw,iw=hU;var gU="[object Set]";function yU(t){return zt(t)&&pi(t)==gU}var ow=yU;var sw=Bn&&Bn.isSet,vU=sw?ji(sw):ow,aw=vU;var TU=1,RU=2,bU=4,cw="[object Arguments]",xU="[object Array]",_U="[object Boolean]",SU="[object Date]",kU="[object Error]",uw="[object Function]",CU="[object GeneratorFunction]",wU="[object Map]",DU="[object Number]",lw="[object Object]",EU="[object RegExp]",PU="[object Set]",AU="[object String]",NU="[object Symbol]",IU="[object WeakMap]",OU="[object ArrayBuffer]",LU="[object DataView]",MU="[object Float32Array]",$U="[object Float64Array]",FU="[object Int8Array]",qU="[object Int16Array]",jU="[object Int32Array]",UU="[object Uint8Array]",WU="[object Uint8ClampedArray]",HU="[object Uint16Array]",GU="[object Uint32Array]",pt={};pt[cw]=pt[xU]=pt[OU]=pt[LU]=pt[_U]=pt[SU]=pt[MU]=pt[$U]=pt[FU]=pt[qU]=pt[jU]=pt[wU]=pt[DU]=pt[lw]=pt[EU]=pt[PU]=pt[AU]=pt[NU]=pt[UU]=pt[WU]=pt[HU]=pt[GU]=!0;pt[kU]=pt[uw]=pt[IU]=!1;function rp(t,e,r,n,i,o){var s,a=e&TU,c=e&RU,f=e&bU;if(r&&(s=i?r(t,n,i,o):r(t)),s!==void 0)return s;if(!Mt(t))return t;var p=oe(t);if(p){if(s=zC(t),!a)return Ok(t,s)}else{var m=pi(t),T=m==uw||m==CU;if(To(t))return FC(t,a);if(m==lw||m==cw||T&&!i){if(s=c||T?{}:tw(t),!a)return c?UC(t,IC(s,t)):jC(t,NC(s,t))}else{if(!pt[m])return i?t:{};s=ew(t,m,a)}}o||(o=new ts);var _=o.get(t);if(_)return _;o.set(t,s),aw(t)?t.forEach(function(I){s.add(rp(I,e,r,I,t,o))}):iw(t)&&t.forEach(function(I,A){s.set(A,rp(I,e,r,A,t,o))});var E=f?c?Zd:Hu:c?Xo:dt,N=p?void 0:E(t);return Wd(N||t,function(I,A){N&&(A=I,I=t[A]),Ko(s,A,rp(I,e,r,A,t,o))}),s}var fw=rp;var BU=4;function KU(t){return fw(t,BU)}var mt=KU;function zU(t){for(var e=-1,r=t==null?0:t.length,n=0,i=[];++e<r;){var o=t[e];o&&(i[n++]=o)}return i}var Wi=zU;var VU="__lodash_hash_undefined__";function XU(t){return this.__data__.set(t,VU),this}var dw=XU;function YU(t){return this.__data__.has(t)}var pw=YU;function np(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new Ms;++e<r;)this.add(t[e])}np.prototype.add=np.prototype.push=dw;np.prototype.has=pw;var uc=np;function JU(t,e){for(var r=-1,n=t==null?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}var ip=JU;function QU(t,e){return t.has(e)}var lc=QU;var ZU=1,eW=2;function tW(t,e,r,n,i,o){var s=r&ZU,a=t.length,c=e.length;if(a!=c&&!(s&&c>a))return!1;var f=o.get(t),p=o.get(e);if(f&&p)return f==e&&p==t;var m=-1,T=!0,_=r&eW?new uc:void 0;for(o.set(t,e),o.set(e,t);++m<a;){var E=t[m],N=e[m];if(n)var I=s?n(N,E,m,e,t,o):n(E,N,m,t,e,o);if(I!==void 0){if(I)continue;T=!1;break}if(_){if(!ip(e,function(A,y){if(!lc(_,y)&&(E===A||i(E,A,r,n,o)))return _.push(y)})){T=!1;break}}else if(!(E===N||i(E,N,r,n,o))){T=!1;break}}return o.delete(t),o.delete(e),T}var op=tW;function rW(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}var mw=rW;function nW(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}var fc=nW;var iW=1,oW=2,sW="[object Boolean]",aW="[object Date]",cW="[object Error]",uW="[object Map]",lW="[object Number]",fW="[object RegExp]",dW="[object Set]",pW="[object String]",mW="[object Symbol]",hW="[object ArrayBuffer]",gW="[object DataView]",hw=Rr?Rr.prototype:void 0,ov=hw?hw.valueOf:void 0;function yW(t,e,r,n,i,o,s){switch(r){case gW:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case hW:return!(t.byteLength!=e.byteLength||!o(new ac(t),new ac(e)));case sW:case aW:case lW:return $i(+t,+e);case cW:return t.name==e.name&&t.message==e.message;case fW:case pW:return t==e+"";case uW:var a=mw;case dW:var c=n&iW;if(a||(a=fc),t.size!=e.size&&!c)return!1;var f=s.get(t);if(f)return f==e;n|=oW,s.set(t,e);var p=op(a(t),a(e),n,i,o,s);return s.delete(t),p;case mW:if(ov)return ov.call(t)==ov.call(e)}return!1}var gw=yW;var vW=1,TW=Object.prototype,RW=TW.hasOwnProperty;function bW(t,e,r,n,i,o){var s=r&vW,a=Hu(t),c=a.length,f=Hu(e),p=f.length;if(c!=p&&!s)return!1;for(var m=c;m--;){var T=a[m];if(!(s?T in e:RW.call(e,T)))return!1}var _=o.get(t),E=o.get(e);if(_&&E)return _==e&&E==t;var N=!0;o.set(t,e),o.set(e,t);for(var I=s;++m<c;){T=a[m];var A=t[T],y=e[T];if(n)var h=s?n(y,A,T,e,t,o):n(A,y,T,t,e,o);if(!(h===void 0?A===y||i(A,y,r,n,o):h)){N=!1;break}I||(I=T=="constructor")}if(N&&!I){var C=t.constructor,L=e.constructor;C!=L&&"constructor"in t&&"constructor"in e&&!(typeof C=="function"&&C instanceof C&&typeof L=="function"&&L instanceof L)&&(N=!1)}return o.delete(t),o.delete(e),N}var yw=bW;var xW=1,vw="[object Arguments]",Tw="[object Array]",sp="[object Object]",_W=Object.prototype,Rw=_W.hasOwnProperty;function SW(t,e,r,n,i,o){var s=oe(t),a=oe(e),c=s?Tw:pi(t),f=a?Tw:pi(e);c=c==vw?sp:c,f=f==vw?sp:f;var p=c==sp,m=f==sp,T=c==f;if(T&&To(t)){if(!To(e))return!1;s=!0,p=!1}if(T&&!p)return o||(o=new ts),s||Ya(t)?op(t,e,r,n,i,o):gw(t,e,c,r,n,i,o);if(!(r&xW)){var _=p&&Rw.call(t,"__wrapped__"),E=m&&Rw.call(e,"__wrapped__");if(_||E){var N=_?t.value():t,I=E?e.value():e;return o||(o=new ts),i(N,I,r,n,o)}}return T?(o||(o=new ts),yw(t,e,r,n,i,o)):!1}var bw=SW;function xw(t,e,r,n,i){return t===e?!0:t==null||e==null||!zt(t)&&!zt(e)?t!==t&&e!==e:bw(t,e,r,n,xw,i)}var ap=xw;var kW=1,CW=2;function wW(t,e,r,n){var i=r.length,o=i,s=!n;if(t==null)return!o;for(t=Object(t);i--;){var a=r[i];if(s&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++i<o;){a=r[i];var c=a[0],f=t[c],p=a[1];if(s&&a[2]){if(f===void 0&&!(c in t))return!1}else{var m=new ts;if(n)var T=n(f,p,c,t,e,m);if(!(T===void 0?ap(p,f,kW|CW,n,m):T))return!1}}return!0}var _w=wW;function DW(t){return t===t&&!Mt(t)}var cp=DW;function EW(t){for(var e=dt(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,cp(i)]}return e}var Sw=EW;function PW(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}var up=PW;function AW(t){var e=Sw(t);return e.length==1&&e[0][2]?up(e[0][0],e[0][1]):function(r){return r===t||_w(r,t,e)}}var kw=AW;function NW(t,e){return t!=null&&e in Object(t)}var Cw=NW;function IW(t,e,r){e=es(e,t);for(var n=-1,i=e.length,o=!1;++n<i;){var s=Ui(e[n]);if(!(o=t!=null&&r(t,s)))break;t=t[s]}return o||++n!=i?o:(i=t==null?0:t.length,!!i&&Xa(i)&&Bo(s,i)&&(oe(t)||Vo(t)))}var lp=IW;function OW(t,e){return t!=null&&lp(t,e,Cw)}var ww=OW;var LW=1,MW=2;function $W(t,e){return Ja(t)&&cp(e)?up(Ui(t),e):function(r){var n=xC(r,t);return n===void 0&&n===e?ww(r,t):ap(e,n,LW|MW)}}var Dw=$W;function FW(t){return function(e){return e?.[t]}}var Ew=FW;function qW(t){return function(e){return tc(e,t)}}var Pw=qW;function jW(t){return Ja(t)?Ew(Ui(t)):Pw(t)}var Aw=jW;function UW(t){return typeof t=="function"?t:t==null?mn:typeof t=="object"?oe(t)?Dw(t[0],t[1]):kw(t):Aw(t)}var Gt=UW;function WW(t,e,r,n){for(var i=-1,o=t==null?0:t.length;++i<o;){var s=t[i];e(n,s,r(s),t)}return n}var Nw=WW;function HW(t){return function(e,r,n){for(var i=-1,o=Object(e),s=n(e),a=s.length;a--;){var c=s[t?a:++i];if(r(o[c],c,o)===!1)break}return e}}var Iw=HW;var GW=Iw(),Ow=GW;function BW(t,e){return t&&Ow(t,e,dt)}var Lw=BW;function KW(t,e){return function(r,n){if(r==null)return r;if(!ir(r))return t(r,n);for(var i=r.length,o=e?i:-1,s=Object(r);(e?o--:++o<i)&&n(s[o],o,s)!==!1;);return r}}var Mw=KW;var zW=Mw(Lw),gn=zW;function VW(t,e,r,n){return gn(t,function(i,o,s){e(n,i,r(i),s)}),n}var $w=VW;function XW(t,e){return function(r,n){var i=oe(r)?Nw:$w,o=e?e():{};return i(r,t,Gt(n,2),o)}}var Fw=XW;var qw=Object.prototype,YW=qw.hasOwnProperty,JW=Va(function(t,e){t=Object(t);var r=-1,n=e.length,i=n>2?e[2]:void 0;for(i&&zo(e[0],e[1],i)&&(n=1);++r<n;)for(var o=e[r],s=Xo(o),a=-1,c=s.length;++a<c;){var f=s[a],p=t[f];(p===void 0||$i(p,qw[f])&&!YW.call(t,f))&&(t[f]=o[f])}return t}),dc=JW;function QW(t){return zt(t)&&ir(t)}var sv=QW;function ZW(t,e,r){for(var n=-1,i=t==null?0:t.length;++n<i;)if(r(e,t[n]))return!0;return!1}var fp=ZW;var eH=200;function tH(t,e,r,n){var i=-1,o=Gd,s=!0,a=t.length,c=[],f=e.length;if(!a)return c;r&&(e=Li(e,ji(r))),n?(o=fp,s=!1):e.length>=eH&&(o=lc,s=!1,e=new uc(e));e:for(;++i<a;){var p=t[i],m=r==null?p:r(p);if(p=n||p!==0?p:0,s&&m===m){for(var T=f;T--;)if(e[T]===m)continue e;c.push(p)}else o(e,m,n)||c.push(p)}return c}var jw=tH;var rH=Va(function(t,e){return sv(t)?jw(t,nc(e,1,sv,!0)):[]}),ns=rH;function nH(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}var Hi=nH;function iH(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:Mi(e),Xd(t,e<0?0:e,n)):[]}var Xt=iH;function oH(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:Mi(e),e=n-e,Xd(t,0,e<0?0:e)):[]}var bo=oH;function sH(t){return typeof t=="function"?t:mn}var Uw=sH;function aH(t,e){var r=oe(t)?Wd:gn;return r(t,Uw(e))}var Z=aH;function cH(t,e){for(var r=-1,n=t==null?0:t.length;++r<n;)if(!e(t[r],r,t))return!1;return!0}var Ww=cH;function uH(t,e){var r=!0;return gn(t,function(n,i,o){return r=!!e(n,i,o),r}),r}var Hw=uH;function lH(t,e,r){var n=oe(t)?Ww:Hw;return r&&zo(t,e,r)&&(e=void 0),n(t,Gt(e,3))}var Kr=lH;function fH(t,e){var r=[];return gn(t,function(n,i,o){e(n,i,o)&&r.push(n)}),r}var dp=fH;function dH(t,e){var r=oe(t)?oc:dp;return r(t,Gt(e,3))}var br=dH;function pH(t){return function(e,r,n){var i=Object(e);if(!ir(e)){var o=Gt(r,3);e=dt(e),r=function(a){return o(i[a],a,i)}}var s=t(e,r,n);return s>-1?i[o?e[s]:s]:void 0}}var Gw=pH;var mH=Math.max;function hH(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:Mi(r);return i<0&&(i=mH(n+i,0)),Hd(t,Gt(e,3),i)}var Bw=hH;var gH=Gw(Bw),Gi=gH;function yH(t){return t&&t.length?t[0]:void 0}var xr=yH;function vH(t,e){var r=-1,n=ir(t)?Array(t.length):[];return gn(t,function(i,o,s){n[++r]=e(i,o,s)}),n}var Kw=vH;function TH(t,e){var r=oe(t)?Li:Kw;return r(t,Gt(e,3))}var z=TH;function RH(t,e){return nc(z(t,e),1)}var Ir=RH;var bH=Object.prototype,xH=bH.hasOwnProperty,_H=Fw(function(t,e,r){xH.call(t,r)?t[r].push(e):za(t,r,[e])}),av=_H;var SH=Object.prototype,kH=SH.hasOwnProperty;function CH(t,e){return t!=null&&kH.call(t,e)}var zw=CH;function wH(t,e){return t!=null&&lp(t,e,zw)}var te=wH;var DH="[object String]";function EH(t){return typeof t=="string"||!oe(t)&&zt(t)&&en(t)==DH}var mr=EH;function PH(t,e){return Li(e,function(r){return t[r]})}var Vw=PH;function AH(t){return t==null?[]:Vw(t,dt(t))}var ot=AH;var NH=Math.max;function IH(t,e,r,n){t=ir(t)?t:ot(t),r=r&&!n?Mi(r):0;var i=t.length;return r<0&&(r=NH(i+r,0)),mr(t)?r<=i&&t.indexOf(e,r)>-1:!!i&&Ka(t,e,r)>-1}var Ct=IH;var OH=Math.max;function LH(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:Mi(r);return i<0&&(i=OH(n+i,0)),Ka(t,e,i)}var pp=LH;var MH="[object Map]",$H="[object Set]",FH=Object.prototype,qH=FH.hasOwnProperty;function jH(t){if(t==null)return!0;if(ir(t)&&(oe(t)||typeof t=="string"||typeof t.splice=="function"||To(t)||Ya(t)||Vo(t)))return!t.length;var e=pi(t);if(e==MH||e==$H)return!t.size;if(qi(t))return!zd(t).length;for(var r in t)if(qH.call(t,r))return!1;return!0}var De=jH;var UH="[object RegExp]";function WH(t){return zt(t)&&en(t)==UH}var Xw=WH;var Yw=Bn&&Bn.isRegExp,HH=Yw?ji(Yw):Xw,Kn=HH;function GH(t){return t===void 0}var zr=GH;function BH(t,e){return t<e}var Jw=BH;function KH(t,e,r){for(var n=-1,i=t.length;++n<i;){var o=t[n],s=e(o);if(s!=null&&(a===void 0?s===s&&!Oi(s):r(s,a)))var a=s,c=o}return c}var Qw=KH;function zH(t){return t&&t.length?Qw(t,mn,Jw):void 0}var Zw=zH;var VH="Expected a function";function XH(t){if(typeof t!="function")throw new TypeError(VH);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}var eD=XH;function YH(t,e,r,n){if(!Mt(t))return t;e=es(e,t);for(var i=-1,o=e.length,s=o-1,a=t;a!=null&&++i<o;){var c=Ui(e[i]),f=r;if(c==="__proto__"||c==="constructor"||c==="prototype")return t;if(i!=s){var p=a[c];f=n?n(p,c,a):void 0,f===void 0&&(f=Mt(p)?p:Bo(e[i+1])?[]:{})}Ko(a,c,f),a=a[c]}return t}var tD=YH;function JH(t,e,r){for(var n=-1,i=e.length,o={};++n<i;){var s=e[n],a=tc(t,s);r(a,s)&&tD(o,es(s,t),a)}return o}var rD=JH;function QH(t,e){if(t==null)return{};var r=Li(Zd(t),function(n){return[n]});return e=Gt(e),rD(t,r,function(n,i){return e(n,i[0])})}var yn=QH;function ZH(t,e,r,n,i){return i(t,function(o,s,a){r=n?(n=!1,o):e(r,o,s,a)}),r}var nD=ZH;function eG(t,e,r){var n=oe(t)?CC:nD,i=arguments.length<3;return n(t,Gt(e,4),r,i,gn)}var Ft=eG;function tG(t,e){var r=oe(t)?oc:dp;return r(t,eD(Gt(e,3)))}var is=tG;function rG(t,e){var r;return gn(t,function(n,i,o){return r=e(n,i,o),!r}),!!r}var iD=rG;function nG(t,e,r){var n=oe(t)?ip:iD;return r&&zo(t,e,r)&&(e=void 0),n(t,Gt(e,3))}var Gu=nG;var iG=1/0,oG=rs&&1/fc(new rs([,-0]))[1]==iG?function(t){return new rs(t)}:$t,oD=oG;var sG=200;function aG(t,e,r){var n=-1,i=Gd,o=t.length,s=!0,a=[],c=a;if(r)s=!1,i=fp;else if(o>=sG){var f=e?null:oD(t);if(f)return fc(f);s=!1,i=lc,c=new uc}else c=e?[]:a;e:for(;++n<o;){var p=t[n],m=e?e(p):p;if(p=r||p!==0?p:0,s&&m===m){for(var T=c.length;T--;)if(c[T]===m)continue e;e&&c.push(m),a.push(p)}else i(c,m,r)||(c!==a&&c.push(m),a.push(p))}return a}var mp=aG;function cG(t){return t&&t.length?mp(t):[]}var pc=cG;function uG(t,e){return t&&t.length?mp(t,Gt(e,2)):[]}var sD=uG;function mc(t){console&&console.error&&console.error(`Error: ${t}`)}function Bu(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function Ku(t){let e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}function zu(t){function e(){}e.prototype=t;let r=new e;function n(){return typeof r.bar}return n(),n(),t;(0,eval)(t)}function lG(t){return fG(t)?t.LABEL:t.name}function fG(t){return mr(t.LABEL)&&t.LABEL!==""}var An=class{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),Z(this.definition,r=>{r.accept(e)})}},ze=class extends An{constructor(e){super([]),this.idx=1,Nr(this,yn(e,r=>r!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},rn=class extends An{constructor(e){super(e.definition),this.orgText="",Nr(this,yn(e,r=>r!==void 0))}},ht=class extends An{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Nr(this,yn(e,r=>r!==void 0))}},Ve=class extends An{constructor(e){super(e.definition),this.idx=1,Nr(this,yn(e,r=>r!==void 0))}},gt=class extends An{constructor(e){super(e.definition),this.idx=1,Nr(this,yn(e,r=>r!==void 0))}},yt=class extends An{constructor(e){super(e.definition),this.idx=1,Nr(this,yn(e,r=>r!==void 0))}},Oe=class extends An{constructor(e){super(e.definition),this.idx=1,Nr(this,yn(e,r=>r!==void 0))}},ct=class extends An{constructor(e){super(e.definition),this.idx=1,Nr(this,yn(e,r=>r!==void 0))}},ut=class extends An{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Nr(this,yn(e,r=>r!==void 0))}},Ee=class{constructor(e){this.idx=1,Nr(this,yn(e,r=>r!==void 0))}accept(e){e.visit(this)}};function hp(t){return z(t,hc)}function hc(t){function e(r){return z(r,hc)}if(t instanceof ze){let r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return mr(t.label)&&(r.label=t.label),r}else{if(t instanceof ht)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Ve)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof gt)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof yt)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:hc(new Ee({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof ct)return{type:"RepetitionWithSeparator",idx:t.idx,separator:hc(new Ee({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Oe)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof ut)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof Ee){let r={type:"Terminal",name:t.terminalType.name,label:lG(t.terminalType),idx:t.idx};mr(t.label)&&(r.terminalLabel=t.label);let n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=Kn(n)?n.source:n),r}else{if(t instanceof rn)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}var nn=class{visit(e){let r=e;switch(r.constructor){case ze:return this.visitNonTerminal(r);case ht:return this.visitAlternative(r);case Ve:return this.visitOption(r);case gt:return this.visitRepetitionMandatory(r);case yt:return this.visitRepetitionMandatoryWithSeparator(r);case ct:return this.visitRepetitionWithSeparator(r);case Oe:return this.visitRepetition(r);case ut:return this.visitAlternation(r);case Ee:return this.visitTerminal(r);case rn:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}};function cv(t){return t instanceof ht||t instanceof Ve||t instanceof Oe||t instanceof gt||t instanceof yt||t instanceof ct||t instanceof Ee||t instanceof rn}function Fs(t,e=[]){return t instanceof Ve||t instanceof Oe||t instanceof ct?!0:t instanceof ut?Gu(t.definition,n=>Fs(n,e)):t instanceof ze&&Ct(e,t)?!1:t instanceof An?(t instanceof ze&&e.push(t),Kr(t.definition,n=>Fs(n,e))):!1}function uv(t){return t instanceof ut}function vn(t){if(t instanceof ze)return"SUBRULE";if(t instanceof Ve)return"OPTION";if(t instanceof ut)return"OR";if(t instanceof gt)return"AT_LEAST_ONE";if(t instanceof yt)return"AT_LEAST_ONE_SEP";if(t instanceof ct)return"MANY_SEP";if(t instanceof Oe)return"MANY";if(t instanceof Ee)return"CONSUME";throw Error("non exhaustive match")}var xo=class{walk(e,r=[]){Z(e.definition,(n,i)=>{let o=Xt(e.definition,i+1);if(n instanceof ze)this.walkProdRef(n,o,r);else if(n instanceof Ee)this.walkTerminal(n,o,r);else if(n instanceof ht)this.walkFlat(n,o,r);else if(n instanceof Ve)this.walkOption(n,o,r);else if(n instanceof gt)this.walkAtLeastOne(n,o,r);else if(n instanceof yt)this.walkAtLeastOneSep(n,o,r);else if(n instanceof ct)this.walkManySep(n,o,r);else if(n instanceof Oe)this.walkMany(n,o,r);else if(n instanceof ut)this.walkOr(n,o,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){let i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){let i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){let i=[new Ve({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){let i=aD(e,r,n);this.walk(e,i)}walkMany(e,r,n){let i=[new Ve({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){let i=aD(e,r,n);this.walk(e,i)}walkOr(e,r,n){let i=r.concat(n);Z(e.definition,o=>{let s=new ht({definition:[o]});this.walk(s,i)})}};function aD(t,e,r){return[new Ve({definition:[new Ee({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function qs(t){if(t instanceof ze)return qs(t.referencedRule);if(t instanceof Ee)return mG(t);if(cv(t))return dG(t);if(uv(t))return pG(t);throw Error("non exhaustive match")}function dG(t){let e=[],r=t.definition,n=0,i=r.length>n,o,s=!0;for(;i&&s;)o=r[n],s=Fs(o),e=e.concat(qs(o)),n=n+1,i=r.length>n;return pc(e)}function pG(t){let e=z(t.definition,r=>qs(r));return pc(Vt(e))}function mG(t){return[t.terminalType]}var gp="_~IN~_";var lv=class extends xo{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){let i=hG(e.referencedRule,e.idx)+this.topProd.name,o=r.concat(n),s=new ht({definition:o}),a=qs(s);this.follows[i]=a}};function cD(t){let e={};return Z(t,r=>{let n=new lv(r).startWalking();Nr(e,n)}),e}function hG(t,e){return t.name+e+gp}var yp={},gG=new Ps;function gc(t){let e=t.toString();if(yp.hasOwnProperty(e))return yp[e];{let r=gG.pattern(e);return yp[e]=r,r}}function uD(){yp={}}var fD="Complement Sets are not supported for first char optimization",Vu=`Unable to use "first char" lexer optimizations:
87
- `;function dD(t,e=!1){try{let r=gc(t);return fv(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===fD)e&&Bu(`${Vu} Unable to optimize: < ${t.toString()} >
88
- Complement Sets cannot be automatically optimized.
89
- This will disable the lexer's first char optimizations.
90
- See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=`
91
- This will disable the lexer's first char optimizations.
92
- See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),mc(`${Vu}
93
- Failed parsing: < ${t.toString()} >
94
- Using the @chevrotain/regexp-to-ast library
95
- Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function fv(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)fv(t.value[i],e,r);break;case"Alternative":let n=t.value;for(let i=0;i<n.length;i++){let o=n[i];switch(o.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}let s=o;switch(s.type){case"Character":vp(s.value,e,r);break;case"Set":if(s.complement===!0)throw Error(fD);Z(s.value,c=>{if(typeof c=="number")vp(c,e,r);else{let f=c;if(r===!0)for(let p=f.from;p<=f.to;p++)vp(p,e,r);else{for(let p=f.from;p<=f.to&&p<yc;p++)vp(p,e,r);if(f.to>=yc){let p=f.from>=yc?f.from:yc,m=f.to,T=Bi(p),_=Bi(m);for(let E=T;E<=_;E++)e[E]=E}}}});break;case"Group":fv(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}let a=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&dv(s)===!1||s.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return ot(e)}function vp(t,e,r){let n=Bi(t);e[n]=n,r===!0&&yG(t,e)}function yG(t,e){let r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){let i=Bi(n.charCodeAt(0));e[i]=i}else{let i=r.toLowerCase();if(i!==r){let o=Bi(i.charCodeAt(0));e[o]=o}}}function lD(t,e){return Gi(t.value,r=>{if(typeof r=="number")return Ct(e,r);{let n=r;return Gi(e,i=>n.from<=i&&i<=n.to)!==void 0}})}function dv(t){let e=t.quantifier;return e&&e.atLeast===0?!0:t.value?oe(t.value)?Kr(t.value,dv):dv(t.value):!1}var pv=class extends Ni{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return}super.visitChildren(e)}}visitCharacter(e){Ct(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?lD(e,this.targetCharCodes)===void 0&&(this.found=!0):lD(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};function Tp(t,e){if(e instanceof RegExp){let r=gc(e),n=new pv(t);return n.visit(r),n.found}else return Gi(e,r=>Ct(t,r.charCodeAt(0)))!==void 0}var js="PATTERN",vc="defaultMode",Rp="modes",hv=typeof new RegExp("(?:)").sticky=="boolean";function hD(t,e){e=dc(e,{useSticky:hv,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
96
- `],tracer:(y,h)=>h()});let r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{LG()});let n;r("Reject Lexer.NA",()=>{n=is(t,y=>y[js]===Bt.NA)});let i=!1,o;r("Transform Patterns",()=>{i=!1,o=z(n,y=>{let h=y[js];if(Kn(h)){let C=h.source;return C.length===1&&C!=="^"&&C!=="$"&&C!=="."&&!h.ignoreCase?C:C.length===2&&C[0]==="\\"&&!Ct(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],C[1])?C[1]:e.useSticky?mD(h):pD(h)}else{if(tn(h))return i=!0,{exec:h};if(typeof h=="object")return i=!0,h;if(typeof h=="string"){if(h.length===1)return h;{let C=h.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),L=new RegExp(C);return e.useSticky?mD(L):pD(L)}}else throw Error("non exhaustive match")}})});let s,a,c,f,p;r("misc mapping",()=>{s=z(n,y=>y.tokenTypeIdx),a=z(n,y=>{let h=y.GROUP;if(h!==Bt.SKIPPED){if(mr(h))return h;if(zr(h))return!1;throw Error("non exhaustive match")}}),c=z(n,y=>{let h=y.LONGER_ALT;if(h)return oe(h)?z(h,L=>pp(n,L)):[pp(n,h)]}),f=z(n,y=>y.PUSH_MODE),p=z(n,y=>te(y,"POP_MODE"))});let m;r("Line Terminator Handling",()=>{let y=_D(e.lineTerminatorCharacters);m=z(n,h=>!1),e.positionTracking!=="onlyOffset"&&(m=z(n,h=>te(h,"LINE_BREAKS")?!!h.LINE_BREAKS:xD(h,y)===!1&&Tp(y,h.PATTERN)))});let T,_,E,N;r("Misc Mapping #2",()=>{T=z(n,RD),_=z(o,IG),E=Ft(n,(y,h)=>{let C=h.GROUP;return mr(C)&&C!==Bt.SKIPPED&&(y[C]=[]),y},{}),N=z(o,(y,h)=>({pattern:o[h],longerAlt:c[h],canLineTerminator:m[h],isCustom:T[h],short:_[h],group:a[h],push:f[h],pop:p[h],tokenTypeIdx:s[h],tokenType:n[h]}))});let I=!0,A=[];return e.safeMode||r("First Char Optimization",()=>{A=Ft(n,(y,h,C)=>{if(typeof h.PATTERN=="string"){let L=h.PATTERN.charCodeAt(0),J=Bi(L);mv(y,J,N[C])}else if(oe(h.START_CHARS_HINT)){let L;Z(h.START_CHARS_HINT,J=>{let fe=typeof J=="string"?J.charCodeAt(0):J,Ae=Bi(fe);L!==Ae&&(L=Ae,mv(y,Ae,N[C]))})}else if(Kn(h.PATTERN))if(h.PATTERN.unicode)I=!1,e.ensureOptimizations&&mc(`${Vu} Unable to analyze < ${h.PATTERN.toString()} > pattern.
97
- The regexp unicode flag is not currently supported by the regexp-to-ast library.
98
- This will disable the lexer's first char optimizations.
99
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let L=dD(h.PATTERN,e.ensureOptimizations);De(L)&&(I=!1),Z(L,J=>{mv(y,J,N[C])})}else e.ensureOptimizations&&mc(`${Vu} TokenType: <${h.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
100
- This will disable the lexer's first char optimizations.
101
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),I=!1;return y},[])}),{emptyGroups:E,patternIdxToConfig:N,charCodeToPatternIdxToConfig:A,hasCustom:i,canBeOptimized:I}}function gD(t,e){let r=[],n=TG(t);r=r.concat(n.errors);let i=RG(n.valid),o=i.valid;return r=r.concat(i.errors),r=r.concat(vG(o)),r=r.concat(DG(o)),r=r.concat(EG(o,e)),r=r.concat(PG(o)),r}function vG(t){let e=[],r=br(t,n=>Kn(n[js]));return e=e.concat(xG(r)),e=e.concat(kG(r)),e=e.concat(CG(r)),e=e.concat(wG(r)),e=e.concat(_G(r)),e}function TG(t){let e=br(t,i=>!te(i,js)),r=z(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:wt.MISSING_PATTERN,tokenTypes:[i]})),n=ns(t,e);return{errors:r,valid:n}}function RG(t){let e=br(t,i=>{let o=i[js];return!Kn(o)&&!tn(o)&&!te(o,"exec")&&!mr(o)}),r=z(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:wt.INVALID_PATTERN,tokenTypes:[i]})),n=ns(t,e);return{errors:r,valid:n}}var bG=/[^\\][$]/;function xG(t){class e extends Ni{constructor(){super(...arguments),this.found=!1}visitEndAnchor(o){this.found=!0}}let r=br(t,i=>{let o=i.PATTERN;try{let s=gc(o),a=new e;return a.visit(s),a.found}catch{return bG.test(o.source)}});return z(r,i=>({message:`Unexpected RegExp Anchor Error:
102
- Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
103
- See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:wt.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function _G(t){let e=br(t,n=>n.PATTERN.test(""));return z(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:wt.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}var SG=/[^\\[][\^]|^\^/;function kG(t){class e extends Ni{constructor(){super(...arguments),this.found=!1}visitStartAnchor(o){this.found=!0}}let r=br(t,i=>{let o=i.PATTERN;try{let s=gc(o),a=new e;return a.visit(s),a.found}catch{return SG.test(o.source)}});return z(r,i=>({message:`Unexpected RegExp Anchor Error:
104
- Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
105
- See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:wt.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function CG(t){let e=br(t,n=>{let i=n[js];return i instanceof RegExp&&(i.multiline||i.global)});return z(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:wt.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function wG(t){let e=[],r=z(t,o=>Ft(t,(s,a)=>(o.PATTERN.source===a.PATTERN.source&&!Ct(e,a)&&a.PATTERN!==Bt.NA&&(e.push(a),s.push(a)),s),[]));r=Wi(r);let n=br(r,o=>o.length>1);return z(n,o=>{let s=z(o,c=>c.name);return{message:`The same RegExp pattern ->${xr(o).PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:wt.DUPLICATE_PATTERNS_FOUND,tokenTypes:o}})}function DG(t){let e=br(t,n=>{if(!te(n,"GROUP"))return!1;let i=n.GROUP;return i!==Bt.SKIPPED&&i!==Bt.NA&&!mr(i)});return z(e,n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:wt.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function EG(t,e){let r=br(t,i=>i.PUSH_MODE!==void 0&&!Ct(e,i.PUSH_MODE));return z(r,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:wt.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function PG(t){let e=[],r=Ft(t,(n,i,o)=>{let s=i.PATTERN;return s===Bt.NA||(mr(s)?n.push({str:s,idx:o,tokenType:i}):Kn(s)&&NG(s)&&n.push({str:s.source,idx:o,tokenType:i})),n},[]);return Z(t,(n,i)=>{Z(r,({str:o,idx:s,tokenType:a})=>{if(i<s&&AG(o,n.PATTERN)){let c=`Token: ->${a.name}<- can never be matched.
106
- Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition.
107
- See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:wt.UNREACHABLE_PATTERN,tokenTypes:[n,a]})}})}),e}function AG(t,e){if(Kn(e)){let r=e.exec(t);return r!==null&&r.index===0}else{if(tn(e))return e(t,0,[],{});if(te(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function NG(t){return Gi([".","\\","[","]","|","^","$","(",")","?","*","+","{"],r=>t.source.indexOf(r)!==-1)===void 0}function pD(t){let e=t.ignoreCase?"i":"";return new RegExp(`^(?:${t.source})`,e)}function mD(t){let e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function yD(t,e,r){let n=[];return te(t,vc)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+vc+`> property in its definition
108
- `,type:wt.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),te(t,Rp)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Rp+`> property in its definition
109
- `,type:wt.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),te(t,Rp)&&te(t,vc)&&!te(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${vc}: <${t.defaultMode}>which does not exist
110
- `,type:wt.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),te(t,Rp)&&Z(t.modes,(i,o)=>{Z(i,(s,a)=>{if(zr(s))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${o}> at index: <${a}>
111
- `,type:wt.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(te(s,"LONGER_ALT")){let c=oe(s.LONGER_ALT)?s.LONGER_ALT:[s.LONGER_ALT];Z(c,f=>{!zr(f)&&!Ct(i,f)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${f.name}> on token <${s.name}> outside of mode <${o}>
112
- `,type:wt.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}function vD(t,e,r){let n=[],i=!1,o=Wi(Vt(ot(t.modes))),s=is(o,c=>c[js]===Bt.NA),a=_D(r);return e&&Z(s,c=>{let f=xD(c,a);if(f!==!1){let m={message:OG(c,f),type:f.issue,tokenType:c};n.push(m)}else te(c,"LINE_BREAKS")?c.LINE_BREAKS===!0&&(i=!0):Tp(a,c.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found.
113
- This Lexer has been defined to track line and column information,
114
- But none of the Token Types can be identified as matching a line terminator.
115
- See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
116
- for details.`,type:wt.NO_LINE_BREAKS_FLAGS}),n}function TD(t){let e={},r=dt(t);return Z(r,n=>{let i=t[n];if(oe(i))e[n]=[];else throw Error("non exhaustive match")}),e}function RD(t){let e=t.PATTERN;if(Kn(e))return!1;if(tn(e))return!0;if(te(e,"exec"))return!0;if(mr(e))return!1;throw Error("non exhaustive match")}function IG(t){return mr(t)&&t.length===1?t.charCodeAt(0):!1}var bD={test:function(t){let e=t.length;for(let r=this.lastIndex;r<e;r++){let n=t.charCodeAt(r);if(n===10)return this.lastIndex=r+1,!0;if(n===13)return t.charCodeAt(r+1)===10?this.lastIndex=r+2:this.lastIndex=r+1,!0}return!1},lastIndex:0};function xD(t,e){if(te(t,"LINE_BREAKS"))return!1;if(Kn(t.PATTERN)){try{Tp(e,t.PATTERN)}catch(r){return{issue:wt.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(mr(t.PATTERN))return!1;if(RD(t))return{issue:wt.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function OG(t,e){if(e.issue===wt.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
117
- The problem is in the <${t.name}> Token Type
118
- Root cause: ${e.errMsg}.
119
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===wt.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
120
- The problem is in the <${t.name}> Token Type
121
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function _D(t){return z(t,r=>mr(r)?r.charCodeAt(0):r)}function mv(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}var yc=256,bp=[];function Bi(t){return t<yc?t:bp[t]}function LG(){if(De(bp)){bp=new Array(65536);for(let t=0;t<65536;t++)bp[t]=t>255?255+~~(t/255):t}}function _o(t,e){let r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}function Tc(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}var SD=1,CD={};function So(t){let e=MG(t);$G(e),qG(e),FG(e),Z(e,r=>{r.isParent=r.categoryMatches.length>0})}function MG(t){let e=mt(t),r=t,n=!0;for(;n;){r=Wi(Vt(z(r,o=>o.CATEGORIES)));let i=ns(r,e);e=e.concat(i),De(i)?n=!1:r=i}return e}function $G(t){Z(t,e=>{gv(e)||(CD[SD]=e,e.tokenTypeIdx=SD++),kD(e)&&!oe(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),kD(e)||(e.CATEGORIES=[]),jG(e)||(e.categoryMatches=[]),UG(e)||(e.categoryMatchesMap={})})}function FG(t){Z(t,e=>{e.categoryMatches=[],Z(e.categoryMatchesMap,(r,n)=>{e.categoryMatches.push(CD[n].tokenTypeIdx)})})}function qG(t){Z(t,e=>{wD([],e)})}function wD(t,e){Z(t,r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),Z(e.CATEGORIES,r=>{let n=t.concat(e);Ct(n,r)||wD(n,r)})}function gv(t){return te(t,"tokenTypeIdx")}function kD(t){return te(t,"CATEGORIES")}function jG(t){return te(t,"categoryMatches")}function UG(t){return te(t,"categoryMatchesMap")}function DD(t){return te(t,"tokenTypeIdx")}var yv={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}};var wt;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(wt||(wt={}));var Xu={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
122
- `,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:yv,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Xu);var Bt=class{constructor(e,r=Xu){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,o)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${s}--> <${i}>`);let{time:a,value:c}=Ku(o),f=a>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&f(`${s}<-- <${i}> time: ${a}ms`),this.traceInitIndent--,c}else return o()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
123
- a boolean 2nd argument is no longer supported`);this.config=Nr({},Xu,r);let n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,o=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Xu.lineTerminatorsPattern)this.config.lineTerminatorsPattern=bD;else if(this.config.lineTerminatorCharacters===Xu.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
124
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),oe(e)?i={modes:{defaultMode:mt(e)},defaultMode:vc}:(o=!1,i=mt(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(yD(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(vD(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Z(i.modes,(a,c)=>{i.modes[c]=is(a,f=>zr(f))});let s=dt(i.modes);if(Z(i.modes,(a,c)=>{this.TRACE_INIT(`Mode: <${c}> processing`,()=>{if(this.modes.push(c),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(gD(a,s))}),De(this.lexerDefinitionErrors)){So(a);let f;this.TRACE_INIT("analyzeTokenTypes",()=>{f=hD(a,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[c]=f.patternIdxToConfig,this.charCodeToPatternIdxToConfig[c]=f.charCodeToPatternIdxToConfig,this.emptyGroups=Nr({},this.emptyGroups,f.emptyGroups),this.hasCustom=f.hasCustom||this.hasCustom,this.canModeBeOptimized[c]=f.canBeOptimized}})}),this.defaultMode=i.defaultMode,!De(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let c=z(this.lexerDefinitionErrors,f=>f.message).join(`-----------------------
125
- `);throw new Error(`Errors detected in definition of Lexer:
126
- `+c)}Z(this.lexerDefinitionWarning,a=>{Bu(a.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(hv?(this.chopInput=mn,this.match=this.matchWithTest):(this.updateLastIndex=$t,this.match=this.matchWithExec),o&&(this.handleModes=$t),this.trackStartLines===!1&&(this.computeNewColumn=mn),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=$t),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let a=Ft(this.canModeBeOptimized,(c,f,p)=>(f===!1&&c.push(p),c),[]);if(r.ensureOptimizations&&!De(a))throw Error(`Lexer Modes: < ${a.join(", ")} > cannot be optimized.
127
- Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
128
- Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{uD()}),this.TRACE_INIT("toFastProperties",()=>{zu(this)})})}tokenize(e,r=this.defaultMode){if(!De(this.lexerDefinitionErrors)){let i=z(this.lexerDefinitionErrors,o=>o.message).join(`-----------------------
129
- `);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
130
- `+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,o,s,a,c,f,p,m,T,_,E,N,I,A,y,h=e,C=h.length,L=0,J=0,fe=this.hasCustom?0:Math.floor(e.length/10),Ae=new Array(fe),Wt=[],Xe=this.trackStartLines?1:void 0,Ye=this.trackStartLines?1:void 0,V=TD(this.emptyGroups),nt=this.trackStartLines,Tt=this.config.lineTerminatorsPattern,ur=0,j=[],M=[],U=[],W=[];Object.freeze(W);let re;function ve(){return j}function ne(He){let Jt=Bi(He),un=M[Jt];return un===void 0?W:un}let Yt=He=>{if(U.length===1&&He.tokenType.PUSH_MODE===void 0){let Jt=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(He);Wt.push({offset:He.startOffset,line:He.startLine,column:He.startColumn,length:He.image.length,message:Jt})}else{U.pop();let Jt=Hi(U);j=this.patternIdxToConfig[Jt],M=this.charCodeToPatternIdxToConfig[Jt],ur=j.length;let un=this.canModeBeOptimized[Jt]&&this.config.safeMode===!1;M&&un?re=ne:re=ve}};function Rt(He){U.push(He),M=this.charCodeToPatternIdxToConfig[He],j=this.patternIdxToConfig[He],ur=j.length,ur=j.length;let Jt=this.canModeBeOptimized[He]&&this.config.safeMode===!1;M&&Jt?re=ne:re=ve}Rt.call(this,r);let Ge,Xr=this.config.recoveryEnabled;for(;L<C;){c=null;let He=h.charCodeAt(L),Jt=re(He),un=Jt.length;for(n=0;n<un;n++){Ge=Jt[n];let Kt=Ge.pattern;f=null;let it=Ge.short;if(it!==!1?He===it&&(c=Kt):Ge.isCustom===!0?(y=Kt.exec(h,L,Ae,V),y!==null?(c=y[0],y.payload!==void 0&&(f=y.payload)):c=null):(this.updateLastIndex(Kt,L),c=this.match(Kt,e,L)),c!==null){if(a=Ge.longerAlt,a!==void 0){let Et=a.length;for(o=0;o<Et;o++){let Sr=j[a[o]],yr=Sr.pattern;if(p=null,Sr.isCustom===!0?(y=yr.exec(h,L,Ae,V),y!==null?(s=y[0],y.payload!==void 0&&(p=y.payload)):s=null):(this.updateLastIndex(yr,L),s=this.match(yr,e,L)),s&&s.length>c.length){c=s,f=p,Ge=Sr;break}}}break}}if(c!==null){if(m=c.length,T=Ge.group,T!==void 0&&(_=Ge.tokenTypeIdx,E=this.createTokenInstance(c,L,_,Ge.tokenType,Xe,Ye,m),this.handlePayload(E,f),T===!1?J=this.addToken(Ae,J,E):V[T].push(E)),e=this.chopInput(e,m),L=L+m,Ye=this.computeNewColumn(Ye,m),nt===!0&&Ge.canLineTerminator===!0){let Kt=0,it,Et;Tt.lastIndex=0;do it=Tt.test(c),it===!0&&(Et=Tt.lastIndex-1,Kt++);while(it===!0);Kt!==0&&(Xe=Xe+Kt,Ye=m-Et,this.updateTokenEndLineColumnLocation(E,T,Et,Kt,Xe,Ye,m))}this.handleModes(Ge,Yt,Rt,E)}else{let Kt=L,it=Xe,Et=Ye,Sr=Xr===!1;for(;Sr===!1&&L<C;)for(e=this.chopInput(e,1),L++,i=0;i<ur;i++){let yr=j[i],ln=yr.pattern,In=yr.short;if(In!==!1?h.charCodeAt(L)===In&&(Sr=!0):yr.isCustom===!0?Sr=ln.exec(h,L,Ae,V)!==null:(this.updateLastIndex(ln,L),Sr=ln.exec(e)!==null),Sr===!0)break}if(N=L-Kt,Ye=this.computeNewColumn(Ye,N),A=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(h,Kt,N,it,Et),Wt.push({offset:Kt,line:it,column:Et,length:N,message:A}),Xr===!1)break}}return this.hasCustom||(Ae.length=J),{tokens:Ae,groups:V,errors:Wt}}handleModes(e,r,n,i){if(e.pop===!0){let o=e.push;r(i),o!==void 0&&n.call(this,o)}else e.push!==void 0&&n.call(this,e.push)}chopInput(e,r){return e.substring(r)}updateLastIndex(e,r){e.lastIndex=r}updateTokenEndLineColumnLocation(e,r,n,i,o,s,a){let c,f;r!==void 0&&(c=n===a-1,f=c?-1:0,i===1&&c===!0||(e.endLine=o+f,e.endColumn=s-1+-f))}computeNewColumn(e,r){return e+r}createOffsetOnlyToken(e,r,n,i){return{image:e,startOffset:r,tokenTypeIdx:n,tokenType:i}}createStartOnlyToken(e,r,n,i,o,s){return{image:e,startOffset:r,startLine:o,startColumn:s,tokenTypeIdx:n,tokenType:i}}createFullToken(e,r,n,i,o,s,a){return{image:e,startOffset:r,endOffset:r+a-1,startLine:o,endLine:o,startColumn:s,endColumn:s+a-1,tokenTypeIdx:n,tokenType:i}}addTokenUsingPush(e,r,n){return e.push(n),r}addTokenUsingMemberAccess(e,r,n){return e[r]=n,r++,r}handlePayloadNoCustom(e,r){}handlePayloadWithCustom(e,r){r!==null&&(e.payload=r)}matchWithTest(e,r,n){return e.test(r)===!0?r.substring(n,e.lastIndex):null}matchWithExec(e,r){let n=e.exec(r);return n!==null?n[0]:null}};Bt.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.";Bt.NA=/NOT_APPLICABLE/;function ko(t){return vv(t)?t.LABEL:t.name}function vv(t){return mr(t.LABEL)&&t.LABEL!==""}var WG="parent",ED="categories",PD="label",AD="group",ND="push_mode",ID="pop_mode",OD="longer_alt",LD="line_breaks",MD="start_chars_hint";function xp(t){return HG(t)}function HG(t){let e=t.pattern,r={};if(r.name=t.name,zr(e)||(r.PATTERN=e),te(t,WG))throw`The parent property is no longer supported.
131
- See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return te(t,ED)&&(r.CATEGORIES=t[ED]),So([r]),te(t,PD)&&(r.LABEL=t[PD]),te(t,AD)&&(r.GROUP=t[AD]),te(t,ID)&&(r.POP_MODE=t[ID]),te(t,ND)&&(r.PUSH_MODE=t[ND]),te(t,OD)&&(r.LONGER_ALT=t[OD]),te(t,LD)&&(r.LINE_BREAKS=t[LD]),te(t,MD)&&(r.START_CHARS_HINT=t[MD]),r}var mi=xp({name:"EOF",pattern:Bt.NA});So([mi]);function Us(t,e,r,n,i,o,s,a){return{image:e,startOffset:r,endOffset:n,startLine:i,endLine:o,startColumn:s,endColumn:a,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}function Yu(t,e){return _o(t,e)}var Co={buildMismatchTokenMessage({expected:t,actual:e,previous:r,ruleName:n}){return`Expecting ${vv(t)?`--> ${ko(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){let o="Expecting: ",a=`
132
- but found: '`+xr(e).image+"'";if(n)return o+n+a;{let c=Ft(t,(T,_)=>T.concat(_),[]),f=z(c,T=>`[${z(T,_=>ko(_)).join(", ")}]`),m=`one of these possible Token sequences:
133
- ${z(f,(T,_)=>` ${_+1}. ${T}`).join(`
134
- `)}`;return o+m+a}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){let i="Expecting: ",s=`
135
- but found: '`+xr(e).image+"'";if(r)return i+r+s;{let c=`expecting at least one iteration which starts with one of these possible Token sequences::
136
- <${z(t,f=>`[${z(f,p=>ko(p)).join(",")}]`).join(" ,")}>`;return i+c+s}}};Object.freeze(Co);var $D={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
137
- inside top level rule: ->`+t.name+"<-"}},hi={buildDuplicateFoundError(t,e){function r(p){return p instanceof Ee?p.terminalType.name:p instanceof ze?p.nonTerminalName:""}let n=t.name,i=xr(e),o=i.idx,s=vn(i),a=r(i),c=o>0,f=`->${s}${c?o:""}<- ${a?`with argument: ->${a}<-`:""}
138
- appears more than once (${e.length} times) in the top level rule: ->${n}<-.
139
- For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
140
- `;return f=f.replace(/[ \t]+/g," "),f=f.replace(/\s\s+/g,`
141
- `),f},buildNamespaceConflictError(t){return`Namespace conflict found in grammar.
142
- The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.
143
- To resolve this make sure each Terminal and Non-Terminal names are unique
144
- This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
145
- and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){let e=z(t.prefixPath,i=>ko(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix
146
- in <OR${r}> inside <${t.topLevelRule.name}> Rule,
147
- <${e}> may appears as a prefix path in all these alternatives.
148
- See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
149
- For Further details.`},buildAlternationAmbiguityError(t){let e=z(t.prefixPath,i=>ko(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in <OR${r}> inside <${t.topLevelRule.name}> Rule,
150
- <${e}> may appears as a prefix path in all these alternatives.
151
- `;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
152
- For Further details.`,n},buildEmptyRepetitionError(t){let e=vn(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
153
- This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
154
- Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives:
155
- <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
156
- has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){let e=t.topLevelRule.name,r=z(t.leftRecursionPath,o=>o.name),n=`${e} --> ${r.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar.
157
- rule: <${e}> can be invoked from itself (directly or indirectly)
158
- without consuming any Tokens. The grammar path that causes this is:
159
- ${n}
160
- To fix this refactor your grammar to remove the left recursion.
161
- see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof rn?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function FD(t,e){let r=new Tv(t,e);return r.resolveRefs(),r.errors}var Tv=class extends nn{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Z(ot(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{let n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:hr.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}};var Rv=class extends xo{constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=mt(this.path.ruleStack).reverse(),this.occurrenceStack=mt(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){De(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},_p=class extends Rv{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let i=r.concat(n),o=new ht({definition:i});this.possibleTokTypes=qs(o),this.found=!0}}},Rc=class extends xo{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},Sp=class extends Rc{walkMany(e,r,n){if(e.idx===this.occurrence){let i=xr(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Ee&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}},Ju=class extends Rc{walkManySep(e,r,n){if(e.idx===this.occurrence){let i=xr(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Ee&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}},kp=class extends Rc{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){let i=xr(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Ee&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}},Qu=class extends Rc{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){let i=xr(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof Ee&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}};function Cp(t,e,r=[]){r=mt(r);let n=[],i=0;function o(a){return a.concat(Xt(t,i+1))}function s(a){let c=Cp(o(a),e,r);return n.concat(c)}for(;r.length<e&&i<t.length;){let a=t[i];if(a instanceof ht)return s(a.definition);if(a instanceof ze)return s(a.definition);if(a instanceof Ve)n=s(a.definition);else if(a instanceof gt){let c=a.definition.concat([new Oe({definition:a.definition})]);return s(c)}else if(a instanceof yt){let c=[new ht({definition:a.definition}),new Oe({definition:[new Ee({terminalType:a.separator})].concat(a.definition)})];return s(c)}else if(a instanceof ct){let c=a.definition.concat([new Oe({definition:[new Ee({terminalType:a.separator})].concat(a.definition)})]);n=s(c)}else if(a instanceof Oe){let c=a.definition.concat([new Oe({definition:a.definition})]);n=s(c)}else{if(a instanceof ut)return Z(a.definition,c=>{De(c.definition)===!1&&(n=s(c.definition))}),n;if(a instanceof Ee)r.push(a.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:Xt(t,i)}),n}function wp(t,e,r,n){let i="EXIT_NONE_TERMINAL",o=[i],s="EXIT_ALTERNATIVE",a=!1,c=e.length,f=c-n-1,p=[],m=[];for(m.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!De(m);){let T=m.pop();if(T===s){a&&Hi(m).idx<=f&&m.pop();continue}let _=T.def,E=T.idx,N=T.ruleStack,I=T.occurrenceStack;if(De(_))continue;let A=_[0];if(A===i){let y={idx:E,def:Xt(_),ruleStack:bo(N),occurrenceStack:bo(I)};m.push(y)}else if(A instanceof Ee)if(E<c-1){let y=E+1,h=e[y];if(r(h,A.terminalType)){let C={idx:y,def:Xt(_),ruleStack:N,occurrenceStack:I};m.push(C)}}else if(E===c-1)p.push({nextTokenType:A.terminalType,nextTokenOccurrence:A.idx,ruleStack:N,occurrenceStack:I}),a=!0;else throw Error("non exhaustive match");else if(A instanceof ze){let y=mt(N);y.push(A.nonTerminalName);let h=mt(I);h.push(A.idx);let C={idx:E,def:A.definition.concat(o,Xt(_)),ruleStack:y,occurrenceStack:h};m.push(C)}else if(A instanceof Ve){let y={idx:E,def:Xt(_),ruleStack:N,occurrenceStack:I};m.push(y),m.push(s);let h={idx:E,def:A.definition.concat(Xt(_)),ruleStack:N,occurrenceStack:I};m.push(h)}else if(A instanceof gt){let y=new Oe({definition:A.definition,idx:A.idx}),h=A.definition.concat([y],Xt(_)),C={idx:E,def:h,ruleStack:N,occurrenceStack:I};m.push(C)}else if(A instanceof yt){let y=new Ee({terminalType:A.separator}),h=new Oe({definition:[y].concat(A.definition),idx:A.idx}),C=A.definition.concat([h],Xt(_)),L={idx:E,def:C,ruleStack:N,occurrenceStack:I};m.push(L)}else if(A instanceof ct){let y={idx:E,def:Xt(_),ruleStack:N,occurrenceStack:I};m.push(y),m.push(s);let h=new Ee({terminalType:A.separator}),C=new Oe({definition:[h].concat(A.definition),idx:A.idx}),L=A.definition.concat([C],Xt(_)),J={idx:E,def:L,ruleStack:N,occurrenceStack:I};m.push(J)}else if(A instanceof Oe){let y={idx:E,def:Xt(_),ruleStack:N,occurrenceStack:I};m.push(y),m.push(s);let h=new Oe({definition:A.definition,idx:A.idx}),C=A.definition.concat([h],Xt(_)),L={idx:E,def:C,ruleStack:N,occurrenceStack:I};m.push(L)}else if(A instanceof ut)for(let y=A.definition.length-1;y>=0;y--){let h=A.definition[y],C={idx:E,def:h.definition.concat(Xt(_)),ruleStack:N,occurrenceStack:I};m.push(C),m.push(s)}else if(A instanceof ht)m.push({idx:E,def:A.definition.concat(Xt(_)),ruleStack:N,occurrenceStack:I});else if(A instanceof rn)m.push(GG(A,E,N,I));else throw Error("non exhaustive match")}return p}function GG(t,e,r,n){let i=mt(r);i.push(t.name);let o=mt(n);return o.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:o}}var Dt;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(Dt||(Dt={}));function Zu(t){if(t instanceof Ve||t==="Option")return Dt.OPTION;if(t instanceof Oe||t==="Repetition")return Dt.REPETITION;if(t instanceof gt||t==="RepetitionMandatory")return Dt.REPETITION_MANDATORY;if(t instanceof yt||t==="RepetitionMandatoryWithSeparator")return Dt.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof ct||t==="RepetitionWithSeparator")return Dt.REPETITION_WITH_SEPARATOR;if(t instanceof ut||t==="Alternation")return Dt.ALTERNATION;throw Error("non exhaustive match")}function Ep(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,o=Zu(n);return o===Dt.ALTERNATION?bc(e,r,i):xc(e,r,o,i)}function jD(t,e,r,n,i,o){let s=bc(t,e,r),a=KD(s)?Tc:_o;return o(s,n,a,i)}function UD(t,e,r,n,i,o){let s=xc(t,e,i,r),a=KD(s)?Tc:_o;return o(s[0],a,n)}function WD(t,e,r,n){let i=t.length,o=Kr(t,s=>Kr(s,a=>a.length===1));if(e)return function(s){let a=z(s,c=>c.GATE);for(let c=0;c<i;c++){let f=t[c],p=f.length,m=a[c];if(!(m!==void 0&&m.call(this)===!1))e:for(let T=0;T<p;T++){let _=f[T],E=_.length;for(let N=0;N<E;N++){let I=this.LA(N+1);if(r(I,_[N])===!1)continue e}return c}}};if(o&&!n){let s=z(t,c=>Vt(c)),a=Ft(s,(c,f,p)=>(Z(f,m=>{te(c,m.tokenTypeIdx)||(c[m.tokenTypeIdx]=p),Z(m.categoryMatches,T=>{te(c,T)||(c[T]=p)})}),c),{});return function(){let c=this.LA(1);return a[c.tokenTypeIdx]}}else return function(){for(let s=0;s<i;s++){let a=t[s],c=a.length;e:for(let f=0;f<c;f++){let p=a[f],m=p.length;for(let T=0;T<m;T++){let _=this.LA(T+1);if(r(_,p[T])===!1)continue e}return s}}}}function HD(t,e,r){let n=Kr(t,o=>o.length===1),i=t.length;if(n&&!r){let o=Vt(t);if(o.length===1&&De(o[0].categoryMatches)){let a=o[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===a}}else{let s=Ft(o,(a,c,f)=>(a[c.tokenTypeIdx]=!0,Z(c.categoryMatches,p=>{a[p]=!0}),a),[]);return function(){let a=this.LA(1);return s[a.tokenTypeIdx]===!0}}}else return function(){e:for(let o=0;o<i;o++){let s=t[o],a=s.length;for(let c=0;c<a;c++){let f=this.LA(c+1);if(e(f,s[c])===!1)continue e}return!0}return!1}}var xv=class extends xo{constructor(e,r,n){super(),this.topProd=e,this.targetOccurrence=r,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,r,n,i){return e.idx===this.targetOccurrence&&this.targetProdType===r?(this.restDef=n.concat(i),!0):!1}walkOption(e,r,n){this.checkIsTarget(e,Dt.OPTION,r,n)||super.walkOption(e,r,n)}walkAtLeastOne(e,r,n){this.checkIsTarget(e,Dt.REPETITION_MANDATORY,r,n)||super.walkOption(e,r,n)}walkAtLeastOneSep(e,r,n){this.checkIsTarget(e,Dt.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}walkMany(e,r,n){this.checkIsTarget(e,Dt.REPETITION,r,n)||super.walkOption(e,r,n)}walkManySep(e,r,n){this.checkIsTarget(e,Dt.REPETITION_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}},Dp=class extends nn{constructor(e,r,n){super(),this.targetOccurrence=e,this.targetProdType=r,this.targetRef=n,this.result=[]}checkIsTarget(e,r){e.idx===this.targetOccurrence&&this.targetProdType===r&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,Dt.OPTION)}visitRepetition(e){this.checkIsTarget(e,Dt.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,Dt.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,Dt.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,Dt.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,Dt.ALTERNATION)}};function qD(t){let e=new Array(t);for(let r=0;r<t;r++)e[r]=[];return e}function bv(t){let e=[""];for(let r=0;r<t.length;r++){let n=t[r],i=[];for(let o=0;o<e.length;o++){let s=e[o];i.push(s+"_"+n.tokenTypeIdx);for(let a=0;a<n.categoryMatches.length;a++){let c="_"+n.categoryMatches[a];i.push(s+c)}}e=i}return e}function BG(t,e,r){for(let n=0;n<t.length;n++){if(n===r)continue;let i=t[n];for(let o=0;o<e.length;o++){let s=e[o];if(i[s]===!0)return!1}}return!0}function GD(t,e){let r=z(t,s=>Cp([s],1)),n=qD(r.length),i=z(r,s=>{let a={};return Z(s,c=>{let f=bv(c.partialPath);Z(f,p=>{a[p]=!0})}),a}),o=r;for(let s=1;s<=e;s++){let a=o;o=qD(a.length);for(let c=0;c<a.length;c++){let f=a[c];for(let p=0;p<f.length;p++){let m=f[p].partialPath,T=f[p].suffixDef,_=bv(m);if(BG(i,_,c)||De(T)||m.length===e){let N=n[c];if(Pp(N,m)===!1){N.push(m);for(let I=0;I<_.length;I++){let A=_[I];i[c][A]=!0}}}else{let N=Cp(T,s+1,m);o[c]=o[c].concat(N),Z(N,I=>{let A=bv(I.partialPath);Z(A,y=>{i[c][y]=!0})})}}}}return n}function bc(t,e,r,n){let i=new Dp(t,Dt.ALTERNATION,n);return e.accept(i),GD(i.result,r)}function xc(t,e,r,n){let i=new Dp(t,r);e.accept(i);let o=i.result,a=new xv(e,t,r).startWalking(),c=new ht({definition:o}),f=new ht({definition:a});return GD([c,f],n)}function Pp(t,e){e:for(let r=0;r<t.length;r++){let n=t[r];if(n.length===e.length){for(let i=0;i<n.length;i++){let o=e[i],s=n[i];if((o===s||s.categoryMatchesMap[o.tokenTypeIdx]!==void 0)===!1)continue e}return!0}}return!1}function BD(t,e){return t.length<e.length&&Kr(t,(r,n)=>{let i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function KD(t){return Kr(t,e=>Kr(e,r=>Kr(r,n=>De(n.categoryMatches))))}function zD(t){let e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return z(e,r=>Object.assign({type:hr.CUSTOM_LOOKAHEAD_VALIDATION},r))}function VD(t,e,r,n){let i=Ir(t,c=>KG(c,r)),o=QG(t,e,r),s=Ir(t,c=>XG(c,r)),a=Ir(t,c=>VG(c,t,n,r));return i.concat(o,s,a)}function KG(t,e){let r=new _v;t.accept(r);let n=r.allProductions,i=av(n,zG),o=yn(i,a=>a.length>1);return z(ot(o),a=>{let c=xr(a),f=e.buildDuplicateFoundError(t,a),p=vn(c),m={message:f,type:hr.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:p,occurrence:c.idx},T=XD(c);return T&&(m.parameter=T),m})}function zG(t){return`${vn(t)}_#_${t.idx}_#_${XD(t)}`}function XD(t){return t instanceof Ee?t.terminalType.name:t instanceof ze?t.nonTerminalName:""}var _v=class extends nn{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}};function VG(t,e,r,n){let i=[];if(Ft(e,(s,a)=>a.name===t.name?s+1:s,0)>1){let s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:hr.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function YD(t,e,r){let n=[],i;return Ct(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:hr.INVALID_RULE_OVERRIDE,ruleName:t})),n}function kv(t,e,r,n=[]){let i=[],o=Ap(e.definition);if(De(o))return[];{let s=t.name;Ct(o,t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:hr.LEFT_RECURSION,ruleName:s});let c=ns(o,n.concat([t])),f=Ir(c,p=>{let m=mt(n);return m.push(p),kv(t,p,r,m)});return i.concat(f)}}function Ap(t){let e=[];if(De(t))return e;let r=xr(t);if(r instanceof ze)e.push(r.referencedRule);else if(r instanceof ht||r instanceof Ve||r instanceof gt||r instanceof yt||r instanceof ct||r instanceof Oe)e=e.concat(Ap(r.definition));else if(r instanceof ut)e=Vt(z(r.definition,o=>Ap(o.definition)));else if(!(r instanceof Ee))throw Error("non exhaustive match");let n=Fs(r),i=t.length>1;if(n&&i){let o=Xt(t);return e.concat(Ap(o))}else return e}var el=class extends nn{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function JD(t,e){let r=new el;t.accept(r);let n=r.alternations;return Ir(n,o=>{let s=bo(o.definition);return Ir(s,(a,c)=>{let f=wp([a],[],_o,1);return De(f)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:o,emptyChoiceIdx:c}),type:hr.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:o.idx,alternative:c+1}]:[]})})}function QD(t,e,r){let n=new el;t.accept(n);let i=n.alternations;return i=is(i,s=>s.ignoreAmbiguities===!0),Ir(i,s=>{let a=s.idx,c=s.maxLookahead||e,f=bc(a,t,c,s),p=YG(f,s,t,r),m=JG(f,s,t,r);return p.concat(m)})}var Sv=class extends nn{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}};function XG(t,e){let r=new el;t.accept(r);let n=r.alternations;return Ir(n,o=>o.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:o}),type:hr.TOO_MANY_ALTS,ruleName:t.name,occurrence:o.idx}]:[])}function ZD(t,e,r){let n=[];return Z(t,i=>{let o=new Sv;i.accept(o);let s=o.allProductions;Z(s,a=>{let c=Zu(a),f=a.maxLookahead||e,p=a.idx,T=xc(p,i,c,f)[0];if(De(Vt(T))){let _=r.buildEmptyRepetitionError({topLevelRule:i,repetition:a});n.push({message:_,type:hr.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function YG(t,e,r,n){let i=[],o=Ft(t,(a,c,f)=>(e.definition[f].ignoreAmbiguities===!0||Z(c,p=>{let m=[f];Z(t,(T,_)=>{f!==_&&Pp(T,p)&&e.definition[_].ignoreAmbiguities!==!0&&m.push(_)}),m.length>1&&!Pp(i,p)&&(i.push(p),a.push({alts:m,path:p}))}),a),[]);return z(o,a=>{let c=z(a.alts,p=>p+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:c,prefixPath:a.path}),type:hr.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:a.alts}})}function JG(t,e,r,n){let i=Ft(t,(s,a,c)=>{let f=z(a,p=>({idx:c,path:p}));return s.concat(f)},[]);return Wi(Ir(i,s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];let c=s.idx,f=s.path,p=br(i,T=>e.definition[T.idx].ignoreAmbiguities!==!0&&T.idx<c&&BD(T.path,f));return z(p,T=>{let _=[T.idx+1,c+1],E=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:_,prefixPath:T.path}),type:hr.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:E,alternatives:_}})}))}function QG(t,e,r){let n=[],i=z(e,o=>o.name);return Z(t,o=>{let s=o.name;if(Ct(i,s)){let a=r.buildNamespaceConflictError(o);n.push({message:a,type:hr.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}function eE(t){let e=dc(t,{errMsgProvider:$D}),r={};return Z(t.rules,n=>{r[n.name]=n}),FD(r,e.errMsgProvider)}function tE(t){return t=dc(t,{errMsgProvider:hi}),VD(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}var rE="MismatchedTokenException",nE="NoViableAltException",iE="EarlyExitException",oE="NotAllInputParsedException",sE=[rE,nE,iE,oE];Object.freeze(sE);function os(t){return Ct(sE,t.name)}var _c=class extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},Ws=class extends _c{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=rE}},tl=class extends _c{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=nE}},rl=class extends _c{constructor(e,r){super(e,r),this.name=oE}},nl=class extends _c{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=iE}};var Cv={},Dv="InRuleRecoveryException",wv=class extends Error{constructor(e){super(e),this.name=Dv}},Np=class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=te(e,"recoveryEnabled")?e.recoveryEnabled:on.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=ZG)}getTokenToInsert(e){let r=Us(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){let o=this.findReSyncTokenType(),s=this.exportLexerState(),a=[],c=!1,f=this.LA(1),p=this.LA(1),m=()=>{let T=this.LA(0),_=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:f,previous:T,ruleName:this.getCurrRuleFullName()}),E=new Ws(_,f,this.LA(0));E.resyncedTokens=bo(a),this.SAVE_ERROR(E)};for(;!c;)if(this.tokenMatcher(p,i)){m();return}else if(n.call(this)){m(),e.apply(this,r);return}else this.tokenMatcher(p,o)?c=!0:(p=this.SKIP_TOKEN(),this.addToResyncTokens(p,a));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getFollowsForInRuleRecovery(e,r){let n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new wv("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||De(r))return!1;let n=this.LA(1);return Gi(r,o=>this.tokenMatcher(n,o))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let r=this.getCurrFollowKey(),n=this.getFollowSetFromFollowKey(r);return Ct(n,e)}findReSyncTokenType(){let e=this.flattenFollowSet(),r=this.LA(1),n=2;for(;;){let i=Gi(e,o=>Yu(r,o));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return Cv;let e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK;return z(e,(n,i)=>i===0?Cv:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:r[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){let e=z(this.buildFullFollowKeyStack(),r=>this.getFollowSetFromFollowKey(r));return Vt(e)}getFollowSetFromFollowKey(e){if(e===Cv)return[mi];let r=e.ruleName+e.idxInCallingRule+gp+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,mi)||r.push(e),r}reSyncTo(e){let r=[],n=this.LA(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return bo(r)}attemptInRepetitionRecovery(e,r,n,i,o,s,a){}getCurrentGrammarPath(e,r){let n=this.getHumanReadableRuleStack(),i=mt(this.RULE_OCCURRENCE_STACK);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){return z(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};function ZG(t,e,r,n,i,o,s){let a=this.getKeyForAutomaticLookahead(n,i),c=this.firstAfterRepMap[a];if(c===void 0){let T=this.getCurrRuleFullName(),_=this.getGAstProductions()[T];c=new o(_,i).startWalking(),this.firstAfterRepMap[a]=c}let f=c.token,p=c.occurrence,m=c.isEndOfRule;this.RULE_STACK.length===1&&m&&f===void 0&&(f=mi,p=1),!(f===void 0||p===void 0)&&this.shouldInRepetitionRecoveryBeTried(f,p,s)&&this.tryInRepetitionRecovery(t,e,r,f)}function Ip(t,e,r){return r|e|t}var wfe=32-8;var wo=class{constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:on.maxLookahead}validate(e){let r=this.validateNoLeftRecursion(e.rules);if(De(r)){let n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),o=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...o]}return r}validateNoLeftRecursion(e){return Ir(e,r=>kv(r,r,hi))}validateEmptyOrAlternatives(e){return Ir(e,r=>JD(r,hi))}validateAmbiguousAlternationAlternatives(e,r){return Ir(e,n=>QD(n,r,hi))}validateSomeNonEmptyLookaheadPath(e,r){return ZD(e,r,hi)}buildLookaheadForAlternation(e){return jD(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,WD)}buildLookaheadForOptional(e){return UD(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,Zu(e.prodType),HD)}};var Lp=class{initLooksAhead(e){this.dynamicTokensEnabled=te(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:on.dynamicTokensEnabled,this.maxLookahead=te(e,"maxLookahead")?e.maxLookahead:on.maxLookahead,this.lookaheadStrategy=te(e,"lookaheadStrategy")?e.lookaheadStrategy:new wo({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){Z(e,r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{let{alternation:n,repetition:i,option:o,repetitionMandatory:s,repetitionMandatoryWithSeparator:a,repetitionWithSeparator:c}=eB(r);Z(n,f=>{let p=f.idx===0?"":f.idx;this.TRACE_INIT(`${vn(f)}${p}`,()=>{let m=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:f.idx,rule:r,maxLookahead:f.maxLookahead||this.maxLookahead,hasPredicates:f.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),T=Ip(this.fullRuleNameToShort[r.name],256,f.idx);this.setLaFuncCache(T,m)})}),Z(i,f=>{this.computeLookaheadFunc(r,f.idx,768,"Repetition",f.maxLookahead,vn(f))}),Z(o,f=>{this.computeLookaheadFunc(r,f.idx,512,"Option",f.maxLookahead,vn(f))}),Z(s,f=>{this.computeLookaheadFunc(r,f.idx,1024,"RepetitionMandatory",f.maxLookahead,vn(f))}),Z(a,f=>{this.computeLookaheadFunc(r,f.idx,1536,"RepetitionMandatoryWithSeparator",f.maxLookahead,vn(f))}),Z(c,f=>{this.computeLookaheadFunc(r,f.idx,1280,"RepetitionWithSeparator",f.maxLookahead,vn(f))})})})}computeLookaheadFunc(e,r,n,i,o,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{let a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:o||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),c=Ip(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(c,a)})}getKeyForAutomaticLookahead(e,r){let n=this.getLastExplicitRuleShortName();return Ip(n,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},Ev=class extends nn{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}},Op=new Ev;function eB(t){Op.reset(),t.accept(Op);let e=Op.dslMethods;return Op.reset(),e}function Nv(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function Iv(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.startColumn=e.startColumn,t.startLine=e.startLine,t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine)}function aE(t,e,r){t.children[r]===void 0?t.children[r]=[e]:t.children[r].push(e)}function cE(t,e,r){t.children[e]===void 0?t.children[e]=[r]:t.children[e].push(r)}var tB="name";function Ov(t,e){Object.defineProperty(t,tB,{enumerable:!1,configurable:!0,writable:!1,value:e})}function rB(t,e){let r=dt(t),n=r.length;for(let i=0;i<n;i++){let o=r[i],s=t[o],a=s.length;for(let c=0;c<a;c++){let f=s[c];f.tokenTypeIdx===void 0&&this[f.name](f.children,e)}}}function uE(t,e){let r=function(){};Ov(r,t+"BaseSemantics");let n={visit:function(i,o){if(oe(i)&&(i=i[0]),!zr(i))return this[i.name](i.children,o)},validateVisitor:function(){let i=nB(this,e);if(!De(i)){let o=z(i,s=>s.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
162
- ${o.join(`
163
-
164
- `).replace(/\n/g,`
165
- `)}`)}}};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function lE(t,e,r){let n=function(){};Ov(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return Z(e,o=>{i[o]=rB}),n.prototype=i,n.prototype.constructor=n,n}var Lv;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(Lv||(Lv={}));function nB(t,e){return iB(t,e)}function iB(t,e){let r=br(e,i=>tn(t[i])===!1),n=z(r,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:Lv.MISSING_METHOD,methodName:i}));return Wi(n)}var qp=class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=te(e,"nodeLocationTracking")?e.nodeLocationTracking:on.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=$t,this.cstFinallyStateUpdate=$t,this.cstPostTerminal=$t,this.cstPostNonTerminal=$t,this.cstPostRule=$t;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Iv,this.setNodeLocationFromNode=Iv,this.cstPostRule=$t,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=$t,this.setNodeLocationFromNode=$t,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Nv,this.setNodeLocationFromNode=Nv,this.cstPostRule=$t,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=$t,this.setNodeLocationFromNode=$t,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=$t,this.setNodeLocationFromNode=$t,this.cstPostRule=$t,this.setInitialNodeLocation=$t;else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let r=this.LA(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];aE(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];cE(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(zr(this.baseCstVisitorConstructor)){let e=uE(this.className,dt(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(zr(this.baseCstVisitorWithDefaultsConstructor)){let e=lE(this.className,dt(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}};var jp=class{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Sc}LA(e){let r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Sc:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}};var Up=class{ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=kc){if(Ct(this.definedRulesNames,e)){let s={message:hi.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:hr.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);let i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=kc){let i=YD(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);let o=this.defineRule(e,r,n);return this[e]=o,o}BACKTRACK(e,r){return function(){this.isBackTrackingStack.push(1);let n=this.saveRecogState();try{return e.apply(this,r),!0}catch(i){if(os(i))return!1;throw i}finally{this.reloadRecogState(n),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return hp(ot(this.gastProductionsCache))}};var Wp=class{initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Tc,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},te(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
166
- See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
167
- For Further details.`);if(oe(e)){if(De(e))throw Error(`A Token Vocabulary cannot be empty.
168
- Note that the first argument for the parser constructor
169
- is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument.
170
- See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
171
- For Further details.`)}if(oe(e))this.tokensMap=Ft(e,(o,s)=>(o[s.name]=s,o),{});else if(te(e,"modes")&&Kr(Vt(ot(e.modes)),DD)){let o=Vt(ot(e.modes)),s=pc(o);this.tokensMap=Ft(s,(a,c)=>(a[c.name]=c,a),{})}else if(Mt(e))this.tokensMap=mt(e);else throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=mi;let n=te(e,"modes")?Vt(ot(e.modes)):ot(e),i=Kr(n,o=>De(o.categoryMatches));this.tokenMatcher=i?Tc:_o,So(ot(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
172
- Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=te(n,"resyncEnabled")?n.resyncEnabled:kc.resyncEnabled,o=te(n,"recoveryValueFunc")?n.recoveryValueFunc:kc.recoveryValueFunc,s=this.ruleShortNameIdx<<4+8;this.ruleShortNameIdx++,this.shortRuleNameToFull[s]=e,this.fullRuleNameToShort[e]=s;let a;return this.outputCst===!0?a=function(...p){try{this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,p);let m=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(m),m}catch(m){return this.invokeRuleCatch(m,i,o)}finally{this.ruleFinallyStateUpdate()}}:a=function(...p){try{return this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,p)}catch(m){return this.invokeRuleCatch(m,i,o)}finally{this.ruleFinallyStateUpdate()}},Object.assign(a,{ruleName:e,originalGrammarAction:r})}invokeRuleCatch(e,r,n){let i=this.RULE_STACK.length===1,o=r&&!this.isBackTracking()&&this.recoveryEnabled;if(os(e)){let s=e;if(o){let a=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(a))if(s.resyncedTokens=this.reSyncTo(a),this.outputCst){let c=this.CST_STACK[this.CST_STACK.length-1];return c.recoveredNode=!0,c}else return n(e);else{if(this.outputCst){let c=this.CST_STACK[this.CST_STACK.length-1];c.recoveredNode=!0,s.partialCstResult=c}throw s}}else{if(i)return this.moveToTerminatedState(),n(e);throw s}}else throw e}optionInternal(e,r){let n=this.getKeyForAutomaticLookahead(512,r);return this.optionInternalLogic(e,r,n)}optionInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),o;if(typeof e!="function"){o=e.DEF;let s=e.GATE;if(s!==void 0){let a=i;i=()=>s.call(this)&&a.call(this)}}else o=e;if(i.call(this)===!0)return o.call(this)}atLeastOneInternal(e,r){let n=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),o;if(typeof r!="function"){o=r.DEF;let s=r.GATE;if(s!==void 0){let a=i;i=()=>s.call(this)&&a.call(this)}}else o=r;if(i.call(this)===!0){let s=this.doSingleRepetition(o);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(o)}else throw this.raiseEarlyExitException(e,Dt.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,1024,e,kp)}atLeastOneSepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){let i=r.DEF,o=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let a=()=>this.tokenMatcher(this.LA(1),o);for(;this.tokenMatcher(this.LA(1),o)===!0;)this.CONSUME(o),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,a,i,Qu],a,1536,e,Qu)}else throw this.raiseEarlyExitException(e,Dt.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){let n=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),o;if(typeof r!="function"){o=r.DEF;let a=r.GATE;if(a!==void 0){let c=i;i=()=>a.call(this)&&c.call(this)}}else o=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(o);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,768,e,Sp,s)}manySepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){let i=r.DEF,o=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let a=()=>this.tokenMatcher(this.LA(1),o);for(;this.tokenMatcher(this.LA(1),o)===!0;)this.CONSUME(o),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,a,i,Ju],a,1280,e,Ju)}}repetitionSepSecondInternal(e,r,n,i,o){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,o],n,1536,e,o)}doSingleRepetition(e){let r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){let n=this.getKeyForAutomaticLookahead(256,r),i=oe(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){let e=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new rl(r,e))}}subruleInternal(e,r,n){let i;try{let o=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.apply(this,o),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(o){throw this.subruleInternalError(o,n,e.ruleName)}}subruleInternalError(e,r,n){throw os(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{let o=this.LA(1);this.tokenMatcher(o,e)===!0?(this.consumeToken(),i=o):this.consumeInternalError(e,o,n)}catch(o){i=this.consumeInternalRecovery(e,r,o)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i,o=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:o,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Ws(i,r,o))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){let i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(o){throw o.name===Dv?n:o}}else throw n}saveRecogState(){let e=this.errors,r=mt(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK.push(n),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),mi)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}};var Hp=class{initErrorHandler(e){this._errors=[],this.errorMessageProvider=te(e,"errorMessageProvider")?e.errorMessageProvider:on.errorMessageProvider}SAVE_ERROR(e){if(os(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:mt(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return mt(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,r,n){let i=this.getCurrRuleFullName(),o=this.getGAstProductions()[i],a=xc(e,o,r,this.maxLookahead)[0],c=[];for(let p=1;p<=this.maxLookahead;p++)c.push(this.LA(p));let f=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:c,previous:this.LA(0),customUserDescription:n,ruleName:i});throw this.SAVE_ERROR(new nl(f,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){let n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],o=bc(e,i,this.maxLookahead),s=[];for(let f=1;f<=this.maxLookahead;f++)s.push(this.LA(f));let a=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:o,actual:s,previous:a,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new tl(c,this.LA(1),a))}};var Gp=class{initContentAssist(){}computeContentAssist(e,r){let n=this.gastProductionsCache[e];if(zr(n))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return wp([n],r,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let r=xr(e.ruleStack),i=this.getGAstProductions()[r];return new _p(i,e).startWalking()}};var zp={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(zp);var fE=!0,dE=Math.pow(2,8)-1,mE=xp({name:"RECORDING_PHASE_TOKEN",pattern:Bt.NA});So([mE]);var hE=Us(mE,`This IToken indicates the Parser is in Recording Phase
173
- See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(hE);var sB={name:`This CSTNode indicates the Parser is in Recording Phase
174
- See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},Bp=class{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{let e=this;for(let r=0;r<10;r++){let n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return Sc}topLevelRuleRecord(e,r){try{let n=new rn({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+`
175
- This error was thrown during the "grammar recording phase" For more info see:
176
- https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return ol.call(this,Ve,e,r)}atLeastOneInternalRecord(e,r){ol.call(this,gt,r,e)}atLeastOneSepFirstInternalRecord(e,r){ol.call(this,yt,r,e,fE)}manyInternalRecord(e,r){ol.call(this,Oe,r,e)}manySepFirstInternalRecord(e,r){ol.call(this,ct,r,e,fE)}orInternalRecord(e,r){return aB.call(this,e,r)}subruleInternalRecord(e,r,n){if(Kp(r),!e||te(e,"ruleName")===!1){let a=new Error(`<SUBRULE${pE(r)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
177
- inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}let i=Hi(this.recordingProdStack),o=e.ruleName,s=new ze({idx:r,nonTerminalName:o,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?sB:zp}consumeInternalRecord(e,r,n){if(Kp(r),!gv(e)){let s=new Error(`<CONSUME${pE(r)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
178
- inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}let i=Hi(this.recordingProdStack),o=new Ee({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(o),hE}};function ol(t,e,r,n=!1){Kp(r);let i=Hi(this.recordingProdStack),o=tn(e)?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),te(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),o.call(this),i.definition.push(s),this.recordingProdStack.pop(),zp}function aB(t,e){Kp(e);let r=Hi(this.recordingProdStack),n=oe(t)===!1,i=n===!1?t:t.DEF,o=new ut({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});te(t,"MAX_LOOKAHEAD")&&(o.maxLookahead=t.MAX_LOOKAHEAD);let s=Gu(i,a=>tn(a.GATE));return o.hasPredicates=s,r.definition.push(o),Z(i,a=>{let c=new ht({definition:[]});o.definition.push(c),te(a,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=a.IGNORE_AMBIGUITIES:te(a,"GATE")&&(c.ignoreAmbiguities=!0),this.recordingProdStack.push(c),a.ALT.call(this),this.recordingProdStack.pop()}),zp}function pE(t){return t===0?"":`${t}`}function Kp(t){if(t<0||t>dE){let e=new Error(`Invalid DSL Method idx value: <${t}>
179
- Idx value must be a none negative value smaller than ${dE+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}var Vp=class{initPerformanceTracer(e){if(te(e,"traceInitPerf")){let r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=on.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${n}--> <${e}>`);let{time:i,value:o}=Ku(r),s=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&s(`${n}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,o}else return r()}};function gE(t,e){e.forEach(r=>{let n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;let o=Object.getOwnPropertyDescriptor(n,i);o&&(o.get||o.set)?Object.defineProperty(t.prototype,i,o):t.prototype[i]=r.prototype[i]})})}var Sc=Us(mi,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Sc);var on=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Co,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),kc=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0}),hr;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(hr||(hr={}));function Xp(t=void 0){return function(){return t}}var sl=class t{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;let r=this.className;this.TRACE_INIT("toFastProps",()=>{zu(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),Z(this.definedRulesNames,i=>{let s=this[i].originalGrammarAction,a;this.TRACE_INIT(`${i} Rule`,()=>{a=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=a})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=eE({rules:ot(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(De(n)&&this.skipValidations===!1){let i=tE({rules:ot(this.gastProductionsCache),tokenTypes:ot(this.tokensMap),errMsgProvider:hi,grammarName:r}),o=zD({lookaheadStrategy:this.lookaheadStrategy,rules:ot(this.gastProductionsCache),tokenTypes:ot(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,o)}}),De(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let i=cD(ot(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,o;(o=(i=this.lookaheadStrategy).initialize)===null||o===void 0||o.call(i,{rules:ot(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(ot(this.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!De(this.definitionErrors))throw e=z(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected:
180
- ${e.join(`
181
- -------------------------------
182
- `)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;let n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(e,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initContentAssist(),n.initGastRecorder(r),n.initPerformanceTracer(r),te(r,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
183
- Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
184
- See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
185
- For further details.`);this.skipValidations=te(r,"skipValidations")?r.skipValidations:on.skipValidations}};sl.DEFER_DEFINITION_ERRORS_HANDLING=!1;gE(sl,[Np,Lp,qp,jp,Wp,Up,Hp,Gp,Bp,Vp]);var al=class extends sl{constructor(e,r=on){let n=mt(r);n.outputCst=!1,super(e,n)}};function Hs(t,e,r){return`${t.name}_${e}_${r}`}var ss=1,uB=2,yE=4,vE=5;var Dc=7,lB=8,fB=9,dB=10,pB=11,TE=12,cl=class{constructor(e){this.target=e}isEpsilon(){return!1}},Cc=class extends cl{constructor(e,r){super(e),this.tokenType=r}},ul=class extends cl{constructor(e){super(e)}isEpsilon(){return!0}},wc=class extends cl{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}};function RE(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};mB(e,t);let r=t.length;for(let n=0;n<r;n++){let i=t[n],o=Gs(e,i,i);o!==void 0&&kB(e,i,o)}return e}function mB(t,e){let r=e.length;for(let n=0;n<r;n++){let i=e[n],o=_r(t,i,void 0,{type:uB}),s=_r(t,i,void 0,{type:Dc});o.stop=s,t.ruleToStartState.set(i,o),t.ruleToStopState.set(i,s)}}function bE(t,e,r){return r instanceof Ee?$v(t,e,r.terminalType,r):r instanceof ze?SB(t,e,r):r instanceof ut?TB(t,e,r):r instanceof Ve?RB(t,e,r):r instanceof Oe?hB(t,e,r):r instanceof ct?gB(t,e,r):r instanceof gt?yB(t,e,r):r instanceof yt?vB(t,e,r):Gs(t,e,r)}function hB(t,e,r){let n=_r(t,e,r,{type:vE});as(t,n);let i=Ec(t,e,n,r,Gs(t,e,r));return _E(t,e,r,i)}function gB(t,e,r){let n=_r(t,e,r,{type:vE});as(t,n);let i=Ec(t,e,n,r,Gs(t,e,r)),o=$v(t,e,r.separator,r);return _E(t,e,r,i,o)}function yB(t,e,r){let n=_r(t,e,r,{type:yE});as(t,n);let i=Ec(t,e,n,r,Gs(t,e,r));return xE(t,e,r,i)}function vB(t,e,r){let n=_r(t,e,r,{type:yE});as(t,n);let i=Ec(t,e,n,r,Gs(t,e,r)),o=$v(t,e,r.separator,r);return xE(t,e,r,i,o)}function TB(t,e,r){let n=_r(t,e,r,{type:ss});as(t,n);let i=z(r.definition,s=>bE(t,e,s));return Ec(t,e,n,r,...i)}function RB(t,e,r){let n=_r(t,e,r,{type:ss});as(t,n);let i=Ec(t,e,n,r,Gs(t,e,r));return bB(t,e,r,i)}function Gs(t,e,r){let n=br(z(r.definition,i=>bE(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:_B(t,n)}function xE(t,e,r,n,i){let o=n.left,s=n.right,a=_r(t,e,r,{type:pB});as(t,a);let c=_r(t,e,r,{type:TE});return o.loopback=a,c.loopback=a,t.decisionMap[Hs(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=a,or(s,a),i===void 0?(or(a,o),or(a,c)):(or(a,c),or(a,i.left),or(i.right,o)),{left:o,right:c}}function _E(t,e,r,n,i){let o=n.left,s=n.right,a=_r(t,e,r,{type:dB});as(t,a);let c=_r(t,e,r,{type:TE}),f=_r(t,e,r,{type:fB});return a.loopback=f,c.loopback=f,or(a,o),or(a,c),or(s,f),i!==void 0?(or(f,c),or(f,i.left),or(i.right,o)):or(f,a),t.decisionMap[Hs(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=a,{left:a,right:c}}function bB(t,e,r,n){let i=n.left,o=n.right;return or(i,o),t.decisionMap[Hs(e,"Option",r.idx)]=i,n}function as(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function Ec(t,e,r,n,...i){let o=_r(t,e,n,{type:lB,start:r});r.end=o;for(let a of i)a!==void 0?(or(r,a.left),or(a.right,o)):or(r,o);let s={left:r,right:o};return t.decisionMap[Hs(e,xB(n),n.idx)]=r,s}function xB(t){if(t instanceof ut)return"Alternation";if(t instanceof Ve)return"Option";if(t instanceof Oe)return"Repetition";if(t instanceof ct)return"RepetitionWithSeparator";if(t instanceof gt)return"RepetitionMandatory";if(t instanceof yt)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function _B(t,e){let r=e.length;for(let o=0;o<r-1;o++){let s=e[o],a;s.left.transitions.length===1&&(a=s.left.transitions[0]);let c=a instanceof wc,f=a,p=e[o+1].left;s.left.type===ss&&s.right.type===ss&&a!==void 0&&(c&&f.followState===s.right||a.target===s.right)?(c?f.followState=p:a.target=p,CB(t,s.right)):or(s.right,p)}let n=e[0],i=e[r-1];return{left:n.left,right:i.right}}function $v(t,e,r,n){let i=_r(t,e,n,{type:ss}),o=_r(t,e,n,{type:ss});return Fv(i,new Cc(o,r)),{left:i,right:o}}function SB(t,e,r){let n=r.referencedRule,i=t.ruleToStartState.get(n),o=_r(t,e,r,{type:ss}),s=_r(t,e,r,{type:ss}),a=new wc(i,n,s);return Fv(o,a),{left:o,right:s}}function kB(t,e,r){let n=t.ruleToStartState.get(e);or(n,r.left);let i=t.ruleToStopState.get(e);return or(r.right,i),{left:n,right:i}}function or(t,e){let r=new ul(e);Fv(t,r)}function _r(t,e,r,n){let i=Object.assign({atn:t,production:r,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:t.states.length},n);return t.states.push(i),i}function Fv(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function CB(t,e){t.states.splice(t.states.indexOf(e),1)}var ll={},Pc=class{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let r=qv(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return z(this.configs,e=>e.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}};function qv(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}function wB(t,e){let r={};return n=>{let i=n.toString(),o=r[i];return o!==void 0||(o={atnStartState:t,decision:e,states:{}},r[i]=o),o}}var Yp=class{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="",r=this.predicates.length;for(let n=0;n<r;n++)e+=this.predicates[n]===!0?"1":"0";return e}},SE=new Yp,fl=class extends wo{constructor(e){var r;super(),this.logging=(r=e?.logging)!==null&&r!==void 0?r:n=>console.log(n)}initialize(e){this.atn=RE(e.rules),this.dfas=DB(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:o}=e,s=this.dfas,a=this.logging,c=Hs(n,"Alternation",r),p=this.atn.decisionMap[c].decision,m=z(Ep({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),T=>z(T,_=>_[0]));if(kE(m,!1)&&!o){let T=Ft(m,(_,E,N)=>(Z(E,I=>{I&&(_[I.tokenTypeIdx]=N,Z(I.categoryMatches,A=>{_[A]=N}))}),_),{});return i?function(_){var E;let N=this.LA(1),I=T[N.tokenTypeIdx];if(_!==void 0&&I!==void 0){let A=(E=_[I])===null||E===void 0?void 0:E.GATE;if(A!==void 0&&A.call(this)===!1)return}return I}:function(){let _=this.LA(1);return T[_.tokenTypeIdx]}}else return i?function(T){let _=new Yp,E=T===void 0?0:T.length;for(let I=0;I<E;I++){let A=T?.[I].GATE;_.set(I,A===void 0||A.call(this))}let N=jv.call(this,s,p,_,a);return typeof N=="number"?N:void 0}:function(){let T=jv.call(this,s,p,SE,a);return typeof T=="number"?T:void 0}}buildLookaheadForOptional(e){let{prodOccurrence:r,rule:n,prodType:i,dynamicTokensEnabled:o}=e,s=this.dfas,a=this.logging,c=Hs(n,i,r),p=this.atn.decisionMap[c].decision,m=z(Ep({maxLookahead:1,occurrence:r,prodType:i,rule:n}),T=>z(T,_=>_[0]));if(kE(m)&&m[0][0]&&!o){let T=m[0],_=Vt(T);if(_.length===1&&De(_[0].categoryMatches)){let N=_[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===N}}else{let E=Ft(_,(N,I)=>(I!==void 0&&(N[I.tokenTypeIdx]=!0,Z(I.categoryMatches,A=>{N[A]=!0})),N),{});return function(){let N=this.LA(1);return E[N.tokenTypeIdx]===!0}}}return function(){let T=jv.call(this,s,p,SE,a);return typeof T=="object"?!1:T===0}}};function kE(t,e=!0){let r=new Set;for(let n of t){let i=new Set;for(let o of n){if(o===void 0){if(e)break;return!1}let s=[o.tokenTypeIdx].concat(o.categoryMatches);for(let a of s)if(r.has(a)){if(!i.has(a))return!1}else r.add(a),i.add(a)}}return!0}function DB(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;n<e;n++)r[n]=wB(t.decisionStates[n],n);return r}function jv(t,e,r,n){let i=t[e](r),o=i.start;if(o===void 0){let a=qB(i.atnStartState);o=DE(i,wE(a)),i.start=o}return EB.apply(this,[i,o,r,n])}function EB(t,e,r,n){let i=e,o=1,s=[],a=this.LA(o++);for(;;){let c=LB(i,a);if(c===void 0&&(c=PB.apply(this,[t,i,a,o,r,n])),c===ll)return OB(s,i,a);if(c.isAcceptState===!0)return c.prediction;i=c,s.push(a),a=this.LA(o++)}}function PB(t,e,r,n,i,o){let s=MB(e.configs,r,i);if(s.size===0)return CE(t,e,r,ll),ll;let a=wE(s),c=FB(s,i);if(c!==void 0)a.isAcceptState=!0,a.prediction=c,a.configs.uniqueAlt=c;else if(HB(s)){let f=Zw(s.alts);a.isAcceptState=!0,a.prediction=f,a.configs.uniqueAlt=f,AB.apply(this,[t,n,s.alts,o])}return a=CE(t,e,r,a),a}function AB(t,e,r,n){let i=[];for(let f=1;f<=e;f++)i.push(this.LA(f).tokenType);let o=t.atnStartState,s=o.rule,a=o.production,c=NB({topLevelRule:s,ambiguityIndices:r,production:a,prefixPath:i});n(c)}function NB(t){let e=z(t.prefixPath,i=>ko(i)).join(", "),r=t.production.idx===0?"":t.production.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${IB(t.production)}${r}> inside <${t.topLevelRule.name}> Rule,
186
- <${e}> may appears as a prefix path in all these alternatives.
187
- `;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
188
- For Further details.`,n}function IB(t){if(t instanceof ze)return"SUBRULE";if(t instanceof Ve)return"OPTION";if(t instanceof ut)return"OR";if(t instanceof gt)return"AT_LEAST_ONE";if(t instanceof yt)return"AT_LEAST_ONE_SEP";if(t instanceof ct)return"MANY_SEP";if(t instanceof Oe)return"MANY";if(t instanceof Ee)return"CONSUME";throw Error("non exhaustive match")}function OB(t,e,r){let n=Ir(e.configs.elements,o=>o.state.transitions),i=sD(n.filter(o=>o instanceof Cc).map(o=>o.tokenType),o=>o.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function LB(t,e){return t.edges[e.tokenTypeIdx]}function MB(t,e,r){let n=new Pc,i=[];for(let s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===Dc){i.push(s);continue}let a=s.state.transitions.length;for(let c=0;c<a;c++){let f=s.state.transitions[c],p=$B(f,e);p!==void 0&&n.add({state:p,alt:s.alt,stack:s.stack})}}let o;if(i.length===0&&n.size===1&&(o=n),o===void 0){o=new Pc;for(let s of n.elements)Jp(s,o)}if(i.length>0&&!UB(o))for(let s of i)o.add(s);return o}function $B(t,e){if(t instanceof Cc&&Yu(e,t.tokenType))return t.target}function FB(t,e){let r;for(let n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function wE(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function CE(t,e,r,n){return n=DE(t,n),e.edges[r.tokenTypeIdx]=n,n}function DE(t,e){if(e===ll)return e;let r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function qB(t){let e=new Pc,r=t.transitions.length;for(let n=0;n<r;n++){let o={state:t.transitions[n].target,alt:n,stack:[]};Jp(o,e)}return e}function Jp(t,e){let r=t.state;if(r.type===Dc){if(t.stack.length>0){let i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};Jp(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let n=r.transitions.length;for(let i=0;i<n;i++){let o=r.transitions[i],s=jB(t,o);s!==void 0&&Jp(s,e)}}function jB(t,e){if(e instanceof ul)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof wc){let r=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:r}}}function UB(t){for(let e of t.elements)if(e.state.type===Dc)return!0;return!1}function WB(t){for(let e of t.elements)if(e.state.type!==Dc)return!1;return!0}function HB(t){if(WB(t))return!0;let e=GB(t.elements);return BB(e)&&!KB(e)}function GB(t){let e=new Map;for(let r of t){let n=qv(r,!1),i=e.get(n);i===void 0&&(i={},e.set(n,i)),i[r.alt]=!0}return e}function BB(t){for(let e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function KB(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var Uv=Ie(Rs(),1);var Qp=class{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]}buildRootNode(e){return this.rootNode=new Hv(e),this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new tm;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new em(e.startOffset,e.image.length,yu(e),e.tokenType,!1);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){let r=e.container;if(r){let n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}construct(e){let r=this.current;typeof e.$type=="string"&&(this.current.astNode=e),e.$cstNode=r;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}addHiddenTokens(e){for(let r of e){let n=new em(r.startOffset,r.image.length,yu(r),r.tokenType,!0);n.root=this.rootNode,this.addHiddenToken(this.rootNode,n)}}addHiddenToken(e,r){let{offset:n,end:i}=r;for(let o=0;o<e.content.length;o++){let s=e.content[o],{offset:a,end:c}=s;if(Pi(s)&&n>a&&i<c){this.addHiddenToken(s,r);return}else if(i<=a){e.content.splice(o,0,r);return}}e.content.push(r)}},Zp=class{get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var e,r;let n=typeof((e=this._astNode)===null||e===void 0?void 0:e.$type)=="string"?this._astNode:(r=this.container)===null||r===void 0?void 0:r.astNode;if(!n)throw new Error("This node has no associated AST element");return n}set astNode(e){this._astNode=e}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}},em=class extends Zp{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,o=!1){super(),this._hidden=o,this._offset=e,this._tokenType=i,this._length=r,this._range=n}},tm=class extends Zp{constructor(){super(...arguments),this.content=new Wv(this)}get children(){return this.content}get offset(){var e,r;return(r=(e=this.firstNonHiddenNode)===null||e===void 0?void 0:e.offset)!==null&&r!==void 0?r:0}get length(){return this.end-this.offset}get end(){var e,r;return(r=(e=this.lastNonHiddenNode)===null||e===void 0?void 0:e.end)!==null&&r!==void 0?r:0}get range(){let e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){let{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line<n.start.line?n.start:i.end}}return this._rangeCache}else return{start:Uv.Position.create(0,0),end:Uv.Position.create(0,0)}}get firstNonHiddenNode(){for(let e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){let r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}},Wv=class t extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(let r of e)r.container=this.parent}},Hv=class extends tm{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}};var Bv=Symbol("Datatype");function Gv(t){return t.$type===Bv}var EE="\u200B",PE=t=>t.endsWith(EE)?t:t+EE,rm=class{constructor(e){this._unorderedGroups=new Map,this.lexer=e.parser.Lexer;let r=this.lexer.definition;this.wrapper=new zv(r,Object.assign(Object.assign({},e.parser.ParserConfig),{errorMessageProvider:e.parser.ParserErrorMessageProvider}))}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},nm=class extends rm{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new Qp,this.stack=[],this.assignmentMap=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){let n=e.fragment?void 0:En(e)?Bv:li(e),i=this.wrapper.DEFINE_RULE(PE(e.name),this.startImplementation(n,r).bind(this));return e.entry&&(this.mainRule=i),i}parse(e){this.nodeBuilder.buildRootNode(e);let r=this.lexer.tokenize(e);this.wrapper.input=r.tokens;let n=this.mainRule.call(this.wrapper,{});return this.nodeBuilder.addHiddenTokens(r.hidden),this.unorderedGroups.clear(),{value:n,lexerErrors:r.errors,parserErrors:this.wrapper.errors}}startImplementation(e,r){return n=>{if(!this.isRecording()){let o={$type:e};this.stack.push(o),e===Bv&&(o.value="")}let i;try{i=r(n)}catch{i=void 0}return!this.isRecording()&&i===void 0&&(i=this.construct()),i}}consume(e,r,n){let i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&!i.isInsertedInRecovery){let o=this.nodeBuilder.buildLeafNode(i,n),{assignment:s,isCrossRef:a}=this.getAssignment(n),c=this.current;if(s){let f=Ht(n)?i.image:this.converter.convert(i.image,o);this.assign(s.operator,s.feature,f,o,a)}else if(Gv(c)){let f=i.image;Ht(n)||(f=this.converter.convert(f,o).toString()),c.value+=f}}}subrule(e,r,n,i){let o;this.isRecording()||(o=this.nodeBuilder.buildCompositeNode(n));let s=this.wrapper.wrapSubrule(e,r,i);!this.isRecording()&&o&&o.length>0&&this.performSubruleAssignment(s,n,o)}performSubruleAssignment(e,r,n){let{assignment:i,isCrossRef:o}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,o);else if(!i){let s=this.current;if(Gv(s))s.value+=e.toString();else{let a=e.$type,c=this.assignWithoutOverride(e,s);a&&(c.$type=a);let f=c;this.stack.pop(),this.stack.push(f)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(!n.$cstNode&&r.feature&&r.operator){n=this.construct(!1);let o=n.$cstNode.feature;this.nodeBuilder.buildCompositeNode(o)}let i={$type:e};this.stack.pop(),this.stack.push(i),r.feature&&r.operator&&this.assign(r.operator,r.feature,n,n.$cstNode,!1)}}construct(e=!0){if(this.isRecording())return;let r=this.current;return U_(r),this.nodeBuilder.construct(r),e&&this.stack.pop(),Gv(r)?this.converter.convert(r.value,r.$cstNode):(this.assignMandatoryProperties(r),r)}assignMandatoryProperties(e){let r=this.astReflection.getTypeMetaData(e.$type);for(let n of r.mandatory){let i=e[n.name];n.type==="array"&&!Array.isArray(i)?e[n.name]=[]:n.type==="boolean"&&i===void 0&&(e[n.name]=!1)}}getAssignment(e){if(!this.assignmentMap.has(e)){let r=tt(e,je);this.assignmentMap.set(e,{assignment:r,isCrossRef:r?Dr(r.terminal):!1})}return this.assignmentMap.get(e)}assign(e,r,n,i,o){let s=this.current,a;switch(o&&typeof n=="string"?a=this.linker.buildReference(s,r,i,n):a=n,e){case"=":{s[r]=a;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(a)}}assignWithoutOverride(e,r){for(let[n,i]of Object.entries(r)){let o=e[n];o===void 0?e[n]=i:Array.isArray(o)&&Array.isArray(i)&&(i.push(...o),e[n]=i)}return e}get definitionErrors(){return this.wrapper.definitionErrors}},Kv=class{buildMismatchTokenMessage(e){return Co.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Co.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Co.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Co.buildEarlyExitMessage(e)}},dl=class extends Kv{buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},im=class extends rm{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let r=this.lexer.tokenize(e);return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){let n=this.wrapper.DEFINE_RULE(PE(e.name),this.startImplementation(r).bind(this));return e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{let n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i){this.before(n),this.wrapper.wrapSubrule(e,r,i),this.after(n)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}},zB={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new dl},zv=class extends al{constructor(e,r){let n=r&&"maxLookahead"in r;super(e,Object.assign(Object.assign(Object.assign({},zB),{lookaheadStrategy:n?new wo({maxLookahead:r.maxLookahead}):new fl}),r))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r){return this.RULE(e,r)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}};var pl=class extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};function om(t){throw new Error("Error! The input value was not handled.")}function am(t,e,r){return VB({parser:e,tokens:r,rules:new Map,ruleNames:new Map},t),e}function VB(t,e){let r=Ea(e,!1),n=Ce(e.rules).filter(ee).filter(i=>r.has(i));for(let i of n){let o=Object.assign(Object.assign({},t),{consume:1,optional:1,subrule:1,many:1,or:1});o.rules.set(i.name,t.parser.rule(i,Bs(o,i.definition)))}}function Bs(t,e,r=!1){let n;if(Ht(e))n=tK(t,e);else if(Ze(e))n=XB(t,e);else if(je(e))n=Bs(t,e.terminal);else if(Dr(e))n=AE(t,e);else if(et(e))n=YB(t,e);else if(Sn(e))n=QB(t,e);else if(kn(e))n=ZB(t,e);else if(Tr(e))n=eK(t,e);else throw new pl(e.$cstNode,`Unexpected element type: ${e.$type}`);return NE(t,r?void 0:sm(e),n,e.cardinality)}function XB(t,e){let r=li(e);return()=>t.parser.action(r,e)}function YB(t,e){let r=e.rule.ref;if(ee(r)){let n=t.subrule++,i=e.arguments.length>0?JB(r,e.arguments):()=>({});return o=>t.parser.subrule(n,IE(t,r),e,i(o))}else if(Be(r)){let n=t.consume++,i=Vv(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)om(r);else throw new pl(e.$cstNode,`Undefined rule type: ${e.$type}`)}function JB(t,e){let r=e.map(n=>Do(n.value));return n=>{let i={};for(let o=0;o<r.length;o++){let s=t.parameters[o],a=r[o];i[s.name]=a(n)}return i}}function Do(t){if(s_(t)){let e=Do(t.left),r=Do(t.right);return n=>e(n)||r(n)}else if(i_(t)){let e=Do(t.left),r=Do(t.right);return n=>e(n)&&r(n)}else if(f_(t)){let e=Do(t.value);return r=>!e(r)}else if(va(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(u_(t)){let e=!!t.true;return()=>e}om(t)}function QB(t,e){if(e.elements.length===1)return Bs(t,e.elements[0]);{let r=[];for(let i of e.elements){let o={ALT:Bs(t,i,!0)},s=sm(i);s&&(o.GATE=Do(s)),r.push(o)}let n=t.or++;return i=>t.parser.alternatives(n,r.map(o=>{let s={ALT:()=>o.ALT(i)},a=o.GATE;return a&&(s.GATE=()=>a(i)),s}))}}function ZB(t,e){if(e.elements.length===1)return Bs(t,e.elements[0]);let r=[];for(let a of e.elements){let c={ALT:Bs(t,a,!0)},f=sm(a);f&&(c.GATE=Do(f)),r.push(c)}let n=t.or++,i=(a,c)=>{let f=c.getRuleStack().join("-");return`uGroup_${a}_${f}`},o=a=>t.parser.alternatives(n,r.map((c,f)=>{let p={ALT:()=>!0},m=t.parser;p.ALT=()=>{if(c.ALT(a),!m.isRecording()){let _=i(n,m);m.unorderedGroups.get(_)||m.unorderedGroups.set(_,[]);let E=m.unorderedGroups.get(_);typeof E?.[f]>"u"&&(E[f]=!0)}};let T=c.GATE;return T?p.GATE=()=>T(a):p.GATE=()=>{let _=m.unorderedGroups.get(i(n,m));return!_?.[f]},p})),s=NE(t,sm(e),o,"*");return a=>{s(a),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function eK(t,e){let r=e.elements.map(n=>Bs(t,n));return n=>r.forEach(i=>i(n))}function sm(t){if(Tr(t))return t.guardCondition}function AE(t,e,r=e.terminal){if(r)if(et(r)&&ee(r.rule.ref)){let n=t.subrule++;return i=>t.parser.subrule(n,IE(t,r.rule.ref),e,i)}else if(et(r)&&Be(r.rule.ref)){let n=t.consume++,i=Vv(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(Ht(r)){let n=t.consume++,i=Vv(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);let n=Lu(e.type.ref),i=n?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+li(e.type.ref));return AE(t,e,i)}}function tK(t,e){let r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function NE(t,e,r,n){let i=e&&Do(e);if(!n)if(i){let o=t.or++;return s=>t.parser.alternatives(o,[{ALT:()=>r(s),GATE:()=>i(s)},{ALT:Xp(),GATE:()=>!i(s)}])}else return r;if(n==="*"){let o=t.many++;return s=>t.parser.many(o,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else if(n==="+"){let o=t.many++;if(i){let s=t.or++;return a=>t.parser.alternatives(s,[{ALT:()=>t.parser.atLeastOne(o,{DEF:()=>r(a)}),GATE:()=>i(a)},{ALT:Xp(),GATE:()=>!i(a)}])}else return s=>t.parser.atLeastOne(o,{DEF:()=>r(s)})}else if(n==="?"){let o=t.optional++;return s=>t.parser.optional(o,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else om(n)}function IE(t,e){let r=rK(t,e),n=t.rules.get(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function rK(t,e){if(ee(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!ee(n);)(Tr(n)||Sn(n)||kn(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function Vv(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function OE(t){let e=t.Grammar,r=t.parser.Lexer,n=new im(t);return am(e,n,r.definition),n.finalize(),n}function LE(t){let e=nK(t);return e.finalize(),e}function nK(t){let e=t.Grammar,r=t.parser.Lexer,n=new nm(t);return am(e,n,r.definition)}var cm=class{buildTokens(e,r){let n=Ce(Ea(e,!1)),i=this.buildTerminalTokens(n),o=this.buildKeywordTokens(n,i,r);return i.forEach(s=>{let a=s.PATTERN;typeof a=="object"&&a&&"test"in a&&ky(a)?o.unshift(s):o.push(s)}),o}buildTerminalTokens(e){return e.filter(Be).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=Hn(e),n=r.flags.includes("u")?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n,LINE_BREAKS:!0};return e.hidden&&(i.GROUP=ky(r)?Bt.SKIPPED:"hidden"),i}regexPatternFunction(e){let r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(ee).flatMap(i=>St(i).filter(Ht)).distinct(i=>i.value).toArray().sort((i,o)=>o.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){return{name:e.value,PATTERN:this.buildKeywordPattern(e,n),LONGER_ALT:this.findLongerAlt(e,r)}}buildKeywordPattern(e,r){return r?new RegExp(uS(e.value)):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{let o=i?.PATTERN;return o?.source&&lS("^"+o.source+"$",e.value)&&n.push(i),n},[])}};var um=class{convert(e,r){let n=r.grammarSource;if(Dr(n)&&(n=ud(n)),et(n)){let i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){var i;switch(e.name.toUpperCase()){case"INT":return aK(r);case"STRING":return iK(r);case"ID":return sK(r)}switch((i=Is(e))===null||i===void 0?void 0:i.toLowerCase()){case"number":return lK(r);case"boolean":return fK(r);case"bigint":return cK(r);case"date":return uK(r);default:return r}}};function iK(t){let e="";for(let r=1;r<t.length-1;r++){let n=t.charAt(r);if(n==="\\"){let i=t.charAt(++r);e+=oK(i)}else e+=n}return e}function oK(t){switch(t){case"b":return"\b";case"f":return"\f";case"n":return`
189
- `;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return t}}function sK(t){return t.charAt(0)==="^"?t.substring(1):t}function aK(t){return parseInt(t)}function cK(t){return BigInt(t)}function uK(t){return new Date(t)}function lK(t){return Number(t)}function fK(t){return t.toLowerCase()==="true"}var ME=Ie(Qe(),1);var lm=class{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator}async link(e,r=ME.CancellationToken.None){for(let n of uo(e.parseResult.value))await kt(r),qf(n).forEach(i=>this.doLink(i,e))}doLink(e,r){let n=e.reference;if(n._ref===void 0)try{let i=this.getCandidate(e);if(pa(i))n._ref=i;else if(n._nodeDescription=i,this.langiumDocuments().hasDocument(i.documentUri)){let o=this.loadAstNode(i);n._ref=o??this.createLinkingError(e,i)}}catch(i){n._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${n.$refText}': ${i}`})}r.references.push(n)}unlink(e){for(let r of e.references)delete r._ref,delete r._nodeDescription;e.references=[]}getCandidate(e){let n=this.scopeProvider.getScope(e).getElement(e.reference.$refText);return n??this.createLinkingError(e)}buildReference(e,r,n,i){let o=this,s={$refNode:n,$refText:i,get ref(){var a;if(rr(this._ref))return this._ref;if(Hx(this._nodeDescription)){let c=o.loadAstNode(this._nodeDescription);this._ref=c??o.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){let c=o.getLinkedNode({reference:s,container:e,property:r});if(c.error&&ke(e).state<ft.ComputedScopes)return;this._ref=(a=c.node)!==null&&a!==void 0?a:c.error,this._nodeDescription=c.descr}return rr(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return pa(this._ref)?this._ref:void 0}};return s}getLinkedNode(e){try{let r=this.getCandidate(e);if(pa(r))return{error:r};let n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){return{error:Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${e.reference.$refText}': ${r}`})}}}loadAstNode(e){if(e.node)return e.node;let r=this.langiumDocuments().getOrCreateDocument(e.documentUri);return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){let n=ke(e.container);n.state<ft.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${n.uri}).`);let i=this.reflection.getReferenceType(e);return Object.assign(Object.assign({},e),{message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:r})}};function FE(t){return typeof t.$comment=="string"}function $E(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}var fm=class{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){let n=r?.replacer,i=(s,a)=>this.replacer(s,a,r);return JSON.stringify(e,n?(s,a)=>n(s,a,i):i,r?.space)}deserialize(e){let r=JSON.parse(e);return this.linkNode(r,r),r}replacer(e,r,{refText:n,sourceText:i,textRegions:o,comments:s}={}){var a,c,f;if(!this.ignoreProperties.has(e))if(so(r)){let p=r.ref,m=n?r.$refText:void 0;return p?{$refText:m,$ref:"#"+(p&&this.astNodeLocator.getAstNodePath(p))}:{$refText:m,$error:(c=(a=r.error)===null||a===void 0?void 0:a.message)!==null&&c!==void 0?c:"Could not resolve reference"}}else{let p;if(o&&rr(r)&&(p=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},r)),(!e||r.$document)&&p?.$textRegion))try{p.$textRegion.documentURI=ke(r).uri.toString()}catch{}return i&&!e&&rr(r)&&(p??(p=Object.assign({},r)),p.$sourceText=(f=r.$cstNode)===null||f===void 0?void 0:f.text),s&&rr(r)&&(p??(p=Object.assign({},r)),p.$comment=this.commentProvider.getComment(r)),p??r}}addAstNodeRegionWithAssignmentsTo(e){let r=n=>({offset:n.offset,end:n.end,length:n.length,range:n.range});if(e.$cstNode){let n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(o=>!o.startsWith("$")).forEach(o=>{let s=jo(e.$cstNode,o).map(r);s.length!==0&&(i[o]=s)}),e}}linkNode(e,r,n,i,o){for(let[a,c]of Object.entries(e))if(Array.isArray(c))for(let f=0;f<c.length;f++){let p=c[f];$E(p)?c[f]=this.reviveReference(e,a,r,p):rr(p)&&this.linkNode(p,r,e,a,f)}else $E(c)?e[a]=this.reviveReference(e,a,r,c):rr(c)&&this.linkNode(c,r,e,a);let s=e;s.$container=n,s.$containerProperty=i,s.$containerIndex=o}reviveReference(e,r,n,i){let o=i.$refText;if(i.$ref){let s=this.getRefNode(n,i.$ref);return o||(o=this.nameProvider.getName(s)),{$refText:o??"",ref:s}}else if(i.$error){let s={$refText:o??""};return s.error={container:e,property:r,message:i.$error,reference:s},s}else return}getRefNode(e,r){return this.astNodeLocator.getAstNode(e,r.substring(1))}};var dm=class{register(e){if(!this.singleton&&!this.map){this.singleton=e;return}if(!this.map&&(this.map={},this.singleton)){for(let r of this.singleton.LanguageMetaData.fileExtensions)this.map[r]=this.singleton;this.singleton=void 0}for(let r of e.LanguageMetaData.fileExtensions)this.map[r]!==void 0&&this.map[r]!==e&&console.warn(`The file extension ${r} is used by multiple languages. It is now assigned to '${e.LanguageMetaData.languageId}'.`),this.map[r]=e}getServices(e){if(this.singleton!==void 0)return this.singleton;if(this.map===void 0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");let r=Fe.extname(e),n=this.map[r];if(!n)throw new Error(`The service registry contains no services for the extension '${r}'.`);return n}get all(){return this.singleton!==void 0?[this.singleton]:this.map!==void 0?Object.values(this.map):[]}};var qE=Ie(Qe(),1);var pm=class{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n=ke(e)){r??(r=this.nameProvider.getName(e));let i=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${i} has no name.`);let o,s=()=>{var a;return o??(o=Wr((a=this.nameProvider.getNameNode(e))!==null&&a!==void 0?a:e.$cstNode))};return{node:e,name:r,get nameSegment(){return s()},selectionSegment:Wr(e.$cstNode),type:e.$type,documentUri:n.uri,path:i}}},mm=class{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=qE.CancellationToken.None){let n=[],i=e.parseResult.value;for(let o of uo(i))await kt(r),qf(o).filter(s=>!pa(s)).forEach(s=>{let a=this.createDescription(s);a&&n.push(a)});return n}createDescription(e){let r=e.reference.$nodeDescription,n=e.reference.$refNode;if(!r||!n)return;let i=ke(e.container).uri;return{sourceUri:i,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:r.documentUri,targetPath:r.path,segment:Wr(n),local:Fe.equals(r.documentUri,i)}}};var hm=class{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,o)=>{if(!i||o.length===0)return i;let s=o.indexOf(this.indexSeparator);if(s>0){let a=o.substring(0,s),c=parseInt(o.substring(s+1)),f=i[a];return f?.[c]}return i[o]},e)}};var jE=Ie(er(),1),gm=class{constructor(e){this.settings={},this.workspaceConfig=!1,this.initialized=!1,this.serviceRegistry=e.ServiceRegistry,this.connection=e.lsp.Connection,e.lsp.LanguageServer.onInitialize(r=>{var n,i;this.workspaceConfig=(i=(n=r.capabilities.workspace)===null||n===void 0?void 0:n.configuration)!==null&&i!==void 0?i:!1}),e.lsp.LanguageServer.onInitialized(r=>{var n;let i=this.serviceRegistry.all;(n=e.lsp.Connection)===null||n===void 0||n.client.register(jE.DidChangeConfigurationNotification.type,{section:i.map(o=>this.toSectionName(o.LanguageMetaData.languageId))})})}async initialize(){if(this.workspaceConfig&&this.connection){let r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await this.connection.workspace.getConfiguration(r);r.forEach((i,o)=>{this.updateSectionConfiguration(i.section,n[o])})}this.initialized=!0}updateConfiguration(e){e.settings&&Object.keys(e.settings).forEach(r=>{this.updateSectionConfiguration(r,e.settings[r])})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){this.initialized||await this.initialize();let n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}};var Ac=Ie(Qe(),1);var ym=class{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new at,this.buildState=new Map,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.indexManager=e.workspace.IndexManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=Ac.CancellationToken.None){var i,o;for(let s of e){let a=s.uri.toString();if(s.state===ft.Validated){if(typeof r.validation=="boolean"&&r.validation)s.state=ft.IndexedReferences,s.diagnostics=void 0,this.buildState.delete(a);else if(typeof r.validation=="object"){let c=this.buildState.get(a),f=(i=c?.result)===null||i===void 0?void 0:i.validationChecks;if(f){let m=((o=r.validation.categories)!==null&&o!==void 0?o:Ca.all).filter(T=>!f.includes(T));m.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:Object.assign(Object.assign({},r.validation),{categories:m})},result:c.result}),s.state=ft.IndexedReferences)}}}else this.buildState.delete(a)}await this.buildDocuments(e,r,n)}async update(e,r,n=Ac.CancellationToken.None){for(let s of r)this.langiumDocuments.deleteDocument(s),this.buildState.delete(s.toString());this.indexManager.remove(r);for(let s of e)this.langiumDocuments.invalidateDocument(s)||this.langiumDocuments.getOrCreateDocument(s),this.buildState.delete(s.toString());let i=Ce(e).concat(r).map(s=>s.toString()).toSet();this.langiumDocuments.all.filter(s=>!i.has(s.uri.toString())&&this.shouldRelink(s,i)).forEach(s=>{this.serviceRegistry.getServices(s.uri).references.Linker.unlink(s),s.state=Math.min(s.state,ft.ComputedScopes),s.diagnostics=void 0});for(let s of this.updateListeners)s(e,r);await kt(n);let o=this.langiumDocuments.all.filter(s=>{var a;return s.state<ft.Linked||!(!((a=this.buildState.get(s.uri.toString()))===null||a===void 0)&&a.completed)}).toArray();await this.buildDocuments(o,this.updateBuildOptions,n)}shouldRelink(e,r){return e.references.some(n=>n.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),Ac.Disposable.create(()=>{let r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,ft.Parsed,n,o=>{this.langiumDocumentFactory.update(o)}),await this.runCancelable(e,ft.IndexedContent,n,o=>this.indexManager.updateContent(o,n)),await this.runCancelable(e,ft.ComputedScopes,n,async o=>{let s=this.serviceRegistry.getServices(o.uri).references.ScopeComputation;o.precomputedScopes=await s.computeLocalScopes(o,n)}),await this.runCancelable(e,ft.Linked,n,o=>this.serviceRegistry.getServices(o.uri).references.Linker.link(o,n)),await this.runCancelable(e,ft.IndexedReferences,n,o=>this.indexManager.updateReferences(o,n));let i=e.filter(o=>this.shouldValidate(o));await this.runCancelable(i,ft.Validated,n,o=>this.validate(o,n));for(let o of e){let s=this.buildState.get(o.uri.toString());s&&(s.completed=!0)}}prepareBuild(e,r){for(let n of e){let i=n.uri.toString(),o=this.buildState.get(i);(!o||o.completed)&&this.buildState.set(i,{completed:!1,options:r,result:o?.result})}}async runCancelable(e,r,n,i){let o=e.filter(s=>s.state<r);for(let s of o)await kt(n),await i(s),s.state=r;await this.notifyBuildPhase(o,r,n)}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),Ac.Disposable.create(()=>{this.buildPhaseListeners.delete(e,r)})}async notifyBuildPhase(e,r,n){if(e.length===0)return;let i=this.buildPhaseListeners.get(r);for(let o of i)await kt(n),await o(e,n)}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){var n,i;let o=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,s=this.getBuildOptions(e).validation,a=typeof s=="object"?s:void 0,c=await o.validateDocument(e,a,r);e.diagnostics?e.diagnostics.push(...c):e.diagnostics=c;let f=this.buildState.get(e.uri.toString());if(f){(n=f.result)!==null&&n!==void 0||(f.result={});let p=(i=a?.categories)!==null&&i!==void 0?i:Ca.all;f.result.validationChecks?f.result.validationChecks.push(...p):f.result.validationChecks=[...p]}}getBuildOptions(e){var r,n;return(n=(r=this.buildState.get(e.uri.toString()))===null||r===void 0?void 0:r.options)!==null&&n!==void 0?n:{}}};var Xv=Ie(Qe(),1);var vm=class{constructor(e){this.simpleIndex=new Map,this.simpleTypeIndex=new rd,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let n=ke(e).uri,i=[];return this.referenceIndex.forEach(o=>{o.forEach(s=>{Fe.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),Ce(i)}allElements(e,r){let n=Ce(this.simpleIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){var n;return r?this.simpleTypeIndex.get(e,r,()=>{var o;return((o=this.simpleIndex.get(e))!==null&&o!==void 0?o:[]).filter(a=>this.astReflection.isSubtype(a.type,r))}):(n=this.simpleIndex.get(e))!==null&&n!==void 0?n:[]}remove(e){for(let r of e){let n=r.toString();this.simpleIndex.delete(n),this.simpleTypeIndex.clear(n),this.referenceIndex.delete(n)}}async updateContent(e,r=Xv.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.computeExports(e,r);for(let s of i)s.node=void 0;let o=e.uri.toString();this.simpleIndex.set(o,i),this.simpleTypeIndex.clear(o)}async updateReferences(e,r=Xv.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){let n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}};var UE=Ie(Qe(),1);var Tm=class{constructor(e){this.initialBuildOptions={},this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.MutexLock,e.lsp.LanguageServer.onInitialize(r=>{var n;this.folders=(n=r.workspaceFolders)!==null&&n!==void 0?n:void 0}),e.lsp.LanguageServer.onInitialized(r=>{this.mutex.lock(n=>{var i;return this.initializeWorkspace((i=this.folders)!==null&&i!==void 0?i:[],n)})})}async initializeWorkspace(e,r=UE.CancellationToken.None){let n=this.serviceRegistry.all.flatMap(s=>s.LanguageMetaData.fileExtensions),i=[],o=s=>{i.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};await this.loadAdditionalDocuments(e,o),await Promise.all(e.map(s=>[s,this.getRootFolder(s)]).map(async s=>this.traverseFolder(...s,n,o))),await kt(r),await this.documentBuilder.build(i,this.initialBuildOptions,r)}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return Ar.parse(e.uri)}async traverseFolder(e,r,n,i){let o=await this.fileSystemProvider.readDirectory(r);await Promise.all(o.map(async s=>{if(this.includeEntry(e,s,n)){if(s.isDirectory)await this.traverseFolder(e,s.uri,n,i);else if(s.isFile){let a=this.langiumDocuments.getOrCreateDocument(s.uri);i(a)}}}))}includeEntry(e,r,n){let i=Fe.basename(r.uri);if(i.startsWith("."))return!1;if(r.isDirectory)return i!=="node_modules"&&i!=="out";if(r.isFile){let o=Fe.extname(r.uri);return n.includes(o)}return!1}};var Rm=class{constructor(e){let r=e.parser.TokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);let n=WE(r)?Object.values(r):r;this.chevrotainLexer=new Bt(n,{positionTracking:"full"})}get definition(){return this.tokenTypes}tokenize(e){var r;let n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:(r=n.groups.hidden)!==null&&r!==void 0?r:[]}}toTokenTypeDictionary(e){if(WE(e))return e;let r=HE(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}};function dK(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function HE(t){return t&&"modes"in t&&"defaultMode"in t}function WE(t){return!dK(t)&&!HE(t)}var Ue=Ie(Qe(),1);function KE(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=Ue.Position.create(0,0));let o=VE(t),s=Qv(n),a=mK({lines:o,position:i,options:s});return TK({index:0,tokens:a,position:i})}function zE(t,e){let r=Qv(e),n=VE(t);if(n.length===0)return!1;let i=n[0],o=n[n.length-1],s=r.start,a=r.end;return!!s?.exec(i)&&!!a?.exec(o)}function VE(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(bu)}var GE=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,pK=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function mK(t){var e,r,n;let i=[],o=t.position.line,s=t.position.character;for(let a=0;a<t.lines.length;a++){let c=a===0,f=a===t.lines.length-1,p=t.lines[a],m=0;if(c&&t.options.start){let _=(e=t.options.start)===null||e===void 0?void 0:e.exec(p);_&&(m=_.index+_[0].length)}else{let _=(r=t.options.line)===null||r===void 0?void 0:r.exec(p);_&&(m=_.index+_[0].length)}if(f){let _=(n=t.options.end)===null||n===void 0?void 0:n.exec(p);_&&(p=p.substring(0,_.index))}if(p=p.substring(0,vK(p)),Jv(p,0)>=p.length){if(i.length>0){let _=Ue.Position.create(o,s);i.push({type:"break",content:"",range:Ue.Range.create(_,_)})}}else{GE.lastIndex=m;let _=GE.exec(p);if(_){let E=_[0],N=_[1],I=Ue.Position.create(o,s+m),A=Ue.Position.create(o,s+m+E.length);i.push({type:"tag",content:N,range:Ue.Range.create(I,A)}),m+=E.length,m=Jv(p,m)}if(m<p.length){let E=p.substring(m),N=Array.from(E.matchAll(pK));i.push(...hK(N,E,o,s+m))}}o++,s=0}return i.length>0&&i[i.length-1].type==="break"?i.slice(0,-1):i}function hK(t,e,r,n){let i=[];if(t.length===0){let o=Ue.Position.create(r,n),s=Ue.Position.create(r,n+e.length);i.push({type:"text",content:e,range:Ue.Range.create(o,s)})}else{let o=0;for(let a of t){let c=a.index,f=e.substring(o,c);f.length>0&&i.push({type:"text",content:e.substring(o,c),range:Ue.Range.create(Ue.Position.create(r,o+n),Ue.Position.create(r,c+n))});let p=f.length+1,m=a[1];if(i.push({type:"inline-tag",content:m,range:Ue.Range.create(Ue.Position.create(r,o+p+n),Ue.Position.create(r,o+p+m.length+n))}),p+=m.length,a.length===4){p+=a[2].length;let T=a[3];i.push({type:"text",content:T,range:Ue.Range.create(Ue.Position.create(r,o+p+n),Ue.Position.create(r,o+p+T.length+n))})}else i.push({type:"text",content:"",range:Ue.Range.create(Ue.Position.create(r,o+p+n),Ue.Position.create(r,o+p+n))});o=c+a[0].length}let s=e.substring(o);s.length>0&&i.push({type:"text",content:s,range:Ue.Range.create(Ue.Position.create(r,o+n),Ue.Position.create(r,o+n+s.length))})}return i}var gK=/\S/,yK=/\s*$/;function Jv(t,e){let r=t.substring(e).match(gK);return r?e+r.index:t.length}function vK(t){let e=t.match(yK);if(e&&typeof e.index=="number")return e.index}function TK(t){var e,r,n,i;let o=Ue.Position.create(t.position.line,t.position.character);if(t.tokens.length===0)return new bm([],Ue.Range.create(o,o));let s=[];for(;t.index<t.tokens.length;){let f=RK(t,s[s.length-1]);f&&s.push(f)}let a=(r=(e=s[0])===null||e===void 0?void 0:e.range.start)!==null&&r!==void 0?r:o,c=(i=(n=s[s.length-1])===null||n===void 0?void 0:n.range.end)!==null&&i!==void 0?i:o;return new bm(s,Ue.Range.create(a,c))}function RK(t,e){let r=t.tokens[t.index];if(r.type==="tag")return YE(t,!1);if(r.type==="text"||r.type==="inline-tag")return XE(t);bK(r,e),t.index++}function bK(t,e){if(e){let r=new xm("",t.range);"inlines"in e?e.inlines.push(r):e.content.inlines.push(r)}}function XE(t){let e=t.tokens[t.index],r=e,n=e,i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(xK(t)),n=e,e=t.tokens[t.index];return new hl(i,Ue.Range.create(r.range.start,n.range.end))}function xK(t){return t.tokens[t.index].type==="inline-tag"?YE(t,!0):JE(t)}function YE(t,e){let r=t.tokens[t.index++],n=r.content.substring(1),i=t.tokens[t.index];if(i?.type==="text")if(e){let o=JE(t);return new ml(n,new hl([o],o.range),e,Ue.Range.create(r.range.start,o.range.end))}else{let o=XE(t);return new ml(n,o,e,Ue.Range.create(r.range.start,o.range.end))}else{let o=r.range;return new ml(n,new hl([],o),e,o)}}function JE(t){let e=t.tokens[t.index++];return new xm(e.content,e.range)}function Qv(t){if(!t)return Qv({start:"/**",end:"*/",line:"*"});let{start:e,end:r,line:n}=t;return{start:Yv(e,!0),end:Yv(r,!1),line:Yv(n,!0)}}function Yv(t,e){if(typeof t=="string"||typeof t=="object"){let r=typeof t=="string"?po(t):t.source;return e?new RegExp(`^\\s*${r}`):new RegExp(`\\s*${r}\\s*$`)}else return t}var bm=class{constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let r of this.elements)if(e.length===0)e=r.toString();else{let n=r.toString();e+=BE(e)+n}return e.trim()}toMarkdown(e){let r="";for(let n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{let i=n.toMarkdown(e);r+=BE(r)+i}return r.trim()}},ml=class{constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`,r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e}
190
- ${r}`),this.inline?`{${e}}`:e}toMarkdown(e){let r=this.content.toMarkdown(e);if(this.inline){let o=_K(this.name,r,e??{});if(typeof o=="string")return o}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} \u2014 ${r}`:this.content.inlines.length>1&&(i=`${i}
191
- ${r}`),this.inline?`{${i}}`:i}};function _K(t,e,r){var n,i;if(t==="linkplain"||t==="linkcode"||t==="link"){let o=e.indexOf(" "),s=e;if(o>0){let c=Jv(e,o);s=e.substring(c),e=e.substring(0,o)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(s=`\`${s}\``),(i=(n=r.renderLink)===null||n===void 0?void 0:n.call(r,e,s))!==null&&i!==void 0?i:SK(e,s)}}function SK(t,e){try{return Ar.parse(t,!0),`[${e}](${t})`}catch{return t}}var hl=class{constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;r<this.inlines.length;r++){let n=this.inlines[r],i=this.inlines[r+1];e+=n.toString(),i&&i.range.start.line>n.range.start.line&&(e+=`
192
- `)}return e}toMarkdown(e){let r="";for(let n=0;n<this.inlines.length;n++){let i=this.inlines[n],o=this.inlines[n+1];r+=i.toMarkdown(e),o&&o.range.start.line>i.range.start.line&&(r+=`
193
- `)}return r}},xm=class{constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}};function BE(t){return t.endsWith(`
194
- `)?`
195
- `:`
196
-
197
- `}var _m=class{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&zE(r))return KE(r).toMarkdown({renderLink:(i,o)=>this.documentationLinkRenderer(e,i,o)})}documentationLinkRenderer(e,r,n){var i;let o=(i=this.findNameInPrecomputedScopes(e,r))!==null&&i!==void 0?i:this.findNameInGlobalScope(e,r);if(o&&o.nameSegment){let s=o.nameSegment.range.start.line+1,a=o.nameSegment.range.start.character+1,c=o.documentUri.with({fragment:`L${s},${a}`});return`[${n}](${c.toString()})`}else return}findNameInPrecomputedScopes(e,r){let i=ke(e).precomputedScopes;if(!i)return;let o=e;do{let a=i.get(o).find(c=>c.name===r);if(a)return a;o=o.$container}while(o)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}};var Sm=class{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var r;return FE(e)?e.$comment:(r=Xx(e.$cstNode,this.grammarConfig().multilineCommentRules))===null||r===void 0?void 0:r.text}};function Jy(t){return{documentation:{CommentProvider:e=>new Sm(e),DocumentationProvider:e=>new _m(e)},parser:{GrammarConfig:e=>dk(e),LangiumParser:e=>LE(e),CompletionParser:e=>OE(e),ValueConverter:()=>new um,TokenBuilder:()=>new cm,Lexer:e=>new Rm(e),ParserErrorMessageProvider:()=>new dl},lsp:{CompletionProvider:e=>new Fa(e),DocumentSymbolProvider:e=>new xd(e),HoverProvider:e=>new Sd(e),FoldingRangeProvider:e=>new ja(e),ReferencesProvider:e=>new Pd(e),DefinitionProvider:e=>new Ha(e),DocumentHighlightProvider:e=>new bd(e),RenameProvider:e=>new Ad(e)},workspace:{AstNodeLocator:()=>new hm,AstNodeDescriptionProvider:e=>new pm(e),ReferenceDescriptionProvider:e=>new mm(e)},references:{Linker:e=>new lm(e),NameProvider:()=>new Sa,ScopeProvider:e=>new Ma(e),ScopeComputation:e=>new La(e),References:e=>new Ua(e)},serializer:{JsonSerializer:e=>new fm(e)},validation:{DocumentValidator:e=>new sd(e),ValidationRegistry:e=>new Jf(e)},shared:()=>t.shared}}function Qy(t){return{ServiceRegistry:()=>new dm,lsp:{Connection:()=>t.connection,LanguageServer:e=>new wd(e),WorkspaceSymbolProvider:e=>new Nd(e),NodeKindProvider:()=>new Dd,FuzzyMatcher:()=>new _d},workspace:{LangiumDocuments:e=>new Cd(e),LangiumDocumentFactory:e=>new kd(e),DocumentBuilder:e=>new ym(e),TextDocuments:()=>new QE.TextDocuments(da),IndexManager:e=>new vm(e),WorkspaceManager:e=>new Tm(e),FileSystemProvider:e=>t.fileSystemProvider(e),MutexLock:()=>new Yf,ConfigurationProvider:e=>new gm(e)}}}var Kc=Ie(nN(),1),L3=new Kc.BrowserMessageReader(self),M3=new Kc.BrowserMessageWriter(self),$3={connection:(0,Kc.createConnection)(L3,M3),...Fd},{shared:F3}=$d($3);ZS(F3);})();
198
- /*! Bundled license information:
199
-
200
- lodash-es/lodash.js:
201
- (**
202
- * @license
203
- * Lodash (Custom Build) <https://lodash.com/>
204
- * Build: `lodash modularize exports="es" -o ./`
205
- * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
206
- * Released under MIT license <https://lodash.com/license>
207
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
208
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
209
- *)
210
- */