173 lines
582 KiB
JavaScript
Raw Normal View History

2026-05-31 13:21:13 +02:00
var tI=Object.create;var qo=Object.defineProperty;var rI=Object.getOwnPropertyDescriptor;var nI=Object.getOwnPropertyNames;var iI=Object.getPrototypeOf,aI=Object.prototype.hasOwnProperty;var a=(t,e)=>qo(t,"name",{value:e,configurable:!0});var sI=(t,e)=>()=>(t&&(e=t(t=0)),e);var J=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Un=(t,e)=>{for(var r in e)qo(t,r,{get:e[r],enumerable:!0})},Vu=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of nI(e))!aI.call(t,i)&&i!==r&&qo(t,i,{get:()=>e[i],enumerable:!(n=rI(e,i))||n.enumerable});return t},se=(t,e,r)=>(Vu(t,e,"default"),r&&Vu(r,e,"default")),Nd=(t,e,r)=>(r=t!=null?tI(iI(t)):{},Vu(e||!t||!t.__esModule?qo(r,"default",{value:t,enumerable:!0}):r,t)),Id=t=>Vu(qo({},"__esModule",{value:!0}),t);var mp={};Un(mp,{AnnotatedTextEdit:()=>kn,ChangeAnnotation:()=>ya,ChangeAnnotationIdentifier:()=>$t,CodeAction:()=>Xh,CodeActionContext:()=>Yh,CodeActionKind:()=>Hh,CodeActionTriggerKind:()=>Wl,CodeDescription:()=>Ch,CodeLens:()=>Jh,Color:()=>op,ColorInformation:()=>xh,ColorPresentation:()=>Rh,Command:()=>ga,CompletionItem:()=>Mh,CompletionItemKind:()=>Ih,CompletionItemLabelDetails:()=>Lh,CompletionItemTag:()=>kh,CompletionList:()=>Dh,CreateFile:()=>to,DeleteFile:()=>no,Diagnostic:()=>zl,DiagnosticRelatedInformation:()=>lp,DiagnosticSeverity:()=>vh,DiagnosticTag:()=>Ah,DocumentHighlight:()=>zh,DocumentHighlightKind:()=>jh,DocumentLink:()=>Qh,DocumentSymbol:()=>Vh,DocumentUri:()=>yh,EOL:()=>Yz,FoldingRange:()=>Eh,FoldingRangeKind:()=>$h,FormattingOptions:()=>Zh,Hover:()=>Fh,InlayHint:()=>ly,InlayHintKind:()=>pp,InlayHintLabelPart:()=>dp,InlineCompletionContext:()=>my,InlineCompletionItem:()=>cy,InlineCompletionList:()=>fy,InlineCompletionTriggerKind:()=>py,InlineValueContext:()=>oy,InlineValueEvaluatableExpression:()=>sy,InlineValueText:()=>iy,InlineValueVariableLookup:()=>ay,InsertReplaceEdit:()=>Ph,InsertTextFormat:()=>_h,InsertTextMode:()=>Oh,Location:()=>jl,LocationLink:()=>Th,MarkedString:()=>ql,MarkupContent:()=>io,MarkupKind:()=>fp,OptionalVersionedTextDocumentIdentifier:()=>Kl,ParameterInformation:()=>Gh,Position:()=>le,Range:()=>ie,RenameFile:()=>ro,SelectedCompletionInfo:()=>dy,SelectionRange:()=>ey,SemanticTokenModifiers:()=>ry,SemanticTokenTypes:()=>ty,SemanticTokens:()=>ny,SignatureInformation:()=>Uh,StringValue:()=>uy,SymbolInformation:()=>qh,SymbolKind:()=>Bh,SymbolTag:()=>Kh,TextDocument:()=>yy,TextDocumentEdit:()=>Bl,TextDocumentIdentifier:()=>Sh,TextDocumentItem:()=>Nh,TextEdit:()=>rn,URI:()=>sp,VersionedTextDocumentIdentifier:()=>wh,WorkspaceChange:()=>bh,WorkspaceEdit:()=>up,WorkspaceFolder:()=>hy,WorkspaceSymbol:()=>Wh,integer:()=>gh,uinteger:()=>Ul});var yh,sp,gh,Ul,le,ie,jl,Th,op,xh,Rh,$h,Eh,lp,vh,Ah,Ch,zl,ga,rn,ya,$t,kn,Bl,to,ro,no,up,eo,cp,bh,Sh,wh,Kl,Nh,fp,io,Ih,_h,kh,Ph,Oh,Lh,Mh,Dh,ql,Fh,Gh,Uh,jh,zh,Bh,Kh,qh,Wh,Vh,Hh,Wl,Yh,Xh,Jh,Zh,Qh,ey,ty,ry,ny,iy,ay,sy,oy,pp,dp,ly,uy,cy,fy,py,dy,my,hy,Yz,yy,gy,g,ao=sI(()=>{"use strict";(function(t){function e(r){return typeof r=="string"}a(e,"is"),t.is=e})(yh||(yh={}));(function(t){function e(r){return typeof r=="string"}a(e,"is"),t.is=e})(sp||(sp={}));(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}a(e,"is"),t.is=e})(gh||(gh={}));(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}a(e,"is"),t.is=e})(Ul||(Ul={}));(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=Ul.MAX_VALUE),i===Number.MAX_VALUE&&(i=Ul.MAX_VALUE),{line:n,character:i}}a(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&g.uinteger(i.line)&&g.uinteger(i.character)}a(r,"is"),t.is=r})(le||(le={}));(function(t){function e(n,i,s,o){if(g.uinteger(n)&&g.uinteger(i)&&g.uinteger(s)&&g.uinteger(o))return{start:le.create(n,i),end:le.create(s,o)};if(le.is(n)&&le.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${s}, ${o}]`)}a(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&le.is(i.start)&&
`,`\r
`,"\r"];(function(t){function e(s,o,l,u){return new gy(s,o,l,u)}a(e,"create"),t.create=e;function r(s){let o=s;return!!(g.defined(o)&&g.string(o.uri)&&(g.undefined(o.languageId)||g.string(o.languageId))&&g.uinteger(o.lineCount)&&g.func(o.getText)&&g.func(o.positionAt)&&g.func(o.offsetAt))}a(r,"is"),t.is=r;function n(s,o){let l=s.getText(),u=i(o,(f,p)=>{let m=f.range.start.line-p.range.start.line;return m===0?f.range.start.character-p.range.start.character:m}),c=l.length;for(let f=u.length-1;f>=0;f--){let p=u[f],m=s.offsetAt(p.range.start),y=s.offsetAt(p.range.end);if(y<=c)l=l.substring(0,m)+p.newText+l.substring(y,l.length);else throw new Error("Overlapping edit");c=m}return l}a(n,"applyEdits"),t.applyEdits=n;function i(s,o){if(s.length<=1)return s;let l=s.length/2|0,u=s.slice(0,l),c=s.slice(l);i(u,o),i(c,o);let f=0,p=0,m=0;for(;f<u.length&&p<c.length;)o(u[f],c[p])<=0?s[m++]=u[f++]:s[m++]=c[p++];for(;f<u.length;)s[m++]=u[f++];for(;p<c.length;)s[m++]=c[p++];return s}a(i,"mergeSort")})(yy||(yy={}));gy=class{static{a(this,"FullTextDocument")}constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){this._content=e.text,this._version=r,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],r=this._content,n=!0;for(let i=0;i<r.length;i++){n&&(e.push(i),n=!1);let s=r.charAt(i);n=s==="\r"||s===`
`,s==="\r"&&i+1<r.length&&r.charAt(i+1)===`
`&&i++}n&&r.length>0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return le.create(0,e);for(;n<i;){let o=Math.floor((n+i)/2);r[o]>e?i=o:n=o+1}let s=n-1;return le.create(s,e-r[s])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let 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)}get lineCount(){return this.getLineOffsets().length}};(function(t){let e=Object.prototype.toString;function r(y){return typeof y<"u"}a(r,"defined"),t.defined=r;function n(y){return typeof y>"u"}a(n,"undefined"),t.undefined=n;function i(y){return y===!0||y===!1}a(i,"boolean"),t.boolean=i;function s(y){return e.call(y)==="[object String]"}a(s,"string"),t.string=s;function o(y){return e.call(y)==="[object Number]"}a(o,"number"),t.number=o;function l(y,A,C){return e.call(y)==="[object Number]"&&A<=y&&y<=C}a(l,"numberRange"),t.numberRange=l;function u(y){return e.call(y)==="[object Number]"&&-2147483648<=y&&y<=2147483647}a(u,"integer"),t.integer=u;function c(y){return e.call(y)==="[object Number]"&&0<=y&&y<=2147483647}a(c,"uinteger"),t.uinteger=c;function f(y){return e.call(y)==="[object Function]"}a(f,"func"),t.func=f;function p(y){return y!==null&&typeof y=="object"}a(p,"objectLiteral"),t.objectLiteral=p;function m(y,A){return Array.isArray(y)&&y.every(A)}a(m,"typedArray"),t.typedArray=m})(g||(g={}))});var Ni=J(Sy=>{"use strict";Object.defineProperty(Sy,"__esModule",{value:!0});var Cy;function by(){if(Cy===void 0)throw new Error("No runtime abstraction layer installed");return Cy}a(by,"RAL");(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");Cy=r}a(e,"install"),t.install=e})(by||(by={}));Sy.default=by});var lo=J(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.stringArray=Nt.array=Nt.func=Nt.error=Nt.number=Nt.string=Nt.boolean=void 0;function oB(t){return t===!0||t===!1}a(oB,"boolean");Nt.boolean=oB;function TC(t){return typeof t=="string"||t instanceof String}a(TC,"string");Nt.string=TC;function lB(t){return typeof t=="number"||t instanceof Number}a(lB,"number");Nt.number=lB;function uB(t){return t instanceof Error}a(uB,"error");Nt.error=uB;function cB(t){return typeof t=="function"}a(cB,"func");Nt.func=cB;function xC(t){return Array.isArray(t)}a(xC,"array");Nt.array=xC;function fB(t){return xC(t)&&t.every(e=>TC(e))}a(fB,"stringArray");Nt.stringArray=fB});var Ea=J(uo=>{"use strict";Object.defineProperty(uo,"__esModule",{value:!0});uo.Emitter=uo.Event=void 0;var pB=Ni(),RC;(function(t){let e={dispose(){}};t.None=function(){return e}})(RC||(uo.Event=RC={}));var wy=class{static{a(this,"CallbackList")}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:a(()=>this.remove(e,r),"dispose")})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,s=this._callbacks.length;i<s;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 s=0,o=n.length;s<o;s++)try{r.push(n[s].apply(i[s],e))}catch(l){(0,pB.default)().console.error(l)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},xp=class t{static{a(this,"Emitter")}constructor(e){this._options=e}get event(){return this._event||(this._event=(e,r,n)=>{this._callbacks||(this._callbacks=new wy),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:a(()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&
${JSON.stringify(Object.fromEntries(n))}`));return}let s=parseInt(i);if(isNaN(s)){this.fireError(new Error(`Content-Length value must be a number. Got ${i}`));return}this.nextMessageLength=s}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)})}}catch(r){this.fireError(r)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,hg.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))}};_i.ReadableStreamMessageReader=gg});var BC=J(ki=>{"use strict";Object.defineProperty(ki,"__esModule",{value:!0});ki.WriteableStreamMessageWriter=ki.AbstractMessageWriter=ki.MessageWriter=void 0;var GC=Ni(),Tu=lo(),$B=dg(),UC=Ea(),EB="Content-Length: ",jC=`\r
`,zC;(function(t){function e(r){let n=r;return n&&Tu.func(n.dispose)&&Tu.func(n.onClose)&&Tu.func(n.onError)&&Tu.func(n.write)}a(e,"is"),t.is=e})(zC||(ki.MessageWriter=zC={}));var kp=class{static{a(this,"AbstractMessageWriter")}constructor(){this.errorEmitter=new UC.Emitter,this.closeEmitter=new UC.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: ${Tu.string(e.message)?e.message:"unknown"}`)}};ki.AbstractMessageWriter=kp;var Tg;(function(t){function e(r){return r===void 0||typeof r=="string"?{charset:r??"utf-8",contentTypeEncoder:(0,GC.default)().applicationJson.encoder}:{charset:r.charset??"utf-8",contentEncoder:r.contentEncoder,contentTypeEncoder:r.contentTypeEncoder??(0,GC.default)().applicationJson.encoder}}a(e,"fromOptions"),t.fromOptions=e})(Tg||(Tg={}));var xg=class extends kp{static{a(this,"WriteableStreamMessageWriter")}constructor(e,r){super(),this.writable=e,this.options=Tg.fromOptions(r),this.errorCount=0,this.writeSemaphore=new $B.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(EB,n.byteLength.toString(),jC),i.push(jC),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()}};ki.WriteableStreamMessageWriter=xg});var KC=J(Pp=>{"use strict";Object.defineProperty(Pp,"__esModule",{value:!0});Pp.AbstractMessageBuffer=void 0;var vB=13,AB=10,CB=`\r
`,Rg=class{static{a(this,"AbstractMessageBuffer")}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,s=0;e:for(;n<this._chunks.length;){let c=this._chunks[n];for(i=0;i<c.length;){switch(c[i]){case vB:switch(r){case 0:r=1;break;case 2:r=3;break;default:r=0}break;case AB:switch(r){case 1:r=2;break;case 3:r=4,i++;break e;default:r=0}break;default:r=0}i++}s+=c.byteLength,n++}if(r!==4)return;let o=this._read(s+i),l=new Map,u=this.toString(o,"ascii").split(CB);if(u.length<2)return l;for(let c=0;c<u.length-2;c++){let f=u[c],p=f.indexOf(":");if(p===-1)throw new Error(`Message header must separate key and value using ':'
${f}`);let m=f.substr(0,p),y=f.substr(p+1).trim();l.set(e?m.toLowerCase():m,y)}return l}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 s=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(s)}if(this._chunks[0].byteLength>e){let s=this._chunks[0],o=this.asNative(s,e);return this._chunks[0]=s.slice(e),this._totalLength-=e,o}let r=this.allocNative(e),n=0,i=0;for(;e>0;){let s=this._chunks[i];if(s.byteLength>e){let o=s.slice(0,e);r.set(o,n),n+=e,this._chunks[i]=s.slice(e),this._totalLength-=e,e-=e}else r.set(s,n),n+=s.byteLength,this._chunks.shift(),this._totalLength-=s.byteLength,e-=s.byteLength}return r}};Pp.AbstractMessageBuffer=Rg});var YC=J(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.createMessageConnection=Z.ConnectionOptions=Z.MessageStrategy=Z.CancellationStrategy=Z.CancellationSenderStrategy=Z.CancellationReceiverStrategy=Z.RequestCancellationReceiverStrategy=Z.IdCancellationReceiverStrategy=Z.ConnectionStrategy=Z.ConnectionError=Z.ConnectionErrors=Z.LogTraceNotification=Z.SetTraceNotification=Z.TraceFormat=Z.TraceValues=Z.Trace=Z.NullLogger=Z.ProgressType=Z.ProgressToken=void 0;var qC=Ni(),Ke=lo(),Y=ag(),WC=og(),xu=Ea(),$g=Ql(),Eu;(function(t){t.type=new Y.NotificationType("$/cancelRequest")})(Eu||(Eu={}));var Eg;(function(t){function e(r){return typeof r=="string"||typeof r=="number"}a(e,"is"),t.is=e})(Eg||(Z.ProgressToken=Eg={}));var Ru;(function(t){t.type=new Y.NotificationType("$/progress")})(Ru||(Ru={}));var vg=class{static{a(this,"ProgressType")}constructor(){}};Z.ProgressType=vg;var Ag;(function(t){function e(r){return Ke.func(r)}a(e,"is"),t.is=e})(Ag||(Ag={}));Z.NullLogger=Object.freeze({error:a(()=>{},"error"),warn:a(()=>{},"warn"),info:a(()=>{},"info"),log:a(()=>{},"log")});var fe;(function(t){t[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose"})(fe||(Z.Trace=fe={}));var VC;(function(t){t.Off="off",t.Messages="messages",t.Compact="compact",t.Verbose="verbose"})(VC||(Z.TraceValues=VC={}));(function(t){function e(n){if(!Ke.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}}a(e,"fromString"),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"}}a(r,"toString"),t.toString=r})(fe||(Z.Trace=fe={}));var lr;(function(t){t.Text="text",t.JSON="json"})(lr||(Z.TraceFormat=lr={}));(function(t){function e(r){return Ke.string(r)?(r=r.toLowerCase(),r==="json"?t.JSON:t.Text):t.Text}a(e,"fromString"),t.fromString=e})(lr||(Z.TraceFormat=lr={}));var Cg;(function(t){t.type=new Y.NotificationType("$/setTrace")})(Cg||(Z.SetTraceNotification=Cg={}));var Op;(function(t){t.type=new Y.NotificationType("$/logTrace")})(Op||(Z.LogTraceNotification=Op={}));var $u;(function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"})($u||(Z.ConnectionErrors=$u={}));var Ro=class t extends Error{static{a(this,"ConnectionError")}constructor(e,r){super(r),this.code=e,Object.setPrototypeOf(this,t.prototype)}};Z.ConnectionError=Ro;var bg;(function(t){function e(r){let n=r;return n&&Ke.func(n.cancelUndispatched)}a(e,"is"),t.is=e})(bg||(Z.ConnectionStrategy=bg={}));var Lp;(function(t){function e(r){let n=r;return n&&(n.kind===void 0||n.kind==="id")&&Ke.func(n.createCancellationTokenSource)&&(n.dispose===void 0||Ke.func(n.dispose))}a(e,"is"),t.is=e})(Lp||(Z.IdCancellationReceiverStrategy=Lp={}));var Sg;(function(t){function e(r){let n=r;return n&&n.kind==="request"&&Ke.func(n.createCancellationTokenSource)&&(n.dispose===void 0||Ke.func(n.dispose))}a(e,"is"),t.is=e})(Sg||(Z.RequestCancellationReceiverStrategy=Sg={}));var Mp;(function(t){t.Message=Obje
${JSON.stringify(h.error,void 0,4)}`):i.error("Received response message without id. No further error information provided.");else{let v=h.id,P=_.get(v);if(JN(h,P),P!==void 0){_.delete(v);try{if(h.error){let B=h.error;P.reject(new Y.ResponseError(B.code,B.message,B.data))}else if(h.result!==void 0)P.resolve(h.result);else throw new Error("Should never happen.")}catch(B){B.message?i.error(`Response handler '${P.method}' failed with message: ${B.message}`):i.error(`Response handler '${P.method}' failed unexpectedly.`)}}}}a(Fn,"handleResponse");function Pt(h){if(k())return;let v,P;if(h.method===Eu.type.method){let B=h.params.id;S.delete(B),Sd(h);return}else{let B=m.get(h.method);B&&(P=B.handler,v=B.type)}if(P||p)try{if(Sd(h),P)if(h.params===void 0)v!==void 0&&v.numberOfParams!==0&&v.parameterStructures!==Y.ParameterStructures.byName&&i.error(`Notification ${h.method} defines ${v.numberOfParams} params but received none.`),P();else if(Array.isArray(h.params)){let B=h.params;h.method===Ru.type.method&&B.length===2&&Eg.is(B[0])?P({token:B[0],value:B[1]}):(v!==void 0&&(v.parameterStructures===Y.ParameterStructures.byName&&i.error(`Notification ${h.method} defines parameters by name but received parameters by position`),v.numberOfParams!==h.params.length&&i.error(`Notification ${h.method} defines ${v.numberOfParams} params but received ${B.length} arguments`)),P(...B))}else v!==void 0&&v.parameterStructures===Y.ParameterStructures.byPosition&&i.error(`Notification ${h.method} defines parameters by position but received parameters by name`),P(h.params);else p&&p(h.method,h.params)}catch(B){B.message?i.error(`Notification handler '${h.method}' failed with message: ${B.message}`):i.error(`Notification handler '${h.method}' failed unexpectedly.`)}else Er.fire(h)}a(Pt,"handleNotification");function vr(h){if(!h){i.error("Received empty message.");return}i.error(`Received message which is neither a response nor a notification message:
${JSON.stringify(h,null,4)}`);let v=h;if(Ke.string(v.id)||Ke.number(v.id)){let P=v.id,B=_.get(P);B&&B.reject(new Error("The received response has neither a result nor an error property."))}}a(vr,"handleInvalidMessage");function xt(h){if(h!=null)switch($){case fe.Verbose:return JSON.stringify(h,null,4);case fe.Compact:return JSON.stringify(h);default:return}}a(xt,"stringifyTrace");function Ar(h){if(!($===fe.Off||!M))if(K===lr.Text){let v;($===fe.Verbose||$===fe.Compact)&&h.params&&(v=`Params: ${xt(h.params)}
`),M.log(`Sending request '${h.method} - (${h.id})'.`,v)}else Fa("send-request",h)}a(Ar,"traceSendingRequest");function pn(h){if(!($===fe.Off||!M))if(K===lr.Text){let v;($===fe.Verbose||$===fe.Compact)&&(h.params?v=`Params: ${xt(h.params)}
`:v=`No parameters provided.
`),M.log(`Sending notification '${h.method}'.`,v)}else Fa("send-notification",h)}a(pn,"traceSendingNotification");function Gn(h,v,P){if(!($===fe.Off||!M))if(K===lr.Text){let B;($===fe.Verbose||$===fe.Compact)&&(h.error&&h.error.data?B=`Error data: ${xt(h.error.data)}
`:h.result?B=`Result: ${xt(h.result)}
`:h.error===void 0&&(B=`No result returned.
`)),M.log(`Sending response '${v} - (${h.id})'. Processing request took ${Date.now()-P}ms`,B)}else Fa("send-response",h)}a(Gn,"traceSendingResponse");function Wu(h){if(!($===fe.Off||!M))if(K===lr.Text){let v;($===fe.Verbose||$===fe.Compact)&&h.params&&(v=`Params: ${xt(h.params)}
`),M.log(`Received request '${h.method} - (${h.id})'.`,v)}else Fa("receive-request",h)}a(Wu,"traceReceivedRequest");function Sd(h){if(!($===fe.Off||!M||h.method===Op.type.method))if(K===lr.Text){let v;($===fe.Verbose||$===fe.Compact)&&(h.params?v=`Params: ${xt(h.params)}
`:v=`No parameters provided.
`),M.log(`Received notification '${h.method}'.`,v)}else Fa("receive-notification",h)}a(Sd,"traceReceivedNotification");function JN(h,v){if(!($===fe.Off||!M))if(K===lr.Text){let P;if(($===fe.Verbose||$===fe.Compact)&&(h.error&&h.error.data?P=`Error data: ${xt(h.error.data)}
`:h.result?P=`Result: ${xt(h.result)}
`:h.error===void 0&&(P=`No result returned.
`)),v){let B=h.error?` Request failed: ${h.error.message} (${h.error.code}).`:"";M.log(`Received response '${v.method} - (${h.id})' in ${Date.now()-v.timerStart}ms.${B}`,P)}else M.log(`Received response ${h.id} without active response promise.`,P)}else Fa("receive-response",h)}a(JN,"traceReceivedResponse");function Fa(h,v){if(!M||$===fe.Off)return;let P={isLSPMessage:!0,type:h,message:v,timestamp:Date.now()};M.log(P)}a(Fa,"logLSPMessage");function Bo(){if(j())throw new Ro($u.Closed,"Connection is closed.");if(k())throw new Ro($u.Disposed,"Connection is disposed.")}a(Bo,"throwIfClosedOrDisposed");function ZN(){if(O())throw new Ro($u.AlreadyListening,"Connection is already listening")}a(ZN,"throwIfListening");function QN(){if(!O())throw new Error("Call listen() first.")}a(QN,"throwIfNotListening");function Ko(h){return h===void 0?null:h}a(Ko,"undefinedToNull");function IT(h){if(h!==null)return h}a(IT,"nullToUndefined");function _T(h){return h!=null&&!Array.isArray(h)&&typeof h=="object"}a(_T,"isNamedParam");function wd(h,v){switch(h){case Y.ParameterStructures.auto:return _T(v)?IT(v):[Ko(v)];case Y.ParameterStructures.byName:if(!_T(v))throw new Error("Received parameters by name but param is not an object literal.");return IT(v);case Y.ParameterStructures.byPosition:return[Ko(v)];default:throw new Error(`Unknown parameter structure ${h.toString()}`)}}a(wd,"computeSingleParam");function kT(h,v){let P,B=h.numberOfParams;switch(B){case 0:P=void 0;break;case 1:P=wd(h.parameterStructures,v[0]);break;default:P=[];for(let we=0;we<v.length&&we<B;we++)P.push(Ko(v[we]));if(v.length<B)for(let we=v.length;we<B;we++)P.push(null);break}return P}a(kT,"computeMessageParams");let Ga={sendNotification:a((h,...v)=>{Bo();let P,B;if(Ke.string(h)){P=h;let Te=v[0],qe=0,He=Y.ParameterStructures.auto;Y.ParameterStructures.is(Te)&&(qe=1,He=Te);let oe=v.length,Ge=oe-qe;switch(Ge){case 0:B=void 0;break;case 1:B=wd(He,v[qe]);break;default:if(He===Y.ParameterStructures.byName)throw new Error(`Received ${Ge} parameters for 'by Name' notification parameter structure.`);B=v.slice(qe,oe).map(me=>Ko(me));break}}else{let Te=v;P=h.method,B=kT(h,Te)}let we={jsonrpc:u,method:P,params:B};return pn(we),e.write(we).catch(Te=>{throw i.error("Sending notification failed."),Te})},"sendNotification"),onNotification:a((h,v)=>{Bo();let P;return Ke.func(h)?p=h:v&&(Ke.string(h)?(P=h,m.set(h,{type:void 0,handler:v})):(P=h.method,m.set(h.method,{type:h,handler:v}))),{dispose:a(()=>{P!==void 0?m.delete(P):p=void 0},"dispose")}},"onNotification"),onProgress:a((h,v,P)=>{if(y.has(v))throw new Error(`Progress handler for token ${v} already registered`);return y.set(v,P),{dispose:a(()=>{y.delete(v)},"dispose")}},"onProgress"),sendProgress:a((h,v,P)=>Ga.sendNotification(Ru.type,{token:v,value:P}),"sendProgress"),onUnhandledProgress:pr.event,sendRequest:a((h,...v)=>{Bo(),QN();let P,B,we;if(Ke.string(h)){P=h;let oe=v[0],Ge=v[v.length-1],me=0,st=Y.ParameterStructures.auto;Y.ParameterStructures.is(oe)&&(me=1,st=oe);let Ot=v.length;$g.CancellationToken.is(Ge)&&(Ot=Ot-1,we=Ge);let Ur=Ot-me;switch(Ur){case 0:B=void 0;break;case 1:B=wd(st,v[me]);break;default:if(st===Y.ParameterStructures.byName)throw new Error(`Received ${Ur} parameters for 'by Name' request parameter structure.`);B=v.slice(me,Ot).map(eI=>Ko(eI));break}}else{let oe=v;P=h.method,B=kT(h,oe);let Ge=h.numberOfParams;we=$g.CancellationToken.is(oe[Ge])?oe[Ge]:void 0}let Te=s++,qe;we&&(qe=we.onCancellationRequested(()=>{let oe=T.sender.sendCancellation(Ga,Te);return oe===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${Te}`),Promise.resolve()):oe.catch(()=>{i.log(`Sending cancellation messages for id ${Te} failed`)})}));let He={jsonrpc:u,id:Te,method:P,params:B};return Ar(He),typeof T.sender.enableCancellation=="function"&&T.sender.enableCancellation(He),new Promise(async(oe,Ge)=>{let me=a(Ur=>{oe(Ur),T.sender.cleanup(Te),qe?.dispose()},"resolveWithCleanup"),st=a(Ur=>{Ge(Ur),T.sender.cleanup(Te),qe?.dispose()},"rejectWithCleanup"),Ot={method:P,timerStart:Date.now(),resolve:me,reject:st};try{aw
`),H("\r"),H(" "),H("\v"),H(" "),H("\xA0"),H("\u1680"),H("\u2000"),H("\u2001"),H("\u2002"),H("\u2003"),H("\u2004"),H("\u2005"),H("\u2006"),H("\u2007"),H("\u2008"),H("\u2009"),H("\u200A"),H("\u2028"),H("\u2029"),H("\u202F"),H("\u205F"),H("\u3000"),H("\uFEFF")];var OI=/[0-9a-fA-F]/,Tc=/[0-9]/,LI=/[1-9]/,na=class{static{a(this,"RegExpParser")}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":Za(n,"global");break;case"i":Za(n,"ignoreCase");break;case"m":Za(n,"multiLine");break;case"u":Za(n,"unicode");break;case"y":Za(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;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}ra(r);let n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return al()}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 s;this.isDigit()?(s=this.integerIncludingZero(),r={atLeast:i,atMost:s}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;ra(r);break}if(!(e===!0&&r===void 0)&&ra(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()),ra(e)?(e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):al()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[H(`
`),H("\r"),H("\u2028"),H("\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=sl;break;case"D":e=sl,r=!0;break;case"s":e=am;break;case"S":e=am,r=!0;break;case"w":e=ol;break;case"W":e=ol,r=!0;break}return ra(e)?{type:"Set",value:e,complement:r}:al()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=H("\f");break;case"n":e=H(`
`);break;case"r":e=H("\r");break;case"t":e=H(" ");break;case"v":e=H("\v");break}return ra(e)?{type:"Character",value:e}:al()}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:H("\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:H(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:H(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(im(n)&&this.isRangeDash()){this.consumeChar("-");let s=this.classAtom(),o=s.type==="Character";if(im(s)){if(s.value<n.value)throw Error("Range out of order in character class");e.push({from:n.value,to:s.value})}else gc(n.value,e),e.push(H("-")),gc(s.value,e)}else gc(n.value,e)}return this.consumeChar("]"),{type:"Set",complement:r,value:e}}classAtom(){switch(this.peekChar()){case"]":case`
`: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:H("\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(LI.test(e)===!1)throw Error("Expecting a positive integer");for(;Tc.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(Tc.test(e)===!1)throw Error("Expecting an integer");for(;Tc.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let e=this.popChar();switch(e){case`
`: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:H(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 Tc.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case`
`: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)==="!"||this.peekChar(2)==="<"&&(this.peekChar(3)==="="||this.peekChar(3)==="!"));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`
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let r="";for(let i=0;i<e;i++){let s=this.popChar();if(OI.test(s)===!1)throw Error("Expecting a HexDecimal digits");r+=s}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 qr=class{static{a(this,"BaseRegExpVisitor")}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"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(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){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}};var om=/\r?\n/gm,UT=new na,sm=class extends qr{static{a(this,"TerminalRegExpVisitor")}constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let r=String.fromCharCode(e.value);if(!this.multiline&&r===`
`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let n=Jn(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){let r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!`
`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},ia=new sm;function MI(t){try{typeof t!="string"&&(t=t.source),t=`/${t}/`;let e=UT.pattern(t),r=[];for(let n of e.value.value)ia.reset(t),ia.visit(n),r.push({start:ia.startRegexp,end:ia.endRegex});return r}catch{return[]}}a(MI,"getTerminalParts");function lm(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),ia.reset(t),ia.visit(UT.pattern(t)),ia.multiline}catch{return!1}}a(lm,"isMultilineComment");var jT=`\f
\r \v \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`.split("");function ll(t){let e=typeof t=="string"?new RegExp(t):t;return jT.some(r=>e.test(r))}a(ll,"isWhitespace");function Jn(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}a(Jn,"escapeRegExp");function um(t,e){let r=zT(t),n=e.match(r);return!!n&&n[0].length>0}a(um,"partialMatches");function zT(t){typeof t=="string"&&(t=new RegExp(t));let e=t,r=t.source,n=0;function i(){let s="",o;function l(c){s+=r.substr(n,c),n+=c}a(l,"appendRaw");function u(c){s+="(?:"+r.substr(n,c)+"|$)",n+=c}for(a(u,"appendOptional");n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":u(3);break;case"x":u(4);break;case"u":e.unicode?r[n+2]==="{"?u(r.indexOf("}",n)-n+1):u(6):u(2);break;case"p":case"P":e.unicode?u(r.indexOf("}",n)-n+1):u(2);break;case"k":u(r.indexOf(">",n)-n+1);break;default:u(2);break}break;case"[":o=/\[(?:\\.|.)*?\]/g,o.lastIndex=n,o=o.exec(r)||[],u(o[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":l(1);break;case"{":o=/\{\d+,?\d*\}/g,o.lastIndex=n,o=o.exec(r),o?l(o[0].length):u(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":s+="(?:",n+=3,s+=i()+"|$)";break;case"=":s+="(?=",n+=3,s+=i()+")";break;case"!":o=n,n+=3,i(),s+=r.substr(o,n-o);break;case"<":switch(r[n+3]){case"=":case"!":o=n,n+=4,i(),s+=r.substr(o,n-o);break;default:l(r.indexOf(">",n)-n+1),s+=i()+"|$)";break}break}else l(1),s+=i()+"|$)";break;case")":return++n,s;default:u(1);break}return s}return a(i,"process"),new RegExp(i(),t.flags)}a(zT,"partialRegExp");function BT(t){return t.rules.find(e=>dt(e)&&e.entry)}a(BT,"getEntryRule");function KT(t){return t.rules.filter(e=>Mt(e)&&e.hidden)}a(KT,"getHiddenRules");function ul(t,e){let r=new Set,n=BT(t);if(!n)return new Set(t.rules);let i=[n].concat(KT(t));for(let o of i)qT(o,r,e);let s=new Set;for(let o of t.rules)(r.has(o.name)||Mt(o)&&o.hidden)&&s.add(o);return s}a(ul,"getAllReachableRules");function qT(t,e,r){e.add(t.name),br(t).forEach(n=>{if(Ir(n)||r&&pc(n)){let i=n.rule.ref;i&&!e.has(i.name)&&qT(i,e,r)}})}a(qT,"ruleDfs");function DI(t){let e=new Set;return br(t).forEach(r=>{Nr(r)&&(dt(r.type.ref)&&e.add(r.type.ref),nl(r.type.ref)&&dt(r.type.ref.$container)&&e.add(r.type.ref.$container))}),e}a(DI,"getAllRulesUsedForCrossReferences");function pm(t){if(t.terminal)return t.terminal;if(t.type.ref)return Rc(t.type.ref)?.terminal}a(pm,"getCrossReferenceTerminal");function dm(t){return t.hidden&&!ll(Qa(t))}a(dm,"isCommentTerminal");function mm(t,e){return!t||!e?[]:hm(t,e,t.astNode,!0)}a(mm,"findNodesForProperty");function cl(t,e,r){if(!t||!e)return;let n=hm(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]}a(cl,"findNodeForProperty");function hm(t,e,r,n){if(!n){let i=dn(t.grammarSource,wr);if(i&&i.feature===e)return[t]}return Cr(t)&&t.astNode===r?t.content.flatMap(i=>hm(i,e,r,!1)):[]}a(hm,"findNodesForPropertyInternal");function FI(t,e){return t?gm(t,e,t?.astNode):[]}a(FI,"findNodesForKeyword");function ym(t,e,r){if(!t)return;let n=gm(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]}a(ym,"findNodeForKeyword");function gm(t,e,r){if(t.astNode!==r)return[];if(dr(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=Qi(t).iterator(),i,s=[];do if(i=n.next(),!i.done){let o=i.value;o.astNode===r?dr(o.grammarSource)&&o.grammarSource.value===e&&s.push(o):n.prune()}while(!i.done);return s}a(gm,"findNodesForKeywordInternal");function Tm(t){let e=t.astNode;for(;e===t.container?.astNode;){let r=dn(t.grammarSource,wr);if(r)return r;t=t.container}}a(Tm,"findAssignment");function Rc(t){let e=t;return nl(e)&&(gn(e.$container)?e=e.$container.$container:yn(e.$container)?e=e.$container:Kr(e.$container)),WT(t,e,new Map)}a(Rc,"findNameAssignment");function WT(t,e,r){function n(i,s){let o;return dn(i,wr)||(o=WT(s,s,r)),r.set(t,o),o}if(a(n,"go"),r.has(t))return r.get(t);r.set(t,void 0);for(let i of br(e)){if(wr(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(Ir(i)&&dt(i.rule.ref))return n(i,i
`;function W$(t,e=!1){try{let r=bs(t);return km(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===q$)e&&yl(`${xl} Unable to optimize: < ${t.toString()} >
Complement Sets cannot be automatically optimized.
This will disable the lexer's first char optimizations.
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=`
This will disable the lexer's first char optimizations.
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),As(`${xl}
Failed parsing: < ${t.toString()} >
Using the @chevrotain/regexp-to-ast library
Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}a(W$,"getOptimizedStartCodesIndices");function km(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)km(t.value[i],e,r);break;case"Alternative":let n=t.value;for(let i=0;i<n.length;i++){let s=n[i];switch(s.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}let o=s;switch(o.type){case"Character":tf(o.value,e,r);break;case"Set":if(o.complement===!0)throw Error(q$);G(o.value,u=>{if(typeof u=="number")tf(u,e,r);else{let c=u;if(r===!0)for(let f=c.from;f<=c.to;f++)tf(f,e,r);else{for(let f=c.from;f<=c.to&&f<Ss;f++)tf(f,e,r);if(c.to>=Ss){let f=c.from>=Ss?c.from:Ss,p=c.to,m=tn(f),y=tn(p);for(let A=m;A<=y;A++)e[A]=A}}}});break;case"Group":km(o.value,e,r);break;default:throw Error("Non Exhaustive Match")}let l=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&Pm(o)===!1||o.type!=="Group"&&l===!1)break}break;default:throw Error("non exhaustive match!")}return ye(e)}a(km,"firstCharOptimizedIndices");function tf(t,e,r){let n=tn(t);e[n]=n,r===!0&&M0(t,e)}a(tf,"addOptimizedIdxToResult");function M0(t,e){let r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){let i=tn(n.charCodeAt(0));e[i]=i}else{let i=r.toLowerCase();if(i!==r){let s=tn(i.charCodeAt(0));e[s]=s}}}a(M0,"handleIgnoreCase");function K$(t,e){return en(t.value,r=>{if(typeof r=="number")return Pe(e,r);{let n=r;return en(e,i=>n.from<=i&&i<=n.to)!==void 0}})}a(K$,"findCode");function Pm(t){let e=t.quantifier;return e&&e.atLeast===0?!0:t.value?z(t.value)?bt(t.value,Pm):Pm(t.value):!1}a(Pm,"isWholeOptional");var Om=class extends qr{static{a(this,"CharCodeFinder")}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;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){Pe(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?K$(e,this.targetCharCodes)===void 0&&(this.found=!0):K$(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};function rf(t,e){if(e instanceof RegExp){let r=bs(e),n=new Om(t);return n.visit(r),n.found}else return en(e,r=>Pe(t,r.charCodeAt(0)))!==void 0}a(rf,"canMatchCharCode");var ua="PATTERN",ws="defaultMode",nf="modes",Mm=typeof new RegExp("(?:)").sticky=="boolean";function Y$(t,e){e=Es(e,{useSticky:Mm,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
`],tracer:a((w,$)=>$(),"tracer")});let r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{t1()});let n;r("Reject Lexer.NA",()=>{n=di(t,w=>w[ua]===Le.NA)});let i=!1,s;r("Transform Patterns",()=>{i=!1,s=F(n,w=>{let $=w[ua];if(yr($)){let K=$.source;return K.length===1&&K!=="^"&&K!=="$"&&K!=="."&&!$.ignoreCase?K:K.length===2&&K[0]==="\\"&&!Pe(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],K[1])?K[1]:e.useSticky?H$($):V$($)}else{if(Ft($))return i=!0,{exec:$};if(typeof $=="object")return i=!0,$;if(typeof $=="string"){if($.length===1)return $;{let K=$.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),M=new RegExp(K);return e.useSticky?H$(M):V$(M)}}else throw Error("non exhaustive match")}})});let o,l,u,c,f;r("misc mapping",()=>{o=F(n,w=>w.tokenTypeIdx),l=F(n,w=>{let $=w.GROUP;if($!==Le.SKIPPED){if(ut($))return $;if(wt($))return!1;throw Error("non exhaustive match")}}),u=F(n,w=>{let $=w.LONGER_ALT;if($)return z($)?F($,M=>Jc(n,M)):[Jc(n,$)]}),c=F(n,w=>w.PUSH_MODE),f=F(n,w=>U(w,"POP_MODE"))});let p;r("Line Terminator Handling",()=>{let w=nE(e.lineTerminatorCharacters);p=F(n,$=>!1),e.positionTracking!=="onlyOffset"&&(p=F(n,$=>U($,"LINE_BREAKS")?!!$.LINE_BREAKS:rE($,w)===!1&&rf(w,$.PATTERN)))});let m,y,A,C;r("Misc Mapping #2",()=>{m=F(n,eE),y=F(s,Q0),A=rt(n,(w,$)=>{let K=$.GROUP;return ut(K)&&K!==Le.SKIPPED&&(w[K]=[]),w},{}),C=F(s,(w,$)=>({pattern:s[$],longerAlt:u[$],canLineTerminator:p[$],isCustom:m[$],short:y[$],group:l[$],push:c[$],pop:f[$],tokenTypeIdx:o[$],tokenType:n[$]}))});let _=!0,S=[];return e.safeMode||r("First Char Optimization",()=>{S=rt(n,(w,$,K)=>{if(typeof $.PATTERN=="string"){let M=$.PATTERN.charCodeAt(0),ge=tn(M);Lm(w,ge,C[K])}else if(z($.START_CHARS_HINT)){let M;G($.START_CHARS_HINT,ge=>{let Fr=typeof ge=="string"?ge.charCodeAt(0):ge,at=tn(Fr);M!==at&&(M=at,Lm(w,at,C[K]))})}else if(yr($.PATTERN))if($.PATTERN.unicode)_=!1,e.ensureOptimizations&&As(`${xl} Unable to analyze < ${$.PATTERN.toString()} > pattern.
The regexp unicode flag is not currently supported by the regexp-to-ast library.
This will disable the lexer's first char optimizations.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let M=W$($.PATTERN,e.ensureOptimizations);ne(M)&&(_=!1),G(M,ge=>{Lm(w,ge,C[K])})}else e.ensureOptimizations&&As(`${xl} TokenType: <${$.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
This will disable the lexer's first char optimizations.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),_=!1;return w},[])}),{emptyGroups:A,patternIdxToConfig:C,charCodeToPatternIdxToConfig:S,hasCustom:i,canBeOptimized:_}}a(Y$,"analyzeTokenTypes");function X$(t,e){let r=[],n=F0(t);r=r.concat(n.errors);let i=G0(n.valid),s=i.valid;return r=r.concat(i.errors),r=r.concat(D0(s)),r=r.concat(V0(s)),r=r.concat(H0(s,e)),r=r.concat(Y0(s)),r}a(X$,"validatePatterns");function D0(t){let e=[],r=St(t,n=>yr(n[ua]));return e=e.concat(j0(r)),e=e.concat(K0(r)),e=e.concat(q0(r)),e=e.concat(W0(r)),e=e.concat(z0(r)),e}a(D0,"validateRegExpPattern");function F0(t){let e=St(t,i=>!U(i,ua)),r=F(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:Oe.MISSING_PATTERN,tokenTypes:[i]})),n=pi(t,e);return{errors:r,valid:n}}a(F0,"findMissingPatterns");function G0(t){let e=St(t,i=>{let s=i[ua];return!yr(s)&&!Ft(s)&&!U(s,"exec")&&!ut(s)}),r=F(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:Oe.INVALID_PATTERN,tokenTypes:[i]})),n=pi(t,e);return{errors:r,valid:n}}a(G0,"findInvalidPatterns");var U0=/[^\\][$]/;function j0(t){class e extends qr{static{a(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(s){this.found=!0}}let r=St(t,i=>{let s=i.PATTERN;try{let o=bs(s),l=new e;return l.visit(o),l.found}catch{return U0.test(s.source)}});return F(r,i=>({message:`Unexpected RegExp Anchor Error:
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Oe.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}a(j0,"findEndOfInputAnchor");function z0(t){let e=St(t,n=>n.PATTERN.test(""));return F(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:Oe.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}a(z0,"findEmptyMatchRegExps");var B0=/[^\\[][\^]|^\^/;function K0(t){class e extends qr{static{a(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(s){this.found=!0}}let r=St(t,i=>{let s=i.PATTERN;try{let o=bs(s),l=new e;return l.visit(o),l.found}catch{return B0.test(s.source)}});return F(r,i=>({message:`Unexpected RegExp Anchor Error:
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Oe.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}a(K0,"findStartOfInputAnchor");function q0(t){let e=St(t,n=>{let i=n[ua];return i instanceof RegExp&&(i.multiline||i.global)});return F(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Oe.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}a(q0,"findUnsupportedFlags");function W0(t){let e=[],r=F(t,s=>rt(t,(o,l)=>(s.PATTERN.source===l.PATTERN.source&&!Pe(e,l)&&l.PATTERN!==Le.NA&&(e.push(l),o.push(l)),o),[]));r=Qr(r);let n=St(r,s=>s.length>1);return F(n,s=>{let o=F(s,u=>u.name);return{message:`The same RegExp pattern ->${ht(s).PATTERN}<-has been used in all of the following Token Types: ${o.join(", ")} <-`,type:Oe.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}})}a(W0,"findDuplicatePatterns");function V0(t){let e=St(t,n=>{if(!U(n,"GROUP"))return!1;let i=n.GROUP;return i!==Le.SKIPPED&&i!==Le.NA&&!ut(i)});return F(e,n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Oe.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}a(V0,"findInvalidGroupType");function H0(t,e){let r=St(t,i=>i.PUSH_MODE!==void 0&&!Pe(e,i.PUSH_MODE));return F(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:Oe.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}a(H0,"findModesThatDoNotExist");function Y0(t){let e=[],r=rt(t,(n,i,s)=>{let o=i.PATTERN;return o===Le.NA||(ut(o)?n.push({str:o,idx:s,tokenType:i}):yr(o)&&J0(o)&&n.push({str:o.source,idx:s,tokenType:i})),n},[]);return G(t,(n,i)=>{G(r,({str:s,idx:o,tokenType:l})=>{if(i<o&&X0(s,n.PATTERN)){let u=`Token: ->${l.name}<- can never be matched.
Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition.
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:u,type:Oe.UNREACHABLE_PATTERN,tokenTypes:[n,l]})}})}),e}a(Y0,"findUnreachablePatterns");function X0(t,e){if(yr(e)){if(Z0(e))return!1;let r=e.exec(t);return r!==null&&r.index===0}else{if(Ft(e))return e(t,0,[],{});if(U(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}a(X0,"tryToMatchStrToPattern");function J0(t){return en([".","\\","[","]","|","^","$","(",")","?","*","+","{"],r=>t.source.indexOf(r)!==-1)===void 0}a(J0,"noMetaChar");function Z0(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(t.source)}a(Z0,"usesLookAheadOrBehind");function V$(t){let e=t.ignoreCase?"i":"";return new RegExp(`^(?:${t.source})`,e)}a(V$,"addStartOfInput");function H$(t){let e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}a(H$,"addStickyFlag");function J$(t,e,r){let n=[];return U(t,ws)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+ws+`> property in its definition
`,type:Oe.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),U(t,nf)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+nf+`> property in its definition
`,type:Oe.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),U(t,nf)&&U(t,ws)&&!U(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${ws}: <${t.defaultMode}>which does not exist
`,type:Oe.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),U(t,nf)&&G(t.modes,(i,s)=>{G(i,(o,l)=>{if(wt(o))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${s}> at index: <${l}>
`,type:Oe.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(U(o,"LONGER_ALT")){let u=z(o.LONGER_ALT)?o.LONGER_ALT:[o.LONGER_ALT];G(u,c=>{!wt(c)&&!Pe(i,c)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${c.name}> on token <${o.name}> outside of mode <${s}>
`,type:Oe.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}a(J$,"performRuntimeChecks");function Z$(t,e,r){let n=[],i=!1,s=Qr(lt(ye(t.modes))),o=di(s,u=>u[ua]===Le.NA),l=nE(r);return e&&G(o,u=>{let c=rE(u,l);if(c!==!1){let p={message:e1(u,c),type:c.issue,tokenType:u};n.push(p)}else U(u,"LINE_BREAKS")?u.LINE_BREAKS===!0&&(i=!0):rf(l,u.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found.
This Lexer has been defined to track line and column information,
But none of the Token Types can be identified as matching a line terminator.
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
for details.`,type:Oe.NO_LINE_BREAKS_FLAGS}),n}a(Z$,"performWarningRuntimeChecks");function Q$(t){let e={},r=$e(t);return G(r,n=>{let i=t[n];if(z(i))e[n]=[];else throw Error("non exhaustive match")}),e}a(Q$,"cloneEmptyGroups");function eE(t){let e=t.PATTERN;if(yr(e))return!1;if(Ft(e))return!0;if(U(e,"exec"))return!0;if(ut(e))return!1;throw Error("non exhaustive match")}a(eE,"isCustomPattern");function Q0(t){return ut(t)&&t.length===1?t.charCodeAt(0):!1}a(Q0,"isShortPattern");var tE={test:a(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},"test"),lastIndex:0};function rE(t,e){if(U(t,"LINE_BREAKS"))return!1;if(yr(t.PATTERN)){try{rf(e,t.PATTERN)}catch(r){return{issue:Oe.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(ut(t.PATTERN))return!1;if(eE(t))return{issue:Oe.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}a(rE,"checkLineBreaksIssues");function e1(t,e){if(e.issue===Oe.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
The problem is in the <${t.name}> Token Type
Root cause: ${e.errMsg}.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===Oe.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
The problem is in the <${t.name}> Token Type
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}a(e1,"buildLineBreakIssueMessage");function nE(t){return F(t,r=>ut(r)?r.charCodeAt(0):r)}a(nE,"getCharCodes");function Lm(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}a(Lm,"addToMapOfArrays");var Ss=256,af=[];function tn(t){return t<Ss?t:af[t]}a(tn,"charCodeToOptimizedIndex");function t1(){if(ne(af)){af=new Array(65536);for(let t=0;t<65536;t++)af[t]=t>255?255+~~(t/255):t}}a(t1,"initCharCodeToOptimizedIndexMap");function An(t,e){let r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}a(An,"tokenStructuredMatcher");function Ns(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}a(Ns,"tokenStructuredMatcherNoCategories");var iE=1,sE={};function Cn(t){let e=r1(t);n1(e),a1(e),i1(e),G(e,r=>{r.isParent=r.categoryMatches.length>0})}a(Cn,"augmentTokenTypes");function r1(t){let e=ve(t),r=t,n=!0;for(;n;){r=Qr(lt(F(r,s=>s.CATEGORIES)));let i=pi(r,e);e=e.concat(i),ne(i)?n=!1:r=i}return e}a(r1,"expandCategories");function n1(t){G(t,e=>{Dm(e)||(sE[iE]=e,e.tokenTypeIdx=iE++),aE(e)&&!z(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),aE(e)||(e.CATEGORIES=[]),s1(e)||(e.categoryMatches=[]),o1(e)||(e.categoryMatchesMap={})})}a(n1,"assignTokenDefaultProps");function i1(t){G(t,e=>{e.categoryMatches=[],G(e.categoryMatchesMap,(r,n)=>{e.categoryMatches.push(sE[n].tokenTypeIdx)})})}a(i1,"assignCategoriesTokensProp");function a1(t){G(t,e=>{oE([],e)})}a(a1,"assignCategoriesMapProp");function oE(t,e){G(t,r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),G(e.CATEGORIES,r=>{let n=t.concat(e);Pe(n,r)||oE(n,r)})}a(oE,"singleAssignCategoriesToksMap");function Dm(t){return U(t,"tokenTypeIdx")}a(Dm,"hasShortKeyProperty");function aE(t){return U(t,"CATEGORIES")}a(aE,"hasCategoriesProperty");function s1(t){return U(t,"categoryMatches")}a(s1,"hasExtendingTokensTypesProperty");function o1(t){return U(t,"categoryMatchesMap")}a(o1,"hasExtendingTokensTypesMapProperty");function lE(t){return U(t,"tokenTypeIdx")}a(lE,"isTokenType");var Is={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,s){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}};var Oe;(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"})(Oe||(Oe={}));var Rl={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Is,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Rl);var Le=class{static{a(this,"Lexer")}constructor(e,r=Rl){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,s)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let o=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${o}--> <${i}>`);let{time:l,value:u}=gl(s),c=l>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&c(`${o}<-- <${i}> time: ${l}ms`),this.traceInitIndent--,u}else return s()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
a boolean 2nd argument is no longer supported`);this.config=Rt({},Rl,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,s=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Rl.lineTerminatorsPattern)this.config.lineTerminatorsPattern=tE;else if(this.config.lineTerminatorCharacters===Rl.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
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),z(e)?i={modes:{defaultMode:ve(e)},defaultMode:ws}:(s=!1,i=ve(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(J$(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(Z$(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},G(i.modes,(l,u)=>{i.modes[u]=di(l,c=>wt(c))});let o=$e(i.modes);if(G(i.modes,(l,u)=>{this.TRACE_INIT(`Mode: <${u}> processing`,()=>{if(this.modes.push(u),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(X$(l,o))}),ne(this.lexerDefinitionErrors)){Cn(l);let c;this.TRACE_INIT("analyzeTokenTypes",()=>{c=Y$(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[u]=c.patternIdxToConfig,this.charCodeToPatternIdxToConfig[u]=c.charCodeToPatternIdxToConfig,this.emptyGroups=Rt({},this.emptyGroups,c.emptyGroups),this.hasCustom=c.hasCustom||this.hasCustom,this.canModeBeOptimized[u]=c.canBeOptimized}})}),this.defaultMode=i.defaultMode,!ne(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let u=F(this.lexerDefinitionErrors,c=>c.message).join(`-----------------------
`);throw new Error(`Errors detected in definition of Lexer:
`+u)}G(this.lexerDefinitionWarning,l=>{yl(l.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(Mm?(this.chopInput=mr,this.match=this.matchWithTest):(this.updateLastIndex=ze,this.match=this.matchWithExec),s&&(this.handleModes=ze),this.trackStartLines===!1&&(this.computeNewColumn=mr),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=ze),/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 l=rt(this.canModeBeOptimized,(u,c,f)=>(c===!1&&u.push(f),u),[]);if(r.ensureOptimizations&&!ne(l))throw Error(`Lexer Modes: < ${l.join(", ")} > cannot be optimized.
Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{B$()}),this.TRACE_INIT("toFastProperties",()=>{Tl(this)})})}tokenize(e,r=this.defaultMode){if(!ne(this.lexerDefinitionErrors)){let i=F(this.lexerDefinitionErrors,s=>s.message).join(`-----------------------
`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
`+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,s,o,l,u,c,f,p,m,y,A,C,_,S,w,$=e,K=$.length,M=0,ge=0,Fr=this.hasCustom?0:Math.floor(e.length/10),at=new Array(Fr),Er=[],pr=this.trackStartLines?1:void 0,N=this.trackStartLines?1:void 0,T=Q$(this.emptyGroups),D=this.trackStartLines,L=this.config.lineTerminatorsPattern,x=0,E=[],b=[],O=[],j=[];Object.freeze(j);let k;function X(){return E}a(X,"getPossiblePatternsSlow");function Q(pt){let qt=tn(pt),Fn=b[qt];return Fn===void 0?j:Fn}a(Q,"getPossiblePatternsOptimized");let Ze=a(pt=>{if(O.length===1&&pt.tokenType.PUSH_MODE===void 0){let qt=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(pt);Er.push({offset:pt.startOffset,line:pt.startLine,column:pt.startColumn,length:pt.image.length,message:qt})}else{O.pop();let qt=kr(O);E=this.patternIdxToConfig[qt],b=this.charCodeToPatternIdxToConfig[qt],x=E.length;let Fn=this.canModeBeOptimized[qt]&&this.config.safeMode===!1;b&&Fn?k=Q:k=X}},"pop_mode");function ce(pt){O.push(pt),b=this.charCodeToPatternIdxToConfig[pt],E=this.patternIdxToConfig[pt],x=E.length,x=E.length;let qt=this.canModeBeOptimized[pt]&&this.config.safeMode===!1;b&&qt?k=Q:k=X}a(ce,"push_mode"),ce.call(this,r);let Fe,Gr=this.config.recoveryEnabled;for(;M<K;){u=null;let pt=$.charCodeAt(M),qt=k(pt),Fn=qt.length;for(n=0;n<Fn;n++){Fe=qt[n];let Pt=Fe.pattern;c=null;let vr=Fe.short;if(vr!==!1?pt===vr&&(u=Pt):Fe.isCustom===!0?(w=Pt.exec($,M,at,T),w!==null?(u=w[0],w.payload!==void 0&&(c=w.payload)):u=null):(this.updateLastIndex(Pt,M),u=this.match(Pt,e,M)),u!==null){if(l=Fe.longerAlt,l!==void 0){let xt=l.length;for(s=0;s<xt;s++){let Ar=E[l[s]],pn=Ar.pattern;if(f=null,Ar.isCustom===!0?(w=pn.exec($,M,at,T),w!==null?(o=w[0],w.payload!==void 0&&(f=w.payload)):o=null):(this.updateLastIndex(pn,M),o=this.match(pn,e,M)),o&&o.length>u.length){u=o,c=f,Fe=Ar;break}}}break}}if(u!==null){if(p=u.length,m=Fe.group,m!==void 0&&(y=Fe.tokenTypeIdx,A=this.createTokenInstance(u,M,y,Fe.tokenType,pr,N,p),this.handlePayload(A,c),m===!1?ge=this.addToken(at,ge,A):T[m].push(A)),e=this.chopInput(e,p),M=M+p,N=this.computeNewColumn(N,p),D===!0&&Fe.canLineTerminator===!0){let Pt=0,vr,xt;L.lastIndex=0;do vr=L.test(u),vr===!0&&(xt=L.lastIndex-1,Pt++);while(vr===!0);Pt!==0&&(pr=pr+Pt,N=p-xt,this.updateTokenEndLineColumnLocation(A,m,xt,Pt,pr,N,p))}this.handleModes(Fe,Ze,ce,A)}else{let Pt=M,vr=pr,xt=N,Ar=Gr===!1;for(;Ar===!1&&M<K;)for(e=this.chopInput(e,1),M++,i=0;i<x;i++){let pn=E[i],Gn=pn.pattern,Wu=pn.short;if(Wu!==!1?$.charCodeAt(M)===Wu&&(Ar=!0):pn.isCustom===!0?Ar=Gn.exec($,M,at,T)!==null:(this.updateLastIndex(Gn,M),Ar=Gn.exec(e)!==null),Ar===!0)break}if(C=M-Pt,N=this.computeNewColumn(N,C),S=this.config.errorMessageProvider.buildUnexpectedCharactersMessage($,Pt,C,vr,xt,kr(O)),Er.push({offset:Pt,line:vr,column:xt,length:C,message:S}),Gr===!1)break}}return this.hasCustom||(at.length=ge),{tokens:at,groups:T,errors:Er}}handleModes(e,r,n,i){if(e.pop===!0){let s=e.push;r(i),s!==void 0&&n.call(this,s)}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,s,o,l){let u,c;r!==void 0&&(u=n===l-1,c=u?-1:0,i===1&&u===!0||(e.endLine=s+c,e.endColumn=o-1+-c))}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,s,o){return{image:e,startOffset:r,startLine:s,startColumn:o,tokenTypeIdx:n,tokenType:i}}createFullToken(e,r,n,i,s,o,l){return{image:e,startOffset:r,endOffset:r+l-1,startLine:s,endLine:s,startColumn:o,endColumn:o+l-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}};Le.SKIPPED="This marks a skipped Token pattern, this means each token identified by it will be consumed and then thrown into oblivion, this ca
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return U(t,uE)&&(r.CATEGORIES=t[uE]),Cn([r]),U(t,cE)&&(r.LABEL=t[cE]),U(t,fE)&&(r.GROUP=t[fE]),U(t,dE)&&(r.POP_MODE=t[dE]),U(t,pE)&&(r.PUSH_MODE=t[pE]),U(t,mE)&&(r.LONGER_ALT=t[mE]),U(t,hE)&&(r.LINE_BREAKS=t[hE]),U(t,yE)&&(r.START_CHARS_HINT=t[yE]),r}a(u1,"createTokenInternal");var sr=mi({name:"EOF",pattern:Le.NA});Cn([sr]);function Sn(t,e,r,n,i,s,o,l){return{image:e,startOffset:r,endOffset:n,startLine:i,endLine:s,startColumn:o,endColumn:l,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}a(Sn,"createTokenInstance");function $l(t,e){return An(t,e)}a($l,"tokenMatcher");var wn={buildMismatchTokenMessage({expected:t,actual:e,previous:r,ruleName:n}){return`Expecting ${Fm(t)?`--> ${bn(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 s="Expecting: ",l=`
but found: '`+ht(e).image+"'";if(n)return s+n+l;{let u=rt(t,(m,y)=>m.concat(y),[]),c=F(u,m=>`[${F(m,y=>bn(y)).join(", ")}]`),p=`one of these possible Token sequences:
${F(c,(m,y)=>` ${y+1}. ${m}`).join(`
`)}`;return s+p+l}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){let i="Expecting: ",o=`
but found: '`+ht(e).image+"'";if(r)return i+r+o;{let u=`expecting at least one iteration which starts with one of these possible Token sequences::
<${F(t,c=>`[${F(c,f=>bn(f)).join(",")}]`).join(" ,")}>`;return i+u+o}}};Object.freeze(wn);var gE={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
inside top level rule: ->`+t.name+"<-"}},Pr={buildDuplicateFoundError(t,e){function r(f){return f instanceof re?f.terminalType.name:f instanceof pe?f.nonTerminalName:""}a(r,"getExtraProductionArgument");let n=t.name,i=ht(e),s=i.idx,o=Jt(i),l=r(i),u=s>0,c=`->${o}${u?s:""}<- ${l?`with argument: ->${l}<-`:""}
appears more than once (${e.length} times) in the top level rule: ->${n}<-.
For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
`;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,`
`),c},buildNamespaceConflictError(t){return`Namespace conflict found in grammar.
The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.
To resolve this make sure each Terminal and Non-Terminal names are unique
This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){let e=F(t.prefixPath,i=>bn(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix
in <OR${r}> inside <${t.topLevelRule.name}> Rule,
<${e}> may appears as a prefix path in all these alternatives.
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
For Further details.`},buildAlternationAmbiguityError(t){let e=F(t.prefixPath,i=>bn(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,
<${e}> may appears as a prefix path in all these alternatives.
`;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
For Further details.`,n},buildEmptyRepetitionError(t){let e=Jt(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
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.
Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives:
<OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){let e=t.topLevelRule.name,r=F(t.leftRecursionPath,s=>s.name),n=`${e} --> ${r.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar.
rule: <${e}> can be invoked from itself (directly or indirectly)
without consuming any Tokens. The grammar path that causes this is:
${n}
To fix this refactor your grammar to remove the left recursion.
see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof Ut?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function TE(t,e){let r=new Gm(t,e);return r.resolveRefs(),r.errors}a(TE,"resolveGrammar");var Gm=class extends jt{static{a(this,"GastRefResolverVisitor")}constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){G(ye(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:ct.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}};var Um=class extends vn{static{a(this,"AbstractNextPossibleTokensWalker")}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=ve(this.path.ruleStack).reverse(),this.occurrenceStack=ve(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(){ne(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},sf=class extends Um{static{a(this,"NextAfterTokenWalker")}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),s=new Ae({definition:i});this.possibleTokTypes=la(s),this.found=!0}}},_s=class extends vn{static{a(this,"AbstractNextTerminalAfterProductionWalker")}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}},of=class extends _s{static{a(this,"NextTerminalAfterManyWalker")}walkMany(e,r,n){if(e.idx===this.occurrence){let i=ht(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof re&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}},El=class extends _s{static{a(this,"NextTerminalAfterManySepWalker")}walkManySep(e,r,n){if(e.idx===this.occurrence){let i=ht(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof re&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}},lf=class extends _s{static{a(this,"NextTerminalAfterAtLeastOneWalker")}walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){let i=ht(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof re&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}},vl=class extends _s{static{a(this,"NextTerminalAfterAtLeastOneSepWalker")}walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){let i=ht(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof re&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}};function uf(t,e,r=[]){r=ve(r);let n=[],i=0;function s(l){return l.concat(Xe(t,i+1))}a(s,"remainingPathWith");function o(l){let u=uf(s(l),e,r);return n.concat(u)}for(a(o,"getAlternativ
${s.join(`
`).replace(/\n/g,`
`)}`)}},"validateVisitor")};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}a(BE,"createBaseSemanticVisitorConstructor");function KE(t,e,r){let n=a(function(){},"derivedConstructor");eh(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return G(e,s=>{i[s]=E1}),n.prototype=i,n.prototype.constructor=n,n}a(KE,"createBaseVisitorConstructorWithDefaults");var th;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(th||(th={}));function v1(t,e){return A1(t,e)}a(v1,"validateVisitor");function A1(t,e){let r=St(e,i=>Ft(t[i])===!1),n=F(r,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:th.MISSING_METHOD,methodName:i}));return Qr(n)}a(A1,"validateMissingCstMethods");var Ef=class{static{a(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=U(e,"nodeLocationTracking")?e.nodeLocationTracking:zt.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=ze,this.cstFinallyStateUpdate=ze,this.cstPostTerminal=ze,this.cstPostNonTerminal=ze,this.cstPostRule=ze;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Qm,this.setNodeLocationFromNode=Qm,this.cstPostRule=ze,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=ze,this.setNodeLocationFromNode=ze,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Zm,this.setNodeLocationFromNode=Zm,this.cstPostRule=ze,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=ze,this.setNodeLocationFromNode=ze,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=ze,this.setNodeLocationFromNode=ze,this.cstPostRule=ze,this.setInitialNodeLocation=ze;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];jE(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];zE(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(wt(this.baseCstVisitorConstructor)){let e=BE(this.className,$e(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(wt(this.baseCstVisitorWithDefaultsConstructor)){let e=KE(this.className,$e(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_STA
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
For Further details.`);if(z(e)){if(ne(e))throw Error(`A Token Vocabulary cannot be empty.
Note that the first argument for the parser constructor
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.
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
For Further details.`)}if(z(e))this.tokensMap=rt(e,(s,o)=>(s[o.name]=o,s),{});else if(U(e,"modes")&&bt(lt(ye(e.modes)),lE)){let s=lt(ye(e.modes)),o=vs(s);this.tokensMap=rt(o,(l,u)=>(l[u.name]=u,l),{})}else if(je(e))this.tokensMap=ve(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=sr;let n=U(e,"modes")?lt(ye(e.modes)):ye(e),i=bt(n,s=>ne(s.categoryMatches));this.tokenMatcher=i?Ns:An,Cn(ye(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'
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=U(n,"resyncEnabled")?n.resyncEnabled:Ms.resyncEnabled,s=U(n,"recoveryValueFunc")?n.recoveryValueFunc:Ms.recoveryValueFunc,o=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[o]=e,this.fullRuleNameToShort[e]=o;let l;return this.outputCst===!0?l=a(function(...f){try{this.ruleInvocationStateUpdate(o,e,this.subruleIdx),r.apply(this,f);let p=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(p),p}catch(p){return this.invokeRuleCatch(p,i,s)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):l=a(function(...f){try{return this.ruleInvocationStateUpdate(o,e,this.subruleIdx),r.apply(this,f)}catch(p){return this.invokeRuleCatch(p,i,s)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),Object.assign(l,{ruleName:e,originalGrammarAction:r})}invokeRuleCatch(e,r,n){let i=this.RULE_STACK.length===1,s=r&&!this.isBackTracking()&&this.recoveryEnabled;if(hi(e)){let o=e;if(s){let l=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(l))if(o.resyncedTokens=this.reSyncTo(l),this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];return u.recoveredNode=!0,u}else return n(e);else{if(this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];u.recoveredNode=!0,o.partialCstResult=u}throw o}}else{if(i)return this.moveToTerminatedState(),n(e);throw o}}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),s;if(typeof e!="function"){s=e.DEF;let o=e.GATE;if(o!==void 0){let l=i;i=a(()=>o.call(this)&&l.call(this),"lookAheadFunc")}}else s=e;if(i.call(this)===!0)return s.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),s;if(typeof r!="function"){s=r.DEF;let o=r.GATE;if(o!==void 0){let l=i;i=a(()=>o.call(this)&&l.call(this),"lookAheadFunc")}}else s=r;if(i.call(this)===!0){let o=this.doSingleRepetition(s);for(;i.call(this)===!0&&o===!0;)o=this.doSingleRepetition(s)}else throw this.raiseEarlyExitException(e,Me.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,1024,e,lf)}atLeastOneSepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){let i=r.DEF,s=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=a(()=>this.tokenMatcher(this.LA(1),s),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,l,i,vl],l,1536,e,vl)}else throw this.raiseEarlyExitException(e,Me.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),s;if(typeof r!="function"){s=r.DEF;let l=r.GATE;if(l!==void 0){let u=i;i=a(()=>l.call(this)&&u.call(this),"lookaheadFunction")}}else s=r;let o=!0;for(;i.call(this)===!0&&o===!0;)o=this.doSingleRepetition(s);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,768,e,of,o)}manySepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){let i=r.DEF,s=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=a(()=>this.tokenMatcher(this.LA(1),s),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,l,i,El],l,1280,e,El)}}repetitionSepSecondInternal(e,r,n,i,s){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,s],n,1536,e,s)}doSingleRepetition(e){let r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(YE);var b1={name:`This CSTNode indicates the Parser is in Recording Phase
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},wf=class{static{a(this,"GastRecorder")}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 Ls}topLevelRuleRecord(e,r){try{let n=new Ut({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+`
This error was thrown during the "grammar recording phase" For more info see:
https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return Il.call(this,de,e,r)}atLeastOneInternalRecord(e,r){Il.call(this,Ce,r,e)}atLeastOneSepFirstInternalRecord(e,r){Il.call(this,be,r,e,qE)}manyInternalRecord(e,r){Il.call(this,ae,r,e)}manySepFirstInternalRecord(e,r){Il.call(this,xe,r,e,qE)}orInternalRecord(e,r){return S1.call(this,e,r)}subruleInternalRecord(e,r,n){if(Nf(r),!e||U(e,"ruleName")===!1){let l=new Error(`<SUBRULE${VE(r)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
inside top level rule: <${this.recordingProdStack[0].name}>`);throw l.KNOWN_RECORDER_ERROR=!0,l}let i=kr(this.recordingProdStack),s=e.ruleName,o=new pe({idx:r,nonTerminalName:s,label:n?.LABEL,referencedRule:void 0});return i.definition.push(o),this.outputCst?b1:If}consumeInternalRecord(e,r,n){if(Nf(r),!Dm(e)){let o=new Error(`<CONSUME${VE(r)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}let i=kr(this.recordingProdStack),s=new re({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(s),YE}};function Il(t,e,r,n=!1){Nf(r);let i=kr(this.recordingProdStack),s=Ft(e)?e:e.DEF,o=new t({definition:[],idx:r});return n&&(o.separator=e.SEP),U(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),i.definition.push(o),this.recordingProdStack.pop(),If}a(Il,"recordProd");function S1(t,e){Nf(e);let r=kr(this.recordingProdStack),n=z(t)===!1,i=n===!1?t:t.DEF,s=new Re({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});U(t,"MAX_LOOKAHEAD")&&(s.maxLookahead=t.MAX_LOOKAHEAD);let o=hl(i,l=>Ft(l.GATE));return s.hasPredicates=o,r.definition.push(s),G(i,l=>{let u=new Ae({definition:[]});s.definition.push(u),U(l,"IGNORE_AMBIGUITIES")?u.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:U(l,"GATE")&&(u.ignoreAmbiguities=!0),this.recordingProdStack.push(u),l.ALT.call(this),this.recordingProdStack.pop()}),If}a(S1,"recordOrProd");function VE(t){return t===0?"":`${t}`}a(VE,"getIdxSuffix");function Nf(t){if(t<0||t>WE){let e=new Error(`Invalid DSL Method idx value: <${t}>
Idx value must be a none negative value smaller than ${WE+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}a(Nf,"assertMethodIdxIsValid");var _f=class{static{a(this,"PerformanceTracer")}initPerformanceTracer(e){if(U(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=zt.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:s}=gl(r),o=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&o(`${n}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,s}else return r()}};function XE(t,e){e.forEach(r=>{let n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;let s=Object.getOwnPropertyDescriptor(n,i);s&&(s.get||s.set)?Object.defineProperty(t.prototype,i,s):t.prototype[i]=r.prototype[i]})})}a(XE,"applyMixins");var Ls=Sn(sr,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Ls);var zt=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:wn,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Ms=Object.freeze({recoveryValueFunc:a(()=>{},"recoveryValueFunc"),resyncEnabled:!0}),ct;(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"})(ct||(ct={}));function kf(t=void 0){return function(){return t}}a(kf,"EMPTY_ALT");var _l=class t{static{a(this,"Parser")}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",()=>{Tl(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),G(this.definedRulesNames,i=>{let o=this[i].originalGrammarAction,l;this.TRACE_INIT(`${i} Rule`,()=>{l=this.topLevelRuleRecord(i,o)}),this.gastProductionsCache[i]=l})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=OE({rules:ye(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(ne(n)&&this.skipValidations===!1){let i=LE({rules:ye(this.gastProductionsCache),tokenTypes:ye(this.tokensMap),errMsgProvider:Pr,grammarName:r}),s=SE({lookaheadStrategy:this.lookaheadStrategy,rules:ye(this.gastProductionsCache),tokenTypes:ye(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,s)}}),ne(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let i=z$(ye(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,s;(s=(i=this.lookaheadStrategy).initialize)===null||s===void 0||s.call(i,{rules:ye(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(ye(this.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!ne(this.definitionErrors))throw e=F(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected:
${e.join(`
-------------------------------
`)}`)})}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),U(r,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
For further details.`);this.skipValidations=U(r,"skipValidations")?r.skipValidations:zt.skipValidations}};_l.DEFER_DEFINITION_ERRORS_HANDLING=!1;XE(_l,[hf,Tf,Ef,vf,Cf,Af,bf,Sf,wf,_f]);var kl=class extends _l{static{a(this,"EmbeddedActionsParser")}constructor(e,r=zt){let n=ve(r);n.outputCst=!1,super(e,n)}};function N1(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}a(N1,"arrayMap");var Pf=N1;function I1(){this.__data__=[],this.size=0}a(I1,"listCacheClear");var JE=I1;function _1(t,e){return t===e||t!==t&&e!==e}a(_1,"eq");var Of=_1;function k1(t,e){for(var r=t.length;r--;)if(Of(t[r][0],e))return r;return-1}a(k1,"assocIndexOf");var yi=k1;var P1=Array.prototype,O1=P1.splice;function L1(t){var e=this.__data__,r=yi(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():O1.call(e,r,1),--this.size,!0}a(L1,"listCacheDelete");var ZE=L1;function M1(t){var e=this.__data__,r=yi(e,t);return r<0?void 0:e[r][1]}a(M1,"listCacheGet");var QE=M1;function D1(t){return yi(this.__data__,t)>-1}a(D1,"listCacheHas");var ev=D1;function F1(t,e){var r=this.__data__,n=yi(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}a(F1,"listCacheSet");var tv=F1;function Ds(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])}}a(Ds,"ListCache");Ds.prototype.clear=JE;Ds.prototype.delete=ZE;Ds.prototype.get=QE;Ds.prototype.has=ev;Ds.prototype.set=tv;var gi=Ds;function G1(){this.__data__=new gi,this.size=0}a(G1,"stackClear");var rv=G1;function U1(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}a(U1,"stackDelete");var nv=U1;function j1(t){return this.__data__.get(t)}a(j1,"stackGet");var iv=j1;function z1(t){return this.__data__.has(t)}a(z1,"stackHas");var av=z1;var B1=typeof global=="object"&&global&&global.Object===Object&&global,Lf=B1;var K1=typeof self=="object"&&self&&self.Object===Object&&self,q1=Lf||K1||Function("return this")(),yt=q1;var W1=yt.Symbol,Bt=W1;var sv=Object.prototype,V1=sv.hasOwnProperty,H1=sv.toString,Pl=Bt?Bt.toStringTag:void 0;function Y1(t){var e=V1.call(t,Pl),r=t[Pl];try{t[Pl]=void 0;var n=!0}catch{}var i=H1.call(t);return n&&(e?t[Pl]=r:delete t[Pl]),i}a(Y1,"getRawTag");var ov=Y1;var X1=Object.prototype,J1=X1.toString;function Z1(t){return J1.call(t)}a(Z1,"objectToString");var lv=Z1;var Q1="[object Null]",eF="[object Undefined]",uv=Bt?Bt.toStringTag:void 0;function tF(t){return t==null?t===void 0?eF:Q1:uv&&uv in Object(t)?ov(t):lv(t)}a(tF,"baseGetTag");var Or=tF;function rF(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}a(rF,"isObject");var Fs=rF;var nF="[object AsyncFunction]",iF="[object Function]",aF="[object GeneratorFunction]",sF="[object Proxy]";function oF(t){if(!Fs(t))return!1;var e=Or(t);return e==iF||e==aF||e==nF||e==sF}a(oF,"isFunction");var Mf=oF;var lF=yt["__core-js_shared__"],Df=lF;var cv=(function(){var t=/[^.]+$/.exec(Df&&Df.keys&&Df.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function uF(t){return!!cv&&cv in t}a(uF,"isMasked");var fv=uF;var cF=Function.prototype,fF=cF.toString;function pF(t){if(t!=null){try{return fF.call(t)}catch{}try{return t+""}catch{}}return""}a(pF,"toSource");var In=pF;var dF=/[\\^$.*+?()[\]{}|]/g,mF=/^\[object .+?Constructor\]$/,hF=Function.prototype,yF=Object.prototype,gF=hF.toString,TF=yF.hasOwnProperty,xF=RegExp("^"+gF.call(TF).replace(dF,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function RF(t){if(!Fs(t)||fv(t))return!1;var e=Mf(t)?xF:mF;return e.test(In(t))}a(RF,"baseIsNative");var pv=RF;function $F(t,e){return t?.[e]}a($F,"getValue");var dv=$F;function EF(t,e){var r=dv(t,e);return pv(r)?r:void 0}a(EF,"getNative");var gr=EF;var vF=gr(yt,"Map"),Ti=vF;var AF=gr(Object,"create"),_n=AF;function CF(){this.__data__=_n?_n(null):{},this.size=0}a(CF,"hashClear");var mv=CF;function bF(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}a(bF,"hashDelete");var hv=bF;var SF="__lodash_hash_undefined__",wF=Object.prototype,NF=wF.hasOwnProperty;function IF(t){var e=this.__data__;if(_n){var r=e[t];return r===SF?void 0:r}return N
<${e}> may appears as a prefix path in all these alternatives.
`;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
For Further details.`,n}a(Oz,"buildAmbiguityError");function Lz(t){if(t instanceof pe)return"SUBRULE";if(t instanceof de)return"OPTION";if(t instanceof Re)return"OR";if(t instanceof Ce)return"AT_LEAST_ONE";if(t instanceof be)return"AT_LEAST_ONE_SEP";if(t instanceof xe)return"MANY_SEP";if(t instanceof ae)return"MANY";if(t instanceof re)return"CONSUME";throw Error("non exhaustive match")}a(Lz,"getProductionDslName");function Mz(t,e,r){let n=qA(e.configs.elements,s=>s.state.transitions),i=tC(n.filter(s=>s instanceof Ys).map(s=>s.tokenType),s=>s.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}a(Mz,"buildAdaptivePredictError");function Dz(t,e){return t.edges[e.tokenTypeIdx]}a(Dz,"getExistingTargetState");function Fz(t,e,r){let n=new Qs,i=[];for(let o of t.elements){if(r.is(o.alt)===!1)continue;if(o.state.type===Js){i.push(o);continue}let l=o.state.transitions.length;for(let u=0;u<l;u++){let c=o.state.transitions[u],f=Gz(c,e);f!==void 0&&n.add({state:f,alt:o.alt,stack:o.stack})}}let s;if(i.length===0&&n.size===1&&(s=n),s===void 0){s=new Qs;for(let o of n.elements)ap(o,s)}if(i.length>0&&!Bz(s))for(let o of i)s.add(o);return s}a(Fz,"computeReachSet");function Gz(t,e){if(t instanceof Ys&&$l(e,t.tokenType))return t.target}a(Gz,"getReachableTarget");function Uz(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}a(Uz,"getUniqueAlt");function fC(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}a(fC,"newDFAState");function cC(t,e,r,n){return n=pC(t,n),e.edges[r.tokenTypeIdx]=n,n}a(cC,"addDFAEdge");function pC(t,e){if(e===Fl)return e;let r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}a(pC,"addDFAState");function jz(t){let e=new Qs,r=t.transitions.length;for(let n=0;n<r;n++){let s={state:t.transitions[n].target,alt:n,stack:[]};ap(s,e)}return e}a(jz,"computeStartState");function ap(t,e){let r=t.state;if(r.type===Js){if(t.stack.length>0){let i=[...t.stack],o={state:i.pop(),alt:t.alt,stack:i};ap(o,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let n=r.transitions.length;for(let i=0;i<n;i++){let s=r.transitions[i],o=zz(t,s);o!==void 0&&ap(o,e)}}a(ap,"closure");function zz(t,e){if(e instanceof Dl)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof Xs){let r=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:r}}}a(zz,"getEpsilonTarget");function Bz(t){for(let e of t.elements)if(e.state.type===Js)return!0;return!1}a(Bz,"hasConfigInRuleStopState");function Kz(t){for(let e of t.elements)if(e.state.type!==Js)return!1;return!0}a(Kz,"allConfigsInRuleStopStates");function qz(t){if(Kz(t))return!0;let e=Wz(t.elements);return Vz(e)&&!Hz(e)}a(qz,"hasConflictTerminatingPrediction");function Wz(t){let e=new Map;for(let r of t){let n=dh(r,!1),i=e.get(n);i===void 0&&(i={},e.set(n,i)),i[r.alt]=!0}return e}a(Wz,"getConflictingAltSets");function Vz(t){for(let e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}a(Vz,"hasConflictingAltSet");function Hz(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}a(Hz,"hasStateAssociatedWithOneAlt");ao();var Vl=class{static{a(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new so(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new xa;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new Ta(e.startOffset,e.image.length,Ja(e),e.tokenType,!r);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)}}addHiddenNodes(e){let r=[];for(let s of e){let o=new Ta(s.startOffset,s.image.length,Ja(s),s.tokenType,!0);o.root=this.rootNode,r.push(o)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){let s=n.co
`;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return c}}a(r,"convertEscapeCharacter");function n(c){return c.charAt(0)==="^"?c.substring(1):c}a(n,"convertID"),t.convertID=n;function i(c){return parseInt(c)}a(i,"convertInt"),t.convertInt=i;function s(c){return BigInt(c)}a(s,"convertBigint"),t.convertBigint=s;function o(c){return new Date(c)}a(o,"convertDate"),t.convertDate=o;function l(c){return Number(c)}a(l,"convertNumber"),t.convertNumber=l;function u(c){return c.toLowerCase()==="true"}a(u,"convertBoolean"),t.convertBoolean=u})(an||(an={}));var V={};se(V,Nd(Ql(),1));function _y(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}a(_y,"delayNextTick");var Ep=0,$C=10;function vp(){return Ep=performance.now(),new V.CancellationTokenSource}a(vp,"startCancelableOperation");function EC(t){$C=t}a(EC,"setInterruptionPeriod");var Tr=Symbol("OperationCancelled");function sn(t){return t===Tr}a(sn,"isOperationCancelled");async function Be(t){if(t===V.CancellationToken.None)return;let e=performance.now();if(e-Ep>=$C&&(Ep=e,await _y(),Ep=performance.now()),t.isCancellationRequested)throw Tr}a(Be,"interruptAndCheck");var Kt=class{static{a(this,"Deferred")}constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}};var Ap=class t{static{a(this,"FullTextDocument")}constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(let n of e)if(t.isIncremental(n)){let i=CC(n.range),s=this.offsetAt(i.start),o=this.offsetAt(i.end);this._content=this._content.substring(0,s)+n.text+this._content.substring(o,this._content.length);let l=Math.max(i.start.line,0),u=Math.max(i.end.line,0),c=this._lineOffsets,f=vC(n.text,!1,s);if(u-l===f.length)for(let m=0,y=f.length;m<y;m++)c[m+l+1]=f[m];else f.length<1e4?c.splice(l+1,u-l,...f):this._lineOffsets=c=c.slice(0,l+1).concat(f,c.slice(u+1));let p=n.text.length-(o-s);if(p!==0)for(let m=l+1+f.length,y=c.length;m<y;m++)c[m]=c[m]+p}else if(t.isFull(n))this._content=n.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=r}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=vC(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return{line:0,character:e};for(;n<i;){let o=Math.floor((n+i)/2);r[o]>e?i=o:n=o+1}let s=n-1;return e=this.ensureBeforeEOL(e,r[s]),{line:s,character:e-r[s]}}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line];if(e.character<=0)return n;let i=e.line+1<r.length?r[e.line+1]:this._content.length,s=Math.min(n+e.character,i);return this.ensureBeforeEOL(s,n)}ensureBeforeEOL(e,r){for(;e>r&&AC(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}},fo;(function(t){function e(i,s,o,l){return new Ap(i,s,o,l)}a(e,"create"),t.create=e;function r(i,s,o){if(i instanceof Ap)return i.update(s,o),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}a(r,"update"),t.update=r;function n(i,s){let o=i.getText(),l=ky(s.map(yB),(f,p)=>{let m=f.range.start.line-p.range.start.line;return m===0?f.range.start.character-p.range.start.character:m}),u=0,c=[];for(let f of l){let p=i.offsetAt(f.range.start);if(p<u)throw new Error("Overlapping edit");p>u&&c.push(o.substring(u,p)),f.newText.length&&c.push(f.newText),u=i.offsetAt(f.range.end)}return c.push(o.substr(u
${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let r=this.content.toMarkdown(e);if(this.inline){let s=mK(this.name,r,e??{});if(typeof s=="string")return s}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}
${r}`),this.inline?`{${i}}`:i}};function mK(t,e,r){if(t==="linkplain"||t==="linkcode"||t==="link"){let n=e.indexOf(" "),i=e;if(n>0){let o=nT(e,n);i=e.substring(o),e=e.substring(0,n)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(i=`\`${i}\``),r.renderLink?.(e,i)??hK(e,i)}}a(mK,"renderInlineTag");function hK(t,e){try{return ft.parse(t,!0),`[${e}](${t})`}catch{return t}}a(hK,"renderLinkDefault");var _u=class{static{a(this,"JSDocTextImpl")}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+=`
`)}return e}toMarkdown(e){let r="";for(let n=0;n<this.inlines.length;n++){let i=this.inlines[n],s=this.inlines[n+1];r+=i.toMarkdown(e),s&&s.range.start.line>i.range.start.line&&(r+=`
`)}return r}},ld=class{static{a(this,"JSDocLineImpl")}constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}};function rN(t){return t.endsWith(`
`)?`
`:`
`}a(rN,"fillNewlines");var ku=class{static{a(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&aT(r))return iT(r).toMarkdown({renderLink:a((i,s)=>this.documentationLinkRenderer(e,i,s),"renderLink"),renderTag:a(i=>this.documentationTagRenderer(e,i),"renderTag")})}documentationLinkRenderer(e,r,n){let i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){let s=i.nameSegment.range.start.line+1,o=i.nameSegment.range.start.character+1,l=i.documentUri.with({fragment:`L${s},${o}`});return`[${n}](${l.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){let i=Ct(e).localSymbols;if(!i)return;let s=e;do{let l=i.getStream(s).find(u=>u.name===r);if(l)return l;s=s.$container}while(s)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}};var Pu=class{static{a(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return Oy(e)?e.$comment:rm(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}};var Ou=class{static{a(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}},oT=class{static{a(this,"AbstractThreadedAsyncParser")}constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length<this.threadCount;){let e=this.createWorker();e.onReady(()=>{if(this.queue.length>0){let r=this.queue.shift();r&&(e.lock(),r.resolve(e))}}),this.workerPool.push(e)}}async parse(e,r){let n=await this.acquireParserWorker(r),i=new Kt,s,o=r.onCancellationRequested(()=>{s=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(l=>{let u=this.hydrator.hydrate(l);i.resolve(u)}).catch(l=>{i.reject(l)}).finally(()=>{o.dispose(),clearTimeout(s)}),i.promise}terminateWorker(e){e.terminate();let r=this.workerPool.indexOf(e);r>=0&&this.workerPool.splice(r,1)}async acquireParserWorker(e){this.initializeWorkers();for(let n of this.workerPool)if(n.ready)return n.lock(),n;let r=new Kt;return e.onCancellationRequested(()=>{let n=this.queue.indexOf(r);n>=0&&this.queue.splice(n,1),r.reject(Tr)}),this.queue.push(r),r.promise}},lT=class{static{a(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,r,n,i){this.onReadyEmitter=new _e.Emitter,this.deferred=new Kt,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=i,r(s=>{let o=s;this.deferred.resolve(o),this.unlock()}),n(s=>{this.deferred.reject(s),this.unlock()})}terminate(){this.deferred.reject(Tr),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new Kt,this.sendMessage(e),this.deferred.promise}};var Lu=class{static{a(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new V.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let r=vp();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=V.CancellationToken.None){let i=new Kt,s={action:r,deferred:i,cancellationToken:n};return e.push(s),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{let s=await Promise.resolve().then(()=>r(i));n.resolve(s)}catch(s){sn(s)?n.resolve(void 0):n.reject(s)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.pre
`.includes(e[r-1])}matchWhitespace(e,r,n,i){this.whitespaceRegExp.lastIndex=r;let s=this.whitespaceRegExp.exec(e);return{currIndentLevel:s?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:s}}createIndentationTokenInstance(e,r,n,i){let s=this.getLineNumber(r,i);return Sn(e,n,i,i+n.length,s,s,1,n.length)}getLineNumber(e,r){return e.substring(0,r).split(/\r\n|\r|\n/).length}indentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:s,prevIndentLevel:o,match:l}=this.matchWhitespace(e,r,n,i);return s<=o?null:(this.indentationStack.push(s),l)}dedentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:s,prevIndentLevel:o,match:l}=this.matchWhitespace(e,r,n,i);if(s>=o)return null;let u=this.indentationStack.lastIndexOf(s);if(u===-1)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${s} at offset: ${r}. Current indentation stack: ${this.indentationStack}`,offset:r,length:l?.[0]?.length??0,line:this.getLineNumber(e,r),column:1}),null;let c=this.indentationStack.length-u-1,f=e.substring(0,r).match(/[\r\n]+$/)?.[0].length??1;for(let p=0;p<c;p++){let m=this.createIndentationTokenInstance(this.dedentTokenType,e,"",r-(f-1));n.push(m),this.indentationStack.pop()}return null}buildTerminalToken(e){let r=super.buildTerminalToken(e),{indentTokenName:n,dedentTokenName:i,whitespaceTokenName:s}=this.options;return r.name===n?this.indentTokenType:r.name===i?this.dedentTokenType:r.name===s?mi({name:s,pattern:this.whitespaceRegExp,group:Le.SKIPPED}):r}flushRemainingDedents(e){let r=[];for(;this.indentationStack.length>1;)r.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],r}},dT=class extends Ia{static{a(this,"IndentationAwareLexer")}constructor(e){if(super(e),e.parser.TokenBuilder instanceof cd)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,r=ad){let n=super.tokenize(e),i=n.report;r?.mode==="full"&&n.tokens.push(...i.remainingDedents),i.remainingDedents=[];let{indentTokenType:s,dedentTokenType:o}=this.indentationTokenBuilder,l=s.tokenTypeIdx,u=o.tokenTypeIdx,c=[],f=n.tokens.length-1;for(let p=0;p<f;p++){let m=n.tokens[p],y=n.tokens[p+1];if(m.tokenTypeIdx===l&&y.tokenTypeIdx===u){p++;continue}c.push(m)}return f>=0&&c.push(n.tokens[f]),n.tokens=c,n}};var ue={};Un(ue,{AstUtils:()=>Xu,BiMap:()=>Aa,Cancellation:()=>V,ContextCache:()=>Ca,CstUtils:()=>yc,DONE_RESULT:()=>At,Deferred:()=>Kt,Disposable:()=>Fi,DisposableCache:()=>yo,DocumentCache:()=>Cp,EMPTY_STREAM:()=>zn,ErrorWithLocation:()=>ta,GrammarUtils:()=>Ec,MultiMap:()=>It,OperationCancelled:()=>Tr,Reduction:()=>Ua,RegExpUtils:()=>xc,SimpleCache:()=>ou,StreamImpl:()=>nr,TreeStreamImpl:()=>jr,URI:()=>ft,UriTrie:()=>mo,UriUtils:()=>Je,WorkspaceCache:()=>go,assertCondition:()=>GT,assertUnreachable:()=>Kr,delayNextTick:()=>_y,interruptAndCheck:()=>Be,isOperationCancelled:()=>sn,loadGrammarFromJson:()=>cr,setInterruptionPeriod:()=>EC,startCancelableOperation:()=>vp,stream:()=>te});se(ue,_e);var fd=class{static{a(this,"EmptyFileSystemProvider")}stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}},mT={fileSystemProvider:a(()=>new fd,"fileSystemProvider")};var yK={Grammar:a(()=>{},"Grammar"),LanguageMetaData:a(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},gK={AstReflection:a(()=>new Xa,"AstReflection")};function TK(){let t=ud(cT(mT),gK),e=ud(uT({shared:t}),yK);return t.ServiceRegistry.register(e),e}a(TK,"createMinimalGrammarServices");function cr(t){le
`)}}},YN=class extends wT{static{a(this,"CommonValueConverter")}runCustomConverter(e,r,n){}};var NT=class extends Pn{static{a(this,"AbstractMermaidTokenBuilder")}constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,r,n){let i=super.buildKeywordTokens(e,r,n);return i.forEach(s=>{this.keywords.has(s.name)&&s.PATTERN!==void 0&&(s.PATTERN=new RegExp(s.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},XN=class extends NT{static{a(this,"CommonTokenBuilder")}};export{a,uT as b,cT as c,ud as d,mT as e,We as f,Mn as g,URe as h,Cd as i,jRe as j,Fo as k,zRe as l,Lo as m,Pa as n,BRe as o,KRe as p,Ln as q,Ma as r,qRe as s,Ku as t,WRe as u,Go as v,VRe as w,Uo as x,HRe as y,jo as z,YRe as A,Da as B,XRe as C,bd as D,JRe as E,La as F,Do as G,zo as H,ZRe as I,ST as J,Bu as K,vt as L,QRe as M,o$e as N,l$e as O,u$e as P,c$e as Q,f$e as R,p$e as S,d$e as T,m$e as U,h$e as V,y$e as W,g$e as X,wT as Y,YN as Z,NT as _,XN as $};
/*! Bundled license information:
lodash-es/lodash.js:
(**
* @license
* Lodash (Custom Build) <https://lodash.com/>
* Build: `lodash modularize exports="es" -o ./`
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
* Released under MIT license <https://lodash.com/license>
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
*)
*/