173 lines
582 KiB
JavaScript
173 lines
582 KiB
JavaScript
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)&&le.is(i.end)}a(r,"is"),t.is=r})(ie||(ie={}));(function(t){function e(n,i){return{uri:n,range:i}}a(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&ie.is(i.range)&&(g.string(i.uri)||g.undefined(i.uri))}a(r,"is"),t.is=r})(jl||(jl={}));(function(t){function e(n,i,s,o){return{targetUri:n,targetRange:i,targetSelectionRange:s,originSelectionRange:o}}a(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&ie.is(i.targetRange)&&g.string(i.targetUri)&&ie.is(i.targetSelectionRange)&&(ie.is(i.originSelectionRange)||g.undefined(i.originSelectionRange))}a(r,"is"),t.is=r})(Th||(Th={}));(function(t){function e(n,i,s,o){return{red:n,green:i,blue:s,alpha:o}}a(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&g.numberRange(i.red,0,1)&&g.numberRange(i.green,0,1)&&g.numberRange(i.blue,0,1)&&g.numberRange(i.alpha,0,1)}a(r,"is"),t.is=r})(op||(op={}));(function(t){function e(n,i){return{range:n,color:i}}a(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&ie.is(i.range)&&op.is(i.color)}a(r,"is"),t.is=r})(xh||(xh={}));(function(t){function e(n,i,s){return{label:n,textEdit:i,additionalTextEdits:s}}a(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&g.string(i.label)&&(g.undefined(i.textEdit)||rn.is(i))&&(g.undefined(i.additionalTextEdits)||g.typedArray(i.additionalTextEdits,rn.is))}a(r,"is"),t.is=r})(Rh||(Rh={}));(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})($h||($h={}));(function(t){function e(n,i,s,o,l,u){let c={startLine:n,endLine:i};return g.defined(s)&&(c.startCharacter=s),g.defined(o)&&(c.endCharacter=o),g.defined(l)&&(c.kind=l),g.defined(u)&&(c.collapsedText=u),c}a(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&g.uinteger(i.startLine)&&g.uinteger(i.startLine)&&(g.undefined(i.startCharacter)||g.uinteger(i.startCharacter))&&(g.undefined(i.endCharacter)||g.uinteger(i.endCharacter))&&(g.undefined(i.kind)||g.string(i.kind))}a(r,"is"),t.is=r})(Eh||(Eh={}));(function(t){function e(n,i){return{location:n,message:i}}a(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&jl.is(i.location)&&g.string(i.message)}a(r,"is"),t.is=r})(lp||(lp={}));(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(vh||(vh={}));(function(t){t.Unnecessary=1,t.Deprecated=2})(Ah||(Ah={}));(function(t){function e(r){let n=r;return g.objectLiteral(n)&&g.string(n.href)}a(e,"is"),t.is=e})(Ch||(Ch={}));(function(t){function e(n,i,s,o,l,u){let c={range:n,message:i};return g.defined(s)&&(c.severity=s),g.defined(o)&&(c.code=o),g.defined(l)&&(c.source=l),g.defined(u)&&(c.relatedInformation=u),c}a(e,"create"),t.create=e;function r(n){var i;let s=n;return g.defined(s)&&ie.is(s.range)&&g.string(s.message)&&(g.number(s.severity)||g.undefined(s.severity))&&(g.integer(s.code)||g.string(s.code)||g.undefined(s.code))&&(g.undefined(s.codeDescription)||g.string((i=s.codeDescription)===null||i===void 0?void 0:i.href))&&(g.string(s.source)||g.undefined(s.source))&&(g.undefined(s.relatedInformation)||g.typedArray(s.relatedInformation,lp.is))}a(r,"is"),t.is=r})(zl||(zl={}));(function(t){function e(n,i,...s){let o={title:n,command:i};return g.defined(s)&&s.length>0&&(o.arguments=s),o}a(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&g.string(i.title)&&g.string(i.command)}a(r,"is"),t.is=r})(ga||(ga={}));(function(t){function e(s,o){return{range:s,newText:o}}a(e,"replace"),t.replace=e;function r(s,o){return{range:{start:s,end:s},newText:o}}a(r,"insert"),t.insert=r;function n(s){return{range:s,newText:""}}a(n,"del"),t.del=n;function i(s){let o=s;return g.objectLiteral(o)&&g.string(o.newText)&&ie.is(o.range)}a(i,"is"),t.is=i})(rn||(rn={}));(function(t){function e(n,i,s){let o={label:n};return i!==void 0&&(o.needsConfirmation=i),s!==void 0&&(o.description=s),o}a(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&g.string(i.label)&&(g.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(g.string(i.description)||i.description===void 0)}a(r,"is"),t.is=r})(ya||(ya={}));(function(t){function e(r){let n=r;return g.string(n)}a(e,"is"),t.is=e})($t||($t={}));(function(t){function e(s,o,l){return{range:s,newText:o,annotationId:l}}a(e,"replace"),t.replace=e;function r(s,o,l){return{range:{start:s,end:s},newText:o,annotationId:l}}a(r,"insert"),t.insert=r;function n(s,o){return{range:s,newText:"",annotationId:o}}a(n,"del"),t.del=n;function i(s){let o=s;return rn.is(o)&&(ya.is(o.annotationId)||$t.is(o.annotationId))}a(i,"is"),t.is=i})(kn||(kn={}));(function(t){function e(n,i){return{textDocument:n,edits:i}}a(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&Kl.is(i.textDocument)&&Array.isArray(i.edits)}a(r,"is"),t.is=r})(Bl||(Bl={}));(function(t){function e(n,i,s){let o={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(o.options=i),s!==void 0&&(o.annotationId=s),o}a(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&g.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||g.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||g.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||$t.is(i.annotationId))}a(r,"is"),t.is=r})(to||(to={}));(function(t){function e(n,i,s,o){let l={kind:"rename",oldUri:n,newUri:i};return s!==void 0&&(s.overwrite!==void 0||s.ignoreIfExists!==void 0)&&(l.options=s),o!==void 0&&(l.annotationId=o),l}a(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&g.string(i.oldUri)&&g.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||g.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||g.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||$t.is(i.annotationId))}a(r,"is"),t.is=r})(ro||(ro={}));(function(t){function e(n,i,s){let o={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(o.options=i),s!==void 0&&(o.annotationId=s),o}a(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&g.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||g.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||g.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||$t.is(i.annotationId))}a(r,"is"),t.is=r})(no||(no={}));(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>g.string(i.kind)?to.is(i)||ro.is(i)||no.is(i):Bl.is(i)))}a(e,"is"),t.is=e})(up||(up={}));eo=class{static{a(this,"TextEditChangeImpl")}constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,s;if(n===void 0?i=rn.insert(e,r):$t.is(n)?(s=n,i=kn.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),s=this.changeAnnotations.manage(n),i=kn.insert(e,r,s)),this.edits.push(i),s!==void 0)return s}replace(e,r,n){let i,s;if(n===void 0?i=rn.replace(e,r):$t.is(n)?(s=n,i=kn.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),s=this.changeAnnotations.manage(n),i=kn.replace(e,r,s)),this.edits.push(i),s!==void 0)return s}delete(e,r){let n,i;if(r===void 0?n=rn.del(e):$t.is(r)?(i=r,n=kn.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=kn.del(e,i)),this.edits.push(n),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}},cp=class{static{a(this,"ChangeAnnotations")}constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,r){let n;if($t.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}},bh=class{static{a(this,"WorkspaceChange")}constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new cp(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(Bl.is(r)){let n=new eo(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{let n=new eo(e.changes[r]);this._textEditChanges[r]=n})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(Kl.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let r={uri:e.uri,version:e.version},n=this._textEditChanges[r.uri];if(!n){let i=[],s={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(s),n=new eo(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new eo(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new cp,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;ya.is(r)||$t.is(r)?i=r:n=r;let s,o;if(i===void 0?s=to.create(e,n):(o=$t.is(i)?i:this._changeAnnotations.manage(i),s=to.create(e,n,o)),this._workspaceEdit.documentChanges.push(s),o!==void 0)return o}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let s;ya.is(n)||$t.is(n)?s=n:i=n;let o,l;if(s===void 0?o=ro.create(e,r,i):(l=$t.is(s)?s:this._changeAnnotations.manage(s),o=ro.create(e,r,i,l)),this._workspaceEdit.documentChanges.push(o),l!==void 0)return l}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;ya.is(r)||$t.is(r)?i=r:n=r;let s,o;if(i===void 0?s=no.create(e,n):(o=$t.is(i)?i:this._changeAnnotations.manage(i),s=no.create(e,n,o)),this._workspaceEdit.documentChanges.push(s),o!==void 0)return o}};(function(t){function e(n){return{uri:n}}a(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&g.string(i.uri)}a(r,"is"),t.is=r})(Sh||(Sh={}));(function(t){function e(n,i){return{uri:n,version:i}}a(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&g.string(i.uri)&&g.integer(i.version)}a(r,"is"),t.is=r})(wh||(wh={}));(function(t){function e(n,i){return{uri:n,version:i}}a(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&g.string(i.uri)&&(i.version===null||g.integer(i.version))}a(r,"is"),t.is=r})(Kl||(Kl={}));(function(t){function e(n,i,s,o){return{uri:n,languageId:i,version:s,text:o}}a(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&g.string(i.uri)&&g.string(i.languageId)&&g.integer(i.version)&&g.string(i.text)}a(r,"is"),t.is=r})(Nh||(Nh={}));(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){let n=r;return n===t.PlainText||n===t.Markdown}a(e,"is"),t.is=e})(fp||(fp={}));(function(t){function e(r){let n=r;return g.objectLiteral(r)&&fp.is(n.kind)&&g.string(n.value)}a(e,"is"),t.is=e})(io||(io={}));(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(Ih||(Ih={}));(function(t){t.PlainText=1,t.Snippet=2})(_h||(_h={}));(function(t){t.Deprecated=1})(kh||(kh={}));(function(t){function e(n,i,s){return{newText:n,insert:i,replace:s}}a(e,"create"),t.create=e;function r(n){let i=n;return i&&g.string(i.newText)&&ie.is(i.insert)&&ie.is(i.replace)}a(r,"is"),t.is=r})(Ph||(Ph={}));(function(t){t.asIs=1,t.adjustIndentation=2})(Oh||(Oh={}));(function(t){function e(r){let n=r;return n&&(g.string(n.detail)||n.detail===void 0)&&(g.string(n.description)||n.description===void 0)}a(e,"is"),t.is=e})(Lh||(Lh={}));(function(t){function e(r){return{label:r}}a(e,"create"),t.create=e})(Mh||(Mh={}));(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}a(e,"create"),t.create=e})(Dh||(Dh={}));(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}a(e,"fromPlainText"),t.fromPlainText=e;function r(n){let i=n;return g.string(i)||g.objectLiteral(i)&&g.string(i.language)&&g.string(i.value)}a(r,"is"),t.is=r})(ql||(ql={}));(function(t){function e(r){let n=r;return!!n&&g.objectLiteral(n)&&(io.is(n.contents)||ql.is(n.contents)||g.typedArray(n.contents,ql.is))&&(r.range===void 0||ie.is(r.range))}a(e,"is"),t.is=e})(Fh||(Fh={}));(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}a(e,"create"),t.create=e})(Gh||(Gh={}));(function(t){function e(r,n,...i){let s={label:r};return g.defined(n)&&(s.documentation=n),g.defined(i)?s.parameters=i:s.parameters=[],s}a(e,"create"),t.create=e})(Uh||(Uh={}));(function(t){t.Text=1,t.Read=2,t.Write=3})(jh||(jh={}));(function(t){function e(r,n){let i={range:r};return g.number(n)&&(i.kind=n),i}a(e,"create"),t.create=e})(zh||(zh={}));(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(Bh||(Bh={}));(function(t){t.Deprecated=1})(Kh||(Kh={}));(function(t){function e(r,n,i,s,o){let l={name:r,kind:n,location:{uri:s,range:i}};return o&&(l.containerName=o),l}a(e,"create"),t.create=e})(qh||(qh={}));(function(t){function e(r,n,i,s){return s!==void 0?{name:r,kind:n,location:{uri:i,range:s}}:{name:r,kind:n,location:{uri:i}}}a(e,"create"),t.create=e})(Wh||(Wh={}));(function(t){function e(n,i,s,o,l,u){let c={name:n,detail:i,kind:s,range:o,selectionRange:l};return u!==void 0&&(c.children=u),c}a(e,"create"),t.create=e;function r(n){let i=n;return i&&g.string(i.name)&&g.number(i.kind)&&ie.is(i.range)&&ie.is(i.selectionRange)&&(i.detail===void 0||g.string(i.detail))&&(i.deprecated===void 0||g.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}a(r,"is"),t.is=r})(Vh||(Vh={}));(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(Hh||(Hh={}));(function(t){t.Invoked=1,t.Automatic=2})(Wl||(Wl={}));(function(t){function e(n,i,s){let o={diagnostics:n};return i!=null&&(o.only=i),s!=null&&(o.triggerKind=s),o}a(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&g.typedArray(i.diagnostics,zl.is)&&(i.only===void 0||g.typedArray(i.only,g.string))&&(i.triggerKind===void 0||i.triggerKind===Wl.Invoked||i.triggerKind===Wl.Automatic)}a(r,"is"),t.is=r})(Yh||(Yh={}));(function(t){function e(n,i,s){let o={title:n},l=!0;return typeof i=="string"?(l=!1,o.kind=i):ga.is(i)?o.command=i:o.edit=i,l&&s!==void 0&&(o.kind=s),o}a(e,"create"),t.create=e;function r(n){let i=n;return i&&g.string(i.title)&&(i.diagnostics===void 0||g.typedArray(i.diagnostics,zl.is))&&(i.kind===void 0||g.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||ga.is(i.command))&&(i.isPreferred===void 0||g.boolean(i.isPreferred))&&(i.edit===void 0||up.is(i.edit))}a(r,"is"),t.is=r})(Xh||(Xh={}));(function(t){function e(n,i){let s={range:n};return g.defined(i)&&(s.data=i),s}a(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&ie.is(i.range)&&(g.undefined(i.command)||ga.is(i.command))}a(r,"is"),t.is=r})(Jh||(Jh={}));(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}a(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&g.uinteger(i.tabSize)&&g.boolean(i.insertSpaces)}a(r,"is"),t.is=r})(Zh||(Zh={}));(function(t){function e(n,i,s){return{range:n,target:i,data:s}}a(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&ie.is(i.range)&&(g.undefined(i.target)||g.string(i.target))}a(r,"is"),t.is=r})(Qh||(Qh={}));(function(t){function e(n,i){return{range:n,parent:i}}a(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&ie.is(i.range)&&(i.parent===void 0||t.is(i.parent))}a(r,"is"),t.is=r})(ey||(ey={}));(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(ty||(ty={}));(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(ry||(ry={}));(function(t){function e(r){let n=r;return g.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}a(e,"is"),t.is=e})(ny||(ny={}));(function(t){function e(n,i){return{range:n,text:i}}a(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&ie.is(i.range)&&g.string(i.text)}a(r,"is"),t.is=r})(iy||(iy={}));(function(t){function e(n,i,s){return{range:n,variableName:i,caseSensitiveLookup:s}}a(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&ie.is(i.range)&&g.boolean(i.caseSensitiveLookup)&&(g.string(i.variableName)||i.variableName===void 0)}a(r,"is"),t.is=r})(ay||(ay={}));(function(t){function e(n,i){return{range:n,expression:i}}a(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&ie.is(i.range)&&(g.string(i.expression)||i.expression===void 0)}a(r,"is"),t.is=r})(sy||(sy={}));(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}a(e,"create"),t.create=e;function r(n){let i=n;return g.defined(i)&&ie.is(n.stoppedLocation)}a(r,"is"),t.is=r})(oy||(oy={}));(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}a(e,"is"),t.is=e})(pp||(pp={}));(function(t){function e(n){return{value:n}}a(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&(i.tooltip===void 0||g.string(i.tooltip)||io.is(i.tooltip))&&(i.location===void 0||jl.is(i.location))&&(i.command===void 0||ga.is(i.command))}a(r,"is"),t.is=r})(dp||(dp={}));(function(t){function e(n,i,s){let o={position:n,label:i};return s!==void 0&&(o.kind=s),o}a(e,"create"),t.create=e;function r(n){let i=n;return g.objectLiteral(i)&&le.is(i.position)&&(g.string(i.label)||g.typedArray(i.label,dp.is))&&(i.kind===void 0||pp.is(i.kind))&&i.textEdits===void 0||g.typedArray(i.textEdits,rn.is)&&(i.tooltip===void 0||g.string(i.tooltip)||io.is(i.tooltip))&&(i.paddingLeft===void 0||g.boolean(i.paddingLeft))&&(i.paddingRight===void 0||g.boolean(i.paddingRight))}a(r,"is"),t.is=r})(ly||(ly={}));(function(t){function e(r){return{kind:"snippet",value:r}}a(e,"createSnippet"),t.createSnippet=e})(uy||(uy={}));(function(t){function e(r,n,i,s){return{insertText:r,filterText:n,range:i,command:s}}a(e,"create"),t.create=e})(cy||(cy={}));(function(t){function e(r){return{items:r}}a(e,"create"),t.create=e})(fy||(fy={}));(function(t){t.Invoked=0,t.Automatic=1})(py||(py={}));(function(t){function e(r,n){return{range:r,text:n}}a(e,"create"),t.create=e})(dy||(dy={}));(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}a(e,"create"),t.create=e})(my||(my={}));(function(t){function e(r){let n=r;return g.objectLiteral(n)&&sp.is(n.uri)&&g.string(n.name)}a(e,"is"),t.is=e})(hy||(hy={}));Yz=[`
|
|
`,`\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&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};uo.Emitter=xp;xp._noop=function(){}});var Ql=J(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.CancellationTokenSource=co.CancellationToken=void 0;var dB=Ni(),mB=lo(),Ny=Ea(),Rp;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Ny.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Ny.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||mB.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}a(e,"is"),t.is=e})(Rp||(co.CancellationToken=Rp={}));var hB=Object.freeze(function(t,e){let r=(0,dB.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),$p=class{static{a(this,"MutableToken")}constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?hB:(this._emitter||(this._emitter=new Ny.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},Iy=class{static{a(this,"CancellationTokenSource")}get token(){return this._token||(this._token=new $p),this._token}cancel(){this._token?this._token.cancel():this._token=Rp.Cancelled}dispose(){this._token?this._token instanceof $p&&this._token.dispose():this._token=Rp.None}};co.CancellationTokenSource=Iy});var ag=J(q=>{"use strict";Object.defineProperty(q,"__esModule",{value:!0});q.Message=q.NotificationType9=q.NotificationType8=q.NotificationType7=q.NotificationType6=q.NotificationType5=q.NotificationType4=q.NotificationType3=q.NotificationType2=q.NotificationType1=q.NotificationType0=q.NotificationType=q.RequestType9=q.RequestType8=q.RequestType7=q.RequestType6=q.RequestType5=q.RequestType4=q.RequestType3=q.RequestType2=q.RequestType1=q.RequestType=q.RequestType0=q.AbstractMessageSignature=q.ParameterStructures=q.ResponseError=q.ErrorCodes=void 0;var Sa=lo(),Ly;(function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3})(Ly||(q.ErrorCodes=Ly={}));var My=class t extends Error{static{a(this,"ResponseError")}constructor(e,r,n){super(r),this.code=Sa.number(e)?e:Ly.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,t.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};q.ResponseError=My;var Zt=class t{static{a(this,"ParameterStructures")}constructor(e){this.kind=e}static is(e){return e===t.auto||e===t.byName||e===t.byPosition}toString(){return this.kind}};q.ParameterStructures=Zt;Zt.auto=new Zt("auto");Zt.byPosition=new Zt("byPosition");Zt.byName=new Zt("byName");var ke=class{static{a(this,"AbstractMessageSignature")}constructor(e,r){this.method=e,this.numberOfParams=r}get parameterStructures(){return Zt.auto}};q.AbstractMessageSignature=ke;var Dy=class extends ke{static{a(this,"RequestType0")}constructor(e){super(e,0)}};q.RequestType0=Dy;var Fy=class extends ke{static{a(this,"RequestType")}constructor(e,r=Zt.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};q.RequestType=Fy;var Gy=class extends ke{static{a(this,"RequestType1")}constructor(e,r=Zt.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};q.RequestType1=Gy;var Uy=class extends ke{static{a(this,"RequestType2")}constructor(e){super(e,2)}};q.RequestType2=Uy;var jy=class extends ke{static{a(this,"RequestType3")}constructor(e){super(e,3)}};q.RequestType3=jy;var zy=class extends ke{static{a(this,"RequestType4")}constructor(e){super(e,4)}};q.RequestType4=zy;var By=class extends ke{static{a(this,"RequestType5")}constructor(e){super(e,5)}};q.RequestType5=By;var Ky=class extends ke{static{a(this,"RequestType6")}constructor(e){super(e,6)}};q.RequestType6=Ky;var qy=class extends ke{static{a(this,"RequestType7")}constructor(e){super(e,7)}};q.RequestType7=qy;var Wy=class extends ke{static{a(this,"RequestType8")}constructor(e){super(e,8)}};q.RequestType8=Wy;var Vy=class extends ke{static{a(this,"RequestType9")}constructor(e){super(e,9)}};q.RequestType9=Vy;var Hy=class extends ke{static{a(this,"NotificationType")}constructor(e,r=Zt.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};q.NotificationType=Hy;var Yy=class extends ke{static{a(this,"NotificationType0")}constructor(e){super(e,0)}};q.NotificationType0=Yy;var Xy=class extends ke{static{a(this,"NotificationType1")}constructor(e,r=Zt.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};q.NotificationType1=Xy;var Jy=class extends ke{static{a(this,"NotificationType2")}constructor(e){super(e,2)}};q.NotificationType2=Jy;var Zy=class extends ke{static{a(this,"NotificationType3")}constructor(e){super(e,3)}};q.NotificationType3=Zy;var Qy=class extends ke{static{a(this,"NotificationType4")}constructor(e){super(e,4)}};q.NotificationType4=Qy;var eg=class extends ke{static{a(this,"NotificationType5")}constructor(e){super(e,5)}};q.NotificationType5=eg;var tg=class extends ke{static{a(this,"NotificationType6")}constructor(e){super(e,6)}};q.NotificationType6=tg;var rg=class extends ke{static{a(this,"NotificationType7")}constructor(e){super(e,7)}};q.NotificationType7=rg;var ng=class extends ke{static{a(this,"NotificationType8")}constructor(e){super(e,8)}};q.NotificationType8=ng;var ig=class extends ke{static{a(this,"NotificationType9")}constructor(e){super(e,9)}};q.NotificationType9=ig;var kC;(function(t){function e(i){let s=i;return s&&Sa.string(s.method)&&(Sa.string(s.id)||Sa.number(s.id))}a(e,"isRequest"),t.isRequest=e;function r(i){let s=i;return s&&Sa.string(s.method)&&i.id===void 0}a(r,"isNotification"),t.isNotification=r;function n(i){let s=i;return s&&(s.result!==void 0||!!s.error)&&(Sa.string(s.id)||Sa.number(s.id)||s.id===null)}a(n,"isResponse"),t.isResponse=n})(kC||(q.Message=kC={}))});var og=J(Ii=>{"use strict";var PC;Object.defineProperty(Ii,"__esModule",{value:!0});Ii.LRUCache=Ii.LinkedMap=Ii.Touch=void 0;var _t;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(_t||(Ii.Touch=_t={}));var wp=class{static{a(this,"LinkedMap")}constructor(){this[PC]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,r=_t.None){let n=this._map.get(e);if(n)return r!==_t.None&&this.touch(n,r),n.value}set(e,r,n=_t.None){let i=this._map.get(e);if(i)i.value=r,n!==_t.None&&this.touch(i,n);else{switch(i={key:e,value:r,next:void 0,previous:void 0},n){case _t.None:this.addItemLast(i);break;case _t.First:this.addItemFirst(i);break;case _t.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let r=this._map.get(e);if(r)return this._map.delete(e),this.removeItem(r),this._size--,r.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,r){let n=this._state,i=this._head;for(;i;){if(r?e.bind(r)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:a(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.key,done:!1};return r=r.next,i}else return{value:void 0,done:!0}},"next")};return n}values(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:a(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.value,done:!1};return r=r.next,i}else return{value:void 0,done:!0}},"next")};return n}entries(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:a(()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:[r.key,r.value],done:!1};return r=r.next,i}else return{value:void 0,done:!0}},"next")};return n}[(PC=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let r=this._head,n=this.size;for(;r&&n>e;)this._map.delete(r.key),r=r.next,n--;this._head=r,this._size=n,r&&(r.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let r=e.next,n=e.previous;if(!r||!n)throw new Error("Invalid list");r.previous=n,n.next=r}e.next=void 0,e.previous=void 0,this._state++}touch(e,r){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(r!==_t.First&&r!==_t.Last)){if(r===_t.First){if(e===this._head)return;let n=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(n.previous=i,i.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(r===_t.Last){if(e===this._tail)return;let n=e.next,i=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=i,i.next=n),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((r,n)=>{e.push([n,r])}),e}fromJSON(e){this.clear();for(let[r,n]of e)this.set(r,n)}};Ii.LinkedMap=wp;var sg=class extends wp{static{a(this,"LRUCache")}constructor(e,r=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,r),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,r=_t.AsNew){return super.get(e,r)}peek(e){return super.get(e,_t.None)}set(e,r){return super.set(e,r,_t.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};Ii.LRUCache=sg});var LC=J(Np=>{"use strict";Object.defineProperty(Np,"__esModule",{value:!0});Np.Disposable=void 0;var OC;(function(t){function e(r){return{dispose:r}}a(e,"create"),t.create=e})(OC||(Np.Disposable=OC={}))});var MC=J(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.SharedArrayReceiverStrategy=To.SharedArraySenderStrategy=void 0;var TB=Ql(),gu;(function(t){t.Continue=0,t.Cancelled=1})(gu||(gu={}));var lg=class{static{a(this,"SharedArraySenderStrategy")}constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let r=new SharedArrayBuffer(4),n=new Int32Array(r,0,1);n[0]=gu.Continue,this.buffers.set(e.id,r),e.$cancellationData=r}async sendCancellation(e,r){let n=this.buffers.get(r);if(n===void 0)return;let i=new Int32Array(n,0,1);Atomics.store(i,0,gu.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};To.SharedArraySenderStrategy=lg;var ug=class{static{a(this,"SharedArrayBufferCancellationToken")}constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===gu.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},cg=class{static{a(this,"SharedArrayBufferCancellationTokenSource")}constructor(e){this.token=new ug(e)}cancel(){}dispose(){}},fg=class{static{a(this,"SharedArrayReceiverStrategy")}constructor(){this.kind="request"}createCancellationTokenSource(e){let r=e.$cancellationData;return r===void 0?new TB.CancellationTokenSource:new cg(r)}};To.SharedArrayReceiverStrategy=fg});var dg=J(Ip=>{"use strict";Object.defineProperty(Ip,"__esModule",{value:!0});Ip.Semaphore=void 0;var xB=Ni(),pg=class{static{a(this,"Semaphore")}constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((r,n)=>{this._waiting.push({thunk:e,resolve:r,reject:n}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,xB.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let r=e.thunk();r instanceof Promise?r.then(n=>{this._active--,e.resolve(n),this.runNext()},n=>{this._active--,e.reject(n),this.runNext()}):(this._active--,e.resolve(r),this.runNext())}catch(r){this._active--,e.reject(r),this.runNext()}}};Ip.Semaphore=pg});var FC=J(_i=>{"use strict";Object.defineProperty(_i,"__esModule",{value:!0});_i.ReadableStreamMessageReader=_i.AbstractMessageReader=_i.MessageReader=void 0;var hg=Ni(),xo=lo(),mg=Ea(),RB=dg(),DC;(function(t){function e(r){let n=r;return n&&xo.func(n.listen)&&xo.func(n.dispose)&&xo.func(n.onError)&&xo.func(n.onClose)&&xo.func(n.onPartialMessage)}a(e,"is"),t.is=e})(DC||(_i.MessageReader=DC={}));var _p=class{static{a(this,"AbstractMessageReader")}constructor(){this.errorEmitter=new mg.Emitter,this.closeEmitter=new mg.Emitter,this.partialMessageEmitter=new mg.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${xo.string(e.message)?e.message:"unknown"}`)}};_i.AbstractMessageReader=_p;var yg;(function(t){function e(r){let n,i,s,o=new Map,l,u=new Map;if(r===void 0||typeof r=="string")n=r??"utf-8";else{if(n=r.charset??"utf-8",r.contentDecoder!==void 0&&(s=r.contentDecoder,o.set(s.name,s)),r.contentDecoders!==void 0)for(let c of r.contentDecoders)o.set(c.name,c);if(r.contentTypeDecoder!==void 0&&(l=r.contentTypeDecoder,u.set(l.name,l)),r.contentTypeDecoders!==void 0)for(let c of r.contentTypeDecoders)u.set(c.name,c)}return l===void 0&&(l=(0,hg.default)().applicationJson.decoder,u.set(l.name,l)),{charset:n,contentDecoder:s,contentDecoders:o,contentTypeDecoder:l,contentTypeDecoders:u}}a(e,"fromOptions"),t.fromOptions=e})(yg||(yg={}));var gg=class extends _p{static{a(this,"ReadableStreamMessageReader")}constructor(e,r){super(),this.readable=e,this.options=yg.fromOptions(r),this.buffer=(0,hg.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new RB.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let r=this.readable.onData(n=>{this.onData(n)});return this.readable.onError(n=>this.fireError(n)),this.readable.onClose(()=>this.fireClose()),r}onData(e){try{for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let n=this.buffer.tryReadHeaders(!0);if(!n)return;let i=n.get("content-length");if(!i){this.fireError(new Error(`Header must provide a Content-Length property.
|
|
${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=Object.freeze({createCancellationTokenSource(r){return new $g.CancellationTokenSource}});function e(r){return Lp.is(r)||Sg.is(r)}a(e,"is"),t.is=e})(Mp||(Z.CancellationReceiverStrategy=Mp={}));var Dp;(function(t){t.Message=Object.freeze({sendCancellation(r,n){return r.sendNotification(Eu.type,{id:n})},cleanup(r){}});function e(r){let n=r;return n&&Ke.func(n.sendCancellation)&&Ke.func(n.cleanup)}a(e,"is"),t.is=e})(Dp||(Z.CancellationSenderStrategy=Dp={}));var Fp;(function(t){t.Message=Object.freeze({receiver:Mp.Message,sender:Dp.Message});function e(r){let n=r;return n&&Mp.is(n.receiver)&&Dp.is(n.sender)}a(e,"is"),t.is=e})(Fp||(Z.CancellationStrategy=Fp={}));var Gp;(function(t){function e(r){let n=r;return n&&Ke.func(n.handleMessage)}a(e,"is"),t.is=e})(Gp||(Z.MessageStrategy=Gp={}));var HC;(function(t){function e(r){let n=r;return n&&(Fp.is(n.cancellationStrategy)||bg.is(n.connectionStrategy)||Gp.is(n.messageStrategy))}a(e,"is"),t.is=e})(HC||(Z.ConnectionOptions=HC={}));var Mr;(function(t){t[t.New=1]="New",t[t.Listening=2]="Listening",t[t.Closed=3]="Closed",t[t.Disposed=4]="Disposed"})(Mr||(Mr={}));function bB(t,e,r,n){let i=r!==void 0?r:Z.NullLogger,s=0,o=0,l=0,u="2.0",c,f=new Map,p,m=new Map,y=new Map,A,C=new WC.LinkedMap,_=new Map,S=new Set,w=new Map,$=fe.Off,K=lr.Text,M,ge=Mr.New,Fr=new xu.Emitter,at=new xu.Emitter,Er=new xu.Emitter,pr=new xu.Emitter,N=new xu.Emitter,T=n&&n.cancellationStrategy?n.cancellationStrategy:Fp.Message;function D(h){if(h===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+h.toString()}a(D,"createRequestQueueKey");function L(h){return h===null?"res-unknown-"+(++l).toString():"res-"+h.toString()}a(L,"createResponseQueueKey");function x(){return"not-"+(++o).toString()}a(x,"createNotificationQueueKey");function E(h,v){Y.Message.isRequest(v)?h.set(D(v.id),v):Y.Message.isResponse(v)?h.set(L(v.id),v):h.set(x(),v)}a(E,"addMessageToQueue");function b(h){}a(b,"cancelUndispatched");function O(){return ge===Mr.Listening}a(O,"isListening");function j(){return ge===Mr.Closed}a(j,"isClosed");function k(){return ge===Mr.Disposed}a(k,"isDisposed");function X(){(ge===Mr.New||ge===Mr.Listening)&&(ge=Mr.Closed,at.fire(void 0))}a(X,"closeHandler");function Q(h){Fr.fire([h,void 0,void 0])}a(Q,"readErrorHandler");function Ze(h){Fr.fire(h)}a(Ze,"writeErrorHandler"),t.onClose(X),t.onError(Q),e.onClose(X),e.onError(Ze);function ce(){A||C.size===0||(A=(0,qC.default)().timer.setImmediate(()=>{A=void 0,Gr()}))}a(ce,"triggerMessageQueue");function Fe(h){Y.Message.isRequest(h)?qt(h):Y.Message.isNotification(h)?Pt(h):Y.Message.isResponse(h)?Fn(h):vr(h)}a(Fe,"handleMessage");function Gr(){if(C.size===0)return;let h=C.shift();try{let v=n?.messageStrategy;Gp.is(v)?v.handleMessage(h,Fe):Fe(h)}finally{ce()}}a(Gr,"processMessageQueue");let pt=a(h=>{try{if(Y.Message.isNotification(h)&&h.method===Eu.type.method){let v=h.params.id,P=D(v),B=C.get(P);if(Y.Message.isRequest(B)){let Te=n?.connectionStrategy,qe=Te&&Te.cancelUndispatched?Te.cancelUndispatched(B,b):void 0;if(qe&&(qe.error!==void 0||qe.result!==void 0)){C.delete(P),w.delete(v),qe.id=B.id,Gn(qe,h.method,Date.now()),e.write(qe).catch(()=>i.error("Sending response for canceled message failed."));return}}let we=w.get(v);if(we!==void 0){we.cancel(),Sd(h);return}else S.add(v)}E(C,h)}finally{ce()}},"callback");function qt(h){if(k())return;function v(oe,Ge,me){let st={jsonrpc:u,id:h.id};oe instanceof Y.ResponseError?st.error=oe.toJson():st.result=oe===void 0?null:oe,Gn(st,Ge,me),e.write(st).catch(()=>i.error("Sending response failed."))}a(v,"reply");function P(oe,Ge,me){let st={jsonrpc:u,id:h.id,error:oe.toJson()};Gn(st,Ge,me),e.write(st).catch(()=>i.error("Sending response failed."))}a(P,"replyError");function B(oe,Ge,me){oe===void 0&&(oe=null);let st={jsonrpc:u,id:h.id,result:oe};Gn(st,Ge,me),e.write(st).catch(()=>i.error("Sending response failed."))}a(B,"replySuccess"),Wu(h);let we=f.get(h.method),Te,qe;we&&(Te=we.type,qe=we.handler);let He=Date.now();if(qe||c){let oe=h.id??String(Date.now()),Ge=Lp.is(T.receiver)?T.receiver.createCancellationTokenSource(oe):T.receiver.createCancellationTokenSource(h);h.id!==null&&S.has(h.id)&&Ge.cancel(),h.id!==null&&w.set(oe,Ge);try{let me;if(qe)if(h.params===void 0){if(Te!==void 0&&Te.numberOfParams!==0){P(new Y.ResponseError(Y.ErrorCodes.InvalidParams,`Request ${h.method} defines ${Te.numberOfParams} params but received none.`),h.method,He);return}me=qe(Ge.token)}else if(Array.isArray(h.params)){if(Te!==void 0&&Te.parameterStructures===Y.ParameterStructures.byName){P(new Y.ResponseError(Y.ErrorCodes.InvalidParams,`Request ${h.method} defines parameters by name but received parameters by position`),h.method,He);return}me=qe(...h.params,Ge.token)}else{if(Te!==void 0&&Te.parameterStructures===Y.ParameterStructures.byPosition){P(new Y.ResponseError(Y.ErrorCodes.InvalidParams,`Request ${h.method} defines parameters by position but received parameters by name`),h.method,He);return}me=qe(h.params,Ge.token)}else c&&(me=c(h.method,h.params,Ge.token));let st=me;me?st.then?st.then(Ot=>{w.delete(oe),v(Ot,h.method,He)},Ot=>{w.delete(oe),Ot instanceof Y.ResponseError?P(Ot,h.method,He):Ot&&Ke.string(Ot.message)?P(new Y.ResponseError(Y.ErrorCodes.InternalError,`Request ${h.method} failed with message: ${Ot.message}`),h.method,He):P(new Y.ResponseError(Y.ErrorCodes.InternalError,`Request ${h.method} failed unexpectedly without providing any details.`),h.method,He)}):(w.delete(oe),v(me,h.method,He)):(w.delete(oe),B(me,h.method,He))}catch(me){w.delete(oe),me instanceof Y.ResponseError?v(me,h.method,He):me&&Ke.string(me.message)?P(new Y.ResponseError(Y.ErrorCodes.InternalError,`Request ${h.method} failed with message: ${me.message}`),h.method,He):P(new Y.ResponseError(Y.ErrorCodes.InternalError,`Request ${h.method} failed unexpectedly without providing any details.`),h.method,He)}}else P(new Y.ResponseError(Y.ErrorCodes.MethodNotFound,`Unhandled method ${h.method}`),h.method,He)}a(qt,"handleRequest");function Fn(h){if(!k())if(h.id===null)h.error?i.error(`Received response message without id: Error is:
|
|
${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{await e.write(He),_.set(Te,Ot)}catch(Ur){throw i.error("Sending request failed."),Ot.reject(new Y.ResponseError(Y.ErrorCodes.MessageWriteError,Ur.message?Ur.message:"Unknown reason")),Ur}})},"sendRequest"),onRequest:a((h,v)=>{Bo();let P=null;return Ag.is(h)?(P=void 0,c=h):Ke.string(h)?(P=null,v!==void 0&&(P=h,f.set(h,{handler:v,type:void 0}))):v!==void 0&&(P=h.method,f.set(h.method,{type:h,handler:v})),{dispose:a(()=>{P!==null&&(P!==void 0?f.delete(P):c=void 0)},"dispose")}},"onRequest"),hasPendingResponse:a(()=>_.size>0,"hasPendingResponse"),trace:a(async(h,v,P)=>{let B=!1,we=lr.Text;P!==void 0&&(Ke.boolean(P)?B=P:(B=P.sendNotification||!1,we=P.traceFormat||lr.Text)),$=h,K=we,$===fe.Off?M=void 0:M=v,B&&!j()&&!k()&&await Ga.sendNotification(Cg.type,{value:fe.toString(h)})},"trace"),onError:Fr.event,onClose:at.event,onUnhandledNotification:Er.event,onDispose:N.event,end:a(()=>{e.end()},"end"),dispose:a(()=>{if(k())return;ge=Mr.Disposed,N.fire(void 0);let h=new Y.ResponseError(Y.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let v of _.values())v.reject(h);_=new Map,w=new Map,S=new Set,C=new WC.LinkedMap,Ke.func(e.dispose)&&e.dispose(),Ke.func(t.dispose)&&t.dispose()},"dispose"),listen:a(()=>{Bo(),ZN(),ge=Mr.Listening,t.listen(pt)},"listen"),inspect:a(()=>{(0,qC.default)().console.log("inspect")},"inspect")};return Ga.onNotification(Op.type,h=>{if($===fe.Off||!M)return;let v=$===fe.Verbose||$===fe.Compact;M.log(h.message,v?h.verbose:void 0)}),Ga.onNotification(Ru.type,h=>{let v=y.get(h.token);v?v(h.value):pr.fire(h)}),Ga}a(bB,"createMessageConnection");Z.createMessageConnection=bB});var Up=J(R=>{"use strict";Object.defineProperty(R,"__esModule",{value:!0});R.ProgressType=R.ProgressToken=R.createMessageConnection=R.NullLogger=R.ConnectionOptions=R.ConnectionStrategy=R.AbstractMessageBuffer=R.WriteableStreamMessageWriter=R.AbstractMessageWriter=R.MessageWriter=R.ReadableStreamMessageReader=R.AbstractMessageReader=R.MessageReader=R.SharedArrayReceiverStrategy=R.SharedArraySenderStrategy=R.CancellationToken=R.CancellationTokenSource=R.Emitter=R.Event=R.Disposable=R.LRUCache=R.Touch=R.LinkedMap=R.ParameterStructures=R.NotificationType9=R.NotificationType8=R.NotificationType7=R.NotificationType6=R.NotificationType5=R.NotificationType4=R.NotificationType3=R.NotificationType2=R.NotificationType1=R.NotificationType0=R.NotificationType=R.ErrorCodes=R.ResponseError=R.RequestType9=R.RequestType8=R.RequestType7=R.RequestType6=R.RequestType5=R.RequestType4=R.RequestType3=R.RequestType2=R.RequestType1=R.RequestType0=R.RequestType=R.Message=R.RAL=void 0;R.MessageStrategy=R.CancellationStrategy=R.CancellationSenderStrategy=R.CancellationReceiverStrategy=R.ConnectionError=R.ConnectionErrors=R.LogTraceNotification=R.SetTraceNotification=R.TraceFormat=R.TraceValues=R.Trace=void 0;var Se=ag();Object.defineProperty(R,"Message",{enumerable:!0,get:a(function(){return Se.Message},"get")});Object.defineProperty(R,"RequestType",{enumerable:!0,get:a(function(){return Se.RequestType},"get")});Object.defineProperty(R,"RequestType0",{enumerable:!0,get:a(function(){return Se.RequestType0},"get")});Object.defineProperty(R,"RequestType1",{enumerable:!0,get:a(function(){return Se.RequestType1},"get")});Object.defineProperty(R,"RequestType2",{enumerable:!0,get:a(function(){return Se.RequestType2},"get")});Object.defineProperty(R,"RequestType3",{enumerable:!0,get:a(function(){return Se.RequestType3},"get")});Object.defineProperty(R,"RequestType4",{enumerable:!0,get:a(function(){return Se.RequestType4},"get")});Object.defineProperty(R,"RequestType5",{enumerable:!0,get:a(function(){return Se.RequestType5},"get")});Object.defineProperty(R,"RequestType6",{enumerable:!0,get:a(function(){return Se.RequestType6},"get")});Object.defineProperty(R,"RequestType7",{enumerable:!0,get:a(function(){return Se.RequestType7},"get")});Object.defineProperty(R,"RequestType8",{enumerable:!0,get:a(function(){return Se.RequestType8},"get")});Object.defineProperty(R,"RequestType9",{enumerable:!0,get:a(function(){return Se.RequestType9},"get")});Object.defineProperty(R,"ResponseError",{enumerable:!0,get:a(function(){return Se.ResponseError},"get")});Object.defineProperty(R,"ErrorCodes",{enumerable:!0,get:a(function(){return Se.ErrorCodes},"get")});Object.defineProperty(R,"NotificationType",{enumerable:!0,get:a(function(){return Se.NotificationType},"get")});Object.defineProperty(R,"NotificationType0",{enumerable:!0,get:a(function(){return Se.NotificationType0},"get")});Object.defineProperty(R,"NotificationType1",{enumerable:!0,get:a(function(){return Se.NotificationType1},"get")});Object.defineProperty(R,"NotificationType2",{enumerable:!0,get:a(function(){return Se.NotificationType2},"get")});Object.defineProperty(R,"NotificationType3",{enumerable:!0,get:a(function(){return Se.NotificationType3},"get")});Object.defineProperty(R,"NotificationType4",{enumerable:!0,get:a(function(){return Se.NotificationType4},"get")});Object.defineProperty(R,"NotificationType5",{enumerable:!0,get:a(function(){return Se.NotificationType5},"get")});Object.defineProperty(R,"NotificationType6",{enumerable:!0,get:a(function(){return Se.NotificationType6},"get")});Object.defineProperty(R,"NotificationType7",{enumerable:!0,get:a(function(){return Se.NotificationType7},"get")});Object.defineProperty(R,"NotificationType8",{enumerable:!0,get:a(function(){return Se.NotificationType8},"get")});Object.defineProperty(R,"NotificationType9",{enumerable:!0,get:a(function(){return Se.NotificationType9},"get")});Object.defineProperty(R,"ParameterStructures",{enumerable:!0,get:a(function(){return Se.ParameterStructures},"get")});var wg=og();Object.defineProperty(R,"LinkedMap",{enumerable:!0,get:a(function(){return wg.LinkedMap},"get")});Object.defineProperty(R,"LRUCache",{enumerable:!0,get:a(function(){return wg.LRUCache},"get")});Object.defineProperty(R,"Touch",{enumerable:!0,get:a(function(){return wg.Touch},"get")});var SB=LC();Object.defineProperty(R,"Disposable",{enumerable:!0,get:a(function(){return SB.Disposable},"get")});var XC=Ea();Object.defineProperty(R,"Event",{enumerable:!0,get:a(function(){return XC.Event},"get")});Object.defineProperty(R,"Emitter",{enumerable:!0,get:a(function(){return XC.Emitter},"get")});var JC=Ql();Object.defineProperty(R,"CancellationTokenSource",{enumerable:!0,get:a(function(){return JC.CancellationTokenSource},"get")});Object.defineProperty(R,"CancellationToken",{enumerable:!0,get:a(function(){return JC.CancellationToken},"get")});var ZC=MC();Object.defineProperty(R,"SharedArraySenderStrategy",{enumerable:!0,get:a(function(){return ZC.SharedArraySenderStrategy},"get")});Object.defineProperty(R,"SharedArrayReceiverStrategy",{enumerable:!0,get:a(function(){return ZC.SharedArrayReceiverStrategy},"get")});var Ng=FC();Object.defineProperty(R,"MessageReader",{enumerable:!0,get:a(function(){return Ng.MessageReader},"get")});Object.defineProperty(R,"AbstractMessageReader",{enumerable:!0,get:a(function(){return Ng.AbstractMessageReader},"get")});Object.defineProperty(R,"ReadableStreamMessageReader",{enumerable:!0,get:a(function(){return Ng.ReadableStreamMessageReader},"get")});var Ig=BC();Object.defineProperty(R,"MessageWriter",{enumerable:!0,get:a(function(){return Ig.MessageWriter},"get")});Object.defineProperty(R,"AbstractMessageWriter",{enumerable:!0,get:a(function(){return Ig.AbstractMessageWriter},"get")});Object.defineProperty(R,"WriteableStreamMessageWriter",{enumerable:!0,get:a(function(){return Ig.WriteableStreamMessageWriter},"get")});var wB=KC();Object.defineProperty(R,"AbstractMessageBuffer",{enumerable:!0,get:a(function(){return wB.AbstractMessageBuffer},"get")});var Et=YC();Object.defineProperty(R,"ConnectionStrategy",{enumerable:!0,get:a(function(){return Et.ConnectionStrategy},"get")});Object.defineProperty(R,"ConnectionOptions",{enumerable:!0,get:a(function(){return Et.ConnectionOptions},"get")});Object.defineProperty(R,"NullLogger",{enumerable:!0,get:a(function(){return Et.NullLogger},"get")});Object.defineProperty(R,"createMessageConnection",{enumerable:!0,get:a(function(){return Et.createMessageConnection},"get")});Object.defineProperty(R,"ProgressToken",{enumerable:!0,get:a(function(){return Et.ProgressToken},"get")});Object.defineProperty(R,"ProgressType",{enumerable:!0,get:a(function(){return Et.ProgressType},"get")});Object.defineProperty(R,"Trace",{enumerable:!0,get:a(function(){return Et.Trace},"get")});Object.defineProperty(R,"TraceValues",{enumerable:!0,get:a(function(){return Et.TraceValues},"get")});Object.defineProperty(R,"TraceFormat",{enumerable:!0,get:a(function(){return Et.TraceFormat},"get")});Object.defineProperty(R,"SetTraceNotification",{enumerable:!0,get:a(function(){return Et.SetTraceNotification},"get")});Object.defineProperty(R,"LogTraceNotification",{enumerable:!0,get:a(function(){return Et.LogTraceNotification},"get")});Object.defineProperty(R,"ConnectionErrors",{enumerable:!0,get:a(function(){return Et.ConnectionErrors},"get")});Object.defineProperty(R,"ConnectionError",{enumerable:!0,get:a(function(){return Et.ConnectionError},"get")});Object.defineProperty(R,"CancellationReceiverStrategy",{enumerable:!0,get:a(function(){return Et.CancellationReceiverStrategy},"get")});Object.defineProperty(R,"CancellationSenderStrategy",{enumerable:!0,get:a(function(){return Et.CancellationSenderStrategy},"get")});Object.defineProperty(R,"CancellationStrategy",{enumerable:!0,get:a(function(){return Et.CancellationStrategy},"get")});Object.defineProperty(R,"MessageStrategy",{enumerable:!0,get:a(function(){return Et.MessageStrategy},"get")});var NB=Ni();R.RAL=NB.default});var eb=J(Og=>{"use strict";Object.defineProperty(Og,"__esModule",{value:!0});var on=Up(),jp=class t extends on.AbstractMessageBuffer{static{a(this,"MessageBuffer")}constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return t.emptyBuffer}fromString(e,r){return new TextEncoder().encode(e)}toString(e,r){return r==="ascii"?this.asciiDecoder.decode(e):new TextDecoder(r).decode(e)}asNative(e,r){return r===void 0?e:e.slice(0,r)}allocNative(e){return new Uint8Array(e)}};jp.emptyBuffer=new Uint8Array(0);var _g=class{static{a(this,"ReadableStreamWrapper")}constructor(e){this.socket=e,this._onData=new on.Emitter,this._messageListener=r=>{r.data.arrayBuffer().then(i=>{this._onData.fire(new Uint8Array(i))},()=>{(0,on.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),on.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),on.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),on.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}},kg=class{static{a(this,"WritableStreamWrapper")}constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),on.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),on.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),on.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,r){if(typeof e=="string"){if(r!==void 0&&r!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${r}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}},IB=new TextEncoder,QC=Object.freeze({messageBuffer:Object.freeze({create:a(t=>new jp(t),"create")}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:a((t,e)=>{if(e.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${e.charset}`);return Promise.resolve(IB.encode(JSON.stringify(t,void 0,0)))},"encode")}),decoder:Object.freeze({name:"application/json",decode:a((t,e)=>{if(!(t instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(e.charset).decode(t)))},"decode")})}),stream:Object.freeze({asReadableStream:a(t=>new _g(t),"asReadableStream"),asWritableStream:a(t=>new kg(t),"asWritableStream")}),console,timer:Object.freeze({setTimeout(t,e,...r){let n=setTimeout(t,e,...r);return{dispose:a(()=>clearTimeout(n),"dispose")}},setImmediate(t,...e){let r=setTimeout(t,0,...e);return{dispose:a(()=>clearTimeout(r),"dispose")}},setInterval(t,e,...r){let n=setInterval(t,e,...r);return{dispose:a(()=>clearInterval(n),"dispose")}}})});function Pg(){return QC}a(Pg,"RIL");(function(t){function e(){on.RAL.install(QC)}a(e,"install"),t.install=e})(Pg||(Pg={}));Og.default=Pg});var wa=J(ur=>{"use strict";var _B=ur&&ur.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:a(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),kB=ur&&ur.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&_B(e,t,r)};Object.defineProperty(ur,"__esModule",{value:!0});ur.createMessageConnection=ur.BrowserMessageWriter=ur.BrowserMessageReader=void 0;var PB=eb();PB.default.install();var $o=Up();kB(Up(),ur);var Lg=class extends $o.AbstractMessageReader{static{a(this,"BrowserMessageReader")}constructor(e){super(),this._onData=new $o.Emitter,this._messageListener=r=>{this._onData.fire(r.data)},e.addEventListener("error",r=>this.fireError(r)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}};ur.BrowserMessageReader=Lg;var Mg=class extends $o.AbstractMessageWriter{static{a(this,"BrowserMessageWriter")}constructor(e){super(),this.port=e,this.errorCount=0,e.addEventListener("error",r=>this.fireError(r))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(r){return this.handleError(r,e),Promise.reject(r)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){}};ur.BrowserMessageWriter=Mg;function OB(t,e,r,n){return r===void 0&&(r=$o.NullLogger),$o.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,$o.createMessageConnection)(t,e,r,n)}a(OB,"createMessageConnection");ur.createMessageConnection=OB});var Dg=J((Fge,tb)=>{"use strict";tb.exports=wa()});var De=J(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.ProtocolNotificationType=Qt.ProtocolNotificationType0=Qt.ProtocolRequestType=Qt.ProtocolRequestType0=Qt.RegistrationType=Qt.MessageDirection=void 0;var Eo=wa(),rb;(function(t){t.clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both"})(rb||(Qt.MessageDirection=rb={}));var Fg=class{static{a(this,"RegistrationType")}constructor(e){this.method=e}};Qt.RegistrationType=Fg;var Gg=class extends Eo.RequestType0{static{a(this,"ProtocolRequestType0")}constructor(e){super(e)}};Qt.ProtocolRequestType0=Gg;var Ug=class extends Eo.RequestType{static{a(this,"ProtocolRequestType")}constructor(e){super(e,Eo.ParameterStructures.byName)}};Qt.ProtocolRequestType=Ug;var jg=class extends Eo.NotificationType0{static{a(this,"ProtocolNotificationType0")}constructor(e){super(e)}};Qt.ProtocolNotificationType0=jg;var zg=class extends Eo.NotificationType{static{a(this,"ProtocolNotificationType")}constructor(e){super(e,Eo.ParameterStructures.byName)}};Qt.ProtocolNotificationType=zg});var zp=J(it=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0});it.objectLiteral=it.typedArray=it.stringArray=it.array=it.func=it.error=it.number=it.string=it.boolean=void 0;function LB(t){return t===!0||t===!1}a(LB,"boolean");it.boolean=LB;function nb(t){return typeof t=="string"||t instanceof String}a(nb,"string");it.string=nb;function MB(t){return typeof t=="number"||t instanceof Number}a(MB,"number");it.number=MB;function DB(t){return t instanceof Error}a(DB,"error");it.error=DB;function FB(t){return typeof t=="function"}a(FB,"func");it.func=FB;function ib(t){return Array.isArray(t)}a(ib,"array");it.array=ib;function GB(t){return ib(t)&&t.every(e=>nb(e))}a(GB,"stringArray");it.stringArray=GB;function UB(t,e){return Array.isArray(t)&&t.every(e)}a(UB,"typedArray");it.typedArray=UB;function jB(t){return t!==null&&typeof t=="object"}a(jB,"objectLiteral");it.objectLiteral=jB});var ob=J(Bp=>{"use strict";Object.defineProperty(Bp,"__esModule",{value:!0});Bp.ImplementationRequest=void 0;var ab=De(),sb;(function(t){t.method="textDocument/implementation",t.messageDirection=ab.MessageDirection.clientToServer,t.type=new ab.ProtocolRequestType(t.method)})(sb||(Bp.ImplementationRequest=sb={}))});var cb=J(Kp=>{"use strict";Object.defineProperty(Kp,"__esModule",{value:!0});Kp.TypeDefinitionRequest=void 0;var lb=De(),ub;(function(t){t.method="textDocument/typeDefinition",t.messageDirection=lb.MessageDirection.clientToServer,t.type=new lb.ProtocolRequestType(t.method)})(ub||(Kp.TypeDefinitionRequest=ub={}))});var db=J(vo=>{"use strict";Object.defineProperty(vo,"__esModule",{value:!0});vo.DidChangeWorkspaceFoldersNotification=vo.WorkspaceFoldersRequest=void 0;var qp=De(),fb;(function(t){t.method="workspace/workspaceFolders",t.messageDirection=qp.MessageDirection.serverToClient,t.type=new qp.ProtocolRequestType0(t.method)})(fb||(vo.WorkspaceFoldersRequest=fb={}));var pb;(function(t){t.method="workspace/didChangeWorkspaceFolders",t.messageDirection=qp.MessageDirection.clientToServer,t.type=new qp.ProtocolNotificationType(t.method)})(pb||(vo.DidChangeWorkspaceFoldersNotification=pb={}))});var yb=J(Wp=>{"use strict";Object.defineProperty(Wp,"__esModule",{value:!0});Wp.ConfigurationRequest=void 0;var mb=De(),hb;(function(t){t.method="workspace/configuration",t.messageDirection=mb.MessageDirection.serverToClient,t.type=new mb.ProtocolRequestType(t.method)})(hb||(Wp.ConfigurationRequest=hb={}))});var xb=J(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.ColorPresentationRequest=Ao.DocumentColorRequest=void 0;var Vp=De(),gb;(function(t){t.method="textDocument/documentColor",t.messageDirection=Vp.MessageDirection.clientToServer,t.type=new Vp.ProtocolRequestType(t.method)})(gb||(Ao.DocumentColorRequest=gb={}));var Tb;(function(t){t.method="textDocument/colorPresentation",t.messageDirection=Vp.MessageDirection.clientToServer,t.type=new Vp.ProtocolRequestType(t.method)})(Tb||(Ao.ColorPresentationRequest=Tb={}))});var Eb=J(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.FoldingRangeRefreshRequest=Co.FoldingRangeRequest=void 0;var Hp=De(),Rb;(function(t){t.method="textDocument/foldingRange",t.messageDirection=Hp.MessageDirection.clientToServer,t.type=new Hp.ProtocolRequestType(t.method)})(Rb||(Co.FoldingRangeRequest=Rb={}));var $b;(function(t){t.method="workspace/foldingRange/refresh",t.messageDirection=Hp.MessageDirection.serverToClient,t.type=new Hp.ProtocolRequestType0(t.method)})($b||(Co.FoldingRangeRefreshRequest=$b={}))});var Cb=J(Yp=>{"use strict";Object.defineProperty(Yp,"__esModule",{value:!0});Yp.DeclarationRequest=void 0;var vb=De(),Ab;(function(t){t.method="textDocument/declaration",t.messageDirection=vb.MessageDirection.clientToServer,t.type=new vb.ProtocolRequestType(t.method)})(Ab||(Yp.DeclarationRequest=Ab={}))});var wb=J(Xp=>{"use strict";Object.defineProperty(Xp,"__esModule",{value:!0});Xp.SelectionRangeRequest=void 0;var bb=De(),Sb;(function(t){t.method="textDocument/selectionRange",t.messageDirection=bb.MessageDirection.clientToServer,t.type=new bb.ProtocolRequestType(t.method)})(Sb||(Xp.SelectionRangeRequest=Sb={}))});var kb=J(Pi=>{"use strict";Object.defineProperty(Pi,"__esModule",{value:!0});Pi.WorkDoneProgressCancelNotification=Pi.WorkDoneProgressCreateRequest=Pi.WorkDoneProgress=void 0;var zB=wa(),Jp=De(),Nb;(function(t){t.type=new zB.ProgressType;function e(r){return r===t.type}a(e,"is"),t.is=e})(Nb||(Pi.WorkDoneProgress=Nb={}));var Ib;(function(t){t.method="window/workDoneProgress/create",t.messageDirection=Jp.MessageDirection.serverToClient,t.type=new Jp.ProtocolRequestType(t.method)})(Ib||(Pi.WorkDoneProgressCreateRequest=Ib={}));var _b;(function(t){t.method="window/workDoneProgress/cancel",t.messageDirection=Jp.MessageDirection.clientToServer,t.type=new Jp.ProtocolNotificationType(t.method)})(_b||(Pi.WorkDoneProgressCancelNotification=_b={}))});var Mb=J(Oi=>{"use strict";Object.defineProperty(Oi,"__esModule",{value:!0});Oi.CallHierarchyOutgoingCallsRequest=Oi.CallHierarchyIncomingCallsRequest=Oi.CallHierarchyPrepareRequest=void 0;var bo=De(),Pb;(function(t){t.method="textDocument/prepareCallHierarchy",t.messageDirection=bo.MessageDirection.clientToServer,t.type=new bo.ProtocolRequestType(t.method)})(Pb||(Oi.CallHierarchyPrepareRequest=Pb={}));var Ob;(function(t){t.method="callHierarchy/incomingCalls",t.messageDirection=bo.MessageDirection.clientToServer,t.type=new bo.ProtocolRequestType(t.method)})(Ob||(Oi.CallHierarchyIncomingCallsRequest=Ob={}));var Lb;(function(t){t.method="callHierarchy/outgoingCalls",t.messageDirection=bo.MessageDirection.clientToServer,t.type=new bo.ProtocolRequestType(t.method)})(Lb||(Oi.CallHierarchyOutgoingCallsRequest=Lb={}))});var zb=J(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.SemanticTokensRefreshRequest=er.SemanticTokensRangeRequest=er.SemanticTokensDeltaRequest=er.SemanticTokensRequest=er.SemanticTokensRegistrationType=er.TokenFormat=void 0;var On=De(),Db;(function(t){t.Relative="relative"})(Db||(er.TokenFormat=Db={}));var vu;(function(t){t.method="textDocument/semanticTokens",t.type=new On.RegistrationType(t.method)})(vu||(er.SemanticTokensRegistrationType=vu={}));var Fb;(function(t){t.method="textDocument/semanticTokens/full",t.messageDirection=On.MessageDirection.clientToServer,t.type=new On.ProtocolRequestType(t.method),t.registrationMethod=vu.method})(Fb||(er.SemanticTokensRequest=Fb={}));var Gb;(function(t){t.method="textDocument/semanticTokens/full/delta",t.messageDirection=On.MessageDirection.clientToServer,t.type=new On.ProtocolRequestType(t.method),t.registrationMethod=vu.method})(Gb||(er.SemanticTokensDeltaRequest=Gb={}));var Ub;(function(t){t.method="textDocument/semanticTokens/range",t.messageDirection=On.MessageDirection.clientToServer,t.type=new On.ProtocolRequestType(t.method),t.registrationMethod=vu.method})(Ub||(er.SemanticTokensRangeRequest=Ub={}));var jb;(function(t){t.method="workspace/semanticTokens/refresh",t.messageDirection=On.MessageDirection.serverToClient,t.type=new On.ProtocolRequestType0(t.method)})(jb||(er.SemanticTokensRefreshRequest=jb={}))});var qb=J(Zp=>{"use strict";Object.defineProperty(Zp,"__esModule",{value:!0});Zp.ShowDocumentRequest=void 0;var Bb=De(),Kb;(function(t){t.method="window/showDocument",t.messageDirection=Bb.MessageDirection.serverToClient,t.type=new Bb.ProtocolRequestType(t.method)})(Kb||(Zp.ShowDocumentRequest=Kb={}))});var Hb=J(Qp=>{"use strict";Object.defineProperty(Qp,"__esModule",{value:!0});Qp.LinkedEditingRangeRequest=void 0;var Wb=De(),Vb;(function(t){t.method="textDocument/linkedEditingRange",t.messageDirection=Wb.MessageDirection.clientToServer,t.type=new Wb.ProtocolRequestType(t.method)})(Vb||(Qp.LinkedEditingRangeRequest=Vb={}))});var rS=J(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.WillDeleteFilesRequest=kt.DidDeleteFilesNotification=kt.DidRenameFilesNotification=kt.WillRenameFilesRequest=kt.DidCreateFilesNotification=kt.WillCreateFilesRequest=kt.FileOperationPatternKind=void 0;var Rr=De(),Yb;(function(t){t.file="file",t.folder="folder"})(Yb||(kt.FileOperationPatternKind=Yb={}));var Xb;(function(t){t.method="workspace/willCreateFiles",t.messageDirection=Rr.MessageDirection.clientToServer,t.type=new Rr.ProtocolRequestType(t.method)})(Xb||(kt.WillCreateFilesRequest=Xb={}));var Jb;(function(t){t.method="workspace/didCreateFiles",t.messageDirection=Rr.MessageDirection.clientToServer,t.type=new Rr.ProtocolNotificationType(t.method)})(Jb||(kt.DidCreateFilesNotification=Jb={}));var Zb;(function(t){t.method="workspace/willRenameFiles",t.messageDirection=Rr.MessageDirection.clientToServer,t.type=new Rr.ProtocolRequestType(t.method)})(Zb||(kt.WillRenameFilesRequest=Zb={}));var Qb;(function(t){t.method="workspace/didRenameFiles",t.messageDirection=Rr.MessageDirection.clientToServer,t.type=new Rr.ProtocolNotificationType(t.method)})(Qb||(kt.DidRenameFilesNotification=Qb={}));var eS;(function(t){t.method="workspace/didDeleteFiles",t.messageDirection=Rr.MessageDirection.clientToServer,t.type=new Rr.ProtocolNotificationType(t.method)})(eS||(kt.DidDeleteFilesNotification=eS={}));var tS;(function(t){t.method="workspace/willDeleteFiles",t.messageDirection=Rr.MessageDirection.clientToServer,t.type=new Rr.ProtocolRequestType(t.method)})(tS||(kt.WillDeleteFilesRequest=tS={}))});var oS=J(Li=>{"use strict";Object.defineProperty(Li,"__esModule",{value:!0});Li.MonikerRequest=Li.MonikerKind=Li.UniquenessLevel=void 0;var nS=De(),iS;(function(t){t.document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global"})(iS||(Li.UniquenessLevel=iS={}));var aS;(function(t){t.$import="import",t.$export="export",t.local="local"})(aS||(Li.MonikerKind=aS={}));var sS;(function(t){t.method="textDocument/moniker",t.messageDirection=nS.MessageDirection.clientToServer,t.type=new nS.ProtocolRequestType(t.method)})(sS||(Li.MonikerRequest=sS={}))});var fS=J(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});Mi.TypeHierarchySubtypesRequest=Mi.TypeHierarchySupertypesRequest=Mi.TypeHierarchyPrepareRequest=void 0;var So=De(),lS;(function(t){t.method="textDocument/prepareTypeHierarchy",t.messageDirection=So.MessageDirection.clientToServer,t.type=new So.ProtocolRequestType(t.method)})(lS||(Mi.TypeHierarchyPrepareRequest=lS={}));var uS;(function(t){t.method="typeHierarchy/supertypes",t.messageDirection=So.MessageDirection.clientToServer,t.type=new So.ProtocolRequestType(t.method)})(uS||(Mi.TypeHierarchySupertypesRequest=uS={}));var cS;(function(t){t.method="typeHierarchy/subtypes",t.messageDirection=So.MessageDirection.clientToServer,t.type=new So.ProtocolRequestType(t.method)})(cS||(Mi.TypeHierarchySubtypesRequest=cS={}))});var mS=J(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});wo.InlineValueRefreshRequest=wo.InlineValueRequest=void 0;var ed=De(),pS;(function(t){t.method="textDocument/inlineValue",t.messageDirection=ed.MessageDirection.clientToServer,t.type=new ed.ProtocolRequestType(t.method)})(pS||(wo.InlineValueRequest=pS={}));var dS;(function(t){t.method="workspace/inlineValue/refresh",t.messageDirection=ed.MessageDirection.serverToClient,t.type=new ed.ProtocolRequestType0(t.method)})(dS||(wo.InlineValueRefreshRequest=dS={}))});var TS=J(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.InlayHintRefreshRequest=Di.InlayHintResolveRequest=Di.InlayHintRequest=void 0;var No=De(),hS;(function(t){t.method="textDocument/inlayHint",t.messageDirection=No.MessageDirection.clientToServer,t.type=new No.ProtocolRequestType(t.method)})(hS||(Di.InlayHintRequest=hS={}));var yS;(function(t){t.method="inlayHint/resolve",t.messageDirection=No.MessageDirection.clientToServer,t.type=new No.ProtocolRequestType(t.method)})(yS||(Di.InlayHintResolveRequest=yS={}));var gS;(function(t){t.method="workspace/inlayHint/refresh",t.messageDirection=No.MessageDirection.serverToClient,t.type=new No.ProtocolRequestType0(t.method)})(gS||(Di.InlayHintRefreshRequest=gS={}))});var CS=J($r=>{"use strict";Object.defineProperty($r,"__esModule",{value:!0});$r.DiagnosticRefreshRequest=$r.WorkspaceDiagnosticRequest=$r.DocumentDiagnosticRequest=$r.DocumentDiagnosticReportKind=$r.DiagnosticServerCancellationData=void 0;var AS=wa(),BB=zp(),Io=De(),xS;(function(t){function e(r){let n=r;return n&&BB.boolean(n.retriggerRequest)}a(e,"is"),t.is=e})(xS||($r.DiagnosticServerCancellationData=xS={}));var RS;(function(t){t.Full="full",t.Unchanged="unchanged"})(RS||($r.DocumentDiagnosticReportKind=RS={}));var $S;(function(t){t.method="textDocument/diagnostic",t.messageDirection=Io.MessageDirection.clientToServer,t.type=new Io.ProtocolRequestType(t.method),t.partialResult=new AS.ProgressType})($S||($r.DocumentDiagnosticRequest=$S={}));var ES;(function(t){t.method="workspace/diagnostic",t.messageDirection=Io.MessageDirection.clientToServer,t.type=new Io.ProtocolRequestType(t.method),t.partialResult=new AS.ProgressType})(ES||($r.WorkspaceDiagnosticRequest=ES={}));var vS;(function(t){t.method="workspace/diagnostic/refresh",t.messageDirection=Io.MessageDirection.serverToClient,t.type=new Io.ProtocolRequestType0(t.method)})(vS||($r.DiagnosticRefreshRequest=vS={}))});var kS=J(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});Ve.DidCloseNotebookDocumentNotification=Ve.DidSaveNotebookDocumentNotification=Ve.DidChangeNotebookDocumentNotification=Ve.NotebookCellArrayChange=Ve.DidOpenNotebookDocumentNotification=Ve.NotebookDocumentSyncRegistrationType=Ve.NotebookDocument=Ve.NotebookCell=Ve.ExecutionSummary=Ve.NotebookCellKind=void 0;var Au=(ao(),Id(mp)),Dr=zp(),ln=De(),Bg;(function(t){t.Markup=1,t.Code=2;function e(r){return r===1||r===2}a(e,"is"),t.is=e})(Bg||(Ve.NotebookCellKind=Bg={}));var Kg;(function(t){function e(i,s){let o={executionOrder:i};return(s===!0||s===!1)&&(o.success=s),o}a(e,"create"),t.create=e;function r(i){let s=i;return Dr.objectLiteral(s)&&Au.uinteger.is(s.executionOrder)&&(s.success===void 0||Dr.boolean(s.success))}a(r,"is"),t.is=r;function n(i,s){return i===s?!0:i==null||s===null||s===void 0?!1:i.executionOrder===s.executionOrder&&i.success===s.success}a(n,"equals"),t.equals=n})(Kg||(Ve.ExecutionSummary=Kg={}));var td;(function(t){function e(s,o){return{kind:s,document:o}}a(e,"create"),t.create=e;function r(s){let o=s;return Dr.objectLiteral(o)&&Bg.is(o.kind)&&Au.DocumentUri.is(o.document)&&(o.metadata===void 0||Dr.objectLiteral(o.metadata))}a(r,"is"),t.is=r;function n(s,o){let l=new Set;return s.document!==o.document&&l.add("document"),s.kind!==o.kind&&l.add("kind"),s.executionSummary!==o.executionSummary&&l.add("executionSummary"),(s.metadata!==void 0||o.metadata!==void 0)&&!i(s.metadata,o.metadata)&&l.add("metadata"),(s.executionSummary!==void 0||o.executionSummary!==void 0)&&!Kg.equals(s.executionSummary,o.executionSummary)&&l.add("executionSummary"),l}a(n,"diff"),t.diff=n;function i(s,o){if(s===o)return!0;if(s==null||o===null||o===void 0||typeof s!=typeof o||typeof s!="object")return!1;let l=Array.isArray(s),u=Array.isArray(o);if(l!==u)return!1;if(l&&u){if(s.length!==o.length)return!1;for(let c=0;c<s.length;c++)if(!i(s[c],o[c]))return!1}if(Dr.objectLiteral(s)&&Dr.objectLiteral(o)){let c=Object.keys(s),f=Object.keys(o);if(c.length!==f.length||(c.sort(),f.sort(),!i(c,f)))return!1;for(let p=0;p<c.length;p++){let m=c[p];if(!i(s[m],o[m]))return!1}}return!0}a(i,"equalsMetadata")})(td||(Ve.NotebookCell=td={}));var bS;(function(t){function e(n,i,s,o){return{uri:n,notebookType:i,version:s,cells:o}}a(e,"create"),t.create=e;function r(n){let i=n;return Dr.objectLiteral(i)&&Dr.string(i.uri)&&Au.integer.is(i.version)&&Dr.typedArray(i.cells,td.is)}a(r,"is"),t.is=r})(bS||(Ve.NotebookDocument=bS={}));var _o;(function(t){t.method="notebookDocument/sync",t.messageDirection=ln.MessageDirection.clientToServer,t.type=new ln.RegistrationType(t.method)})(_o||(Ve.NotebookDocumentSyncRegistrationType=_o={}));var SS;(function(t){t.method="notebookDocument/didOpen",t.messageDirection=ln.MessageDirection.clientToServer,t.type=new ln.ProtocolNotificationType(t.method),t.registrationMethod=_o.method})(SS||(Ve.DidOpenNotebookDocumentNotification=SS={}));var wS;(function(t){function e(n){let i=n;return Dr.objectLiteral(i)&&Au.uinteger.is(i.start)&&Au.uinteger.is(i.deleteCount)&&(i.cells===void 0||Dr.typedArray(i.cells,td.is))}a(e,"is"),t.is=e;function r(n,i,s){let o={start:n,deleteCount:i};return s!==void 0&&(o.cells=s),o}a(r,"create"),t.create=r})(wS||(Ve.NotebookCellArrayChange=wS={}));var NS;(function(t){t.method="notebookDocument/didChange",t.messageDirection=ln.MessageDirection.clientToServer,t.type=new ln.ProtocolNotificationType(t.method),t.registrationMethod=_o.method})(NS||(Ve.DidChangeNotebookDocumentNotification=NS={}));var IS;(function(t){t.method="notebookDocument/didSave",t.messageDirection=ln.MessageDirection.clientToServer,t.type=new ln.ProtocolNotificationType(t.method),t.registrationMethod=_o.method})(IS||(Ve.DidSaveNotebookDocumentNotification=IS={}));var _S;(function(t){t.method="notebookDocument/didClose",t.messageDirection=ln.MessageDirection.clientToServer,t.type=new ln.ProtocolNotificationType(t.method),t.registrationMethod=_o.method})(_S||(Ve.DidCloseNotebookDocumentNotification=_S={}))});var LS=J(rd=>{"use strict";Object.defineProperty(rd,"__esModule",{value:!0});rd.InlineCompletionRequest=void 0;var PS=De(),OS;(function(t){t.method="textDocument/inlineCompletion",t.messageDirection=PS.MessageDirection.clientToServer,t.type=new PS.ProtocolRequestType(t.method)})(OS||(rd.InlineCompletionRequest=OS={}))});var Hw=J(d=>{"use strict";Object.defineProperty(d,"__esModule",{value:!0});d.WorkspaceSymbolRequest=d.CodeActionResolveRequest=d.CodeActionRequest=d.DocumentSymbolRequest=d.DocumentHighlightRequest=d.ReferencesRequest=d.DefinitionRequest=d.SignatureHelpRequest=d.SignatureHelpTriggerKind=d.HoverRequest=d.CompletionResolveRequest=d.CompletionRequest=d.CompletionTriggerKind=d.PublishDiagnosticsNotification=d.WatchKind=d.RelativePattern=d.FileChangeType=d.DidChangeWatchedFilesNotification=d.WillSaveTextDocumentWaitUntilRequest=d.WillSaveTextDocumentNotification=d.TextDocumentSaveReason=d.DidSaveTextDocumentNotification=d.DidCloseTextDocumentNotification=d.DidChangeTextDocumentNotification=d.TextDocumentContentChangeEvent=d.DidOpenTextDocumentNotification=d.TextDocumentSyncKind=d.TelemetryEventNotification=d.LogMessageNotification=d.ShowMessageRequest=d.ShowMessageNotification=d.MessageType=d.DidChangeConfigurationNotification=d.ExitNotification=d.ShutdownRequest=d.InitializedNotification=d.InitializeErrorCodes=d.InitializeRequest=d.WorkDoneProgressOptions=d.TextDocumentRegistrationOptions=d.StaticRegistrationOptions=d.PositionEncodingKind=d.FailureHandlingKind=d.ResourceOperationKind=d.UnregistrationRequest=d.RegistrationRequest=d.DocumentSelector=d.NotebookCellTextDocumentFilter=d.NotebookDocumentFilter=d.TextDocumentFilter=void 0;d.MonikerRequest=d.MonikerKind=d.UniquenessLevel=d.WillDeleteFilesRequest=d.DidDeleteFilesNotification=d.WillRenameFilesRequest=d.DidRenameFilesNotification=d.WillCreateFilesRequest=d.DidCreateFilesNotification=d.FileOperationPatternKind=d.LinkedEditingRangeRequest=d.ShowDocumentRequest=d.SemanticTokensRegistrationType=d.SemanticTokensRefreshRequest=d.SemanticTokensRangeRequest=d.SemanticTokensDeltaRequest=d.SemanticTokensRequest=d.TokenFormat=d.CallHierarchyPrepareRequest=d.CallHierarchyOutgoingCallsRequest=d.CallHierarchyIncomingCallsRequest=d.WorkDoneProgressCancelNotification=d.WorkDoneProgressCreateRequest=d.WorkDoneProgress=d.SelectionRangeRequest=d.DeclarationRequest=d.FoldingRangeRefreshRequest=d.FoldingRangeRequest=d.ColorPresentationRequest=d.DocumentColorRequest=d.ConfigurationRequest=d.DidChangeWorkspaceFoldersNotification=d.WorkspaceFoldersRequest=d.TypeDefinitionRequest=d.ImplementationRequest=d.ApplyWorkspaceEditRequest=d.ExecuteCommandRequest=d.PrepareRenameRequest=d.RenameRequest=d.PrepareSupportDefaultBehavior=d.DocumentOnTypeFormattingRequest=d.DocumentRangesFormattingRequest=d.DocumentRangeFormattingRequest=d.DocumentFormattingRequest=d.DocumentLinkResolveRequest=d.DocumentLinkRequest=d.CodeLensRefreshRequest=d.CodeLensResolveRequest=d.CodeLensRequest=d.WorkspaceSymbolResolveRequest=void 0;d.InlineCompletionRequest=d.DidCloseNotebookDocumentNotification=d.DidSaveNotebookDocumentNotification=d.DidChangeNotebookDocumentNotification=d.NotebookCellArrayChange=d.DidOpenNotebookDocumentNotification=d.NotebookDocumentSyncRegistrationType=d.NotebookDocument=d.NotebookCell=d.ExecutionSummary=d.NotebookCellKind=d.DiagnosticRefreshRequest=d.WorkspaceDiagnosticRequest=d.DocumentDiagnosticRequest=d.DocumentDiagnosticReportKind=d.DiagnosticServerCancellationData=d.InlayHintRefreshRequest=d.InlayHintResolveRequest=d.InlayHintRequest=d.InlineValueRefreshRequest=d.InlineValueRequest=d.TypeHierarchySupertypesRequest=d.TypeHierarchySubtypesRequest=d.TypeHierarchyPrepareRequest=void 0;var I=De(),MS=(ao(),Id(mp)),Tt=zp(),KB=ob();Object.defineProperty(d,"ImplementationRequest",{enumerable:!0,get:a(function(){return KB.ImplementationRequest},"get")});var qB=cb();Object.defineProperty(d,"TypeDefinitionRequest",{enumerable:!0,get:a(function(){return qB.TypeDefinitionRequest},"get")});var Kw=db();Object.defineProperty(d,"WorkspaceFoldersRequest",{enumerable:!0,get:a(function(){return Kw.WorkspaceFoldersRequest},"get")});Object.defineProperty(d,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:a(function(){return Kw.DidChangeWorkspaceFoldersNotification},"get")});var WB=yb();Object.defineProperty(d,"ConfigurationRequest",{enumerable:!0,get:a(function(){return WB.ConfigurationRequest},"get")});var qw=xb();Object.defineProperty(d,"DocumentColorRequest",{enumerable:!0,get:a(function(){return qw.DocumentColorRequest},"get")});Object.defineProperty(d,"ColorPresentationRequest",{enumerable:!0,get:a(function(){return qw.ColorPresentationRequest},"get")});var Ww=Eb();Object.defineProperty(d,"FoldingRangeRequest",{enumerable:!0,get:a(function(){return Ww.FoldingRangeRequest},"get")});Object.defineProperty(d,"FoldingRangeRefreshRequest",{enumerable:!0,get:a(function(){return Ww.FoldingRangeRefreshRequest},"get")});var VB=Cb();Object.defineProperty(d,"DeclarationRequest",{enumerable:!0,get:a(function(){return VB.DeclarationRequest},"get")});var HB=wb();Object.defineProperty(d,"SelectionRangeRequest",{enumerable:!0,get:a(function(){return HB.SelectionRangeRequest},"get")});var Yg=kb();Object.defineProperty(d,"WorkDoneProgress",{enumerable:!0,get:a(function(){return Yg.WorkDoneProgress},"get")});Object.defineProperty(d,"WorkDoneProgressCreateRequest",{enumerable:!0,get:a(function(){return Yg.WorkDoneProgressCreateRequest},"get")});Object.defineProperty(d,"WorkDoneProgressCancelNotification",{enumerable:!0,get:a(function(){return Yg.WorkDoneProgressCancelNotification},"get")});var Xg=Mb();Object.defineProperty(d,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:a(function(){return Xg.CallHierarchyIncomingCallsRequest},"get")});Object.defineProperty(d,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:a(function(){return Xg.CallHierarchyOutgoingCallsRequest},"get")});Object.defineProperty(d,"CallHierarchyPrepareRequest",{enumerable:!0,get:a(function(){return Xg.CallHierarchyPrepareRequest},"get")});var ko=zb();Object.defineProperty(d,"TokenFormat",{enumerable:!0,get:a(function(){return ko.TokenFormat},"get")});Object.defineProperty(d,"SemanticTokensRequest",{enumerable:!0,get:a(function(){return ko.SemanticTokensRequest},"get")});Object.defineProperty(d,"SemanticTokensDeltaRequest",{enumerable:!0,get:a(function(){return ko.SemanticTokensDeltaRequest},"get")});Object.defineProperty(d,"SemanticTokensRangeRequest",{enumerable:!0,get:a(function(){return ko.SemanticTokensRangeRequest},"get")});Object.defineProperty(d,"SemanticTokensRefreshRequest",{enumerable:!0,get:a(function(){return ko.SemanticTokensRefreshRequest},"get")});Object.defineProperty(d,"SemanticTokensRegistrationType",{enumerable:!0,get:a(function(){return ko.SemanticTokensRegistrationType},"get")});var YB=qb();Object.defineProperty(d,"ShowDocumentRequest",{enumerable:!0,get:a(function(){return YB.ShowDocumentRequest},"get")});var XB=Hb();Object.defineProperty(d,"LinkedEditingRangeRequest",{enumerable:!0,get:a(function(){return XB.LinkedEditingRangeRequest},"get")});var Na=rS();Object.defineProperty(d,"FileOperationPatternKind",{enumerable:!0,get:a(function(){return Na.FileOperationPatternKind},"get")});Object.defineProperty(d,"DidCreateFilesNotification",{enumerable:!0,get:a(function(){return Na.DidCreateFilesNotification},"get")});Object.defineProperty(d,"WillCreateFilesRequest",{enumerable:!0,get:a(function(){return Na.WillCreateFilesRequest},"get")});Object.defineProperty(d,"DidRenameFilesNotification",{enumerable:!0,get:a(function(){return Na.DidRenameFilesNotification},"get")});Object.defineProperty(d,"WillRenameFilesRequest",{enumerable:!0,get:a(function(){return Na.WillRenameFilesRequest},"get")});Object.defineProperty(d,"DidDeleteFilesNotification",{enumerable:!0,get:a(function(){return Na.DidDeleteFilesNotification},"get")});Object.defineProperty(d,"WillDeleteFilesRequest",{enumerable:!0,get:a(function(){return Na.WillDeleteFilesRequest},"get")});var Jg=oS();Object.defineProperty(d,"UniquenessLevel",{enumerable:!0,get:a(function(){return Jg.UniquenessLevel},"get")});Object.defineProperty(d,"MonikerKind",{enumerable:!0,get:a(function(){return Jg.MonikerKind},"get")});Object.defineProperty(d,"MonikerRequest",{enumerable:!0,get:a(function(){return Jg.MonikerRequest},"get")});var Zg=fS();Object.defineProperty(d,"TypeHierarchyPrepareRequest",{enumerable:!0,get:a(function(){return Zg.TypeHierarchyPrepareRequest},"get")});Object.defineProperty(d,"TypeHierarchySubtypesRequest",{enumerable:!0,get:a(function(){return Zg.TypeHierarchySubtypesRequest},"get")});Object.defineProperty(d,"TypeHierarchySupertypesRequest",{enumerable:!0,get:a(function(){return Zg.TypeHierarchySupertypesRequest},"get")});var Vw=mS();Object.defineProperty(d,"InlineValueRequest",{enumerable:!0,get:a(function(){return Vw.InlineValueRequest},"get")});Object.defineProperty(d,"InlineValueRefreshRequest",{enumerable:!0,get:a(function(){return Vw.InlineValueRefreshRequest},"get")});var Qg=TS();Object.defineProperty(d,"InlayHintRequest",{enumerable:!0,get:a(function(){return Qg.InlayHintRequest},"get")});Object.defineProperty(d,"InlayHintResolveRequest",{enumerable:!0,get:a(function(){return Qg.InlayHintResolveRequest},"get")});Object.defineProperty(d,"InlayHintRefreshRequest",{enumerable:!0,get:a(function(){return Qg.InlayHintRefreshRequest},"get")});var Cu=CS();Object.defineProperty(d,"DiagnosticServerCancellationData",{enumerable:!0,get:a(function(){return Cu.DiagnosticServerCancellationData},"get")});Object.defineProperty(d,"DocumentDiagnosticReportKind",{enumerable:!0,get:a(function(){return Cu.DocumentDiagnosticReportKind},"get")});Object.defineProperty(d,"DocumentDiagnosticRequest",{enumerable:!0,get:a(function(){return Cu.DocumentDiagnosticRequest},"get")});Object.defineProperty(d,"WorkspaceDiagnosticRequest",{enumerable:!0,get:a(function(){return Cu.WorkspaceDiagnosticRequest},"get")});Object.defineProperty(d,"DiagnosticRefreshRequest",{enumerable:!0,get:a(function(){return Cu.DiagnosticRefreshRequest},"get")});var un=kS();Object.defineProperty(d,"NotebookCellKind",{enumerable:!0,get:a(function(){return un.NotebookCellKind},"get")});Object.defineProperty(d,"ExecutionSummary",{enumerable:!0,get:a(function(){return un.ExecutionSummary},"get")});Object.defineProperty(d,"NotebookCell",{enumerable:!0,get:a(function(){return un.NotebookCell},"get")});Object.defineProperty(d,"NotebookDocument",{enumerable:!0,get:a(function(){return un.NotebookDocument},"get")});Object.defineProperty(d,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:a(function(){return un.NotebookDocumentSyncRegistrationType},"get")});Object.defineProperty(d,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:a(function(){return un.DidOpenNotebookDocumentNotification},"get")});Object.defineProperty(d,"NotebookCellArrayChange",{enumerable:!0,get:a(function(){return un.NotebookCellArrayChange},"get")});Object.defineProperty(d,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:a(function(){return un.DidChangeNotebookDocumentNotification},"get")});Object.defineProperty(d,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:a(function(){return un.DidSaveNotebookDocumentNotification},"get")});Object.defineProperty(d,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:a(function(){return un.DidCloseNotebookDocumentNotification},"get")});var JB=LS();Object.defineProperty(d,"InlineCompletionRequest",{enumerable:!0,get:a(function(){return JB.InlineCompletionRequest},"get")});var qg;(function(t){function e(r){let n=r;return Tt.string(n)||Tt.string(n.language)||Tt.string(n.scheme)||Tt.string(n.pattern)}a(e,"is"),t.is=e})(qg||(d.TextDocumentFilter=qg={}));var Wg;(function(t){function e(r){let n=r;return Tt.objectLiteral(n)&&(Tt.string(n.notebookType)||Tt.string(n.scheme)||Tt.string(n.pattern))}a(e,"is"),t.is=e})(Wg||(d.NotebookDocumentFilter=Wg={}));var Vg;(function(t){function e(r){let n=r;return Tt.objectLiteral(n)&&(Tt.string(n.notebook)||Wg.is(n.notebook))&&(n.language===void 0||Tt.string(n.language))}a(e,"is"),t.is=e})(Vg||(d.NotebookCellTextDocumentFilter=Vg={}));var Hg;(function(t){function e(r){if(!Array.isArray(r))return!1;for(let n of r)if(!Tt.string(n)&&!qg.is(n)&&!Vg.is(n))return!1;return!0}a(e,"is"),t.is=e})(Hg||(d.DocumentSelector=Hg={}));var DS;(function(t){t.method="client/registerCapability",t.messageDirection=I.MessageDirection.serverToClient,t.type=new I.ProtocolRequestType(t.method)})(DS||(d.RegistrationRequest=DS={}));var FS;(function(t){t.method="client/unregisterCapability",t.messageDirection=I.MessageDirection.serverToClient,t.type=new I.ProtocolRequestType(t.method)})(FS||(d.UnregistrationRequest=FS={}));var GS;(function(t){t.Create="create",t.Rename="rename",t.Delete="delete"})(GS||(d.ResourceOperationKind=GS={}));var US;(function(t){t.Abort="abort",t.Transactional="transactional",t.TextOnlyTransactional="textOnlyTransactional",t.Undo="undo"})(US||(d.FailureHandlingKind=US={}));var jS;(function(t){t.UTF8="utf-8",t.UTF16="utf-16",t.UTF32="utf-32"})(jS||(d.PositionEncodingKind=jS={}));var zS;(function(t){function e(r){let n=r;return n&&Tt.string(n.id)&&n.id.length>0}a(e,"hasId"),t.hasId=e})(zS||(d.StaticRegistrationOptions=zS={}));var BS;(function(t){function e(r){let n=r;return n&&(n.documentSelector===null||Hg.is(n.documentSelector))}a(e,"is"),t.is=e})(BS||(d.TextDocumentRegistrationOptions=BS={}));var KS;(function(t){function e(n){let i=n;return Tt.objectLiteral(i)&&(i.workDoneProgress===void 0||Tt.boolean(i.workDoneProgress))}a(e,"is"),t.is=e;function r(n){let i=n;return i&&Tt.boolean(i.workDoneProgress)}a(r,"hasWorkDoneProgress"),t.hasWorkDoneProgress=r})(KS||(d.WorkDoneProgressOptions=KS={}));var qS;(function(t){t.method="initialize",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(qS||(d.InitializeRequest=qS={}));var WS;(function(t){t.unknownProtocolVersion=1})(WS||(d.InitializeErrorCodes=WS={}));var VS;(function(t){t.method="initialized",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolNotificationType(t.method)})(VS||(d.InitializedNotification=VS={}));var HS;(function(t){t.method="shutdown",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType0(t.method)})(HS||(d.ShutdownRequest=HS={}));var YS;(function(t){t.method="exit",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolNotificationType0(t.method)})(YS||(d.ExitNotification=YS={}));var XS;(function(t){t.method="workspace/didChangeConfiguration",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolNotificationType(t.method)})(XS||(d.DidChangeConfigurationNotification=XS={}));var JS;(function(t){t.Error=1,t.Warning=2,t.Info=3,t.Log=4,t.Debug=5})(JS||(d.MessageType=JS={}));var ZS;(function(t){t.method="window/showMessage",t.messageDirection=I.MessageDirection.serverToClient,t.type=new I.ProtocolNotificationType(t.method)})(ZS||(d.ShowMessageNotification=ZS={}));var QS;(function(t){t.method="window/showMessageRequest",t.messageDirection=I.MessageDirection.serverToClient,t.type=new I.ProtocolRequestType(t.method)})(QS||(d.ShowMessageRequest=QS={}));var ew;(function(t){t.method="window/logMessage",t.messageDirection=I.MessageDirection.serverToClient,t.type=new I.ProtocolNotificationType(t.method)})(ew||(d.LogMessageNotification=ew={}));var tw;(function(t){t.method="telemetry/event",t.messageDirection=I.MessageDirection.serverToClient,t.type=new I.ProtocolNotificationType(t.method)})(tw||(d.TelemetryEventNotification=tw={}));var rw;(function(t){t.None=0,t.Full=1,t.Incremental=2})(rw||(d.TextDocumentSyncKind=rw={}));var nw;(function(t){t.method="textDocument/didOpen",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolNotificationType(t.method)})(nw||(d.DidOpenTextDocumentNotification=nw={}));var iw;(function(t){function e(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range!==void 0&&(i.rangeLength===void 0||typeof i.rangeLength=="number")}a(e,"isIncremental"),t.isIncremental=e;function r(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range===void 0&&i.rangeLength===void 0}a(r,"isFull"),t.isFull=r})(iw||(d.TextDocumentContentChangeEvent=iw={}));var aw;(function(t){t.method="textDocument/didChange",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolNotificationType(t.method)})(aw||(d.DidChangeTextDocumentNotification=aw={}));var sw;(function(t){t.method="textDocument/didClose",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolNotificationType(t.method)})(sw||(d.DidCloseTextDocumentNotification=sw={}));var ow;(function(t){t.method="textDocument/didSave",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolNotificationType(t.method)})(ow||(d.DidSaveTextDocumentNotification=ow={}));var lw;(function(t){t.Manual=1,t.AfterDelay=2,t.FocusOut=3})(lw||(d.TextDocumentSaveReason=lw={}));var uw;(function(t){t.method="textDocument/willSave",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolNotificationType(t.method)})(uw||(d.WillSaveTextDocumentNotification=uw={}));var cw;(function(t){t.method="textDocument/willSaveWaitUntil",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(cw||(d.WillSaveTextDocumentWaitUntilRequest=cw={}));var fw;(function(t){t.method="workspace/didChangeWatchedFiles",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolNotificationType(t.method)})(fw||(d.DidChangeWatchedFilesNotification=fw={}));var pw;(function(t){t.Created=1,t.Changed=2,t.Deleted=3})(pw||(d.FileChangeType=pw={}));var dw;(function(t){function e(r){let n=r;return Tt.objectLiteral(n)&&(MS.URI.is(n.baseUri)||MS.WorkspaceFolder.is(n.baseUri))&&Tt.string(n.pattern)}a(e,"is"),t.is=e})(dw||(d.RelativePattern=dw={}));var mw;(function(t){t.Create=1,t.Change=2,t.Delete=4})(mw||(d.WatchKind=mw={}));var hw;(function(t){t.method="textDocument/publishDiagnostics",t.messageDirection=I.MessageDirection.serverToClient,t.type=new I.ProtocolNotificationType(t.method)})(hw||(d.PublishDiagnosticsNotification=hw={}));var yw;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.TriggerForIncompleteCompletions=3})(yw||(d.CompletionTriggerKind=yw={}));var gw;(function(t){t.method="textDocument/completion",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(gw||(d.CompletionRequest=gw={}));var Tw;(function(t){t.method="completionItem/resolve",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Tw||(d.CompletionResolveRequest=Tw={}));var xw;(function(t){t.method="textDocument/hover",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(xw||(d.HoverRequest=xw={}));var Rw;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.ContentChange=3})(Rw||(d.SignatureHelpTriggerKind=Rw={}));var $w;(function(t){t.method="textDocument/signatureHelp",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})($w||(d.SignatureHelpRequest=$w={}));var Ew;(function(t){t.method="textDocument/definition",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Ew||(d.DefinitionRequest=Ew={}));var vw;(function(t){t.method="textDocument/references",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(vw||(d.ReferencesRequest=vw={}));var Aw;(function(t){t.method="textDocument/documentHighlight",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Aw||(d.DocumentHighlightRequest=Aw={}));var Cw;(function(t){t.method="textDocument/documentSymbol",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Cw||(d.DocumentSymbolRequest=Cw={}));var bw;(function(t){t.method="textDocument/codeAction",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(bw||(d.CodeActionRequest=bw={}));var Sw;(function(t){t.method="codeAction/resolve",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Sw||(d.CodeActionResolveRequest=Sw={}));var ww;(function(t){t.method="workspace/symbol",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(ww||(d.WorkspaceSymbolRequest=ww={}));var Nw;(function(t){t.method="workspaceSymbol/resolve",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Nw||(d.WorkspaceSymbolResolveRequest=Nw={}));var Iw;(function(t){t.method="textDocument/codeLens",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Iw||(d.CodeLensRequest=Iw={}));var _w;(function(t){t.method="codeLens/resolve",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(_w||(d.CodeLensResolveRequest=_w={}));var kw;(function(t){t.method="workspace/codeLens/refresh",t.messageDirection=I.MessageDirection.serverToClient,t.type=new I.ProtocolRequestType0(t.method)})(kw||(d.CodeLensRefreshRequest=kw={}));var Pw;(function(t){t.method="textDocument/documentLink",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Pw||(d.DocumentLinkRequest=Pw={}));var Ow;(function(t){t.method="documentLink/resolve",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Ow||(d.DocumentLinkResolveRequest=Ow={}));var Lw;(function(t){t.method="textDocument/formatting",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Lw||(d.DocumentFormattingRequest=Lw={}));var Mw;(function(t){t.method="textDocument/rangeFormatting",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Mw||(d.DocumentRangeFormattingRequest=Mw={}));var Dw;(function(t){t.method="textDocument/rangesFormatting",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Dw||(d.DocumentRangesFormattingRequest=Dw={}));var Fw;(function(t){t.method="textDocument/onTypeFormatting",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Fw||(d.DocumentOnTypeFormattingRequest=Fw={}));var Gw;(function(t){t.Identifier=1})(Gw||(d.PrepareSupportDefaultBehavior=Gw={}));var Uw;(function(t){t.method="textDocument/rename",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(Uw||(d.RenameRequest=Uw={}));var jw;(function(t){t.method="textDocument/prepareRename",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(jw||(d.PrepareRenameRequest=jw={}));var zw;(function(t){t.method="workspace/executeCommand",t.messageDirection=I.MessageDirection.clientToServer,t.type=new I.ProtocolRequestType(t.method)})(zw||(d.ExecuteCommandRequest=zw={}));var Bw;(function(t){t.method="workspace/applyEdit",t.messageDirection=I.MessageDirection.serverToClient,t.type=new I.ProtocolRequestType("workspace/applyEdit")})(Bw||(d.ApplyWorkspaceEditRequest=Bw={}))});var Xw=J(nd=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});nd.createProtocolConnection=void 0;var Yw=wa();function ZB(t,e,r,n){return Yw.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,Yw.createMessageConnection)(t,e,r,n)}a(ZB,"createProtocolConnection");nd.createProtocolConnection=ZB});var Zw=J(tr=>{"use strict";var QB=tr&&tr.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:a(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),id=tr&&tr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&QB(e,t,r)};Object.defineProperty(tr,"__esModule",{value:!0});tr.LSPErrorCodes=tr.createProtocolConnection=void 0;id(wa(),tr);id((ao(),Id(mp)),tr);id(De(),tr);id(Hw(),tr);var eK=Xw();Object.defineProperty(tr,"createProtocolConnection",{enumerable:!0,get:a(function(){return eK.createProtocolConnection},"get")});var Jw;(function(t){t.lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800})(Jw||(tr.LSPErrorCodes=Jw={}))});var eN=J(cn=>{"use strict";var tK=cn&&cn.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:a(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Qw=cn&&cn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&tK(e,t,r)};Object.defineProperty(cn,"__esModule",{value:!0});cn.createProtocolConnection=void 0;var rK=Dg();Qw(Dg(),cn);Qw(Zw(),cn);function nK(t,e,r,n){return(0,rK.createMessageConnection)(t,e,r,n)}a(nK,"createProtocolConnection");cn.createProtocolConnection=nK});var We={};Un(We,{AbstractAstReflection:()=>Ui,AbstractCstNode:()=>Hl,AbstractLangiumParser:()=>Yl,AbstractParserErrorMessageProvider:()=>yp,AbstractThreadedAsyncParser:()=>oT,AstUtils:()=>Xu,BiMap:()=>Aa,Cancellation:()=>V,CompositeCstNodeImpl:()=>xa,ContextCache:()=>Ca,CstNodeBuilder:()=>Vl,CstUtils:()=>yc,DEFAULT_TOKENIZE_OPTIONS:()=>ad,DONE_RESULT:()=>At,DatatypeSymbol:()=>hp,DefaultAstNodeDescriptionProvider:()=>du,DefaultAstNodeLocator:()=>hu,DefaultAsyncParser:()=>Ou,DefaultCommentProvider:()=>Pu,DefaultConfigurationProvider:()=>yu,DefaultDocumentBuilder:()=>bu,DefaultDocumentValidator:()=>pu,DefaultHydrator:()=>Mu,DefaultIndexManager:()=>Su,DefaultJsonSerializer:()=>uu,DefaultLangiumDocumentFactory:()=>eu,DefaultLangiumDocuments:()=>tu,DefaultLangiumProfiler:()=>hT,DefaultLexer:()=>Ia,DefaultLexerErrorMessageProvider:()=>Nu,DefaultLinker:()=>ru,DefaultNameProvider:()=>nu,DefaultReferenceDescriptionProvider:()=>mu,DefaultReferences:()=>iu,DefaultScopeComputation:()=>au,DefaultScopeProvider:()=>lu,DefaultServiceRegistry:()=>cu,DefaultTokenBuilder:()=>Pn,DefaultValueConverter:()=>$a,DefaultWorkspaceLock:()=>Lu,DefaultWorkspaceManager:()=>wu,Deferred:()=>Kt,Disposable:()=>Fi,DisposableCache:()=>yo,DocumentCache:()=>Cp,DocumentState:()=>ee,DocumentValidator:()=>xr,EMPTY_SCOPE:()=>gB,EMPTY_STREAM:()=>zn,EmptyFileSystem:()=>mT,EmptyFileSystemProvider:()=>fd,ErrorWithLocation:()=>ta,GrammarAST:()=>il,GrammarUtils:()=>Ec,IndentationAwareLexer:()=>dT,IndentationAwareTokenBuilder:()=>cd,JSDocDocumentationProvider:()=>ku,LangiumCompletionParser:()=>Jl,LangiumParser:()=>Xl,LangiumParserErrorMessageProvider:()=>oo,LeafCstNodeImpl:()=>Ta,LexingMode:()=>_a,MapScope:()=>Py,Module:()=>fT,MultiMap:()=>It,MultiMapScope:()=>su,OperationCancelled:()=>Tr,ParserWorker:()=>lT,ProfilingTask:()=>pd,Reduction:()=>Ua,RefResolving:()=>va,RegExpUtils:()=>xc,RootCstNodeImpl:()=>so,SimpleCache:()=>ou,StreamImpl:()=>nr,StreamScope:()=>ho,TextDocument:()=>fo,TreeStreamImpl:()=>jr,URI:()=>ft,UriTrie:()=>mo,UriUtils:()=>Je,VALIDATE_EACH_NODE:()=>NC,ValidationCategory:()=>bp,ValidationRegistry:()=>fu,ValueConverter:()=>an,WorkspaceCache:()=>go,assertCondition:()=>GT,assertUnreachable:()=>Kr,createCompletionParser:()=>vy,createDefaultCoreModule:()=>uT,createDefaultSharedCoreModule:()=>cT,createGrammarConfig:()=>$m,createLangiumParser:()=>Ay,createParser:()=>Zl,delayNextTick:()=>_y,diagnosticData:()=>ba,eagerLoad:()=>cN,getDiagnosticRange:()=>IC,indentationBuilderDefaultOptions:()=>pT,inject:()=>ud,interruptAndCheck:()=>Be,isAstNode:()=>Ue,isAstNodeDescription:()=>_d,isAstNodeWithComment:()=>Oy,isCompositeCstNode:()=>Cr,isIMultiModeLexerDefinition:()=>tT,isJSDoc:()=>aT,isLeafCstNode:()=>jn,isLinkingError:()=>ji,isMultiReference:()=>rr,isNamed:()=>SC,isOperationCancelled:()=>sn,isReference:()=>ot,isRootCstNode:()=>Wo,isTokenTypeArray:()=>sd,isTokenTypeDictionary:()=>eT,loadGrammarFromJson:()=>cr,parseJSDoc:()=>iT,prepareLangiumParser:()=>gC,setInterruptionPeriod:()=>EC,startCancelableOperation:()=>vp,stream:()=>te,toDiagnosticData:()=>_C,toDiagnosticSeverity:()=>Sp});var yc={};Un(yc,{DefaultNameRegexp:()=>hc,RangeComparison:()=>Br,compareRange:()=>LT,findCommentNode:()=>rm,findDeclarationNodeAtOffset:()=>NI,findLeafNodeAtOffset:()=>nm,findLeafNodeBeforeOffset:()=>MT,flattenCst:()=>wI,getDatatypeNode:()=>SI,getInteriorNodes:()=>kI,getNextNode:()=>II,getPreviousNode:()=>FT,getStartlineNode:()=>_I,inRange:()=>Ld,isChildNode:()=>tm,isCommentNode:()=>em,streamCst:()=>Qi,toDocumentSegment:()=>ea,tokenToRange:()=>Ja});function Ue(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}a(Ue,"isAstNode");function ot(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}a(ot,"isReference");function rr(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}a(rr,"isMultiReference");function _d(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}a(_d,"isAstNodeDescription");function ji(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}a(ji,"isLinkingError");var Ui=class{static{a(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){let r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);let n=r.properties[e.property]?.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){let r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return Ue(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});let i=n[r];if(i!==void 0)return i;{let s=this.types[e],o=s?s.superTypes.some(l=>this.isSubtype(l,r)):!1;return n[r]=o,o}}getAllSubTypes(e){let r=this.allSubtypes[e];if(r)return r;{let n=this.getAllTypes(),i=[];for(let s of n)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}};function Cr(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}a(Cr,"isCompositeCstNode");function jn(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}a(jn,"isLeafCstNode");function Wo(t){return Cr(t)&&typeof t.fullText=="string"}a(Wo,"isRootCstNode");var nr=class t{static{a(this,"StreamImpl")}constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){let e={state:this.startFn(),next:a(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){let e=[],r=this.iterator(),n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){let n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new t(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return At})}join(e=","){let r=this.iterator(),n="",i,s=!1;do i=r.next(),i.done||(s&&(n+=e),n+=lI(i.value)),s=!0;while(!i.done);return n}indexOf(e,r=0){let n=this.iterator(),i=0,s=n.next();for(;!s.done;){if(i>=r&&s.value===e)return i;s=n.next(),i++}return-1}every(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new t(this.startFn,r=>{let{done:n,value:i}=this.nextFn(r);return n?At:{done:!1,value:e(i)}})}filter(e){return new t(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return At})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){let n=this.iterator(),i=r,s=n.next();for(;!s.done;)i===void 0?i=s.value:i=e(i,s.value),s=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){let i=e.next();if(i.done)return n;let s=this.recursiveReduce(e,r,n);return s===void 0?i.value:r(s,i.value)}find(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new t(()=>({this:this.startFn()}),r=>{do{if(r.iterator){let s=r.iterator.next();if(s.done)r.iterator=void 0;else return s}let{done:n,value:i}=this.nextFn(r.this);if(!n){let s=e(i);if(Hu(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(r.iterator);return At})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let r=e>1?this.flat(e-1):this;return new t(()=>({this:r.startFn()}),n=>{do{if(n.iterator){let o=n.iterator.next();if(o.done)n.iterator=void 0;else return o}let{done:i,value:s}=r.nextFn(n.this);if(!i)if(Hu(s))n.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(n.iterator);return At})}head(){let r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new t(()=>{let r=this.startFn();for(let n=0;n<e;n++)if(this.nextFn(r).done)return r;return r},this.nextFn)}limit(e){return new t(()=>({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?At:this.nextFn(r.state)))}distinct(e){return new t(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){let i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return At})}exclude(e,r){let n=new Set;for(let i of e){let s=r?r(i):i;n.add(s)}return this.filter(i=>{let s=r?r(i):i;return!n.has(s)})}};function lI(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}a(lI,"toString");function Hu(t){return!!t&&typeof t[Symbol.iterator]=="function"}a(Hu,"isIterable");var zn=new nr(()=>{},()=>At),At=Object.freeze({done:!0,value:void 0});function te(...t){if(t.length===1){let e=t[0];if(e instanceof nr)return e;if(Hu(e))return new nr(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new nr(()=>({index:0}),r=>r.index<e.length?{done:!1,value:e[r.index++]}:At)}return t.length>1?new nr(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){let r=t[e.collIndex++];Hu(r)?e.iterator=r[Symbol.iterator]():r&&typeof r.length=="number"&&(e.array=r)}}while(e.iterator||e.array||e.collIndex<t.length);return At}):zn}a(te,"stream");var jr=class extends nr{static{a(this,"TreeStreamImpl")}constructor(e,r,n){super(()=>({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){let o=i.iterators[i.iterators.length-1].next();if(o.done)i.iterators.pop();else return i.iterators.push(r(o.value)[Symbol.iterator]()),o}return At})}iterator(){let e={state:this.startFn(),next:a(()=>this.nextFn(e.state),"next"),prune:a(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}},Ua;(function(t){function e(s){return s.reduce((o,l)=>o+l,0)}a(e,"sum"),t.sum=e;function r(s){return s.reduce((o,l)=>o*l,0)}a(r,"product"),t.product=r;function n(s){return s.reduce((o,l)=>Math.min(o,l))}a(n,"min"),t.min=n;function i(s){return s.reduce((o,l)=>Math.max(o,l))}a(i,"max"),t.max=i})(Ua||(Ua={}));var Xu={};Un(Xu,{assignMandatoryProperties:()=>Od,copyAstNode:()=>Pd,findRootNode:()=>za,getContainerOfType:()=>dn,getDocument:()=>Ct,getReferenceNodes:()=>Yu,hasContainerOfType:()=>uI,linkContentToContainer:()=>ja,streamAllContents:()=>br,streamAst:()=>Lt,streamContents:()=>Vo,streamReferences:()=>Bn});function ja(t,e={}){for(let[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,s)=>{Ue(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=s,e.deep&&ja(i,e))}):Ue(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&ja(n,e)))}a(ja,"linkContentToContainer");function dn(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}a(dn,"getContainerOfType");function uI(t,e){let r=t;for(;r;){if(e(r))return!0;r=r.$container}return!1}a(uI,"hasContainerOfType");function Ct(t){let r=za(t).$document;if(!r)throw new Error("AST node has no document.");return r}a(Ct,"getDocument");function za(t){for(;t.$container;)t=t.$container;return t}a(za,"findRootNode");function Yu(t){return ot(t)?t.ref?[t.ref]:[]:rr(t)?t.items.map(e=>e.ref):[]}a(Yu,"getReferenceNodes");function Vo(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new nr(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndex<n.keys.length;){let i=n.keys[n.keyIndex];if(!i.startsWith("$")){let s=t[i];if(Ue(s)){if(n.keyIndex++,kd(s,r))return{done:!1,value:s}}else if(Array.isArray(s)){for(;n.arrayIndex<s.length;){let o=n.arrayIndex++,l=s[o];if(Ue(l)&&kd(l,r))return{done:!1,value:l}}n.arrayIndex=0}}n.keyIndex++}return At})}a(Vo,"streamContents");function br(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new jr(t,r=>Vo(r,e))}a(br,"streamAllContents");function Lt(t,e){if(t){if(e?.range&&!kd(t,e.range))return new jr(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new jr(t,r=>Vo(r,e),{includeRoot:!0})}a(Lt,"streamAst");function kd(t,e){if(!e)return!0;let r=t.$cstNode?.range;return r?Ld(r,e):!1}a(kd,"isAstNodeInRange");function Bn(t){return new nr(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){let r=e.keys[e.keyIndex];if(!r.startsWith("$")){let n=t[r];if(ot(n)||rr(n))return e.keyIndex++,{done:!1,value:{reference:n,container:t,property:r}};if(Array.isArray(n)){for(;e.arrayIndex<n.length;){let i=e.arrayIndex++,s=n[i];if(ot(s)||rr(n))return{done:!1,value:{reference:s,container:t,property:r,index:i}}}e.arrayIndex=0}}e.keyIndex++}return At})}a(Bn,"streamReferences");function Od(t,e){let r=t.getTypeMetaData(e.$type),n=e;for(let i of Object.values(r.properties))i.defaultValue!==void 0&&n[i.name]===void 0&&(n[i.name]=PT(i.defaultValue))}a(Od,"assignMandatoryProperties");function PT(t){return Array.isArray(t)?[...t.map(PT)]:t}a(PT,"copyDefaultValue");function Pd(t,e,r){let n={$type:t.$type};r&&(r.set(t,n),r.set(n,t));for(let[i,s]of Object.entries(t))if(!i.startsWith("$"))if(Ue(s))n[i]=Pd(s,e,r);else if(ot(s))n[i]=e(n,i,s.$refNode,s.$refText,s);else if(Array.isArray(s)){let o=[];for(let l of s)Ue(l)?o.push(Pd(l,e,r)):ot(l)?o.push(e(n,i,l.$refNode,l.$refText,l)):o.push(l);n[i]=o}else n[i]=s;return ja(n,{deep:!0}),n}a(Pd,"copyAstNode");var il={};Un(il,{AbstractElement:()=>Wt,AbstractParserRule:()=>Ho,AbstractRule:()=>Ba,AbstractType:()=>ir,Action:()=>Kn,Alternatives:()=>Yo,ArrayLiteral:()=>Ju,ArrayType:()=>Zu,Assignment:()=>qn,BooleanLiteral:()=>Qu,CharacterRange:()=>Wn,Condition:()=>Vn,Conjunction:()=>Xo,CrossReference:()=>Hn,Disjunction:()=>Jo,EndOfFile:()=>ec,Grammar:()=>mn,GrammarImport:()=>tc,Group:()=>zi,InferredType:()=>rc,InfixRule:()=>zr,InfixRuleOperatorList:()=>Zo,InfixRuleOperators:()=>nc,Interface:()=>Ka,Keyword:()=>qa,LangiumGrammarAstReflection:()=>Xa,LangiumGrammarTerminals:()=>cI,NamedArgument:()=>Wa,NegatedToken:()=>Bi,Negation:()=>ic,NumberLiteral:()=>ac,Parameter:()=>Va,ParameterReference:()=>sc,ParserRule:()=>Sr,ReferenceType:()=>Qo,RegexToken:()=>Ki,ReturnType:()=>oc,RuleCall:()=>qi,SimpleType:()=>Ha,StringLiteral:()=>lc,TerminalAlternatives:()=>Wi,TerminalElement:()=>Vt,TerminalGroup:()=>Vi,TerminalRule:()=>hn,TerminalRuleCall:()=>Hi,Type:()=>el,TypeAttribute:()=>Yi,TypeDefinition:()=>Xi,UnionType:()=>uc,UnorderedGroup:()=>tl,UntilToken:()=>Ji,ValueLiteral:()=>Zi,Wildcard:()=>Ya,isAbstractElement:()=>rl,isAbstractParserRule:()=>yn,isAbstractRule:()=>fI,isAbstractType:()=>pI,isAction:()=>gn,isAlternatives:()=>cc,isArrayLiteral:()=>dI,isArrayType:()=>Md,isAssignment:()=>wr,isBooleanLiteral:()=>Dd,isCharacterRange:()=>Fd,isCondition:()=>mI,isConjunction:()=>Gd,isCrossReference:()=>Nr,isDisjunction:()=>Ud,isEndOfFile:()=>jd,isGrammar:()=>hI,isGrammarImport:()=>yI,isGroup:()=>Yn,isInferredType:()=>nl,isInfixRule:()=>Xn,isInfixRuleOperatorList:()=>gI,isInfixRuleOperators:()=>TI,isInterface:()=>zd,isKeyword:()=>dr,isNamedArgument:()=>xI,isNegatedToken:()=>Bd,isNegation:()=>Kd,isNumberLiteral:()=>RI,isParameter:()=>$I,isParameterReference:()=>qd,isParserRule:()=>dt,isReferenceType:()=>Wd,isRegexToken:()=>Vd,isReturnType:()=>Hd,isRuleCall:()=>Ir,isSimpleType:()=>fc,isStringLiteral:()=>EI,isTerminalAlternatives:()=>Yd,isTerminalElement:()=>vI,isTerminalGroup:()=>Xd,isTerminalRule:()=>Mt,isTerminalRuleCall:()=>pc,isType:()=>dc,isTypeAttribute:()=>AI,isTypeDefinition:()=>CI,isUnionType:()=>Jd,isUnorderedGroup:()=>mc,isUntilToken:()=>Zd,isValueLiteral:()=>bI,isWildcard:()=>Qd,reflection:()=>W});var cI={ID:/\^?[_a-zA-Z][\w_]*/,STRING:/"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,NUMBER:/NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,RegexLiteral:/\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,WS:/\s+/,ML_COMMENT:/\/\*[\s\S]*?\*\//,SL_COMMENT:/\/\/[^\n\r]*/},Wt={$type:"AbstractElement",cardinality:"cardinality"};function rl(t){return W.isInstance(t,Wt.$type)}a(rl,"isAbstractElement");var Ho={$type:"AbstractParserRule"};function yn(t){return W.isInstance(t,Ho.$type)}a(yn,"isAbstractParserRule");var Ba={$type:"AbstractRule"};function fI(t){return W.isInstance(t,Ba.$type)}a(fI,"isAbstractRule");var ir={$type:"AbstractType"};function pI(t){return W.isInstance(t,ir.$type)}a(pI,"isAbstractType");var Kn={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function gn(t){return W.isInstance(t,Kn.$type)}a(gn,"isAction");var Yo={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function cc(t){return W.isInstance(t,Yo.$type)}a(cc,"isAlternatives");var Ju={$type:"ArrayLiteral",elements:"elements"};function dI(t){return W.isInstance(t,Ju.$type)}a(dI,"isArrayLiteral");var Zu={$type:"ArrayType",elementType:"elementType"};function Md(t){return W.isInstance(t,Zu.$type)}a(Md,"isArrayType");var qn={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function wr(t){return W.isInstance(t,qn.$type)}a(wr,"isAssignment");var Qu={$type:"BooleanLiteral",true:"true"};function Dd(t){return W.isInstance(t,Qu.$type)}a(Dd,"isBooleanLiteral");var Wn={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function Fd(t){return W.isInstance(t,Wn.$type)}a(Fd,"isCharacterRange");var Vn={$type:"Condition"};function mI(t){return W.isInstance(t,Vn.$type)}a(mI,"isCondition");var Xo={$type:"Conjunction",left:"left",right:"right"};function Gd(t){return W.isInstance(t,Xo.$type)}a(Gd,"isConjunction");var Hn={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function Nr(t){return W.isInstance(t,Hn.$type)}a(Nr,"isCrossReference");var Jo={$type:"Disjunction",left:"left",right:"right"};function Ud(t){return W.isInstance(t,Jo.$type)}a(Ud,"isDisjunction");var ec={$type:"EndOfFile",cardinality:"cardinality"};function jd(t){return W.isInstance(t,ec.$type)}a(jd,"isEndOfFile");var mn={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};function hI(t){return W.isInstance(t,mn.$type)}a(hI,"isGrammar");var tc={$type:"GrammarImport",path:"path"};function yI(t){return W.isInstance(t,tc.$type)}a(yI,"isGrammarImport");var zi={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function Yn(t){return W.isInstance(t,zi.$type)}a(Yn,"isGroup");var rc={$type:"InferredType",name:"name"};function nl(t){return W.isInstance(t,rc.$type)}a(nl,"isInferredType");var zr={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function Xn(t){return W.isInstance(t,zr.$type)}a(Xn,"isInfixRule");var Zo={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};function gI(t){return W.isInstance(t,Zo.$type)}a(gI,"isInfixRuleOperatorList");var nc={$type:"InfixRuleOperators",precedences:"precedences"};function TI(t){return W.isInstance(t,nc.$type)}a(TI,"isInfixRuleOperators");var Ka={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function zd(t){return W.isInstance(t,Ka.$type)}a(zd,"isInterface");var qa={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function dr(t){return W.isInstance(t,qa.$type)}a(dr,"isKeyword");var Wa={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};function xI(t){return W.isInstance(t,Wa.$type)}a(xI,"isNamedArgument");var Bi={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Bd(t){return W.isInstance(t,Bi.$type)}a(Bd,"isNegatedToken");var ic={$type:"Negation",value:"value"};function Kd(t){return W.isInstance(t,ic.$type)}a(Kd,"isNegation");var ac={$type:"NumberLiteral",value:"value"};function RI(t){return W.isInstance(t,ac.$type)}a(RI,"isNumberLiteral");var Va={$type:"Parameter",name:"name"};function $I(t){return W.isInstance(t,Va.$type)}a($I,"isParameter");var sc={$type:"ParameterReference",parameter:"parameter"};function qd(t){return W.isInstance(t,sc.$type)}a(qd,"isParameterReference");var Sr={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function dt(t){return W.isInstance(t,Sr.$type)}a(dt,"isParserRule");var Qo={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};function Wd(t){return W.isInstance(t,Qo.$type)}a(Wd,"isReferenceType");var Ki={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function Vd(t){return W.isInstance(t,Ki.$type)}a(Vd,"isRegexToken");var oc={$type:"ReturnType",name:"name"};function Hd(t){return W.isInstance(t,oc.$type)}a(Hd,"isReturnType");var qi={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function Ir(t){return W.isInstance(t,qi.$type)}a(Ir,"isRuleCall");var Ha={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function fc(t){return W.isInstance(t,Ha.$type)}a(fc,"isSimpleType");var lc={$type:"StringLiteral",value:"value"};function EI(t){return W.isInstance(t,lc.$type)}a(EI,"isStringLiteral");var Wi={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Yd(t){return W.isInstance(t,Wi.$type)}a(Yd,"isTerminalAlternatives");var Vt={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function vI(t){return W.isInstance(t,Vt.$type)}a(vI,"isTerminalElement");var Vi={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Xd(t){return W.isInstance(t,Vi.$type)}a(Xd,"isTerminalGroup");var hn={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function Mt(t){return W.isInstance(t,hn.$type)}a(Mt,"isTerminalRule");var Hi={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function pc(t){return W.isInstance(t,Hi.$type)}a(pc,"isTerminalRuleCall");var el={$type:"Type",name:"name",type:"type"};function dc(t){return W.isInstance(t,el.$type)}a(dc,"isType");var Yi={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};function AI(t){return W.isInstance(t,Yi.$type)}a(AI,"isTypeAttribute");var Xi={$type:"TypeDefinition"};function CI(t){return W.isInstance(t,Xi.$type)}a(CI,"isTypeDefinition");var uc={$type:"UnionType",types:"types"};function Jd(t){return W.isInstance(t,uc.$type)}a(Jd,"isUnionType");var tl={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function mc(t){return W.isInstance(t,tl.$type)}a(mc,"isUnorderedGroup");var Ji={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Zd(t){return W.isInstance(t,Ji.$type)}a(Zd,"isUntilToken");var Zi={$type:"ValueLiteral"};function bI(t){return W.isInstance(t,Zi.$type)}a(bI,"isValueLiteral");var Ya={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Qd(t){return W.isInstance(t,Ya.$type)}a(Qd,"isWildcard");var Xa=class extends Ui{static{a(this,"LangiumGrammarAstReflection")}constructor(){super(...arguments),this.types={AbstractElement:{name:Wt.$type,properties:{cardinality:{name:Wt.cardinality}},superTypes:[]},AbstractParserRule:{name:Ho.$type,properties:{},superTypes:[Ba.$type,ir.$type]},AbstractRule:{name:Ba.$type,properties:{},superTypes:[]},AbstractType:{name:ir.$type,properties:{},superTypes:[]},Action:{name:Kn.$type,properties:{cardinality:{name:Kn.cardinality},feature:{name:Kn.feature},inferredType:{name:Kn.inferredType},operator:{name:Kn.operator},type:{name:Kn.type,referenceType:ir.$type}},superTypes:[Wt.$type]},Alternatives:{name:Yo.$type,properties:{cardinality:{name:Yo.cardinality},elements:{name:Yo.elements,defaultValue:[]}},superTypes:[Wt.$type]},ArrayLiteral:{name:Ju.$type,properties:{elements:{name:Ju.elements,defaultValue:[]}},superTypes:[Zi.$type]},ArrayType:{name:Zu.$type,properties:{elementType:{name:Zu.elementType}},superTypes:[Xi.$type]},Assignment:{name:qn.$type,properties:{cardinality:{name:qn.cardinality},feature:{name:qn.feature},operator:{name:qn.operator},predicate:{name:qn.predicate},terminal:{name:qn.terminal}},superTypes:[Wt.$type]},BooleanLiteral:{name:Qu.$type,properties:{true:{name:Qu.true,defaultValue:!1}},superTypes:[Vn.$type,Zi.$type]},CharacterRange:{name:Wn.$type,properties:{cardinality:{name:Wn.cardinality},left:{name:Wn.left},lookahead:{name:Wn.lookahead},parenthesized:{name:Wn.parenthesized,defaultValue:!1},right:{name:Wn.right}},superTypes:[Vt.$type]},Condition:{name:Vn.$type,properties:{},superTypes:[]},Conjunction:{name:Xo.$type,properties:{left:{name:Xo.left},right:{name:Xo.right}},superTypes:[Vn.$type]},CrossReference:{name:Hn.$type,properties:{cardinality:{name:Hn.cardinality},deprecatedSyntax:{name:Hn.deprecatedSyntax,defaultValue:!1},isMulti:{name:Hn.isMulti,defaultValue:!1},terminal:{name:Hn.terminal},type:{name:Hn.type,referenceType:ir.$type}},superTypes:[Wt.$type]},Disjunction:{name:Jo.$type,properties:{left:{name:Jo.left},right:{name:Jo.right}},superTypes:[Vn.$type]},EndOfFile:{name:ec.$type,properties:{cardinality:{name:ec.cardinality}},superTypes:[Wt.$type]},Grammar:{name:mn.$type,properties:{imports:{name:mn.imports,defaultValue:[]},interfaces:{name:mn.interfaces,defaultValue:[]},isDeclared:{name:mn.isDeclared,defaultValue:!1},name:{name:mn.name},rules:{name:mn.rules,defaultValue:[]},types:{name:mn.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:tc.$type,properties:{path:{name:tc.path}},superTypes:[]},Group:{name:zi.$type,properties:{cardinality:{name:zi.cardinality},elements:{name:zi.elements,defaultValue:[]},guardCondition:{name:zi.guardCondition},predicate:{name:zi.predicate}},superTypes:[Wt.$type]},InferredType:{name:rc.$type,properties:{name:{name:rc.name}},superTypes:[ir.$type]},InfixRule:{name:zr.$type,properties:{call:{name:zr.call},dataType:{name:zr.dataType},inferredType:{name:zr.inferredType},name:{name:zr.name},operators:{name:zr.operators},parameters:{name:zr.parameters,defaultValue:[]},returnType:{name:zr.returnType,referenceType:ir.$type}},superTypes:[Ho.$type]},InfixRuleOperatorList:{name:Zo.$type,properties:{associativity:{name:Zo.associativity},operators:{name:Zo.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:nc.$type,properties:{precedences:{name:nc.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:Ka.$type,properties:{attributes:{name:Ka.attributes,defaultValue:[]},name:{name:Ka.name},superTypes:{name:Ka.superTypes,defaultValue:[],referenceType:ir.$type}},superTypes:[ir.$type]},Keyword:{name:qa.$type,properties:{cardinality:{name:qa.cardinality},predicate:{name:qa.predicate},value:{name:qa.value}},superTypes:[Wt.$type]},NamedArgument:{name:Wa.$type,properties:{calledByName:{name:Wa.calledByName,defaultValue:!1},parameter:{name:Wa.parameter,referenceType:Va.$type},value:{name:Wa.value}},superTypes:[]},NegatedToken:{name:Bi.$type,properties:{cardinality:{name:Bi.cardinality},lookahead:{name:Bi.lookahead},parenthesized:{name:Bi.parenthesized,defaultValue:!1},terminal:{name:Bi.terminal}},superTypes:[Vt.$type]},Negation:{name:ic.$type,properties:{value:{name:ic.value}},superTypes:[Vn.$type]},NumberLiteral:{name:ac.$type,properties:{value:{name:ac.value}},superTypes:[Zi.$type]},Parameter:{name:Va.$type,properties:{name:{name:Va.name}},superTypes:[]},ParameterReference:{name:sc.$type,properties:{parameter:{name:sc.parameter,referenceType:Va.$type}},superTypes:[Vn.$type]},ParserRule:{name:Sr.$type,properties:{dataType:{name:Sr.dataType},definition:{name:Sr.definition},entry:{name:Sr.entry,defaultValue:!1},fragment:{name:Sr.fragment,defaultValue:!1},inferredType:{name:Sr.inferredType},name:{name:Sr.name},parameters:{name:Sr.parameters,defaultValue:[]},returnType:{name:Sr.returnType,referenceType:ir.$type}},superTypes:[Ho.$type]},ReferenceType:{name:Qo.$type,properties:{isMulti:{name:Qo.isMulti,defaultValue:!1},referenceType:{name:Qo.referenceType}},superTypes:[Xi.$type]},RegexToken:{name:Ki.$type,properties:{cardinality:{name:Ki.cardinality},lookahead:{name:Ki.lookahead},parenthesized:{name:Ki.parenthesized,defaultValue:!1},regex:{name:Ki.regex}},superTypes:[Vt.$type]},ReturnType:{name:oc.$type,properties:{name:{name:oc.name}},superTypes:[]},RuleCall:{name:qi.$type,properties:{arguments:{name:qi.arguments,defaultValue:[]},cardinality:{name:qi.cardinality},predicate:{name:qi.predicate},rule:{name:qi.rule,referenceType:Ba.$type}},superTypes:[Wt.$type]},SimpleType:{name:Ha.$type,properties:{primitiveType:{name:Ha.primitiveType},stringType:{name:Ha.stringType},typeRef:{name:Ha.typeRef,referenceType:ir.$type}},superTypes:[Xi.$type]},StringLiteral:{name:lc.$type,properties:{value:{name:lc.value}},superTypes:[Zi.$type]},TerminalAlternatives:{name:Wi.$type,properties:{cardinality:{name:Wi.cardinality},elements:{name:Wi.elements,defaultValue:[]},lookahead:{name:Wi.lookahead},parenthesized:{name:Wi.parenthesized,defaultValue:!1}},superTypes:[Vt.$type]},TerminalElement:{name:Vt.$type,properties:{cardinality:{name:Vt.cardinality},lookahead:{name:Vt.lookahead},parenthesized:{name:Vt.parenthesized,defaultValue:!1}},superTypes:[Wt.$type]},TerminalGroup:{name:Vi.$type,properties:{cardinality:{name:Vi.cardinality},elements:{name:Vi.elements,defaultValue:[]},lookahead:{name:Vi.lookahead},parenthesized:{name:Vi.parenthesized,defaultValue:!1}},superTypes:[Vt.$type]},TerminalRule:{name:hn.$type,properties:{definition:{name:hn.definition},fragment:{name:hn.fragment,defaultValue:!1},hidden:{name:hn.hidden,defaultValue:!1},name:{name:hn.name},type:{name:hn.type}},superTypes:[Ba.$type]},TerminalRuleCall:{name:Hi.$type,properties:{cardinality:{name:Hi.cardinality},lookahead:{name:Hi.lookahead},parenthesized:{name:Hi.parenthesized,defaultValue:!1},rule:{name:Hi.rule,referenceType:hn.$type}},superTypes:[Vt.$type]},Type:{name:el.$type,properties:{name:{name:el.name},type:{name:el.type}},superTypes:[ir.$type]},TypeAttribute:{name:Yi.$type,properties:{defaultValue:{name:Yi.defaultValue},isOptional:{name:Yi.isOptional,defaultValue:!1},name:{name:Yi.name},type:{name:Yi.type}},superTypes:[]},TypeDefinition:{name:Xi.$type,properties:{},superTypes:[]},UnionType:{name:uc.$type,properties:{types:{name:uc.types,defaultValue:[]}},superTypes:[Xi.$type]},UnorderedGroup:{name:tl.$type,properties:{cardinality:{name:tl.cardinality},elements:{name:tl.elements,defaultValue:[]}},superTypes:[Wt.$type]},UntilToken:{name:Ji.$type,properties:{cardinality:{name:Ji.cardinality},lookahead:{name:Ji.lookahead},parenthesized:{name:Ji.parenthesized,defaultValue:!1},terminal:{name:Ji.terminal}},superTypes:[Vt.$type]},ValueLiteral:{name:Zi.$type,properties:{},superTypes:[]},Wildcard:{name:Ya.$type,properties:{cardinality:{name:Ya.cardinality},lookahead:{name:Ya.lookahead},parenthesized:{name:Ya.parenthesized,defaultValue:!1}},superTypes:[Vt.$type]}}}},W=new Xa;function SI(t){let e=t,r=!1;for(;e;){let n=dn(e.grammarSource,dt);if(n&&n.dataType)e=e.container,r=!0;else return r?e:void 0}}a(SI,"getDatatypeNode");function Qi(t){return new jr(t,e=>Cr(e)?e.content:[],{includeRoot:!0})}a(Qi,"streamCst");function wI(t){return Qi(t).filter(jn)}a(wI,"flattenCst");function tm(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}a(tm,"isChildNode");function Ja(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}a(Ja,"tokenToRange");function ea(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}a(ea,"toDocumentSegment");var Br;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(Br||(Br={}));function LT(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return Br.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return Br.After;let r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return r&&n?Br.Inside:r?Br.OverlapBack:n?Br.OverlapFront:Br.Outside}a(LT,"compareRange");function Ld(t,e){return LT(t,e)>Br.After}a(Ld,"inRange");var hc=/^[\w\p{L}]$/u;function NI(t,e,r=hc){if(t){if(e>0){let n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return nm(t,e)}}a(NI,"findDeclarationNodeAtOffset");function rm(t,e){if(t){let r=FT(t,!0);if(r&&em(r,e))return r;if(Wo(t)){let n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let s=t.content[i];if(em(s,e))return s}}}}a(rm,"findCommentNode");function em(t,e){return jn(t)&&e.includes(t.tokenType.name)}a(em,"isCommentNode");function nm(t,e){if(jn(t))return t;if(Cr(t)){let r=DT(t,e,!1);if(r)return nm(r,e)}}a(nm,"findLeafNodeAtOffset");function MT(t,e){if(jn(t))return t;if(Cr(t)){let r=DT(t,e,!0);if(r)return MT(r,e)}}a(MT,"findLeafNodeBeforeOffset");function DT(t,e,r){let n=0,i=t.content.length-1,s;for(;n<=i;){let o=Math.floor((n+i)/2),l=t.content[o];if(l.offset<=e&&l.end>e)return l;l.end<=e?(s=r?l:void 0,n=o+1):i=o-1}return s}a(DT,"binarySearch");function FT(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t);for(;n>0;){n--;let i=r.content[n];if(e||!i.hidden)return i}t=r}}a(FT,"getPreviousNode");function II(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t),i=r.content.length-1;for(;n<i;){n++;let s=r.content[n];if(e||!s.hidden)return s}t=r}}a(II,"getNextNode");function _I(t){if(t.range.start.character===0)return t;let e=t.range.start.line,r=t,n;for(;t.container;){let i=t.container,s=n??i.content.indexOf(t);if(s===0?(t=i,n=void 0):(n=s-1,t=i.content[n]),t.range.start.line!==e)break;r=t}return r}a(_I,"getStartlineNode");function kI(t,e){let r=PI(t,e);return r?r.parent.content.slice(r.a+1,r.b):[]}a(kI,"getInteriorNodes");function PI(t,e){let r=OT(t),n=OT(e),i;for(let s=0;s<r.length&&s<n.length;s++){let o=r[s],l=n[s];if(o.parent===l.parent)i={parent:o.parent,a:o.index,b:l.index};else break}return i}a(PI,"getCommonParent");function OT(t){let e=[];for(;t.container;){let r=t.container,n=r.content.indexOf(t);e.push({parent:r,index:n}),t=r}return e.reverse()}a(OT,"getParentChain");var Ec={};Un(Ec,{findAssignment:()=>Tm,findNameAssignment:()=>Rc,findNodeForKeyword:()=>ym,findNodeForProperty:()=>cl,findNodesForKeyword:()=>FI,findNodesForKeywordInternal:()=>gm,findNodesForProperty:()=>mm,getActionAtElement:()=>VT,getActionType:()=>YT,getAllReachableRules:()=>ul,getAllRulesUsedForCrossReferences:()=>DI,getCrossReferenceTerminal:()=>pm,getEntryRule:()=>BT,getExplicitRuleType:()=>$c,getHiddenRules:()=>KT,getRuleType:()=>xm,getRuleTypeName:()=>BI,getTypeName:()=>Zn,isArrayCardinality:()=>UI,isArrayOperator:()=>jI,isCommentTerminal:()=>dm,isDataType:()=>zI,isDataTypeRule:()=>fl,isOptionalCardinality:()=>GI,terminalRegex:()=>Qa});var ta=class extends Error{static{a(this,"ErrorWithLocation")}constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};function Kr(t,e="Error: Got unexpected value."){throw new Error(e)}a(Kr,"assertUnreachable");function GT(t,e="Error: Condition is violated."){if(!t)throw new Error(e)}a(GT,"assertCondition");var xc={};Un(xc,{NEWLINE_REGEXP:()=>om,escapeRegExp:()=>Jn,getTerminalParts:()=>MI,isMultilineComment:()=>lm,isWhitespace:()=>ll,partialMatches:()=>um,partialRegExp:()=>zT,whitespaceCharacters:()=>jT});function H(t){return t.charCodeAt(0)}a(H,"cc");function gc(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}a(gc,"insertToSet");function Za(t,e){if(t[e]===!0)throw"duplicate flag "+e;let r=t[e];t[e]=!0}a(Za,"addFlag");function ra(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}a(ra,"ASSERT_EXISTS");function al(){throw Error("Internal Error - Should never get here!")}a(al,"ASSERT_NEVER_REACH_HERE");function im(t){return t.type==="Character"}a(im,"isCharacter");var sl=[];for(let t=H("0");t<=H("9");t++)sl.push(t);var ol=[H("_")].concat(sl);for(let t=H("a");t<=H("z");t++)ol.push(t);for(let t=H("A");t<=H("Z");t++)ol.push(t);var am=[H(" "),H("\f"),H(`
|
|
`),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.rule.ref);if(fc(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}a(WT,"findNameAssignmentInternal");function VT(t){let e=t.$container;if(Yn(e)){let r=e.elements,n=r.indexOf(t);for(let i=n-1;i>=0;i--){let s=r[i];if(gn(s))return s;{let o=br(r[i]).find(gn);if(o)return o}}}if(rl(e))return VT(e)}a(VT,"getActionAtElement");function GI(t,e){return t==="?"||t==="*"||Yn(e)&&!!e.guardCondition}a(GI,"isOptionalCardinality");function UI(t){return t==="*"||t==="+"}a(UI,"isArrayCardinality");function jI(t){return t==="+="}a(jI,"isArrayOperator");function fl(t){return HT(t,new Set)}a(fl,"isDataTypeRule");function HT(t,e){if(e.has(t))return!0;e.add(t);for(let r of br(t))if(Ir(r)){if(!r.rule.ref||dt(r.rule.ref)&&!HT(r.rule.ref,e)||Xn(r.rule.ref))return!1}else{if(wr(r))return!1;if(gn(r))return!1}return!!t.definition}a(HT,"isDataTypeRuleInternal");function zI(t){return fm(t.type,new Set)}a(zI,"isDataType");function fm(t,e){if(e.has(t))return!0;if(e.add(t),Md(t))return!1;if(Wd(t))return!1;if(Jd(t))return t.types.every(r=>fm(r,e));if(fc(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){let r=t.typeRef.ref;return dc(r)?fm(r.type,e):!1}else return!1}else return!1}a(fm,"isDataTypeInternal");function $c(t){if(!Mt(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){let e=t.returnType.ref;if(e)return e.name}}}a($c,"getExplicitRuleType");function Zn(t){if(yn(t))return dt(t)&&fl(t)?t.name:$c(t)??t.name;if(zd(t)||dc(t)||Hd(t))return t.name;if(gn(t)){let e=YT(t);if(e)return e}else if(nl(t))return t.name;throw new Error("Cannot get name of Unknown Type")}a(Zn,"getTypeName");function YT(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return Zn(t.type.ref)}a(YT,"getActionType");function BI(t){return Mt(t)?t.type?.name??"string":dt(t)&&fl(t)?t.name:$c(t)??t.name}a(BI,"getRuleTypeName");function xm(t){return Mt(t)?t.type?.name??"string":$c(t)??t.name}a(xm,"getRuleType");function Qa(t){let e={s:!1,i:!1,u:!1},r=es(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}a(Qa,"terminalRegex");var Rm=/[\s\S]/.source;function es(t,e){if(Yd(t))return KI(t);if(Xd(t))return qI(t);if(Fd(t))return HI(t);if(pc(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return Tn(es(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(Bd(t))return VI(t);if(Zd(t))return WI(t);if(Vd(t)){let r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),Tn(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(Qd(t))return Tn(Rm,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}a(es,"abstractElementToRegex");function KI(t){return Tn(t.elements.map(e=>es(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}a(KI,"terminalAlternativesToRegex");function qI(t){return Tn(t.elements.map(e=>es(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}a(qI,"terminalGroupToRegex");function WI(t){return Tn(`${Rm}*?${es(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}a(WI,"untilTokenToRegex");function VI(t){return Tn(`(?!${es(t.terminal)})${Rm}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}a(VI,"negateTokenToRegex");function HI(t){return t.right?Tn(`[${cm(t.left)}-${cm(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):Tn(cm(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}a(HI,"characterRangeToRegex");function cm(t){return Jn(t.value)}a(cm,"keywordToRegex");function Tn(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}a(Tn,"withCardinality");function $m(t){let e=[],r=t.Grammar;for(let n of r.rules)Mt(n)&&dm(n)&&lm(Qa(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:hc}}a($m,"createGrammarConfig");var YI=typeof global=="object"&&global&&global.Object===Object&&global,vc=YI;var XI=typeof self=="object"&&self&&self.Object===Object&&self,JI=vc||XI||Function("return this")(),Qe=JI;var ZI=Qe.Symbol,mt=ZI;var XT=Object.prototype,QI=XT.hasOwnProperty,e_=XT.toString,pl=mt?mt.toStringTag:void 0;function t_(t){var e=QI.call(t,pl),r=t[pl];try{t[pl]=void 0;var n=!0}catch{}var i=e_.call(t);return n&&(e?t[pl]=r:delete t[pl]),i}a(t_,"getRawTag");var JT=t_;var r_=Object.prototype,n_=r_.toString;function i_(t){return n_.call(t)}a(i_,"objectToString");var ZT=i_;var a_="[object Null]",s_="[object Undefined]",QT=mt?mt.toStringTag:void 0;function o_(t){return t==null?t===void 0?s_:a_:QT&&QT in Object(t)?JT(t):ZT(t)}a(o_,"baseGetTag");var Dt=o_;function l_(t){return t!=null&&typeof t=="object"}a(l_,"isObjectLike");var Ye=l_;var u_="[object Symbol]";function c_(t){return typeof t=="symbol"||Ye(t)&&Dt(t)==u_}a(c_,"isSymbol");var Qn=c_;function f_(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(f_,"arrayMap");var Wr=f_;var p_=Array.isArray,z=p_;var d_=1/0,ex=mt?mt.prototype:void 0,tx=ex?ex.toString:void 0;function rx(t){if(typeof t=="string")return t;if(z(t))return Wr(t,rx)+"";if(Qn(t))return tx?tx.call(t):"";var e=t+"";return e=="0"&&1/t==-d_?"-0":e}a(rx,"baseToString");var nx=rx;var m_=/\s/;function h_(t){for(var e=t.length;e--&&m_.test(t.charAt(e)););return e}a(h_,"trimmedEndIndex");var ix=h_;var y_=/^\s+/;function g_(t){return t&&t.slice(0,ix(t)+1).replace(y_,"")}a(g_,"baseTrim");var ax=g_;function T_(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}a(T_,"isObject");var je=T_;var sx=NaN,x_=/^[-+]0x[0-9a-f]+$/i,R_=/^0b[01]+$/i,$_=/^0o[0-7]+$/i,E_=parseInt;function v_(t){if(typeof t=="number")return t;if(Qn(t))return sx;if(je(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=je(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=ax(t);var r=R_.test(t);return r||$_.test(t)?E_(t.slice(2),r?2:8):x_.test(t)?sx:+t}a(v_,"toNumber");var ox=v_;var lx=1/0,A_=17976931348623157e292;function C_(t){if(!t)return t===0?t:0;if(t=ox(t),t===lx||t===-lx){var e=t<0?-1:1;return e*A_}return t===t?t:0}a(C_,"toFinite");var ux=C_;function b_(t){var e=ux(t),r=e%1;return e===e?r?e-r:e:0}a(b_,"toInteger");var Vr=b_;function S_(t){return t}a(S_,"identity");var mr=S_;var w_="[object AsyncFunction]",N_="[object Function]",I_="[object GeneratorFunction]",__="[object Proxy]";function k_(t){if(!je(t))return!1;var e=Dt(t);return e==N_||e==I_||e==w_||e==__}a(k_,"isFunction");var Ft=k_;var P_=Qe["__core-js_shared__"],Ac=P_;var cx=(function(){var t=/[^.]+$/.exec(Ac&&Ac.keys&&Ac.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function O_(t){return!!cx&&cx in t}a(O_,"isMasked");var fx=O_;var L_=Function.prototype,M_=L_.toString;function D_(t){if(t!=null){try{return M_.call(t)}catch{}try{return t+""}catch{}}return""}a(D_,"toSource");var xn=D_;var F_=/[\\^$.*+?()[\]{}|]/g,G_=/^\[object .+?Constructor\]$/,U_=Function.prototype,j_=Object.prototype,z_=U_.toString,B_=j_.hasOwnProperty,K_=RegExp("^"+z_.call(B_).replace(F_,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function q_(t){if(!je(t)||fx(t))return!1;var e=Ft(t)?K_:G_;return e.test(xn(t))}a(q_,"baseIsNative");var px=q_;function W_(t,e){return t?.[e]}a(W_,"getValue");var dx=W_;function V_(t,e){var r=dx(t,e);return px(r)?r:void 0}a(V_,"getNative");var Ht=V_;var H_=Ht(Qe,"WeakMap"),Cc=H_;var mx=Object.create,Y_=(function(){function t(){}return a(t,"object"),function(e){if(!je(e))return{};if(mx)return mx(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}})(),hx=Y_;function X_(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}a(X_,"apply");var yx=X_;function J_(){}a(J_,"noop");var ze=J_;function Z_(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e}a(Z_,"copyArray");var gx=Z_;var Q_=800,ek=16,tk=Date.now;function rk(t){var e=0,r=0;return function(){var n=tk(),i=ek-(n-r);if(r=n,i>0){if(++e>=Q_)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}a(rk,"shortOut");var Tx=rk;function nk(t){return function(){return t}}a(nk,"constant");var xx=nk;var ik=(function(){try{var t=Ht(Object,"defineProperty");return t({},"",{}),t}catch{}})(),ts=ik;var ak=ts?function(t,e){return ts(t,"toString",{configurable:!0,enumerable:!1,value:xx(e),writable:!0})}:mr,Rx=ak;var sk=Tx(Rx),$x=sk;function ok(t,e){for(var r=-1,n=t==null?0:t.length;++r<n&&e(t[r],r,t)!==!1;);return t}a(ok,"arrayEach");var bc=ok;function lk(t,e,r,n){for(var i=t.length,s=r+(n?1:-1);n?s--:++s<i;)if(e(t[s],s,t))return s;return-1}a(lk,"baseFindIndex");var Sc=lk;function uk(t){return t!==t}a(uk,"baseIsNaN");var Ex=uk;function ck(t,e,r){for(var n=r-1,i=t.length;++n<i;)if(t[n]===e)return n;return-1}a(ck,"strictIndexOf");var vx=ck;function fk(t,e,r){return e===e?vx(t,e,r):Sc(t,Ex,r)}a(fk,"baseIndexOf");var rs=fk;function pk(t,e){var r=t==null?0:t.length;return!!r&&rs(t,e,0)>-1}a(pk,"arrayIncludes");var wc=pk;var dk=9007199254740991,mk=/^(?:0|[1-9]\d*)$/;function hk(t,e){var r=typeof t;return e=e??dk,!!e&&(r=="number"||r!="symbol"&&mk.test(t))&&t>-1&&t%1==0&&t<e}a(hk,"isIndex");var ei=hk;function yk(t,e,r){e=="__proto__"&&ts?ts(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}a(yk,"baseAssignValue");var ns=yk;function gk(t,e){return t===e||t!==t&&e!==e}a(gk,"eq");var Hr=gk;var Tk=Object.prototype,xk=Tk.hasOwnProperty;function Rk(t,e,r){var n=t[e];(!(xk.call(t,e)&&Hr(n,r))||r===void 0&&!(e in t))&&ns(t,e,r)}a(Rk,"assignValue");var ti=Rk;function $k(t,e,r,n){var i=!r;r||(r={});for(var s=-1,o=e.length;++s<o;){var l=e[s],u=n?n(r[l],t[l],l,r,t):void 0;u===void 0&&(u=t[l]),i?ns(r,l,u):ti(r,l,u)}return r}a($k,"copyObject");var Yr=$k;var Ax=Math.max;function Ek(t,e,r){return e=Ax(e===void 0?t.length-1:e,0),function(){for(var n=arguments,i=-1,s=Ax(n.length-e,0),o=Array(s);++i<s;)o[i]=n[e+i];i=-1;for(var l=Array(e+1);++i<e;)l[i]=n[i];return l[e]=r(o),yx(t,this,l)}}a(Ek,"overRest");var Cx=Ek;function vk(t,e){return $x(Cx(t,e,mr),t+"")}a(vk,"baseRest");var is=vk;var Ak=9007199254740991;function Ck(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=Ak}a(Ck,"isLength");var as=Ck;function bk(t){return t!=null&&as(t.length)&&!Ft(t)}a(bk,"isArrayLike");var et=bk;function Sk(t,e,r){if(!je(r))return!1;var n=typeof e;return(n=="number"?et(r)&&ei(e,r.length):n=="string"&&e in r)?Hr(r[e],t):!1}a(Sk,"isIterateeCall");var ri=Sk;function wk(t){return is(function(e,r){var n=-1,i=r.length,s=i>1?r[i-1]:void 0,o=i>2?r[2]:void 0;for(s=t.length>3&&typeof s=="function"?(i--,s):void 0,o&&ri(r[0],r[1],o)&&(s=i<3?void 0:s,i=1),e=Object(e);++n<i;){var l=r[n];l&&t(e,l,n,s)}return e})}a(wk,"createAssigner");var bx=wk;var Nk=Object.prototype;function Ik(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||Nk;return t===r}a(Ik,"isPrototype");var Xr=Ik;function _k(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}a(_k,"baseTimes");var Sx=_k;var kk="[object Arguments]";function Pk(t){return Ye(t)&&Dt(t)==kk}a(Pk,"baseIsArguments");var Em=Pk;var wx=Object.prototype,Ok=wx.hasOwnProperty,Lk=wx.propertyIsEnumerable,Mk=Em((function(){return arguments})())?Em:function(t){return Ye(t)&&Ok.call(t,"callee")&&!Lk.call(t,"callee")},ni=Mk;function Dk(){return!1}a(Dk,"stubFalse");var Nx=Dk;var kx=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ix=kx&&typeof module=="object"&&module&&!module.nodeType&&module,Fk=Ix&&Ix.exports===kx,_x=Fk?Qe.Buffer:void 0,Gk=_x?_x.isBuffer:void 0,Uk=Gk||Nx,Rn=Uk;var jk="[object Arguments]",zk="[object Array]",Bk="[object Boolean]",Kk="[object Date]",qk="[object Error]",Wk="[object Function]",Vk="[object Map]",Hk="[object Number]",Yk="[object Object]",Xk="[object RegExp]",Jk="[object Set]",Zk="[object String]",Qk="[object WeakMap]",eP="[object ArrayBuffer]",tP="[object DataView]",rP="[object Float32Array]",nP="[object Float64Array]",iP="[object Int8Array]",aP="[object Int16Array]",sP="[object Int32Array]",oP="[object Uint8Array]",lP="[object Uint8ClampedArray]",uP="[object Uint16Array]",cP="[object Uint32Array]",Ne={};Ne[rP]=Ne[nP]=Ne[iP]=Ne[aP]=Ne[sP]=Ne[oP]=Ne[lP]=Ne[uP]=Ne[cP]=!0;Ne[jk]=Ne[zk]=Ne[eP]=Ne[Bk]=Ne[tP]=Ne[Kk]=Ne[qk]=Ne[Wk]=Ne[Vk]=Ne[Hk]=Ne[Yk]=Ne[Xk]=Ne[Jk]=Ne[Zk]=Ne[Qk]=!1;function fP(t){return Ye(t)&&as(t.length)&&!!Ne[Dt(t)]}a(fP,"baseIsTypedArray");var Px=fP;function pP(t){return function(e){return t(e)}}a(pP,"baseUnary");var Jr=pP;var Ox=typeof exports=="object"&&exports&&!exports.nodeType&&exports,dl=Ox&&typeof module=="object"&&module&&!module.nodeType&&module,dP=dl&&dl.exports===Ox,vm=dP&&vc.process,mP=(function(){try{var t=dl&&dl.require&&dl.require("util").types;return t||vm&&vm.binding&&vm.binding("util")}catch{}})(),hr=mP;var Lx=hr&&hr.isTypedArray,hP=Lx?Jr(Lx):Px,ss=hP;var yP=Object.prototype,gP=yP.hasOwnProperty;function TP(t,e){var r=z(t),n=!r&&ni(t),i=!r&&!n&&Rn(t),s=!r&&!n&&!i&&ss(t),o=r||n||i||s,l=o?Sx(t.length,String):[],u=l.length;for(var c in t)(e||gP.call(t,c))&&!(o&&(c=="length"||i&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||ei(c,u)))&&l.push(c);return l}a(TP,"arrayLikeKeys");var Nc=TP;function xP(t,e){return function(r){return t(e(r))}}a(xP,"overArg");var Ic=xP;var RP=Ic(Object.keys,Object),Mx=RP;var $P=Object.prototype,EP=$P.hasOwnProperty;function vP(t){if(!Xr(t))return Mx(t);var e=[];for(var r in Object(t))EP.call(t,r)&&r!="constructor"&&e.push(r);return e}a(vP,"baseKeys");var _c=vP;function AP(t){return et(t)?Nc(t):_c(t)}a(AP,"keys");var $e=AP;var CP=Object.prototype,bP=CP.hasOwnProperty,SP=bx(function(t,e){if(Xr(e)||et(e)){Yr(e,$e(e),t);return}for(var r in e)bP.call(e,r)&&ti(t,r,e[r])}),Rt=SP;function wP(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}a(wP,"nativeKeysIn");var Dx=wP;var NP=Object.prototype,IP=NP.hasOwnProperty;function _P(t){if(!je(t))return Dx(t);var e=Xr(t),r=[];for(var n in t)n=="constructor"&&(e||!IP.call(t,n))||r.push(n);return r}a(_P,"baseKeysIn");var Fx=_P;function kP(t){return et(t)?Nc(t,!0):Fx(t)}a(kP,"keysIn");var ii=kP;var PP=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,OP=/^\w*$/;function LP(t,e){if(z(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||Qn(t)?!0:OP.test(t)||!PP.test(t)||e!=null&&t in Object(e)}a(LP,"isKey");var os=LP;var MP=Ht(Object,"create"),$n=MP;function DP(){this.__data__=$n?$n(null):{},this.size=0}a(DP,"hashClear");var Gx=DP;function FP(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}a(FP,"hashDelete");var Ux=FP;var GP="__lodash_hash_undefined__",UP=Object.prototype,jP=UP.hasOwnProperty;function zP(t){var e=this.__data__;if($n){var r=e[t];return r===GP?void 0:r}return jP.call(e,t)?e[t]:void 0}a(zP,"hashGet");var jx=zP;var BP=Object.prototype,KP=BP.hasOwnProperty;function qP(t){var e=this.__data__;return $n?e[t]!==void 0:KP.call(e,t)}a(qP,"hashHas");var zx=qP;var WP="__lodash_hash_undefined__";function VP(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=$n&&e===void 0?WP:e,this}a(VP,"hashSet");var Bx=VP;function ls(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(ls,"Hash");ls.prototype.clear=Gx;ls.prototype.delete=Ux;ls.prototype.get=jx;ls.prototype.has=zx;ls.prototype.set=Bx;var Am=ls;function HP(){this.__data__=[],this.size=0}a(HP,"listCacheClear");var Kx=HP;function YP(t,e){for(var r=t.length;r--;)if(Hr(t[r][0],e))return r;return-1}a(YP,"assocIndexOf");var ai=YP;var XP=Array.prototype,JP=XP.splice;function ZP(t){var e=this.__data__,r=ai(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():JP.call(e,r,1),--this.size,!0}a(ZP,"listCacheDelete");var qx=ZP;function QP(t){var e=this.__data__,r=ai(e,t);return r<0?void 0:e[r][1]}a(QP,"listCacheGet");var Wx=QP;function eO(t){return ai(this.__data__,t)>-1}a(eO,"listCacheHas");var Vx=eO;function tO(t,e){var r=this.__data__,n=ai(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}a(tO,"listCacheSet");var Hx=tO;function us(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(us,"ListCache");us.prototype.clear=Kx;us.prototype.delete=qx;us.prototype.get=Wx;us.prototype.has=Vx;us.prototype.set=Hx;var si=us;var rO=Ht(Qe,"Map"),oi=rO;function nO(){this.size=0,this.__data__={hash:new Am,map:new(oi||si),string:new Am}}a(nO,"mapCacheClear");var Yx=nO;function iO(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}a(iO,"isKeyable");var Xx=iO;function aO(t,e){var r=t.__data__;return Xx(e)?r[typeof e=="string"?"string":"hash"]:r.map}a(aO,"getMapData");var li=aO;function sO(t){var e=li(this,t).delete(t);return this.size-=e?1:0,e}a(sO,"mapCacheDelete");var Jx=sO;function oO(t){return li(this,t).get(t)}a(oO,"mapCacheGet");var Zx=oO;function lO(t){return li(this,t).has(t)}a(lO,"mapCacheHas");var Qx=lO;function uO(t,e){var r=li(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}a(uO,"mapCacheSet");var eR=uO;function cs(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(cs,"MapCache");cs.prototype.clear=Yx;cs.prototype.delete=Jx;cs.prototype.get=Zx;cs.prototype.has=Qx;cs.prototype.set=eR;var aa=cs;var cO="Expected a function";function Cm(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(cO);var r=a(function(){var n=arguments,i=e?e.apply(this,n):n[0],s=r.cache;if(s.has(i))return s.get(i);var o=t.apply(this,n);return r.cache=s.set(i,o)||s,o},"memoized");return r.cache=new(Cm.Cache||aa),r}a(Cm,"memoize");Cm.Cache=aa;var tR=Cm;var fO=500;function pO(t){var e=tR(t,function(n){return r.size===fO&&r.clear(),n}),r=e.cache;return e}a(pO,"memoizeCapped");var rR=pO;var dO=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,mO=/\\(\\)?/g,hO=rR(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(dO,function(r,n,i,s){e.push(i?s.replace(mO,"$1"):n||r)}),e}),nR=hO;function yO(t){return t==null?"":nx(t)}a(yO,"toString");var iR=yO;function gO(t,e){return z(t)?t:os(t,e)?[t]:nR(iR(t))}a(gO,"castPath");var ui=gO;var TO=1/0;function xO(t){if(typeof t=="string"||Qn(t))return t;var e=t+"";return e=="0"&&1/t==-TO?"-0":e}a(xO,"toKey");var Zr=xO;function RO(t,e){e=ui(e,t);for(var r=0,n=e.length;t!=null&&r<n;)t=t[Zr(e[r++])];return r&&r==n?t:void 0}a(RO,"baseGet");var fs=RO;function $O(t,e,r){var n=t==null?void 0:fs(t,e);return n===void 0?r:n}a($O,"get");var aR=$O;function EO(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}a(EO,"arrayPush");var ps=EO;var sR=mt?mt.isConcatSpreadable:void 0;function vO(t){return z(t)||ni(t)||!!(sR&&t&&t[sR])}a(vO,"isFlattenable");var oR=vO;function lR(t,e,r,n,i){var s=-1,o=t.length;for(r||(r=oR),i||(i=[]);++s<o;){var l=t[s];e>0&&r(l)?e>1?lR(l,e-1,r,n,i):ps(i,l):n||(i[i.length]=l)}return i}a(lR,"baseFlatten");var ds=lR;function AO(t){var e=t==null?0:t.length;return e?ds(t,1):[]}a(AO,"flatten");var lt=AO;var CO=Ic(Object.getPrototypeOf,Object),kc=CO;function bO(t,e,r){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),r=r>i?i:r,r<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var s=Array(i);++n<i;)s[n]=t[n+e];return s}a(bO,"baseSlice");var Pc=bO;function SO(t,e,r,n){var i=-1,s=t==null?0:t.length;for(n&&s&&(r=t[++i]);++i<s;)r=e(r,t[i],i,t);return r}a(SO,"arrayReduce");var uR=SO;function wO(){this.__data__=new si,this.size=0}a(wO,"stackClear");var cR=wO;function NO(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}a(NO,"stackDelete");var fR=NO;function IO(t){return this.__data__.get(t)}a(IO,"stackGet");var pR=IO;function _O(t){return this.__data__.has(t)}a(_O,"stackHas");var dR=_O;var kO=200;function PO(t,e){var r=this.__data__;if(r instanceof si){var n=r.__data__;if(!oi||n.length<kO-1)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new aa(n)}return r.set(t,e),this.size=r.size,this}a(PO,"stackSet");var mR=PO;function ms(t){var e=this.__data__=new si(t);this.size=e.size}a(ms,"Stack");ms.prototype.clear=cR;ms.prototype.delete=fR;ms.prototype.get=pR;ms.prototype.has=dR;ms.prototype.set=mR;var ci=ms;function OO(t,e){return t&&Yr(e,$e(e),t)}a(OO,"baseAssign");var hR=OO;function LO(t,e){return t&&Yr(e,ii(e),t)}a(LO,"baseAssignIn");var yR=LO;var RR=typeof exports=="object"&&exports&&!exports.nodeType&&exports,gR=RR&&typeof module=="object"&&module&&!module.nodeType&&module,MO=gR&&gR.exports===RR,TR=MO?Qe.Buffer:void 0,xR=TR?TR.allocUnsafe:void 0;function DO(t,e){if(e)return t.slice();var r=t.length,n=xR?xR(r):new t.constructor(r);return t.copy(n),n}a(DO,"cloneBuffer");var $R=DO;function FO(t,e){for(var r=-1,n=t==null?0:t.length,i=0,s=[];++r<n;){var o=t[r];e(o,r,t)&&(s[i++]=o)}return s}a(FO,"arrayFilter");var hs=FO;function GO(){return[]}a(GO,"stubArray");var Oc=GO;var UO=Object.prototype,jO=UO.propertyIsEnumerable,ER=Object.getOwnPropertySymbols,zO=ER?function(t){return t==null?[]:(t=Object(t),hs(ER(t),function(e){return jO.call(t,e)}))}:Oc,ys=zO;function BO(t,e){return Yr(t,ys(t),e)}a(BO,"copySymbols");var vR=BO;var KO=Object.getOwnPropertySymbols,qO=KO?function(t){for(var e=[];t;)ps(e,ys(t)),t=kc(t);return e}:Oc,Lc=qO;function WO(t,e){return Yr(t,Lc(t),e)}a(WO,"copySymbolsIn");var AR=WO;function VO(t,e,r){var n=e(t);return z(t)?n:ps(n,r(t))}a(VO,"baseGetAllKeys");var Mc=VO;function HO(t){return Mc(t,$e,ys)}a(HO,"getAllKeys");var ml=HO;function YO(t){return Mc(t,ii,Lc)}a(YO,"getAllKeysIn");var Dc=YO;var XO=Ht(Qe,"DataView"),Fc=XO;var JO=Ht(Qe,"Promise"),Gc=JO;var ZO=Ht(Qe,"Set"),fi=ZO;var CR="[object Map]",QO="[object Object]",bR="[object Promise]",SR="[object Set]",wR="[object WeakMap]",NR="[object DataView]",eL=xn(Fc),tL=xn(oi),rL=xn(Gc),nL=xn(fi),iL=xn(Cc),sa=Dt;(Fc&&sa(new Fc(new ArrayBuffer(1)))!=NR||oi&&sa(new oi)!=CR||Gc&&sa(Gc.resolve())!=bR||fi&&sa(new fi)!=SR||Cc&&sa(new Cc)!=wR)&&(sa=a(function(t){var e=Dt(t),r=e==QO?t.constructor:void 0,n=r?xn(r):"";if(n)switch(n){case eL:return NR;case tL:return CR;case rL:return bR;case nL:return SR;case iL:return wR}return e},"getTag"));var _r=sa;var aL=Object.prototype,sL=aL.hasOwnProperty;function oL(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&sL.call(t,"index")&&(r.index=t.index,r.input=t.input),r}a(oL,"initCloneArray");var IR=oL;var lL=Qe.Uint8Array,gs=lL;function uL(t){var e=new t.constructor(t.byteLength);return new gs(e).set(new gs(t)),e}a(uL,"cloneArrayBuffer");var Ts=uL;function cL(t,e){var r=e?Ts(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}a(cL,"cloneDataView");var _R=cL;var fL=/\w*$/;function pL(t){var e=new t.constructor(t.source,fL.exec(t));return e.lastIndex=t.lastIndex,e}a(pL,"cloneRegExp");var kR=pL;var PR=mt?mt.prototype:void 0,OR=PR?PR.valueOf:void 0;function dL(t){return OR?Object(OR.call(t)):{}}a(dL,"cloneSymbol");var LR=dL;function mL(t,e){var r=e?Ts(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}a(mL,"cloneTypedArray");var MR=mL;var hL="[object Boolean]",yL="[object Date]",gL="[object Map]",TL="[object Number]",xL="[object RegExp]",RL="[object Set]",$L="[object String]",EL="[object Symbol]",vL="[object ArrayBuffer]",AL="[object DataView]",CL="[object Float32Array]",bL="[object Float64Array]",SL="[object Int8Array]",wL="[object Int16Array]",NL="[object Int32Array]",IL="[object Uint8Array]",_L="[object Uint8ClampedArray]",kL="[object Uint16Array]",PL="[object Uint32Array]";function OL(t,e,r){var n=t.constructor;switch(e){case vL:return Ts(t);case hL:case yL:return new n(+t);case AL:return _R(t,r);case CL:case bL:case SL:case wL:case NL:case IL:case _L:case kL:case PL:return MR(t,r);case gL:return new n;case TL:case $L:return new n(t);case xL:return kR(t);case RL:return new n;case EL:return LR(t)}}a(OL,"initCloneByTag");var DR=OL;function LL(t){return typeof t.constructor=="function"&&!Xr(t)?hx(kc(t)):{}}a(LL,"initCloneObject");var FR=LL;var ML="[object Map]";function DL(t){return Ye(t)&&_r(t)==ML}a(DL,"baseIsMap");var GR=DL;var UR=hr&&hr.isMap,FL=UR?Jr(UR):GR,jR=FL;var GL="[object Set]";function UL(t){return Ye(t)&&_r(t)==GL}a(UL,"baseIsSet");var zR=UL;var BR=hr&&hr.isSet,jL=BR?Jr(BR):zR,KR=jL;var zL=1,BL=2,KL=4,qR="[object Arguments]",qL="[object Array]",WL="[object Boolean]",VL="[object Date]",HL="[object Error]",WR="[object Function]",YL="[object GeneratorFunction]",XL="[object Map]",JL="[object Number]",VR="[object Object]",ZL="[object RegExp]",QL="[object Set]",eM="[object String]",tM="[object Symbol]",rM="[object WeakMap]",nM="[object ArrayBuffer]",iM="[object DataView]",aM="[object Float32Array]",sM="[object Float64Array]",oM="[object Int8Array]",lM="[object Int16Array]",uM="[object Int32Array]",cM="[object Uint8Array]",fM="[object Uint8ClampedArray]",pM="[object Uint16Array]",dM="[object Uint32Array]",Ee={};Ee[qR]=Ee[qL]=Ee[nM]=Ee[iM]=Ee[WL]=Ee[VL]=Ee[aM]=Ee[sM]=Ee[oM]=Ee[lM]=Ee[uM]=Ee[XL]=Ee[JL]=Ee[VR]=Ee[ZL]=Ee[QL]=Ee[eM]=Ee[tM]=Ee[cM]=Ee[fM]=Ee[pM]=Ee[dM]=!0;Ee[HL]=Ee[WR]=Ee[rM]=!1;function Uc(t,e,r,n,i,s){var o,l=e&zL,u=e&BL,c=e&KL;if(r&&(o=i?r(t,n,i,s):r(t)),o!==void 0)return o;if(!je(t))return t;var f=z(t);if(f){if(o=IR(t),!l)return gx(t,o)}else{var p=_r(t),m=p==WR||p==YL;if(Rn(t))return $R(t,l);if(p==VR||p==qR||m&&!i){if(o=u||m?{}:FR(t),!l)return u?AR(t,yR(o,t)):vR(t,hR(o,t))}else{if(!Ee[p])return i?t:{};o=DR(t,p,l)}}s||(s=new ci);var y=s.get(t);if(y)return y;s.set(t,o),KR(t)?t.forEach(function(_){o.add(Uc(_,e,r,_,t,s))}):jR(t)&&t.forEach(function(_,S){o.set(S,Uc(_,e,r,S,t,s))});var A=c?u?Dc:ml:u?ii:$e,C=f?void 0:A(t);return bc(C||t,function(_,S){C&&(S=_,_=t[S]),ti(o,S,Uc(_,e,r,S,t,s))}),o}a(Uc,"baseClone");var HR=Uc;var mM=4;function hM(t){return HR(t,mM)}a(hM,"clone");var ve=hM;function yM(t){for(var e=-1,r=t==null?0:t.length,n=0,i=[];++e<r;){var s=t[e];s&&(i[n++]=s)}return i}a(yM,"compact");var Qr=yM;var gM="__lodash_hash_undefined__";function TM(t){return this.__data__.set(t,gM),this}a(TM,"setCacheAdd");var YR=TM;function xM(t){return this.__data__.has(t)}a(xM,"setCacheHas");var XR=xM;function jc(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new aa;++e<r;)this.add(t[e])}a(jc,"SetCache");jc.prototype.add=jc.prototype.push=YR;jc.prototype.has=XR;var xs=jc;function RM(t,e){for(var r=-1,n=t==null?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}a(RM,"arraySome");var zc=RM;function $M(t,e){return t.has(e)}a($M,"cacheHas");var Rs=$M;var EM=1,vM=2;function AM(t,e,r,n,i,s){var o=r&EM,l=t.length,u=e.length;if(l!=u&&!(o&&u>l))return!1;var c=s.get(t),f=s.get(e);if(c&&f)return c==e&&f==t;var p=-1,m=!0,y=r&vM?new xs:void 0;for(s.set(t,e),s.set(e,t);++p<l;){var A=t[p],C=e[p];if(n)var _=o?n(C,A,p,e,t,s):n(A,C,p,t,e,s);if(_!==void 0){if(_)continue;m=!1;break}if(y){if(!zc(e,function(S,w){if(!Rs(y,w)&&(A===S||i(A,S,r,n,s)))return y.push(w)})){m=!1;break}}else if(!(A===C||i(A,C,r,n,s))){m=!1;break}}return s.delete(t),s.delete(e),m}a(AM,"equalArrays");var Bc=AM;function CM(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}a(CM,"mapToArray");var JR=CM;function bM(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}a(bM,"setToArray");var $s=bM;var SM=1,wM=2,NM="[object Boolean]",IM="[object Date]",_M="[object Error]",kM="[object Map]",PM="[object Number]",OM="[object RegExp]",LM="[object Set]",MM="[object String]",DM="[object Symbol]",FM="[object ArrayBuffer]",GM="[object DataView]",ZR=mt?mt.prototype:void 0,bm=ZR?ZR.valueOf:void 0;function UM(t,e,r,n,i,s,o){switch(r){case GM:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case FM:return!(t.byteLength!=e.byteLength||!s(new gs(t),new gs(e)));case NM:case IM:case PM:return Hr(+t,+e);case _M:return t.name==e.name&&t.message==e.message;case OM:case MM:return t==e+"";case kM:var l=JR;case LM:var u=n&SM;if(l||(l=$s),t.size!=e.size&&!u)return!1;var c=o.get(t);if(c)return c==e;n|=wM,o.set(t,e);var f=Bc(l(t),l(e),n,i,s,o);return o.delete(t),f;case DM:if(bm)return bm.call(t)==bm.call(e)}return!1}a(UM,"equalByTag");var QR=UM;var jM=1,zM=Object.prototype,BM=zM.hasOwnProperty;function KM(t,e,r,n,i,s){var o=r&jM,l=ml(t),u=l.length,c=ml(e),f=c.length;if(u!=f&&!o)return!1;for(var p=u;p--;){var m=l[p];if(!(o?m in e:BM.call(e,m)))return!1}var y=s.get(t),A=s.get(e);if(y&&A)return y==e&&A==t;var C=!0;s.set(t,e),s.set(e,t);for(var _=o;++p<u;){m=l[p];var S=t[m],w=e[m];if(n)var $=o?n(w,S,m,e,t,s):n(S,w,m,t,e,s);if(!($===void 0?S===w||i(S,w,r,n,s):$)){C=!1;break}_||(_=m=="constructor")}if(C&&!_){var K=t.constructor,M=e.constructor;K!=M&&"constructor"in t&&"constructor"in e&&!(typeof K=="function"&&K instanceof K&&typeof M=="function"&&M instanceof M)&&(C=!1)}return s.delete(t),s.delete(e),C}a(KM,"equalObjects");var e$=KM;var qM=1,t$="[object Arguments]",r$="[object Array]",Kc="[object Object]",WM=Object.prototype,n$=WM.hasOwnProperty;function VM(t,e,r,n,i,s){var o=z(t),l=z(e),u=o?r$:_r(t),c=l?r$:_r(e);u=u==t$?Kc:u,c=c==t$?Kc:c;var f=u==Kc,p=c==Kc,m=u==c;if(m&&Rn(t)){if(!Rn(e))return!1;o=!0,f=!1}if(m&&!f)return s||(s=new ci),o||ss(t)?Bc(t,e,r,n,i,s):QR(t,e,u,r,n,i,s);if(!(r&qM)){var y=f&&n$.call(t,"__wrapped__"),A=p&&n$.call(e,"__wrapped__");if(y||A){var C=y?t.value():t,_=A?e.value():e;return s||(s=new ci),i(C,_,r,n,s)}}return m?(s||(s=new ci),e$(t,e,r,n,i,s)):!1}a(VM,"baseIsEqualDeep");var i$=VM;function a$(t,e,r,n,i){return t===e?!0:t==null||e==null||!Ye(t)&&!Ye(e)?t!==t&&e!==e:i$(t,e,r,n,a$,i)}a(a$,"baseIsEqual");var qc=a$;var HM=1,YM=2;function XM(t,e,r,n){var i=r.length,s=i,o=!n;if(t==null)return!s;for(t=Object(t);i--;){var l=r[i];if(o&&l[2]?l[1]!==t[l[0]]:!(l[0]in t))return!1}for(;++i<s;){l=r[i];var u=l[0],c=t[u],f=l[1];if(o&&l[2]){if(c===void 0&&!(u in t))return!1}else{var p=new ci;if(n)var m=n(c,f,u,t,e,p);if(!(m===void 0?qc(f,c,HM|YM,n,p):m))return!1}}return!0}a(XM,"baseIsMatch");var s$=XM;function JM(t){return t===t&&!je(t)}a(JM,"isStrictComparable");var Wc=JM;function ZM(t){for(var e=$e(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,Wc(i)]}return e}a(ZM,"getMatchData");var o$=ZM;function QM(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}a(QM,"matchesStrictComparable");var Vc=QM;function eD(t){var e=o$(t);return e.length==1&&e[0][2]?Vc(e[0][0],e[0][1]):function(r){return r===t||s$(r,t,e)}}a(eD,"baseMatches");var l$=eD;function tD(t,e){return t!=null&&e in Object(t)}a(tD,"baseHasIn");var u$=tD;function rD(t,e,r){e=ui(e,t);for(var n=-1,i=e.length,s=!1;++n<i;){var o=Zr(e[n]);if(!(s=t!=null&&r(t,o)))break;t=t[o]}return s||++n!=i?s:(i=t==null?0:t.length,!!i&&as(i)&&ei(o,i)&&(z(t)||ni(t)))}a(rD,"hasPath");var Hc=rD;function nD(t,e){return t!=null&&Hc(t,e,u$)}a(nD,"hasIn");var c$=nD;var iD=1,aD=2;function sD(t,e){return os(t)&&Wc(e)?Vc(Zr(t),e):function(r){var n=aR(r,t);return n===void 0&&n===e?c$(r,t):qc(e,n,iD|aD)}}a(sD,"baseMatchesProperty");var f$=sD;function oD(t){return function(e){return e?.[t]}}a(oD,"baseProperty");var p$=oD;function lD(t){return function(e){return fs(e,t)}}a(lD,"basePropertyDeep");var d$=lD;function uD(t){return os(t)?p$(Zr(t)):d$(t)}a(uD,"property");var m$=uD;function cD(t){return typeof t=="function"?t:t==null?mr:typeof t=="object"?z(t)?f$(t[0],t[1]):l$(t):m$(t)}a(cD,"baseIteratee");var tt=cD;function fD(t,e,r,n){for(var i=-1,s=t==null?0:t.length;++i<s;){var o=t[i];e(n,o,r(o),t)}return n}a(fD,"arrayAggregator");var h$=fD;function pD(t){return function(e,r,n){for(var i=-1,s=Object(e),o=n(e),l=o.length;l--;){var u=o[t?l:++i];if(r(s[u],u,s)===!1)break}return e}}a(pD,"createBaseFor");var y$=pD;var dD=y$(),g$=dD;function mD(t,e){return t&&g$(t,e,$e)}a(mD,"baseForOwn");var T$=mD;function hD(t,e){return function(r,n){if(r==null)return r;if(!et(r))return t(r,n);for(var i=r.length,s=e?i:-1,o=Object(r);(e?s--:++s<i)&&n(o[s],s,o)!==!1;);return r}}a(hD,"createBaseEach");var x$=hD;var yD=x$(T$),Yt=yD;function gD(t,e,r,n){return Yt(t,function(i,s,o){e(n,i,r(i),o)}),n}a(gD,"baseAggregator");var R$=gD;function TD(t,e){return function(r,n){var i=z(r)?h$:R$,s=e?e():{};return i(r,t,tt(n,2),s)}}a(TD,"createAggregator");var $$=TD;var E$=Object.prototype,xD=E$.hasOwnProperty,RD=is(function(t,e){t=Object(t);var r=-1,n=e.length,i=n>2?e[2]:void 0;for(i&&ri(e[0],e[1],i)&&(n=1);++r<n;)for(var s=e[r],o=ii(s),l=-1,u=o.length;++l<u;){var c=o[l],f=t[c];(f===void 0||Hr(f,E$[c])&&!xD.call(t,c))&&(t[c]=s[c])}return t}),Es=RD;function $D(t){return Ye(t)&&et(t)}a($D,"isArrayLikeObject");var Sm=$D;function ED(t,e,r){for(var n=-1,i=t==null?0:t.length;++n<i;)if(r(e,t[n]))return!0;return!1}a(ED,"arrayIncludesWith");var Yc=ED;var vD=200;function AD(t,e,r,n){var i=-1,s=wc,o=!0,l=t.length,u=[],c=e.length;if(!l)return u;r&&(e=Wr(e,Jr(r))),n?(s=Yc,o=!1):e.length>=vD&&(s=Rs,o=!1,e=new xs(e));e:for(;++i<l;){var f=t[i],p=r==null?f:r(f);if(f=n||f!==0?f:0,o&&p===p){for(var m=c;m--;)if(e[m]===p)continue e;u.push(f)}else s(e,p,n)||u.push(f)}return u}a(AD,"baseDifference");var v$=AD;var CD=is(function(t,e){return Sm(t)?v$(t,ds(e,1,Sm,!0)):[]}),pi=CD;function bD(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}a(bD,"last");var kr=bD;function SD(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:Vr(e),Pc(t,e<0?0:e,n)):[]}a(SD,"drop");var Xe=SD;function wD(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:Vr(e),e=n-e,Pc(t,0,e<0?0:e)):[]}a(wD,"dropRight");var En=wD;function ND(t){return typeof t=="function"?t:mr}a(ND,"castFunction");var A$=ND;function ID(t,e){var r=z(t)?bc:Yt;return r(t,A$(e))}a(ID,"forEach");var G=ID;function _D(t,e){for(var r=-1,n=t==null?0:t.length;++r<n;)if(!e(t[r],r,t))return!1;return!0}a(_D,"arrayEvery");var C$=_D;function kD(t,e){var r=!0;return Yt(t,function(n,i,s){return r=!!e(n,i,s),r}),r}a(kD,"baseEvery");var b$=kD;function PD(t,e,r){var n=z(t)?C$:b$;return r&&ri(t,e,r)&&(e=void 0),n(t,tt(e,3))}a(PD,"every");var bt=PD;function OD(t,e){var r=[];return Yt(t,function(n,i,s){e(n,i,s)&&r.push(n)}),r}a(OD,"baseFilter");var Xc=OD;function LD(t,e){var r=z(t)?hs:Xc;return r(t,tt(e,3))}a(LD,"filter");var St=LD;function MD(t){return function(e,r,n){var i=Object(e);if(!et(e)){var s=tt(r,3);e=$e(e),r=a(function(l){return s(i[l],l,i)},"predicate")}var o=t(e,r,n);return o>-1?i[s?e[o]:o]:void 0}}a(MD,"createFind");var S$=MD;var DD=Math.max;function FD(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:Vr(r);return i<0&&(i=DD(n+i,0)),Sc(t,tt(e,3),i)}a(FD,"findIndex");var w$=FD;var GD=S$(w$),en=GD;function UD(t){return t&&t.length?t[0]:void 0}a(UD,"head");var ht=UD;function jD(t,e){var r=-1,n=et(t)?Array(t.length):[];return Yt(t,function(i,s,o){n[++r]=e(i,s,o)}),n}a(jD,"baseMap");var N$=jD;function zD(t,e){var r=z(t)?Wr:N$;return r(t,tt(e,3))}a(zD,"map");var F=zD;function BD(t,e){return ds(F(t,e),1)}a(BD,"flatMap");var Gt=BD;var KD=Object.prototype,qD=KD.hasOwnProperty,WD=$$(function(t,e,r){qD.call(t,r)?t[r].push(e):ns(t,r,[e])}),wm=WD;var VD=Object.prototype,HD=VD.hasOwnProperty;function YD(t,e){return t!=null&&HD.call(t,e)}a(YD,"baseHas");var I$=YD;function XD(t,e){return t!=null&&Hc(t,e,I$)}a(XD,"has");var U=XD;var JD="[object String]";function ZD(t){return typeof t=="string"||!z(t)&&Ye(t)&&Dt(t)==JD}a(ZD,"isString");var ut=ZD;function QD(t,e){return Wr(e,function(r){return t[r]})}a(QD,"baseValues");var _$=QD;function e0(t){return t==null?[]:_$(t,$e(t))}a(e0,"values");var ye=e0;var t0=Math.max;function r0(t,e,r,n){t=et(t)?t:ye(t),r=r&&!n?Vr(r):0;var i=t.length;return r<0&&(r=t0(i+r,0)),ut(t)?r<=i&&t.indexOf(e,r)>-1:!!i&&rs(t,e,r)>-1}a(r0,"includes");var Pe=r0;var n0=Math.max;function i0(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:Vr(r);return i<0&&(i=n0(n+i,0)),rs(t,e,i)}a(i0,"indexOf");var Jc=i0;var a0="[object Map]",s0="[object Set]",o0=Object.prototype,l0=o0.hasOwnProperty;function u0(t){if(t==null)return!0;if(et(t)&&(z(t)||typeof t=="string"||typeof t.splice=="function"||Rn(t)||ss(t)||ni(t)))return!t.length;var e=_r(t);if(e==a0||e==s0)return!t.size;if(Xr(t))return!_c(t).length;for(var r in t)if(l0.call(t,r))return!1;return!0}a(u0,"isEmpty");var ne=u0;var c0="[object RegExp]";function f0(t){return Ye(t)&&Dt(t)==c0}a(f0,"baseIsRegExp");var k$=f0;var P$=hr&&hr.isRegExp,p0=P$?Jr(P$):k$,yr=p0;function d0(t){return t===void 0}a(d0,"isUndefined");var wt=d0;var m0="Expected a function";function h0(t){if(typeof t!="function")throw new TypeError(m0);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}a(h0,"negate");var O$=h0;function y0(t,e,r,n){if(!je(t))return t;e=ui(e,t);for(var i=-1,s=e.length,o=s-1,l=t;l!=null&&++i<s;){var u=Zr(e[i]),c=r;if(u==="__proto__"||u==="constructor"||u==="prototype")return t;if(i!=o){var f=l[u];c=n?n(f,u,l):void 0,c===void 0&&(c=je(f)?f:ei(e[i+1])?[]:{})}ti(l,u,c),l=l[u]}return t}a(y0,"baseSet");var L$=y0;function g0(t,e,r){for(var n=-1,i=e.length,s={};++n<i;){var o=e[n],l=fs(t,o);r(l,o)&&L$(s,ui(o,t),l)}return s}a(g0,"basePickBy");var M$=g0;function T0(t,e){if(t==null)return{};var r=Wr(Dc(t),function(n){return[n]});return e=tt(e),M$(t,r,function(n,i){return e(n,i[0])})}a(T0,"pickBy");var Xt=T0;function x0(t,e,r,n,i){return i(t,function(s,o,l){r=n?(n=!1,s):e(r,s,o,l)}),r}a(x0,"baseReduce");var D$=x0;function R0(t,e,r){var n=z(t)?uR:D$,i=arguments.length<3;return n(t,tt(e,4),r,i,Yt)}a(R0,"reduce");var rt=R0;function $0(t,e){var r=z(t)?hs:Xc;return r(t,O$(tt(e,3)))}a($0,"reject");var di=$0;function E0(t,e){var r;return Yt(t,function(n,i,s){return r=e(n,i,s),!r}),!!r}a(E0,"baseSome");var F$=E0;function v0(t,e,r){var n=z(t)?zc:F$;return r&&ri(t,e,r)&&(e=void 0),n(t,tt(e,3))}a(v0,"some");var hl=v0;var A0=1/0,C0=fi&&1/$s(new fi([,-0]))[1]==A0?function(t){return new fi(t)}:ze,G$=C0;var b0=200;function S0(t,e,r){var n=-1,i=wc,s=t.length,o=!0,l=[],u=l;if(r)o=!1,i=Yc;else if(s>=b0){var c=e?null:G$(t);if(c)return $s(c);o=!1,i=Rs,u=new xs}else u=e?[]:l;e:for(;++n<s;){var f=t[n],p=e?e(f):f;if(f=r||f!==0?f:0,o&&p===p){for(var m=u.length;m--;)if(u[m]===p)continue e;e&&u.push(p),l.push(f)}else i(u,p,r)||(u!==l&&u.push(p),l.push(f))}return l}a(S0,"baseUniq");var U$=S0;function w0(t){return t&&t.length?U$(t):[]}a(w0,"uniq");var vs=w0;function As(t){console&&console.error&&console.error(`Error: ${t}`)}a(As,"PRINT_ERROR");function yl(t){console&&console.warn&&console.warn(`Warning: ${t}`)}a(yl,"PRINT_WARNING");function gl(t){let e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}a(gl,"timer");function Tl(t){function e(){}a(e,"FakeConstructor"),e.prototype=t;let r=new e;function n(){return typeof r.bar}return a(n,"fakeAccess"),n(),n(),t;(0,eval)(t)}a(Tl,"toFastProperties");function N0(t){return I0(t)?t.LABEL:t.name}a(N0,"tokenLabel");function I0(t){return ut(t.LABEL)&&t.LABEL!==""}a(I0,"hasTokenLabel");var ar=class{static{a(this,"AbstractProduction")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),G(this.definition,r=>{r.accept(e)})}},pe=class extends ar{static{a(this,"NonTerminal")}constructor(e){super([]),this.idx=1,Rt(this,Xt(e,r=>r!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},Ut=class extends ar{static{a(this,"Rule")}constructor(e){super(e.definition),this.orgText="",Rt(this,Xt(e,r=>r!==void 0))}},Ae=class extends ar{static{a(this,"Alternative")}constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Rt(this,Xt(e,r=>r!==void 0))}},de=class extends ar{static{a(this,"Option")}constructor(e){super(e.definition),this.idx=1,Rt(this,Xt(e,r=>r!==void 0))}},Ce=class extends ar{static{a(this,"RepetitionMandatory")}constructor(e){super(e.definition),this.idx=1,Rt(this,Xt(e,r=>r!==void 0))}},be=class extends ar{static{a(this,"RepetitionMandatoryWithSeparator")}constructor(e){super(e.definition),this.idx=1,Rt(this,Xt(e,r=>r!==void 0))}},ae=class extends ar{static{a(this,"Repetition")}constructor(e){super(e.definition),this.idx=1,Rt(this,Xt(e,r=>r!==void 0))}},xe=class extends ar{static{a(this,"RepetitionWithSeparator")}constructor(e){super(e.definition),this.idx=1,Rt(this,Xt(e,r=>r!==void 0))}},Re=class extends ar{static{a(this,"Alternation")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Rt(this,Xt(e,r=>r!==void 0))}},re=class{static{a(this,"Terminal")}constructor(e){this.idx=1,Rt(this,Xt(e,r=>r!==void 0))}accept(e){e.visit(this)}};function Zc(t){return F(t,Cs)}a(Zc,"serializeGrammar");function Cs(t){function e(r){return F(r,Cs)}if(a(e,"convertDefinition"),t instanceof pe){let r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return ut(t.label)&&(r.label=t.label),r}else{if(t instanceof Ae)return{type:"Alternative",definition:e(t.definition)};if(t instanceof de)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof Ce)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof be)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Cs(new re({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof xe)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Cs(new re({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof ae)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Re)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof re){let r={type:"Terminal",name:t.terminalType.name,label:N0(t.terminalType),idx:t.idx};ut(t.label)&&(r.terminalLabel=t.label);let n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=yr(n)?n.source:n),r}else{if(t instanceof Ut)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}a(Cs,"serializeProduction");var jt=class{static{a(this,"GAstVisitor")}visit(e){let r=e;switch(r.constructor){case pe:return this.visitNonTerminal(r);case Ae:return this.visitAlternative(r);case de:return this.visitOption(r);case Ce:return this.visitRepetitionMandatory(r);case be:return this.visitRepetitionMandatoryWithSeparator(r);case xe:return this.visitRepetitionWithSeparator(r);case ae:return this.visitRepetition(r);case Re:return this.visitAlternation(r);case re:return this.visitTerminal(r);case Ut:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}};function Nm(t){return t instanceof Ae||t instanceof de||t instanceof ae||t instanceof Ce||t instanceof be||t instanceof xe||t instanceof re||t instanceof Ut}a(Nm,"isSequenceProd");function oa(t,e=[]){return t instanceof de||t instanceof ae||t instanceof xe?!0:t instanceof Re?hl(t.definition,n=>oa(n,e)):t instanceof pe&&Pe(e,t)?!1:t instanceof ar?(t instanceof pe&&e.push(t),bt(t.definition,n=>oa(n,e))):!1}a(oa,"isOptionalProd");function Im(t){return t instanceof Re}a(Im,"isBranchingProd");function Jt(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(Jt,"getProductionDslName");var vn=class{static{a(this,"RestWalker")}walk(e,r=[]){G(e.definition,(n,i)=>{let s=Xe(e.definition,i+1);if(n instanceof pe)this.walkProdRef(n,s,r);else if(n instanceof re)this.walkTerminal(n,s,r);else if(n instanceof Ae)this.walkFlat(n,s,r);else if(n instanceof de)this.walkOption(n,s,r);else if(n instanceof Ce)this.walkAtLeastOne(n,s,r);else if(n instanceof be)this.walkAtLeastOneSep(n,s,r);else if(n instanceof xe)this.walkManySep(n,s,r);else if(n instanceof ae)this.walkMany(n,s,r);else if(n instanceof Re)this.walkOr(n,s,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){let i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){let i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){let i=[new de({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){let i=j$(e,r,n);this.walk(e,i)}walkMany(e,r,n){let i=[new de({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){let i=j$(e,r,n);this.walk(e,i)}walkOr(e,r,n){let i=r.concat(n);G(e.definition,s=>{let o=new Ae({definition:[s]});this.walk(o,i)})}};function j$(t,e,r){return[new de({definition:[new re({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}a(j$,"restForRepetitionWithSeparator");function la(t){if(t instanceof pe)return la(t.referencedRule);if(t instanceof re)return P0(t);if(Nm(t))return _0(t);if(Im(t))return k0(t);throw Error("non exhaustive match")}a(la,"first");function _0(t){let e=[],r=t.definition,n=0,i=r.length>n,s,o=!0;for(;i&&o;)s=r[n],o=oa(s),e=e.concat(la(s)),n=n+1,i=r.length>n;return vs(e)}a(_0,"firstForSequence");function k0(t){let e=F(t.definition,r=>la(r));return vs(lt(e))}a(k0,"firstForBranching");function P0(t){return[t.terminalType]}a(P0,"firstForTerminal");var Qc="_~IN~_";var _m=class extends vn{static{a(this,"ResyncFollowsWalker")}constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){let i=O0(e.referencedRule,e.idx)+this.topProd.name,s=r.concat(n),o=new Ae({definition:s}),l=la(o);this.follows[i]=l}};function z$(t){let e={};return G(t,r=>{let n=new _m(r).startWalking();Rt(e,n)}),e}a(z$,"computeAllProdsFollows");function O0(t,e){return t.name+e+Qc}a(O0,"buildBetweenProdsFollowPrefix");var ef={},L0=new na;function bs(t){let e=t.toString();if(ef.hasOwnProperty(e))return ef[e];{let r=L0.pattern(e);return ef[e]=r,r}}a(bs,"getRegExpAst");function B$(){ef={}}a(B$,"clearRegExpParserCache");var q$="Complement Sets are not supported for first char optimization",xl=`Unable to use "first char" lexer optimizations:
|
|
`;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 can be used to for example to completely ignore whitespace.";Le.NA=/NOT_APPLICABLE/;function bn(t){return Fm(t)?t.LABEL:t.name}a(bn,"tokenLabel");function Fm(t){return ut(t.LABEL)&&t.LABEL!==""}a(Fm,"hasTokenLabel");var l1="parent",uE="categories",cE="label",fE="group",pE="push_mode",dE="pop_mode",mE="longer_alt",hE="line_breaks",yE="start_chars_hint";function mi(t){return u1(t)}a(mi,"createToken");function u1(t){let e=t.pattern,r={};if(r.name=t.name,wt(e)||(r.PATTERN=e),U(t,l1))throw`The parent property is no longer supported.
|
|
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,"getAlternativesForProd");r.length<e&&i<t.length;){let l=t[i];if(l instanceof Ae)return o(l.definition);if(l instanceof pe)return o(l.definition);if(l instanceof de)n=o(l.definition);else if(l instanceof Ce){let u=l.definition.concat([new ae({definition:l.definition})]);return o(u)}else if(l instanceof be){let u=[new Ae({definition:l.definition}),new ae({definition:[new re({terminalType:l.separator})].concat(l.definition)})];return o(u)}else if(l instanceof xe){let u=l.definition.concat([new ae({definition:[new re({terminalType:l.separator})].concat(l.definition)})]);n=o(u)}else if(l instanceof ae){let u=l.definition.concat([new ae({definition:l.definition})]);n=o(u)}else{if(l instanceof Re)return G(l.definition,u=>{ne(u.definition)===!1&&(n=o(u.definition))}),n;if(l instanceof re)r.push(l.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:Xe(t,i)}),n}a(uf,"possiblePathsFrom");function cf(t,e,r,n){let i="EXIT_NONE_TERMINAL",s=[i],o="EXIT_ALTERNATIVE",l=!1,u=e.length,c=u-n-1,f=[],p=[];for(p.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!ne(p);){let m=p.pop();if(m===o){l&&kr(p).idx<=c&&p.pop();continue}let y=m.def,A=m.idx,C=m.ruleStack,_=m.occurrenceStack;if(ne(y))continue;let S=y[0];if(S===i){let w={idx:A,def:Xe(y),ruleStack:En(C),occurrenceStack:En(_)};p.push(w)}else if(S instanceof re)if(A<u-1){let w=A+1,$=e[w];if(r($,S.terminalType)){let K={idx:w,def:Xe(y),ruleStack:C,occurrenceStack:_};p.push(K)}}else if(A===u-1)f.push({nextTokenType:S.terminalType,nextTokenOccurrence:S.idx,ruleStack:C,occurrenceStack:_}),l=!0;else throw Error("non exhaustive match");else if(S instanceof pe){let w=ve(C);w.push(S.nonTerminalName);let $=ve(_);$.push(S.idx);let K={idx:A,def:S.definition.concat(s,Xe(y)),ruleStack:w,occurrenceStack:$};p.push(K)}else if(S instanceof de){let w={idx:A,def:Xe(y),ruleStack:C,occurrenceStack:_};p.push(w),p.push(o);let $={idx:A,def:S.definition.concat(Xe(y)),ruleStack:C,occurrenceStack:_};p.push($)}else if(S instanceof Ce){let w=new ae({definition:S.definition,idx:S.idx}),$=S.definition.concat([w],Xe(y)),K={idx:A,def:$,ruleStack:C,occurrenceStack:_};p.push(K)}else if(S instanceof be){let w=new re({terminalType:S.separator}),$=new ae({definition:[w].concat(S.definition),idx:S.idx}),K=S.definition.concat([$],Xe(y)),M={idx:A,def:K,ruleStack:C,occurrenceStack:_};p.push(M)}else if(S instanceof xe){let w={idx:A,def:Xe(y),ruleStack:C,occurrenceStack:_};p.push(w),p.push(o);let $=new re({terminalType:S.separator}),K=new ae({definition:[$].concat(S.definition),idx:S.idx}),M=S.definition.concat([K],Xe(y)),ge={idx:A,def:M,ruleStack:C,occurrenceStack:_};p.push(ge)}else if(S instanceof ae){let w={idx:A,def:Xe(y),ruleStack:C,occurrenceStack:_};p.push(w),p.push(o);let $=new ae({definition:S.definition,idx:S.idx}),K=S.definition.concat([$],Xe(y)),M={idx:A,def:K,ruleStack:C,occurrenceStack:_};p.push(M)}else if(S instanceof Re)for(let w=S.definition.length-1;w>=0;w--){let $=S.definition[w],K={idx:A,def:$.definition.concat(Xe(y)),ruleStack:C,occurrenceStack:_};p.push(K),p.push(o)}else if(S instanceof Ae)p.push({idx:A,def:S.definition.concat(Xe(y)),ruleStack:C,occurrenceStack:_});else if(S instanceof Ut)p.push(c1(S,A,C,_));else throw Error("non exhaustive match")}return f}a(cf,"nextPossibleTokensAfter");function c1(t,e,r,n){let i=ve(r);i.push(t.name);let s=ve(n);return s.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:s}}a(c1,"expandTopLevelRule");var Me;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(Me||(Me={}));function Al(t){if(t instanceof de||t==="Option")return Me.OPTION;if(t instanceof ae||t==="Repetition")return Me.REPETITION;if(t instanceof Ce||t==="RepetitionMandatory")return Me.REPETITION_MANDATORY;if(t instanceof be||t==="RepetitionMandatoryWithSeparator")return Me.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof xe||t==="RepetitionWithSeparator")return Me.REPETITION_WITH_SEPARATOR;if(t instanceof Re||t==="Alternation")return Me.ALTERNATION;throw Error("non exhaustive match")}a(Al,"getProdType");function pf(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,s=Al(n);return s===Me.ALTERNATION?ks(e,r,i):Ps(e,r,s,i)}a(pf,"getLookaheadPaths");function RE(t,e,r,n,i,s){let o=ks(t,e,r),l=bE(o)?Ns:An;return s(o,n,l,i)}a(RE,"buildLookaheadFuncForOr");function $E(t,e,r,n,i,s){let o=Ps(t,e,i,r),l=bE(o)?Ns:An;return s(o[0],l,n)}a($E,"buildLookaheadFuncForOptionalProd");function EE(t,e,r,n){let i=t.length,s=bt(t,o=>bt(o,l=>l.length===1));if(e)return function(o){let l=F(o,u=>u.GATE);for(let u=0;u<i;u++){let c=t[u],f=c.length,p=l[u];if(!(p!==void 0&&p.call(this)===!1))e:for(let m=0;m<f;m++){let y=c[m],A=y.length;for(let C=0;C<A;C++){let _=this.LA(C+1);if(r(_,y[C])===!1)continue e}return u}}};if(s&&!n){let o=F(t,u=>lt(u)),l=rt(o,(u,c,f)=>(G(c,p=>{U(u,p.tokenTypeIdx)||(u[p.tokenTypeIdx]=f),G(p.categoryMatches,m=>{U(u,m)||(u[m]=f)})}),u),{});return function(){let u=this.LA(1);return l[u.tokenTypeIdx]}}else return function(){for(let o=0;o<i;o++){let l=t[o],u=l.length;e:for(let c=0;c<u;c++){let f=l[c],p=f.length;for(let m=0;m<p;m++){let y=this.LA(m+1);if(r(y,f[m])===!1)continue e}return o}}}}a(EE,"buildAlternativesLookAheadFunc");function vE(t,e,r){let n=bt(t,s=>s.length===1),i=t.length;if(n&&!r){let s=lt(t);if(s.length===1&&ne(s[0].categoryMatches)){let l=s[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===l}}else{let o=rt(s,(l,u,c)=>(l[u.tokenTypeIdx]=!0,G(u.categoryMatches,f=>{l[f]=!0}),l),[]);return function(){let l=this.LA(1);return o[l.tokenTypeIdx]===!0}}}else return function(){e:for(let s=0;s<i;s++){let o=t[s],l=o.length;for(let u=0;u<l;u++){let c=this.LA(u+1);if(e(c,o[u])===!1)continue e}return!0}return!1}}a(vE,"buildSingleAlternativeLookaheadFunction");var zm=class extends vn{static{a(this,"RestDefinitionFinderWalker")}constructor(e,r,n){super(),this.topProd=e,this.targetOccurrence=r,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,r,n,i){return e.idx===this.targetOccurrence&&this.targetProdType===r?(this.restDef=n.concat(i),!0):!1}walkOption(e,r,n){this.checkIsTarget(e,Me.OPTION,r,n)||super.walkOption(e,r,n)}walkAtLeastOne(e,r,n){this.checkIsTarget(e,Me.REPETITION_MANDATORY,r,n)||super.walkOption(e,r,n)}walkAtLeastOneSep(e,r,n){this.checkIsTarget(e,Me.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}walkMany(e,r,n){this.checkIsTarget(e,Me.REPETITION,r,n)||super.walkOption(e,r,n)}walkManySep(e,r,n){this.checkIsTarget(e,Me.REPETITION_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}},ff=class extends jt{static{a(this,"InsideDefinitionFinderVisitor")}constructor(e,r,n){super(),this.targetOccurrence=e,this.targetProdType=r,this.targetRef=n,this.result=[]}checkIsTarget(e,r){e.idx===this.targetOccurrence&&this.targetProdType===r&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,Me.OPTION)}visitRepetition(e){this.checkIsTarget(e,Me.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,Me.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,Me.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,Me.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,Me.ALTERNATION)}};function xE(t){let e=new Array(t);for(let r=0;r<t;r++)e[r]=[];return e}a(xE,"initializeArrayOfArrays");function jm(t){let e=[""];for(let r=0;r<t.length;r++){let n=t[r],i=[];for(let s=0;s<e.length;s++){let o=e[s];i.push(o+"_"+n.tokenTypeIdx);for(let l=0;l<n.categoryMatches.length;l++){let u="_"+n.categoryMatches[l];i.push(o+u)}}e=i}return e}a(jm,"pathToHashKeys");function f1(t,e,r){for(let n=0;n<t.length;n++){if(n===r)continue;let i=t[n];for(let s=0;s<e.length;s++){let o=e[s];if(i[o]===!0)return!1}}return!0}a(f1,"isUniquePrefixHash");function AE(t,e){let r=F(t,o=>uf([o],1)),n=xE(r.length),i=F(r,o=>{let l={};return G(o,u=>{let c=jm(u.partialPath);G(c,f=>{l[f]=!0})}),l}),s=r;for(let o=1;o<=e;o++){let l=s;s=xE(l.length);for(let u=0;u<l.length;u++){let c=l[u];for(let f=0;f<c.length;f++){let p=c[f].partialPath,m=c[f].suffixDef,y=jm(p);if(f1(i,y,u)||ne(m)||p.length===e){let C=n[u];if(df(C,p)===!1){C.push(p);for(let _=0;_<y.length;_++){let S=y[_];i[u][S]=!0}}}else{let C=uf(m,o+1,p);s[u]=s[u].concat(C),G(C,_=>{let S=jm(_.partialPath);G(S,w=>{i[u][w]=!0})})}}}}return n}a(AE,"lookAheadSequenceFromAlternatives");function ks(t,e,r,n){let i=new ff(t,Me.ALTERNATION,n);return e.accept(i),AE(i.result,r)}a(ks,"getLookaheadPathsForOr");function Ps(t,e,r,n){let i=new ff(t,r);e.accept(i);let s=i.result,l=new zm(e,t,r).startWalking(),u=new Ae({definition:s}),c=new Ae({definition:l});return AE([u,c],n)}a(Ps,"getLookaheadPathsForOptionalProd");function df(t,e){e:for(let r=0;r<t.length;r++){let n=t[r];if(n.length===e.length){for(let i=0;i<n.length;i++){let s=e[i],o=n[i];if((s===o||o.categoryMatchesMap[s.tokenTypeIdx]!==void 0)===!1)continue e}return!0}}return!1}a(df,"containsPath");function CE(t,e){return t.length<e.length&&bt(t,(r,n)=>{let i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}a(CE,"isStrictPrefixOfPath");function bE(t){return bt(t,e=>bt(e,r=>bt(r,n=>ne(n.categoryMatches))))}a(bE,"areTokenCategoriesNotUsed");function SE(t){let e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return F(e,r=>Object.assign({type:ct.CUSTOM_LOOKAHEAD_VALIDATION},r))}a(SE,"validateLookahead");function wE(t,e,r,n){let i=Gt(t,u=>p1(u,r)),s=T1(t,e,r),o=Gt(t,u=>h1(u,r)),l=Gt(t,u=>m1(u,t,n,r));return i.concat(s,o,l)}a(wE,"validateGrammar");function p1(t,e){let r=new Bm;t.accept(r);let n=r.allProductions,i=wm(n,d1),s=Xt(i,l=>l.length>1);return F(ye(s),l=>{let u=ht(l),c=e.buildDuplicateFoundError(t,l),f=Jt(u),p={message:c,type:ct.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:f,occurrence:u.idx},m=NE(u);return m&&(p.parameter=m),p})}a(p1,"validateDuplicateProductions");function d1(t){return`${Jt(t)}_#_${t.idx}_#_${NE(t)}`}a(d1,"identifyProductionForDuplicates");function NE(t){return t instanceof re?t.terminalType.name:t instanceof pe?t.nonTerminalName:""}a(NE,"getExtraProductionArgument");var Bm=class extends jt{static{a(this,"OccurrenceValidationCollector")}constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}};function m1(t,e,r,n){let i=[];if(rt(e,(o,l)=>l.name===t.name?o+1:o,0)>1){let o=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:o,type:ct.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}a(m1,"validateRuleDoesNotAlreadyExist");function IE(t,e,r){let n=[],i;return Pe(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:ct.INVALID_RULE_OVERRIDE,ruleName:t})),n}a(IE,"validateRuleIsOverridden");function qm(t,e,r,n=[]){let i=[],s=mf(e.definition);if(ne(s))return[];{let o=t.name;Pe(s,t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:ct.LEFT_RECURSION,ruleName:o});let u=pi(s,n.concat([t])),c=Gt(u,f=>{let p=ve(n);return p.push(f),qm(t,f,r,p)});return i.concat(c)}}a(qm,"validateNoLeftRecursion");function mf(t){let e=[];if(ne(t))return e;let r=ht(t);if(r instanceof pe)e.push(r.referencedRule);else if(r instanceof Ae||r instanceof de||r instanceof Ce||r instanceof be||r instanceof xe||r instanceof ae)e=e.concat(mf(r.definition));else if(r instanceof Re)e=lt(F(r.definition,s=>mf(s.definition)));else if(!(r instanceof re))throw Error("non exhaustive match");let n=oa(r),i=t.length>1;if(n&&i){let s=Xe(t);return e.concat(mf(s))}else return e}a(mf,"getFirstNoneTerminal");var Cl=class extends jt{static{a(this,"OrCollector")}constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function _E(t,e){let r=new Cl;t.accept(r);let n=r.alternations;return Gt(n,s=>{let o=En(s.definition);return Gt(o,(l,u)=>{let c=cf([l],[],An,1);return ne(c)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:s,emptyChoiceIdx:u}),type:ct.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:s.idx,alternative:u+1}]:[]})})}a(_E,"validateEmptyOrAlternative");function kE(t,e,r){let n=new Cl;t.accept(n);let i=n.alternations;return i=di(i,o=>o.ignoreAmbiguities===!0),Gt(i,o=>{let l=o.idx,u=o.maxLookahead||e,c=ks(l,t,u,o),f=y1(c,o,t,r),p=g1(c,o,t,r);return f.concat(p)})}a(kE,"validateAmbiguousAlternationAlternatives");var Km=class extends jt{static{a(this,"RepetitionCollector")}constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}};function h1(t,e){let r=new Cl;t.accept(r);let n=r.alternations;return Gt(n,s=>s.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:s}),type:ct.TOO_MANY_ALTS,ruleName:t.name,occurrence:s.idx}]:[])}a(h1,"validateTooManyAlts");function PE(t,e,r){let n=[];return G(t,i=>{let s=new Km;i.accept(s);let o=s.allProductions;G(o,l=>{let u=Al(l),c=l.maxLookahead||e,f=l.idx,m=Ps(f,i,u,c)[0];if(ne(lt(m))){let y=r.buildEmptyRepetitionError({topLevelRule:i,repetition:l});n.push({message:y,type:ct.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}a(PE,"validateSomeNonEmptyLookaheadPath");function y1(t,e,r,n){let i=[],s=rt(t,(l,u,c)=>(e.definition[c].ignoreAmbiguities===!0||G(u,f=>{let p=[c];G(t,(m,y)=>{c!==y&&df(m,f)&&e.definition[y].ignoreAmbiguities!==!0&&p.push(y)}),p.length>1&&!df(i,f)&&(i.push(f),l.push({alts:p,path:f}))}),l),[]);return F(s,l=>{let u=F(l.alts,f=>f+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:u,prefixPath:l.path}),type:ct.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:l.alts}})}a(y1,"checkAlternativesAmbiguities");function g1(t,e,r,n){let i=rt(t,(o,l,u)=>{let c=F(l,f=>({idx:u,path:f}));return o.concat(c)},[]);return Qr(Gt(i,o=>{if(e.definition[o.idx].ignoreAmbiguities===!0)return[];let u=o.idx,c=o.path,f=St(i,m=>e.definition[m.idx].ignoreAmbiguities!==!0&&m.idx<u&&CE(m.path,c));return F(f,m=>{let y=[m.idx+1,u+1],A=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:y,prefixPath:m.path}),type:ct.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:A,alternatives:y}})}))}a(g1,"checkPrefixAlternativesAmbiguities");function T1(t,e,r){let n=[],i=F(e,s=>s.name);return G(t,s=>{let o=s.name;if(Pe(i,o)){let l=r.buildNamespaceConflictError(s);n.push({message:l,type:ct.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:o})}}),n}a(T1,"checkTerminalAndNoneTerminalsNameSpace");function OE(t){let e=Es(t,{errMsgProvider:gE}),r={};return G(t.rules,n=>{r[n.name]=n}),TE(r,e.errMsgProvider)}a(OE,"resolveGrammar");function LE(t){return t=Es(t,{errMsgProvider:Pr}),wE(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}a(LE,"validateGrammar");var ME="MismatchedTokenException",DE="NoViableAltException",FE="EarlyExitException",GE="NotAllInputParsedException",UE=[ME,DE,FE,GE];Object.freeze(UE);function hi(t){return Pe(UE,t.name)}a(hi,"isRecognitionException");var Os=class extends Error{static{a(this,"RecognitionException")}constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},ca=class extends Os{static{a(this,"MismatchedTokenException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=ME}},bl=class extends Os{static{a(this,"NoViableAltException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=DE}},Sl=class extends Os{static{a(this,"NotAllInputParsedException")}constructor(e,r){super(e,r),this.name=GE}},wl=class extends Os{static{a(this,"EarlyExitException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=FE}};var Wm={},Hm="InRuleRecoveryException",Vm=class extends Error{static{a(this,"InRuleRecoveryException")}constructor(e){super(e),this.name=Hm}},hf=class{static{a(this,"Recoverable")}initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=U(e,"recoveryEnabled")?e.recoveryEnabled:zt.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=x1)}getTokenToInsert(e){let r=Sn(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){let s=this.findReSyncTokenType(),o=this.exportLexerState(),l=[],u=!1,c=this.LA(1),f=this.LA(1),p=a(()=>{let m=this.LA(0),y=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:c,previous:m,ruleName:this.getCurrRuleFullName()}),A=new ca(y,c,this.LA(0));A.resyncedTokens=En(l),this.SAVE_ERROR(A)},"generateErrorMessage");for(;!u;)if(this.tokenMatcher(f,i)){p();return}else if(n.call(this)){p(),e.apply(this,r);return}else this.tokenMatcher(f,s)?u=!0:(f=this.SKIP_TOKEN(),this.addToResyncTokens(f,l));this.importLexerState(o)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getFollowsForInRuleRecovery(e,r){let n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new Vm("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||ne(r))return!1;let n=this.LA(1);return en(r,s=>this.tokenMatcher(n,s))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let r=this.getCurrFollowKey(),n=this.getFollowSetFromFollowKey(r);return Pe(n,e)}findReSyncTokenType(){let e=this.flattenFollowSet(),r=this.LA(1),n=2;for(;;){let i=en(e,s=>$l(r,s));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return Wm;let e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK;return F(e,(n,i)=>i===0?Wm:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:r[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){let e=F(this.buildFullFollowKeyStack(),r=>this.getFollowSetFromFollowKey(r));return lt(e)}getFollowSetFromFollowKey(e){if(e===Wm)return[sr];let r=e.ruleName+e.idxInCallingRule+Qc+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,sr)||r.push(e),r}reSyncTo(e){let r=[],n=this.LA(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return En(r)}attemptInRepetitionRecovery(e,r,n,i,s,o,l){}getCurrentGrammarPath(e,r){let n=this.getHumanReadableRuleStack(),i=ve(this.RULE_OCCURRENCE_STACK);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){return F(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};function x1(t,e,r,n,i,s,o){let l=this.getKeyForAutomaticLookahead(n,i),u=this.firstAfterRepMap[l];if(u===void 0){let m=this.getCurrRuleFullName(),y=this.getGAstProductions()[m];u=new s(y,i).startWalking(),this.firstAfterRepMap[l]=u}let c=u.token,f=u.occurrence,p=u.isEndOfRule;this.RULE_STACK.length===1&&p&&c===void 0&&(c=sr,f=1),!(c===void 0||f===void 0)&&this.shouldInRepetitionRecoveryBeTried(c,f,o)&&this.tryInRepetitionRecovery(t,e,r,c)}a(x1,"attemptInRepetitionRecovery");function yf(t,e,r){return r|e|t}a(yf,"getKeyForAutomaticLookahead");var Nn=class{static{a(this,"LLkLookaheadStrategy")}constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:zt.maxLookahead}validate(e){let r=this.validateNoLeftRecursion(e.rules);if(ne(r)){let n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),s=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...s]}return r}validateNoLeftRecursion(e){return Gt(e,r=>qm(r,r,Pr))}validateEmptyOrAlternatives(e){return Gt(e,r=>_E(r,Pr))}validateAmbiguousAlternationAlternatives(e,r){return Gt(e,n=>kE(n,r,Pr))}validateSomeNonEmptyLookaheadPath(e,r){return PE(e,r,Pr)}buildLookaheadForAlternation(e){return RE(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,EE)}buildLookaheadForOptional(e){return $E(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,Al(e.prodType),vE)}};var Tf=class{static{a(this,"LooksAhead")}initLooksAhead(e){this.dynamicTokensEnabled=U(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:zt.dynamicTokensEnabled,this.maxLookahead=U(e,"maxLookahead")?e.maxLookahead:zt.maxLookahead,this.lookaheadStrategy=U(e,"lookaheadStrategy")?e.lookaheadStrategy:new Nn({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){G(e,r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{let{alternation:n,repetition:i,option:s,repetitionMandatory:o,repetitionMandatoryWithSeparator:l,repetitionWithSeparator:u}=R1(r);G(n,c=>{let f=c.idx===0?"":c.idx;this.TRACE_INIT(`${Jt(c)}${f}`,()=>{let p=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:c.idx,rule:r,maxLookahead:c.maxLookahead||this.maxLookahead,hasPredicates:c.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),m=yf(this.fullRuleNameToShort[r.name],256,c.idx);this.setLaFuncCache(m,p)})}),G(i,c=>{this.computeLookaheadFunc(r,c.idx,768,"Repetition",c.maxLookahead,Jt(c))}),G(s,c=>{this.computeLookaheadFunc(r,c.idx,512,"Option",c.maxLookahead,Jt(c))}),G(o,c=>{this.computeLookaheadFunc(r,c.idx,1024,"RepetitionMandatory",c.maxLookahead,Jt(c))}),G(l,c=>{this.computeLookaheadFunc(r,c.idx,1536,"RepetitionMandatoryWithSeparator",c.maxLookahead,Jt(c))}),G(u,c=>{this.computeLookaheadFunc(r,c.idx,1280,"RepetitionWithSeparator",c.maxLookahead,Jt(c))})})})}computeLookaheadFunc(e,r,n,i,s,o){this.TRACE_INIT(`${o}${r===0?"":r}`,()=>{let l=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:s||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),u=yf(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(u,l)})}getKeyForAutomaticLookahead(e,r){let n=this.getLastExplicitRuleShortName();return yf(n,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},Ym=class extends jt{static{a(this,"DslMethodsCollectorVisitor")}constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}},gf=new Ym;function R1(t){gf.reset(),t.accept(gf);let e=gf.dslMethods;return gf.reset(),e}a(R1,"collectMethods");function Zm(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}a(Zm,"setNodeLocationOnlyOffset");function Qm(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.startColumn=e.startColumn,t.startLine=e.startLine,t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine)}a(Qm,"setNodeLocationFull");function jE(t,e,r){t.children[r]===void 0?t.children[r]=[e]:t.children[r].push(e)}a(jE,"addTerminalToCst");function zE(t,e,r){t.children[e]===void 0?t.children[e]=[r]:t.children[e].push(r)}a(zE,"addNoneTerminalToCst");var $1="name";function eh(t,e){Object.defineProperty(t,$1,{enumerable:!1,configurable:!0,writable:!1,value:e})}a(eh,"defineNameProp");function E1(t,e){let r=$e(t),n=r.length;for(let i=0;i<n;i++){let s=r[i],o=t[s],l=o.length;for(let u=0;u<l;u++){let c=o[u];c.tokenTypeIdx===void 0&&this[c.name](c.children,e)}}}a(E1,"defaultVisit");function BE(t,e){let r=a(function(){},"derivedConstructor");eh(r,t+"BaseSemantics");let n={visit:a(function(i,s){if(z(i)&&(i=i[0]),!wt(i))return this[i.name](i.children,s)},"visit"),validateVisitor:a(function(){let i=v1(this,e);if(!ne(i)){let s=F(i,o=>o.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
|
|
${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_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}};var vf=class{static{a(this,"LexerAdapter")}initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Ls}LA(e){let r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Ls:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}};var Af=class{static{a(this,"RecognizerApi")}ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=Ms){if(Pe(this.definedRulesNames,e)){let o={message:Pr.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:ct.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(o)}this.definedRulesNames.push(e);let i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=Ms){let i=IE(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);let s=this.defineRule(e,r,n);return this[e]=s,s}BACKTRACK(e,r){return function(){this.isBackTrackingStack.push(1);let n=this.saveRecogState();try{return e.apply(this,r),!0}catch(i){if(hi(i))return!1;throw i}finally{this.reloadRecogState(n),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Zc(ye(this.gastProductionsCache))}};var Cf=class{static{a(this,"RecognizerEngine")}initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Ns,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},U(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
|
|
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,r){let n=this.getKeyForAutomaticLookahead(256,r),i=z(e)?e:e.DEF,o=this.getLaFuncFromCache(n).call(this,i);if(o!==void 0)return i[o].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){let e=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new Sl(r,e))}}subruleInternal(e,r,n){let i;try{let s=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.apply(this,s),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(s){throw this.subruleInternalError(s,n,e.ruleName)}}subruleInternalError(e,r,n){throw hi(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{let s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),i=s):this.consumeInternalError(e,s,n)}catch(s){i=this.consumeInternalRecovery(e,r,s)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i,s=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new ca(i,r,s))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){let i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(s){throw s.name===Hm?n:s}}else throw n}saveRecogState(){let e=this.errors,r=ve(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK.push(n),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),sr)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}};var bf=class{static{a(this,"ErrorHandler")}initErrorHandler(e){this._errors=[],this.errorMessageProvider=U(e,"errorMessageProvider")?e.errorMessageProvider:zt.errorMessageProvider}SAVE_ERROR(e){if(hi(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:ve(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return ve(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,r,n){let i=this.getCurrRuleFullName(),s=this.getGAstProductions()[i],l=Ps(e,s,r,this.maxLookahead)[0],u=[];for(let f=1;f<=this.maxLookahead;f++)u.push(this.LA(f));let c=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:l,actual:u,previous:this.LA(0),customUserDescription:n,ruleName:i});throw this.SAVE_ERROR(new wl(c,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){let n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],s=ks(e,i,this.maxLookahead),o=[];for(let c=1;c<=this.maxLookahead;c++)o.push(this.LA(c));let l=this.LA(0),u=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:o,previous:l,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new bl(u,this.LA(1),l))}};var Sf=class{static{a(this,"ContentAssist")}initContentAssist(){}computeContentAssist(e,r){let n=this.gastProductionsCache[e];if(wt(n))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return cf([n],r,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let r=ht(e.ruleStack),i=this.getGAstProductions()[r];return new sf(i,e).startWalking()}};var If={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(If);var qE=!0,WE=Math.pow(2,8)-1,HE=mi({name:"RECORDING_PHASE_TOKEN",pattern:Le.NA});Cn([HE]);var YE=Sn(HE,`This IToken indicates the Parser is in Recording Phase
|
|
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 NF.call(e,t)?e[t]:void 0}a(IF,"hashGet");var yv=IF;var _F=Object.prototype,kF=_F.hasOwnProperty;function PF(t){var e=this.__data__;return _n?e[t]!==void 0:kF.call(e,t)}a(PF,"hashHas");var gv=PF;var OF="__lodash_hash_undefined__";function LF(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=_n&&e===void 0?OF:e,this}a(LF,"hashSet");var Tv=LF;function Gs(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(Gs,"Hash");Gs.prototype.clear=mv;Gs.prototype.delete=hv;Gs.prototype.get=yv;Gs.prototype.has=gv;Gs.prototype.set=Tv;var nh=Gs;function MF(){this.size=0,this.__data__={hash:new nh,map:new(Ti||gi),string:new nh}}a(MF,"mapCacheClear");var xv=MF;function DF(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}a(DF,"isKeyable");var Rv=DF;function FF(t,e){var r=t.__data__;return Rv(e)?r[typeof e=="string"?"string":"hash"]:r.map}a(FF,"getMapData");var xi=FF;function GF(t){var e=xi(this,t).delete(t);return this.size-=e?1:0,e}a(GF,"mapCacheDelete");var $v=GF;function UF(t){return xi(this,t).get(t)}a(UF,"mapCacheGet");var Ev=UF;function jF(t){return xi(this,t).has(t)}a(jF,"mapCacheHas");var vv=jF;function zF(t,e){var r=xi(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}a(zF,"mapCacheSet");var Av=zF;function Us(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(Us,"MapCache");Us.prototype.clear=xv;Us.prototype.delete=$v;Us.prototype.get=Ev;Us.prototype.has=vv;Us.prototype.set=Av;var fa=Us;var BF=200;function KF(t,e){var r=this.__data__;if(r instanceof gi){var n=r.__data__;if(!Ti||n.length<BF-1)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new fa(n)}return r.set(t,e),this.size=r.size,this}a(KF,"stackSet");var Cv=KF;function js(t){var e=this.__data__=new gi(t);this.size=e.size}a(js,"Stack");js.prototype.clear=rv;js.prototype.delete=nv;js.prototype.get=iv;js.prototype.has=av;js.prototype.set=Cv;var zs=js;var qF="__lodash_hash_undefined__";function WF(t){return this.__data__.set(t,qF),this}a(WF,"setCacheAdd");var bv=WF;function VF(t){return this.__data__.has(t)}a(VF,"setCacheHas");var Sv=VF;function Ff(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new fa;++e<r;)this.add(t[e])}a(Ff,"SetCache");Ff.prototype.add=Ff.prototype.push=bv;Ff.prototype.has=Sv;var Gf=Ff;function HF(t,e){for(var r=-1,n=t==null?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}a(HF,"arraySome");var wv=HF;function YF(t,e){return t.has(e)}a(YF,"cacheHas");var Uf=YF;var XF=1,JF=2;function ZF(t,e,r,n,i,s){var o=r&XF,l=t.length,u=e.length;if(l!=u&&!(o&&u>l))return!1;var c=s.get(t),f=s.get(e);if(c&&f)return c==e&&f==t;var p=-1,m=!0,y=r&JF?new Gf:void 0;for(s.set(t,e),s.set(e,t);++p<l;){var A=t[p],C=e[p];if(n)var _=o?n(C,A,p,e,t,s):n(A,C,p,t,e,s);if(_!==void 0){if(_)continue;m=!1;break}if(y){if(!wv(e,function(S,w){if(!Uf(y,w)&&(A===S||i(A,S,r,n,s)))return y.push(w)})){m=!1;break}}else if(!(A===C||i(A,C,r,n,s))){m=!1;break}}return s.delete(t),s.delete(e),m}a(ZF,"equalArrays");var jf=ZF;var QF=yt.Uint8Array,ih=QF;function eG(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}a(eG,"mapToArray");var Nv=eG;function tG(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}a(tG,"setToArray");var Bs=tG;var rG=1,nG=2,iG="[object Boolean]",aG="[object Date]",sG="[object Error]",oG="[object Map]",lG="[object Number]",uG="[object RegExp]",cG="[object Set]",fG="[object String]",pG="[object Symbol]",dG="[object ArrayBuffer]",mG="[object DataView]",Iv=Bt?Bt.prototype:void 0,ah=Iv?Iv.valueOf:void 0;function hG(t,e,r,n,i,s,o){switch(r){case mG:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case dG:return!(t.byteLength!=e.byteLength||!s(new ih(t),new ih(e)));case iG:case aG:case lG:return Of(+t,+e);case sG:return t.name==e.name&&t.message==e.message;case uG:case fG:return t==e+"";case oG:var l=Nv;case cG:var u=n&rG;if(l||(l=Bs),t.size!=e.size&&!u)return!1;var c=o.get(t);if(c)return c==e;n|=nG,o.set(t,e);var f=jf(l(t),l(e),n,i,s,o);return o.delete(t),f;case pG:if(ah)return ah.call(t)==ah.call(e)}return!1}a(hG,"equalByTag");var _v=hG;function yG(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}a(yG,"arrayPush");var zf=yG;var gG=Array.isArray,he=gG;function TG(t,e,r){var n=e(t);return he(t)?n:zf(n,r(t))}a(TG,"baseGetAllKeys");var kv=TG;function xG(t,e){for(var r=-1,n=t==null?0:t.length,i=0,s=[];++r<n;){var o=t[r];e(o,r,t)&&(s[i++]=o)}return s}a(xG,"arrayFilter");var Bf=xG;function RG(){return[]}a(RG,"stubArray");var Pv=RG;var $G=Object.prototype,EG=$G.propertyIsEnumerable,Ov=Object.getOwnPropertySymbols,vG=Ov?function(t){return t==null?[]:(t=Object(t),Bf(Ov(t),function(e){return EG.call(t,e)}))}:Pv,Lv=vG;function AG(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}a(AG,"baseTimes");var Mv=AG;function CG(t){return t!=null&&typeof t=="object"}a(CG,"isObjectLike");var Lr=CG;var bG="[object Arguments]";function SG(t){return Lr(t)&&Or(t)==bG}a(SG,"baseIsArguments");var sh=SG;var Dv=Object.prototype,wG=Dv.hasOwnProperty,NG=Dv.propertyIsEnumerable,IG=sh((function(){return arguments})())?sh:function(t){return Lr(t)&&wG.call(t,"callee")&&!NG.call(t,"callee")},Ri=IG;function _G(){return!1}a(_G,"stubFalse");var Fv=_G;var jv=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Gv=jv&&typeof module=="object"&&module&&!module.nodeType&&module,kG=Gv&&Gv.exports===jv,Uv=kG?yt.Buffer:void 0,PG=Uv?Uv.isBuffer:void 0,OG=PG||Fv,pa=OG;var LG=9007199254740991,MG=/^(?:0|[1-9]\d*)$/;function DG(t,e){var r=typeof t;return e=e??LG,!!e&&(r=="number"||r!="symbol"&&MG.test(t))&&t>-1&&t%1==0&&t<e}a(DG,"isIndex");var Kf=DG;var FG=9007199254740991;function GG(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=FG}a(GG,"isLength");var Ks=GG;var UG="[object Arguments]",jG="[object Array]",zG="[object Boolean]",BG="[object Date]",KG="[object Error]",qG="[object Function]",WG="[object Map]",VG="[object Number]",HG="[object Object]",YG="[object RegExp]",XG="[object Set]",JG="[object String]",ZG="[object WeakMap]",QG="[object ArrayBuffer]",eU="[object DataView]",tU="[object Float32Array]",rU="[object Float64Array]",nU="[object Int8Array]",iU="[object Int16Array]",aU="[object Int32Array]",sU="[object Uint8Array]",oU="[object Uint8ClampedArray]",lU="[object Uint16Array]",uU="[object Uint32Array]",Ie={};Ie[tU]=Ie[rU]=Ie[nU]=Ie[iU]=Ie[aU]=Ie[sU]=Ie[oU]=Ie[lU]=Ie[uU]=!0;Ie[UG]=Ie[jG]=Ie[QG]=Ie[zG]=Ie[eU]=Ie[BG]=Ie[KG]=Ie[qG]=Ie[WG]=Ie[VG]=Ie[HG]=Ie[YG]=Ie[XG]=Ie[JG]=Ie[ZG]=!1;function cU(t){return Lr(t)&&Ks(t.length)&&!!Ie[Or(t)]}a(cU,"baseIsTypedArray");var zv=cU;function fU(t){return function(e){return t(e)}}a(fU,"baseUnary");var Bv=fU;var Kv=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ol=Kv&&typeof module=="object"&&module&&!module.nodeType&&module,pU=Ol&&Ol.exports===Kv,oh=pU&&Lf.process,dU=(function(){try{var t=Ol&&Ol.require&&Ol.require("util").types;return t||oh&&oh.binding&&oh.binding("util")}catch{}})(),lh=dU;var qv=lh&&lh.isTypedArray,mU=qv?Bv(qv):zv,qs=mU;var hU=Object.prototype,yU=hU.hasOwnProperty;function gU(t,e){var r=he(t),n=!r&&Ri(t),i=!r&&!n&&pa(t),s=!r&&!n&&!i&&qs(t),o=r||n||i||s,l=o?Mv(t.length,String):[],u=l.length;for(var c in t)(e||yU.call(t,c))&&!(o&&(c=="length"||i&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||Kf(c,u)))&&l.push(c);return l}a(gU,"arrayLikeKeys");var Wv=gU;var TU=Object.prototype;function xU(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||TU;return t===r}a(xU,"isPrototype");var qf=xU;function RU(t,e){return function(r){return t(e(r))}}a(RU,"overArg");var Vv=RU;var $U=Vv(Object.keys,Object),Hv=$U;var EU=Object.prototype,vU=EU.hasOwnProperty;function AU(t){if(!qf(t))return Hv(t);var e=[];for(var r in Object(t))vU.call(t,r)&&r!="constructor"&&e.push(r);return e}a(AU,"baseKeys");var Wf=AU;function CU(t){return t!=null&&Ks(t.length)&&!Mf(t)}a(CU,"isArrayLike");var $i=CU;function bU(t){return $i(t)?Wv(t):Wf(t)}a(bU,"keys");var Ws=bU;function SU(t){return kv(t,Ws,Lv)}a(SU,"getAllKeys");var uh=SU;var wU=1,NU=Object.prototype,IU=NU.hasOwnProperty;function _U(t,e,r,n,i,s){var o=r&wU,l=uh(t),u=l.length,c=uh(e),f=c.length;if(u!=f&&!o)return!1;for(var p=u;p--;){var m=l[p];if(!(o?m in e:IU.call(e,m)))return!1}var y=s.get(t),A=s.get(e);if(y&&A)return y==e&&A==t;var C=!0;s.set(t,e),s.set(e,t);for(var _=o;++p<u;){m=l[p];var S=t[m],w=e[m];if(n)var $=o?n(w,S,m,e,t,s):n(S,w,m,t,e,s);if(!($===void 0?S===w||i(S,w,r,n,s):$)){C=!1;break}_||(_=m=="constructor")}if(C&&!_){var K=t.constructor,M=e.constructor;K!=M&&"constructor"in t&&"constructor"in e&&!(typeof K=="function"&&K instanceof K&&typeof M=="function"&&M instanceof M)&&(C=!1)}return s.delete(t),s.delete(e),C}a(_U,"equalObjects");var Yv=_U;var kU=gr(yt,"DataView"),Vf=kU;var PU=gr(yt,"Promise"),Hf=PU;var OU=gr(yt,"Set"),Ei=OU;var LU=gr(yt,"WeakMap"),Yf=LU;var Xv="[object Map]",MU="[object Object]",Jv="[object Promise]",Zv="[object Set]",Qv="[object WeakMap]",eA="[object DataView]",DU=In(Vf),FU=In(Ti),GU=In(Hf),UU=In(Ei),jU=In(Yf),da=Or;(Vf&&da(new Vf(new ArrayBuffer(1)))!=eA||Ti&&da(new Ti)!=Xv||Hf&&da(Hf.resolve())!=Jv||Ei&&da(new Ei)!=Zv||Yf&&da(new Yf)!=Qv)&&(da=a(function(t){var e=Or(t),r=e==MU?t.constructor:void 0,n=r?In(r):"";if(n)switch(n){case DU:return eA;case FU:return Xv;case GU:return Jv;case UU:return Zv;case jU:return Qv}return e},"getTag"));var Ll=da;var zU=1,tA="[object Arguments]",rA="[object Array]",Xf="[object Object]",BU=Object.prototype,nA=BU.hasOwnProperty;function KU(t,e,r,n,i,s){var o=he(t),l=he(e),u=o?rA:Ll(t),c=l?rA:Ll(e);u=u==tA?Xf:u,c=c==tA?Xf:c;var f=u==Xf,p=c==Xf,m=u==c;if(m&&pa(t)){if(!pa(e))return!1;o=!0,f=!1}if(m&&!f)return s||(s=new zs),o||qs(t)?jf(t,e,r,n,i,s):_v(t,e,u,r,n,i,s);if(!(r&zU)){var y=f&&nA.call(t,"__wrapped__"),A=p&&nA.call(e,"__wrapped__");if(y||A){var C=y?t.value():t,_=A?e.value():e;return s||(s=new zs),i(C,_,r,n,s)}}return m?(s||(s=new zs),Yv(t,e,r,n,i,s)):!1}a(KU,"baseIsEqualDeep");var iA=KU;function aA(t,e,r,n,i){return t===e?!0:t==null||e==null||!Lr(t)&&!Lr(e)?t!==t&&e!==e:iA(t,e,r,n,aA,i)}a(aA,"baseIsEqual");var Jf=aA;var qU=1,WU=2;function VU(t,e,r,n){var i=r.length,s=i,o=!n;if(t==null)return!s;for(t=Object(t);i--;){var l=r[i];if(o&&l[2]?l[1]!==t[l[0]]:!(l[0]in t))return!1}for(;++i<s;){l=r[i];var u=l[0],c=t[u],f=l[1];if(o&&l[2]){if(c===void 0&&!(u in t))return!1}else{var p=new zs;if(n)var m=n(c,f,u,t,e,p);if(!(m===void 0?Jf(f,c,qU|WU,n,p):m))return!1}}return!0}a(VU,"baseIsMatch");var sA=VU;function HU(t){return t===t&&!Fs(t)}a(HU,"isStrictComparable");var Zf=HU;function YU(t){for(var e=Ws(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,Zf(i)]}return e}a(YU,"getMatchData");var oA=YU;function XU(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}a(XU,"matchesStrictComparable");var Qf=XU;function JU(t){var e=oA(t);return e.length==1&&e[0][2]?Qf(e[0][0],e[0][1]):function(r){return r===t||sA(r,t,e)}}a(JU,"baseMatches");var lA=JU;var ZU="[object Symbol]";function QU(t){return typeof t=="symbol"||Lr(t)&&Or(t)==ZU}a(QU,"isSymbol");var vi=QU;var ej=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,tj=/^\w*$/;function rj(t,e){if(he(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||vi(t)?!0:tj.test(t)||!ej.test(t)||e!=null&&t in Object(e)}a(rj,"isKey");var Vs=rj;var nj="Expected a function";function ch(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(nj);var r=a(function(){var n=arguments,i=e?e.apply(this,n):n[0],s=r.cache;if(s.has(i))return s.get(i);var o=t.apply(this,n);return r.cache=s.set(i,o)||s,o},"memoized");return r.cache=new(ch.Cache||fa),r}a(ch,"memoize");ch.Cache=fa;var uA=ch;var ij=500;function aj(t){var e=uA(t,function(n){return r.size===ij&&r.clear(),n}),r=e.cache;return e}a(aj,"memoizeCapped");var cA=aj;var sj=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,oj=/\\(\\)?/g,lj=cA(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(sj,function(r,n,i,s){e.push(i?s.replace(oj,"$1"):n||r)}),e}),fA=lj;var uj=1/0,pA=Bt?Bt.prototype:void 0,dA=pA?pA.toString:void 0;function mA(t){if(typeof t=="string")return t;if(he(t))return Pf(t,mA)+"";if(vi(t))return dA?dA.call(t):"";var e=t+"";return e=="0"&&1/t==-uj?"-0":e}a(mA,"baseToString");var hA=mA;function cj(t){return t==null?"":hA(t)}a(cj,"toString");var yA=cj;function fj(t,e){return he(t)?t:Vs(t,e)?[t]:fA(yA(t))}a(fj,"castPath");var ep=fj;var pj=1/0;function dj(t){if(typeof t=="string"||vi(t))return t;var e=t+"";return e=="0"&&1/t==-pj?"-0":e}a(dj,"toKey");var Ai=dj;function mj(t,e){e=ep(e,t);for(var r=0,n=e.length;t!=null&&r<n;)t=t[Ai(e[r++])];return r&&r==n?t:void 0}a(mj,"baseGet");var tp=mj;function hj(t,e,r){var n=t==null?void 0:tp(t,e);return n===void 0?r:n}a(hj,"get");var gA=hj;function yj(t,e){return t!=null&&e in Object(t)}a(yj,"baseHasIn");var TA=yj;function gj(t,e,r){e=ep(e,t);for(var n=-1,i=e.length,s=!1;++n<i;){var o=Ai(e[n]);if(!(s=t!=null&&r(t,o)))break;t=t[o]}return s||++n!=i?s:(i=t==null?0:t.length,!!i&&Ks(i)&&Kf(o,i)&&(he(t)||Ri(t)))}a(gj,"hasPath");var xA=gj;function Tj(t,e){return t!=null&&xA(t,e,TA)}a(Tj,"hasIn");var RA=Tj;var xj=1,Rj=2;function $j(t,e){return Vs(t)&&Zf(e)?Qf(Ai(t),e):function(r){var n=gA(r,t);return n===void 0&&n===e?RA(r,t):Jf(e,n,xj|Rj)}}a($j,"baseMatchesProperty");var $A=$j;function Ej(t){return t}a(Ej,"identity");var Hs=Ej;function vj(t){return function(e){return e?.[t]}}a(vj,"baseProperty");var EA=vj;function Aj(t){return function(e){return tp(e,t)}}a(Aj,"basePropertyDeep");var vA=Aj;function Cj(t){return Vs(t)?EA(Ai(t)):vA(t)}a(Cj,"property");var AA=Cj;function bj(t){return typeof t=="function"?t:t==null?Hs:typeof t=="object"?he(t)?$A(t[0],t[1]):lA(t):AA(t)}a(bj,"baseIteratee");var Ci=bj;function Sj(t){return function(e,r,n){for(var i=-1,s=Object(e),o=n(e),l=o.length;l--;){var u=o[t?l:++i];if(r(s[u],u,s)===!1)break}return e}}a(Sj,"createBaseFor");var CA=Sj;var wj=CA(),bA=wj;function Nj(t,e){return t&&bA(t,e,Ws)}a(Nj,"baseForOwn");var SA=Nj;function Ij(t,e){return function(r,n){if(r==null)return r;if(!$i(r))return t(r,n);for(var i=r.length,s=e?i:-1,o=Object(r);(e?s--:++s<i)&&n(o[s],s,o)!==!1;);return r}}a(Ij,"createBaseEach");var wA=Ij;var _j=wA(SA),bi=_j;function kj(t,e){var r=-1,n=$i(t)?Array(t.length):[];return bi(t,function(i,s,o){n[++r]=e(i,s,o)}),n}a(kj,"baseMap");var NA=kj;function Pj(t,e){var r=he(t)?Pf:NA;return r(t,Ci(e,3))}a(Pj,"map");var or=Pj;function Oj(t,e){var r=[];return bi(t,function(n,i,s){e(n,i,s)&&r.push(n)}),r}a(Oj,"baseFilter");var IA=Oj;function Lj(t,e){var r=he(t)?Bf:IA;return r(t,Ci(e,3))}a(Lj,"filter");var _A=Lj;function ma(t,e,r){return`${t.name}_${e}_${r}`}a(ma,"buildATNKey");var Si=1,Mj=2,kA=4,PA=5;var Js=7,Dj=8,Fj=9,Gj=10,Uj=11,OA=12,Ml=class{static{a(this,"AbstractTransition")}constructor(e){this.target=e}isEpsilon(){return!1}},Ys=class extends Ml{static{a(this,"AtomTransition")}constructor(e,r){super(e),this.tokenType=r}},Dl=class extends Ml{static{a(this,"EpsilonTransition")}constructor(e){super(e)}isEpsilon(){return!0}},Xs=class extends Ml{static{a(this,"RuleTransition")}constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}};function LA(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};jj(e,t);let r=t.length;for(let n=0;n<r;n++){let i=t[n],s=ha(e,i,i);s!==void 0&&Zj(e,i,s)}return e}a(LA,"createATN");function jj(t,e){let r=e.length;for(let n=0;n<r;n++){let i=e[n],s=gt(t,i,void 0,{type:Mj}),o=gt(t,i,void 0,{type:Js});s.stop=o,t.ruleToStartState.set(i,s),t.ruleToStopState.set(i,o)}}a(jj,"createRuleStartAndStopATNStates");function MA(t,e,r){return r instanceof re?fh(t,e,r.terminalType,r):r instanceof pe?Jj(t,e,r):r instanceof Re?Wj(t,e,r):r instanceof de?Vj(t,e,r):r instanceof ae?zj(t,e,r):r instanceof xe?Bj(t,e,r):r instanceof Ce?Kj(t,e,r):r instanceof be?qj(t,e,r):ha(t,e,r)}a(MA,"atom");function zj(t,e,r){let n=gt(t,e,r,{type:PA});wi(t,n);let i=Zs(t,e,n,r,ha(t,e,r));return FA(t,e,r,i)}a(zj,"repetition");function Bj(t,e,r){let n=gt(t,e,r,{type:PA});wi(t,n);let i=Zs(t,e,n,r,ha(t,e,r)),s=fh(t,e,r.separator,r);return FA(t,e,r,i,s)}a(Bj,"repetitionSep");function Kj(t,e,r){let n=gt(t,e,r,{type:kA});wi(t,n);let i=Zs(t,e,n,r,ha(t,e,r));return DA(t,e,r,i)}a(Kj,"repetitionMandatory");function qj(t,e,r){let n=gt(t,e,r,{type:kA});wi(t,n);let i=Zs(t,e,n,r,ha(t,e,r)),s=fh(t,e,r.separator,r);return DA(t,e,r,i,s)}a(qj,"repetitionMandatorySep");function Wj(t,e,r){let n=gt(t,e,r,{type:Si});wi(t,n);let i=or(r.definition,o=>MA(t,e,o));return Zs(t,e,n,r,...i)}a(Wj,"alternation");function Vj(t,e,r){let n=gt(t,e,r,{type:Si});wi(t,n);let i=Zs(t,e,n,r,ha(t,e,r));return Hj(t,e,r,i)}a(Vj,"option");function ha(t,e,r){let n=_A(or(r.definition,i=>MA(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:Xj(t,n)}a(ha,"block");function DA(t,e,r,n,i){let s=n.left,o=n.right,l=gt(t,e,r,{type:Uj});wi(t,l);let u=gt(t,e,r,{type:OA});return s.loopback=l,u.loopback=l,t.decisionMap[ma(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=l,nt(o,l),i===void 0?(nt(l,s),nt(l,u)):(nt(l,u),nt(l,i.left),nt(i.right,s)),{left:s,right:u}}a(DA,"plus");function FA(t,e,r,n,i){let s=n.left,o=n.right,l=gt(t,e,r,{type:Gj});wi(t,l);let u=gt(t,e,r,{type:OA}),c=gt(t,e,r,{type:Fj});return l.loopback=c,u.loopback=c,nt(l,s),nt(l,u),nt(o,c),i!==void 0?(nt(c,u),nt(c,i.left),nt(i.right,s)):nt(c,l),t.decisionMap[ma(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=l,{left:l,right:u}}a(FA,"star");function Hj(t,e,r,n){let i=n.left,s=n.right;return nt(i,s),t.decisionMap[ma(e,"Option",r.idx)]=i,n}a(Hj,"optional");function wi(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}a(wi,"defineDecisionState");function Zs(t,e,r,n,...i){let s=gt(t,e,n,{type:Dj,start:r});r.end=s;for(let l of i)l!==void 0?(nt(r,l.left),nt(l.right,s)):nt(r,s);let o={left:r,right:s};return t.decisionMap[ma(e,Yj(n),n.idx)]=r,o}a(Zs,"makeAlts");function Yj(t){if(t instanceof Re)return"Alternation";if(t instanceof de)return"Option";if(t instanceof ae)return"Repetition";if(t instanceof xe)return"RepetitionWithSeparator";if(t instanceof Ce)return"RepetitionMandatory";if(t instanceof be)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}a(Yj,"getProdType");function Xj(t,e){let r=e.length;for(let s=0;s<r-1;s++){let o=e[s],l;o.left.transitions.length===1&&(l=o.left.transitions[0]);let u=l instanceof Xs,c=l,f=e[s+1].left;o.left.type===Si&&o.right.type===Si&&l!==void 0&&(u&&c.followState===o.right||l.target===o.right)?(u?c.followState=f:l.target=f,Qj(t,o.right)):nt(o.right,f)}let n=e[0],i=e[r-1];return{left:n.left,right:i.right}}a(Xj,"makeBlock");function fh(t,e,r,n){let i=gt(t,e,n,{type:Si}),s=gt(t,e,n,{type:Si});return ph(i,new Ys(s,r)),{left:i,right:s}}a(fh,"tokenRef");function Jj(t,e,r){let n=r.referencedRule,i=t.ruleToStartState.get(n),s=gt(t,e,r,{type:Si}),o=gt(t,e,r,{type:Si}),l=new Xs(i,n,o);return ph(s,l),{left:s,right:o}}a(Jj,"ruleRef");function Zj(t,e,r){let n=t.ruleToStartState.get(e);nt(n,r.left);let i=t.ruleToStopState.get(e);return nt(r.right,i),{left:n,right:i}}a(Zj,"buildRuleHandle");function nt(t,e){let r=new Dl(e);ph(t,r)}a(nt,"epsilon");function gt(t,e,r,n){let i=Object.assign({atn:t,production:r,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:t.states.length},n);return t.states.push(i),i}a(gt,"newState");function ph(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}a(ph,"addTransition");function Qj(t,e){t.states.splice(t.states.indexOf(e),1)}a(Qj,"removeState");var Fl={},Qs=class{static{a(this,"ATNConfigSet")}constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let r=dh(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return or(this.configs,e=>e.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}};function dh(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}a(dh,"getATNConfigKey");function ez(t,e,r){for(var n=-1,i=t.length;++n<i;){var s=t[n],o=e(s);if(o!=null&&(l===void 0?o===o&&!vi(o):r(o,l)))var l=o,u=s}return u}a(ez,"baseExtremum");var GA=ez;function tz(t,e){return t<e}a(tz,"baseLt");var UA=tz;function rz(t){return t&&t.length?GA(t,Hs,UA):void 0}a(rz,"min");var jA=rz;var zA=Bt?Bt.isConcatSpreadable:void 0;function nz(t){return he(t)||Ri(t)||!!(zA&&t&&t[zA])}a(nz,"isFlattenable");var BA=nz;function KA(t,e,r,n,i){var s=-1,o=t.length;for(r||(r=BA),i||(i=[]);++s<o;){var l=t[s];e>0&&r(l)?e>1?KA(l,e-1,r,n,i):zf(i,l):n||(i[i.length]=l)}return i}a(KA,"baseFlatten");var rp=KA;function iz(t,e){return rp(or(t,e),1)}a(iz,"flatMap");var qA=iz;function az(t,e,r,n){for(var i=t.length,s=r+(n?1:-1);n?s--:++s<i;)if(e(t[s],s,t))return s;return-1}a(az,"baseFindIndex");var WA=az;function sz(t){return t!==t}a(sz,"baseIsNaN");var VA=sz;function oz(t,e,r){for(var n=r-1,i=t.length;++n<i;)if(t[n]===e)return n;return-1}a(oz,"strictIndexOf");var HA=oz;function lz(t,e,r){return e===e?HA(t,e,r):WA(t,VA,r)}a(lz,"baseIndexOf");var YA=lz;function uz(t,e){var r=t==null?0:t.length;return!!r&&YA(t,e,0)>-1}a(uz,"arrayIncludes");var XA=uz;function cz(t,e,r){for(var n=-1,i=t==null?0:t.length;++n<i;)if(r(e,t[n]))return!0;return!1}a(cz,"arrayIncludesWith");var JA=cz;function fz(){}a(fz,"noop");var ZA=fz;var pz=1/0,dz=Ei&&1/Bs(new Ei([,-0]))[1]==pz?function(t){return new Ei(t)}:ZA,QA=dz;var mz=200;function hz(t,e,r){var n=-1,i=XA,s=t.length,o=!0,l=[],u=l;if(r)o=!1,i=JA;else if(s>=mz){var c=e?null:QA(t);if(c)return Bs(c);o=!1,i=Uf,u=new Gf}else u=e?[]:l;e:for(;++n<s;){var f=t[n],p=e?e(f):f;if(f=r||f!==0?f:0,o&&p===p){for(var m=u.length;m--;)if(u[m]===p)continue e;e&&u.push(p),l.push(f)}else i(u,p,r)||(u!==l&&u.push(p),l.push(f))}return l}a(hz,"baseUniq");var eC=hz;function yz(t,e){return t&&t.length?eC(t,Ci(e,2)):[]}a(yz,"uniqBy");var tC=yz;function gz(t){var e=t==null?0:t.length;return e?rp(t,1):[]}a(gz,"flatten");var rC=gz;function Tz(t,e){for(var r=-1,n=t==null?0:t.length;++r<n&&e(t[r],r,t)!==!1;);return t}a(Tz,"arrayEach");var nC=Tz;function xz(t){return typeof t=="function"?t:Hs}a(xz,"castFunction");var iC=xz;function Rz(t,e){var r=he(t)?nC:bi;return r(t,iC(e))}a(Rz,"forEach");var np=Rz;var $z="[object Map]",Ez="[object Set]",vz=Object.prototype,Az=vz.hasOwnProperty;function Cz(t){if(t==null)return!0;if($i(t)&&(he(t)||typeof t=="string"||typeof t.splice=="function"||pa(t)||qs(t)||Ri(t)))return!t.length;var e=Ll(t);if(e==$z||e==Ez)return!t.size;if(qf(t))return!Wf(t).length;for(var r in t)if(Az.call(t,r))return!1;return!0}a(Cz,"isEmpty");var aC=Cz;function bz(t,e,r,n){var i=-1,s=t==null?0:t.length;for(n&&s&&(r=t[++i]);++i<s;)r=e(r,t[i],i,t);return r}a(bz,"arrayReduce");var sC=bz;function Sz(t,e,r,n,i){return i(t,function(s,o,l){r=n?(n=!1,s):e(r,s,o,l)}),r}a(Sz,"baseReduce");var oC=Sz;function wz(t,e,r){var n=he(t)?sC:oC,i=arguments.length<3;return n(t,Ci(e,4),r,i,bi)}a(wz,"reduce");var mh=wz;function Nz(t,e){let r={};return n=>{let i=n.toString(),s=r[i];return s!==void 0||(s={atnStartState:t,decision:e,states:{}},r[i]=s),s}}a(Nz,"createDFACache");var ip=class{static{a(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="",r=this.predicates.length;for(let n=0;n<r;n++)e+=this.predicates[n]===!0?"1":"0";return e}},lC=new ip,Gl=class extends Nn{static{a(this,"LLStarLookaheadStrategy")}constructor(e){var r;super(),this.logging=(r=e?.logging)!==null&&r!==void 0?r:(n=>console.log(n))}initialize(e){this.atn=LA(e.rules),this.dfas=Iz(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:s}=e,o=this.dfas,l=this.logging,u=ma(n,"Alternation",r),f=this.atn.decisionMap[u].decision,p=or(pf({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),m=>or(m,y=>y[0]));if(uC(p,!1)&&!s){let m=mh(p,(y,A,C)=>(np(A,_=>{_&&(y[_.tokenTypeIdx]=C,np(_.categoryMatches,S=>{y[S]=C}))}),y),{});return i?function(y){var A;let C=this.LA(1),_=m[C.tokenTypeIdx];if(y!==void 0&&_!==void 0){let S=(A=y[_])===null||A===void 0?void 0:A.GATE;if(S!==void 0&&S.call(this)===!1)return}return _}:function(){let y=this.LA(1);return m[y.tokenTypeIdx]}}else return i?function(m){let y=new ip,A=m===void 0?0:m.length;for(let _=0;_<A;_++){let S=m?.[_].GATE;y.set(_,S===void 0||S.call(this))}let C=hh.call(this,o,f,y,l);return typeof C=="number"?C:void 0}:function(){let m=hh.call(this,o,f,lC,l);return typeof m=="number"?m:void 0}}buildLookaheadForOptional(e){let{prodOccurrence:r,rule:n,prodType:i,dynamicTokensEnabled:s}=e,o=this.dfas,l=this.logging,u=ma(n,i,r),f=this.atn.decisionMap[u].decision,p=or(pf({maxLookahead:1,occurrence:r,prodType:i,rule:n}),m=>or(m,y=>y[0]));if(uC(p)&&p[0][0]&&!s){let m=p[0],y=rC(m);if(y.length===1&&aC(y[0].categoryMatches)){let C=y[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===C}}else{let A=mh(y,(C,_)=>(_!==void 0&&(C[_.tokenTypeIdx]=!0,np(_.categoryMatches,S=>{C[S]=!0})),C),{});return function(){let C=this.LA(1);return A[C.tokenTypeIdx]===!0}}}return function(){let m=hh.call(this,o,f,lC,l);return typeof m=="object"?!1:m===0}}};function uC(t,e=!0){let r=new Set;for(let n of t){let i=new Set;for(let s of n){if(s===void 0){if(e)break;return!1}let o=[s.tokenTypeIdx].concat(s.categoryMatches);for(let l of o)if(r.has(l)){if(!i.has(l))return!1}else r.add(l),i.add(l)}}return!0}a(uC,"isLL1Sequence");function Iz(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;n<e;n++)r[n]=Nz(t.decisionStates[n],n);return r}a(Iz,"initATNSimulator");function hh(t,e,r,n){let i=t[e](r),s=i.start;if(s===void 0){let l=jz(i.atnStartState);s=pC(i,fC(l)),i.start=s}return _z.apply(this,[i,s,r,n])}a(hh,"adaptivePredict");function _z(t,e,r,n){let i=e,s=1,o=[],l=this.LA(s++);for(;;){let u=Dz(i,l);if(u===void 0&&(u=kz.apply(this,[t,i,l,s,r,n])),u===Fl)return Mz(o,i,l);if(u.isAcceptState===!0)return u.prediction;i=u,o.push(l),l=this.LA(s++)}}a(_z,"performLookahead");function kz(t,e,r,n,i,s){let o=Fz(e.configs,r,i);if(o.size===0)return cC(t,e,r,Fl),Fl;let l=fC(o),u=Uz(o,i);if(u!==void 0)l.isAcceptState=!0,l.prediction=u,l.configs.uniqueAlt=u;else if(qz(o)){let c=jA(o.alts);l.isAcceptState=!0,l.prediction=c,l.configs.uniqueAlt=c,Pz.apply(this,[t,n,o.alts,s])}return l=cC(t,e,r,l),l}a(kz,"computeLookaheadTarget");function Pz(t,e,r,n){let i=[];for(let c=1;c<=e;c++)i.push(this.LA(c).tokenType);let s=t.atnStartState,o=s.rule,l=s.production,u=Oz({topLevelRule:o,ambiguityIndices:r,production:l,prefixPath:i});n(u)}a(Pz,"reportLookaheadAmbiguity");function Oz(t){let e=or(t.prefixPath,i=>bn(i)).join(", "),r=t.production.idx===0?"":t.production.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${Lz(t.production)}${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}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.container.content.indexOf(n);if(s>0){n.container.content.splice(s,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){let r=this.current;typeof e.$type=="string"&&!e.$infix&&(this.current.astNode=e),e.$cstNode=r;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}},Hl=class{static{a(this,"AbstractCstNode")}get hidden(){return!1}get astNode(){let e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}},Ta=class extends Hl{static{a(this,"LeafCstNodeImpl")}get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,s=!1){super(),this._hidden=s,this._offset=e,this._tokenType=i,this._length=r,this._range=n}},xa=class extends Hl{static{a(this,"CompositeCstNodeImpl")}constructor(){super(...arguments),this.content=new Ty(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){let e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){let{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line<n.start.line?n.start:i.end}}return this._rangeCache}else return{start:le.create(0,0),end:le.create(0,0)}}get firstNonHiddenNode(){for(let e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){let r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}},Ty=class t extends Array{static{a(this,"CstNodeContainer")}constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(let r of e)r.container=this.parent}},so=class extends xa{static{a(this,"RootCstNodeImpl")}get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}};var hp=Symbol("Datatype");function xy(t){return t.$type===hp}a(xy,"isDataTypeNode");var dC="\u200B",mC=a(t=>t.endsWith(dC)?t:t+dC,"withRuleSuffix"),Yl=class{static{a(this,"AbstractLangiumParser")}constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let r=this.lexer.definition,n=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new Ry(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new gp(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},Xl=class extends Yl{static{a(this,"LangiumParser")}get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new Vl,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){let n=this.computeRuleType(e),i;Xn(e)&&(i=e.name,this.registerPrecedenceMap(e));let s=this.wrapper.DEFINE_RULE(mC(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,s),dt(e)&&e.entry&&(this.mainRule=s),s}registerPrecedenceMap(e){let r=e.name,n=new Map;for(let i=0;i<e.operators.precedences.length;i++){let s=e.operators.precedences[i];for(let o of s.operators)n.set(o.value,{precedence:i,rightAssoc:s.associativity==="right"})}this.operatorPrecedence.set(r,n)}computeRuleType(e){return Xn(e)?Zn(e):e.fragment?void 0:fl(e)?hp:Zn(e)}parse(e,r={}){this.nodeBuilder.buildRootNode(e);let n=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=n.tokens;let i=r.rule?this.allRules.get(r.rule):this.mainRule;if(!i)throw new Error(r.rule?`No rule found with name '${r.rule}'`:"No main rule available.");let s=this.doParse(i);return this.nodeBuilder.addHiddenNodes(n.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,ja(s,{deep:!0}),{value:s,lexerErrors:n.errors,lexerReport:n.report,parserErrors:this.wrapper.errors}}doParse(e){let r=this.wrapper.rule(e);if(this.stack.length>0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{let s=!this.isRecording()&&e!==void 0;if(s){let o={$type:e};this.stack.push(o),e===hp?o.value="":r!==void 0&&(o.$infixName=r)}return n(i),s?this.construct():void 0}}extractHiddenTokens(e){let r=this.lexerResult.hidden;if(!r.length)return[];let n=e.startOffset;for(let i=0;i<r.length;i++)if(r[i].startOffset>n)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){let i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){let s=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(s);let o=this.nodeBuilder.buildLeafNode(i,n),{assignment:l,crossRef:u}=this.getAssignment(n),c=this.current;if(l){let f=dr(n)?i.image:this.converter.convert(i.image,o);this.assign(l.operator,l.feature,f,o,u)}else if(xy(c)){let f=i.image;dr(n)||(f=this.converter.convert(f,o).toString()),c.value+=f}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,s){let o;!this.isRecording()&&!n&&(o=this.nodeBuilder.buildCompositeNode(i));let l;try{l=this.wrapper.wrapSubrule(e,r,s)}finally{this.isRecording()||(l===void 0&&!n&&(l=this.construct()),l!==void 0&&o&&o.length>0&&this.performSubruleAssignment(l,i,o))}}performSubruleAssignment(e,r,n){let{assignment:i,crossRef:s}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,s);else if(!i){let o=this.current;if(xy(o))o.value+=e.toString();else if(typeof e=="object"&&e){let u=this.assignWithoutOverride(e,o);this.stack.pop(),this.stack.push(u)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);let s={$type:e};this.stack.push(s),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;let e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):xy(e)?this.converter.convert(e.value,e.$cstNode):(Od(this.astReflection,e),e)}constructInfix(e,r){let n=e.parts;if(!Array.isArray(n)||n.length===0)return;let i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let s=0,o=-1;for(let C=0;C<i.length;C++){let _=i[C],S=r.get(_)??{precedence:1/0,rightAssoc:!1};S.precedence>o?(o=S.precedence,s=C):S.precedence===o&&(S.rightAssoc||(s=C))}let l=i.slice(0,s),u=i.slice(s+1),c=n.slice(0,s+1),f=n.slice(s+1),p={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:c,operators:l},m={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:f,operators:u},y=this.constructInfix(p,r),A=this.constructInfix(m,r);return{$type:e.$type,$cstNode:e.$cstNode,left:y,operator:i[s],right:A}}getAssignment(e){if(!this.assignmentMap.has(e)){let r=dn(e,wr);this.assignmentMap.set(e,{assignment:r,crossRef:r&&Nr(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,s){let o=this.current,l;switch(s==="single"&&typeof n=="string"?l=this.linker.buildReference(o,r,i,n):s==="multi"&&typeof n=="string"?l=this.linker.buildMultiReference(o,r,i,n):l=n,e){case"=":{o[r]=l;break}case"?=":{o[r]=!0;break}case"+=":Array.isArray(o[r])||(o[r]=[]),o[r].push(l)}}assignWithoutOverride(e,r){for(let[i,s]of Object.entries(r)){let o=e[i];o===void 0?e[i]=s:Array.isArray(o)&&Array.isArray(s)&&(s.push(...o),e[i]=s)}let n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},yp=class{static{a(this,"AbstractParserErrorMessageProvider")}buildMismatchTokenMessage(e){return wn.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return wn.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return wn.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return wn.buildEarlyExitMessage(e)}},oo=class extends yp{static{a(this,"LangiumParserErrorMessageProvider")}buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},Jl=class extends Yl{static{a(this,"LangiumCompletionParser")}constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){let n=this.wrapper.DEFINE_RULE(mC(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{let n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,s){this.before(i),this.wrapper.wrapSubrule(e,r,s),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}},Xz={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new oo},gp=class extends kl{static{a(this,"ChevrotainWrapper")}constructor(e,r){let n=r&&"maxLookahead"in r;super(e,{...Xz,lookaheadStrategy:n?new Nn({maxLookahead:r.maxLookahead}):new Gl({logging:r.skipValidations?()=>{}:void 0}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}},Ry=class extends gp{static{a(this,"ProfilerWrapper")}constructor(e,r,n){super(e,r),this.task=n}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}};function Zl(t,e,r){return Jz({parser:e,tokens:r,ruleNames:new Map},t),e}a(Zl,"createParser");function Jz(t,e){let r=ul(e,!1),n=te(e.rules).filter(dt).filter(s=>r.has(s));for(let s of n){let o={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(s,Ra(o,s.definition))}let i=te(e.rules).filter(Xn).filter(s=>r.has(s));for(let s of i)t.parser.rule(s,Zz(t,s))}a(Jz,"buildRules");function Zz(t,e){let r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(Mt(r))throw new Error("Cannot use terminal rule in infix expression");let n=e.operators.precedences.flatMap(y=>y.operators),i={$type:"Group",elements:[]},s={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},o={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(s,o);let u={$container:o,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},c={...s,$container:o};o.elements.push(u,c);let p=n.map(y=>t.tokens[y.value]).map((y,A)=>({ALT:a(()=>t.parser.consume(A,y,u),"ALT")})),m;return y=>{m??(m=Ey(t,r)),t.parser.subrule(0,m,!1,s,y),t.parser.many(0,{DEF:a(()=>{t.parser.alternatives(0,p),t.parser.subrule(1,m,!1,c,y)},"DEF")})}}a(Zz,"buildInfixRule");function Ra(t,e,r=!1){let n;if(dr(e))n=aB(t,e);else if(gn(e))n=Qz(t,e);else if(wr(e))n=Ra(t,e.terminal);else if(Nr(e))n=hC(t,e);else if(Ir(e))n=eB(t,e);else if(cc(e))n=rB(t,e);else if(mc(e))n=nB(t,e);else if(Yn(e))n=iB(t,e);else if(jd(e)){let i=t.consume++;n=a(()=>t.parser.consume(i,sr,e),"method")}else throw new ta(e.$cstNode,`Unexpected element type: ${e.$type}`);return yC(t,r?void 0:Tp(e),n,e.cardinality)}a(Ra,"buildElement");function Qz(t,e){let r=Zn(e);return()=>t.parser.action(r,e)}a(Qz,"buildAction");function eB(t,e){let r=e.rule.ref;if(yn(r)){let n=t.subrule++,i=dt(r)&&r.fragment,s=e.arguments.length>0?tB(r,e.arguments):()=>({}),o;return l=>{o??(o=Ey(t,r)),t.parser.subrule(n,o,i,e,s(l))}}else if(Mt(r)){let n=t.consume++,i=$y(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)Kr(r);else throw new ta(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}a(eB,"buildRuleCall");function tB(t,e){if(e.some(n=>n.calledByName)){let n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:nn(i.value)}));return i=>{let s={};for(let{parameterName:o,predicate:l}of n)o&&(s[o]=l(i));return s}}else{let n=e.map(i=>nn(i.value));return i=>{let s={};for(let o=0;o<n.length;o++)if(o<t.parameters.length){let l=t.parameters[o].name,u=n[o];s[l]=u(i)}return s}}}a(tB,"buildRuleCallPredicate");function nn(t){if(Ud(t)){let e=nn(t.left),r=nn(t.right);return n=>e(n)||r(n)}else if(Gd(t)){let e=nn(t.left),r=nn(t.right);return n=>e(n)&&r(n)}else if(Kd(t)){let e=nn(t.value);return r=>!e(r)}else if(qd(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(Dd(t)){let e=!!t.true;return()=>e}Kr(t)}a(nn,"buildPredicate");function rB(t,e){if(e.elements.length===1)return Ra(t,e.elements[0]);{let r=[];for(let i of e.elements){let s={ALT:Ra(t,i,!0)},o=Tp(i);o&&(s.GATE=nn(o)),r.push(s)}let n=t.or++;return i=>t.parser.alternatives(n,r.map(s=>{let o={ALT:a(()=>s.ALT(i),"ALT")},l=s.GATE;return l&&(o.GATE=()=>l(i)),o}))}}a(rB,"buildAlternatives");function nB(t,e){if(e.elements.length===1)return Ra(t,e.elements[0]);let r=[];for(let l of e.elements){let u={ALT:Ra(t,l,!0)},c=Tp(l);c&&(u.GATE=nn(c)),r.push(u)}let n=t.or++,i=a((l,u)=>{let c=u.getRuleStack().join("-");return`uGroup_${l}_${c}`},"idFunc"),s=a(l=>t.parser.alternatives(n,r.map((u,c)=>{let f={ALT:a(()=>!0,"ALT")},p=t.parser;f.ALT=()=>{if(u.ALT(l),!p.isRecording()){let y=i(n,p);p.unorderedGroups.get(y)||p.unorderedGroups.set(y,[]);let A=p.unorderedGroups.get(y);typeof A?.[c]>"u"&&(A[c]=!0)}};let m=u.GATE;return m?f.GATE=()=>m(l):f.GATE=()=>!p.unorderedGroups.get(i(n,p))?.[c],f})),"alternatives"),o=yC(t,Tp(e),s,"*");return l=>{o(l),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}a(nB,"buildUnorderedGroup");function iB(t,e){let r=e.elements.map(n=>Ra(t,n));return n=>r.forEach(i=>i(n))}a(iB,"buildGroup");function Tp(t){if(Yn(t))return t.guardCondition}a(Tp,"getGuardCondition");function hC(t,e,r=e.terminal){if(r)if(Ir(r)&&dt(r.rule.ref)){let n=r.rule.ref,i=t.subrule++,s;return o=>{s??(s=Ey(t,n)),t.parser.subrule(i,s,!1,e,o)}}else if(Ir(r)&&Mt(r.rule.ref)){let n=t.consume++,i=$y(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(dr(r)){let n=t.consume++,i=$y(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);let i=Rc(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+Zn(e.type.ref));return hC(t,e,i)}}a(hC,"buildCrossReference");function aB(t,e){let r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}a(aB,"buildKeyword");function yC(t,e,r,n){let i=e&&nn(e);if(!n)if(i){let s=t.or++;return o=>t.parser.alternatives(s,[{ALT:a(()=>r(o),"ALT"),GATE:a(()=>i(o),"GATE")},{ALT:kf(),GATE:a(()=>!i(o),"GATE")}])}else return r;if(n==="*"){let s=t.many++;return o=>t.parser.many(s,{DEF:a(()=>r(o),"DEF"),GATE:i?()=>i(o):void 0})}else if(n==="+"){let s=t.many++;if(i){let o=t.or++;return l=>t.parser.alternatives(o,[{ALT:a(()=>t.parser.atLeastOne(s,{DEF:a(()=>r(l),"DEF")}),"ALT"),GATE:a(()=>i(l),"GATE")},{ALT:kf(),GATE:a(()=>!i(l),"GATE")}])}else return o=>t.parser.atLeastOne(s,{DEF:a(()=>r(o),"DEF")})}else if(n==="?"){let s=t.optional++;return o=>t.parser.optional(s,{DEF:a(()=>r(o),"DEF"),GATE:i?()=>i(o):void 0})}else Kr(n)}a(yC,"wrap");function Ey(t,e){let r=sB(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}a(Ey,"getRule");function sB(t,e){if(yn(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!dt(n);)(Yn(n)||cc(n)||mc(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}a(sB,"getRuleName");function $y(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}a($y,"getToken");function vy(t){let e=t.Grammar,r=t.parser.Lexer,n=new Jl(t);return Zl(e,n,r.definition),n.finalize(),n}a(vy,"createCompletionParser");function Ay(t){let e=gC(t);return e.finalize(),e}a(Ay,"createLangiumParser");function gC(t){let e=t.Grammar,r=t.parser.Lexer,n=new Xl(t);return Zl(e,n,r.definition)}a(gC,"prepareLangiumParser");var Pn=class{static{a(this,"DefaultTokenBuilder")}constructor(){this.diagnostics=[]}buildTokens(e,r){let n=te(ul(e,!1)),i=this.buildTerminalTokens(n),s=this.buildKeywordTokens(n,i,r);return s.push(...i),s}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Mt).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=Qa(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=ll(r)?Le.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){let r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(yn).flatMap(i=>br(i).filter(dr)).distinct(i=>i.value).toArray().sort((i,s)=>s.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){let i=this.buildKeywordPattern(e,n),s={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(s.LINE_BREAKS=!0),s}buildKeywordPattern(e,r){return r?new RegExp(Jn(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{let s=i?.PATTERN;return s?.source&&um("^"+s.source+"$",e.value)&&n.push(i),n},[])}};var $a=class{static{a(this,"DefaultValueConverter")}convert(e,r){let n=r.grammarSource;if(Nr(n)&&(n=pm(n)),Ir(n)){let i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return an.convertInt(r);case"STRING":return an.convertString(r);case"ID":return an.convertID(r)}switch(xm(e)?.toLowerCase()){case"number":return an.convertNumber(r);case"boolean":return an.convertBoolean(r);case"bigint":return an.convertBigint(r);case"date":return an.convertDate(r);default:return r}}},an;(function(t){function e(c){let f="";for(let p=1;p<c.length-1;p++){let m=c.charAt(p);if(m==="\\"){let y=c.charAt(++p);f+=r(y)}else f+=m}return f}a(e,"convertString"),t.convertString=e;function r(c){switch(c){case"b":return"\b";case"f":return"\f";case"n":return`
|
|
`;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)),c.join("")}a(n,"applyEdits"),t.applyEdits=n})(fo||(fo={}));function ky(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);ky(n,e),ky(i,e);let s=0,o=0,l=0;for(;s<n.length&&o<i.length;)e(n[s],i[o])<=0?t[l++]=n[s++]:t[l++]=i[o++];for(;s<n.length;)t[l++]=n[s++];for(;o<i.length;)t[l++]=i[o++];return t}a(ky,"mergeSort");function vC(t,e,r=0){let n=e?[r]:[];for(let i=0;i<t.length;i++){let s=t.charCodeAt(i);AC(s)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,n.push(r+i+1))}return n}a(vC,"computeLineOffsets");function AC(t){return t===13||t===10}a(AC,"isEOL");function CC(t){let e=t.start,r=t.end;return e.line>r.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}a(CC,"getWellformedRange");function yB(t){let e=CC(t.range);return e!==t.range?{newText:t.newText,range:e}:t}a(yB,"getWellformedEdit");var bC;(()=>{"use strict";var t={975:N=>{function T(x){if(typeof x!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(x))}a(T,"e");function D(x,E){for(var b,O="",j=0,k=-1,X=0,Q=0;Q<=x.length;++Q){if(Q<x.length)b=x.charCodeAt(Q);else{if(b===47)break;b=47}if(b===47){if(!(k===Q-1||X===1))if(k!==Q-1&&X===2){if(O.length<2||j!==2||O.charCodeAt(O.length-1)!==46||O.charCodeAt(O.length-2)!==46){if(O.length>2){var Ze=O.lastIndexOf("/");if(Ze!==O.length-1){Ze===-1?(O="",j=0):j=(O=O.slice(0,Ze)).length-1-O.lastIndexOf("/"),k=Q,X=0;continue}}else if(O.length===2||O.length===1){O="",j=0,k=Q,X=0;continue}}E&&(O.length>0?O+="/..":O="..",j=2)}else O.length>0?O+="/"+x.slice(k+1,Q):O=x.slice(k+1,Q),j=Q-k-1;k=Q,X=0}else b===46&&X!==-1?++X:X=-1}return O}a(D,"r");var L={resolve:a(function(){for(var x,E="",b=!1,O=arguments.length-1;O>=-1&&!b;O--){var j;O>=0?j=arguments[O]:(x===void 0&&(x=process.cwd()),j=x),T(j),j.length!==0&&(E=j+"/"+E,b=j.charCodeAt(0)===47)}return E=D(E,!b),b?E.length>0?"/"+E:"/":E.length>0?E:"."},"resolve"),normalize:a(function(x){if(T(x),x.length===0)return".";var E=x.charCodeAt(0)===47,b=x.charCodeAt(x.length-1)===47;return(x=D(x,!E)).length!==0||E||(x="."),x.length>0&&b&&(x+="/"),E?"/"+x:x},"normalize"),isAbsolute:a(function(x){return T(x),x.length>0&&x.charCodeAt(0)===47},"isAbsolute"),join:a(function(){if(arguments.length===0)return".";for(var x,E=0;E<arguments.length;++E){var b=arguments[E];T(b),b.length>0&&(x===void 0?x=b:x+="/"+b)}return x===void 0?".":L.normalize(x)},"join"),relative:a(function(x,E){if(T(x),T(E),x===E||(x=L.resolve(x))===(E=L.resolve(E)))return"";for(var b=1;b<x.length&&x.charCodeAt(b)===47;++b);for(var O=x.length,j=O-b,k=1;k<E.length&&E.charCodeAt(k)===47;++k);for(var X=E.length-k,Q=j<X?j:X,Ze=-1,ce=0;ce<=Q;++ce){if(ce===Q){if(X>Q){if(E.charCodeAt(k+ce)===47)return E.slice(k+ce+1);if(ce===0)return E.slice(k+ce)}else j>Q&&(x.charCodeAt(b+ce)===47?Ze=ce:ce===0&&(Ze=0));break}var Fe=x.charCodeAt(b+ce);if(Fe!==E.charCodeAt(k+ce))break;Fe===47&&(Ze=ce)}var Gr="";for(ce=b+Ze+1;ce<=O;++ce)ce!==O&&x.charCodeAt(ce)!==47||(Gr.length===0?Gr+="..":Gr+="/..");return Gr.length>0?Gr+E.slice(k+Ze):(k+=Ze,E.charCodeAt(k)===47&&++k,E.slice(k))},"relative"),_makeLong:a(function(x){return x},"_makeLong"),dirname:a(function(x){if(T(x),x.length===0)return".";for(var E=x.charCodeAt(0),b=E===47,O=-1,j=!0,k=x.length-1;k>=1;--k)if((E=x.charCodeAt(k))===47){if(!j){O=k;break}}else j=!1;return O===-1?b?"/":".":b&&O===1?"//":x.slice(0,O)},"dirname"),basename:a(function(x,E){if(E!==void 0&&typeof E!="string")throw new TypeError('"ext" argument must be a string');T(x);var b,O=0,j=-1,k=!0;if(E!==void 0&&E.length>0&&E.length<=x.length){if(E.length===x.length&&E===x)return"";var X=E.length-1,Q=-1;for(b=x.length-1;b>=0;--b){var Ze=x.charCodeAt(b);if(Ze===47){if(!k){O=b+1;break}}else Q===-1&&(k=!1,Q=b+1),X>=0&&(Ze===E.charCodeAt(X)?--X==-1&&(j=b):(X=-1,j=Q))}return O===j?j=Q:j===-1&&(j=x.length),x.slice(O,j)}for(b=x.length-1;b>=0;--b)if(x.charCodeAt(b)===47){if(!k){O=b+1;break}}else j===-1&&(k=!1,j=b+1);return j===-1?"":x.slice(O,j)},"basename"),extname:a(function(x){T(x);for(var E=-1,b=0,O=-1,j=!0,k=0,X=x.length-1;X>=0;--X){var Q=x.charCodeAt(X);if(Q!==47)O===-1&&(j=!1,O=X+1),Q===46?E===-1?E=X:k!==1&&(k=1):E!==-1&&(k=-1);else if(!j){b=X+1;break}}return E===-1||O===-1||k===0||k===1&&E===O-1&&E===b+1?"":x.slice(E,O)},"extname"),format:a(function(x){if(x===null||typeof x!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof x);return(function(E,b){var O=b.dir||b.root,j=b.base||(b.name||"")+(b.ext||"");return O?O===b.root?O+j:O+"/"+j:j})(0,x)},"format"),parse:a(function(x){T(x);var E={root:"",dir:"",base:"",ext:"",name:""};if(x.length===0)return E;var b,O=x.charCodeAt(0),j=O===47;j?(E.root="/",b=1):b=0;for(var k=-1,X=0,Q=-1,Ze=!0,ce=x.length-1,Fe=0;ce>=b;--ce)if((O=x.charCodeAt(ce))!==47)Q===-1&&(Ze=!1,Q=ce+1),O===46?k===-1?k=ce:Fe!==1&&(Fe=1):k!==-1&&(Fe=-1);else if(!Ze){X=ce+1;break}return k===-1||Q===-1||Fe===0||Fe===1&&k===Q-1&&k===X+1?Q!==-1&&(E.base=E.name=X===0&&j?x.slice(1,Q):x.slice(X,Q)):(X===0&&j?(E.name=x.slice(1,k),E.base=x.slice(1,Q)):(E.name=x.slice(X,k),E.base=x.slice(X,Q)),E.ext=x.slice(k,Q)),X>0?E.dir=x.slice(0,X-1):j&&(E.dir="/"),E},"parse"),sep:"/",delimiter:":",win32:null,posix:null};L.posix=L,N.exports=L}},e={};function r(N){var T=e[N];if(T!==void 0)return T.exports;var D=e[N]={exports:{}};return t[N](D,D.exports,r),D.exports}a(r,"r"),r.d=(N,T)=>{for(var D in T)r.o(T,D)&&!r.o(N,D)&&Object.defineProperty(N,D,{enumerable:!0,get:T[D]})},r.o=(N,T)=>Object.prototype.hasOwnProperty.call(N,T),r.r=N=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(N,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(N,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:a(()=>m,"URI"),Utils:a(()=>pr,"Utils")}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let s=/^\w[\w\d+.-]*$/,o=/^\//,l=/^\/\//;function u(N,T){if(!N.scheme&&T)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${N.authority}", path: "${N.path}", query: "${N.query}", fragment: "${N.fragment}"}`);if(N.scheme&&!s.test(N.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(N.path){if(N.authority){if(!o.test(N.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(l.test(N.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}a(u,"a");let c="",f="/",p=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class m{static{a(this,"l")}static isUri(T){return T instanceof m||!!T&&typeof T.authority=="string"&&typeof T.fragment=="string"&&typeof T.path=="string"&&typeof T.query=="string"&&typeof T.scheme=="string"&&typeof T.fsPath=="string"&&typeof T.with=="function"&&typeof T.toString=="function"}scheme;authority;path;query;fragment;constructor(T,D,L,x,E,b=!1){typeof T=="object"?(this.scheme=T.scheme||c,this.authority=T.authority||c,this.path=T.path||c,this.query=T.query||c,this.fragment=T.fragment||c):(this.scheme=(function(O,j){return O||j?O:"file"})(T,b),this.authority=D||c,this.path=(function(O,j){switch(O){case"https":case"http":case"file":j?j[0]!==f&&(j=f+j):j=f}return j})(this.scheme,L||c),this.query=x||c,this.fragment=E||c,u(this,b))}get fsPath(){return w(this,!1)}with(T){if(!T)return this;let{scheme:D,authority:L,path:x,query:E,fragment:b}=T;return D===void 0?D=this.scheme:D===null&&(D=c),L===void 0?L=this.authority:L===null&&(L=c),x===void 0?x=this.path:x===null&&(x=c),E===void 0?E=this.query:E===null&&(E=c),b===void 0?b=this.fragment:b===null&&(b=c),D===this.scheme&&L===this.authority&&x===this.path&&E===this.query&&b===this.fragment?this:new A(D,L,x,E,b)}static parse(T,D=!1){let L=p.exec(T);return L?new A(L[2]||c,ge(L[4]||c),ge(L[5]||c),ge(L[7]||c),ge(L[9]||c),D):new A(c,c,c,c,c)}static file(T){let D=c;if(i&&(T=T.replace(/\\/g,f)),T[0]===f&&T[1]===f){let L=T.indexOf(f,2);L===-1?(D=T.substring(2),T=f):(D=T.substring(2,L),T=T.substring(L)||f)}return new A("file",D,T,c,c)}static from(T){let D=new A(T.scheme,T.authority,T.path,T.query,T.fragment);return u(D,!0),D}toString(T=!1){return $(this,T)}toJSON(){return this}static revive(T){if(T){if(T instanceof m)return T;{let D=new A(T);return D._formatted=T.external,D._fsPath=T._sep===y?T.fsPath:null,D}}return T}}let y=i?1:void 0;class A extends m{static{a(this,"d")}_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=w(this,!1)),this._fsPath}toString(T=!1){return T?$(this,!0):(this._formatted||(this._formatted=$(this,!1)),this._formatted)}toJSON(){let T={$mid:1};return this._fsPath&&(T.fsPath=this._fsPath,T._sep=y),this._formatted&&(T.external=this._formatted),this.path&&(T.path=this.path),this.scheme&&(T.scheme=this.scheme),this.authority&&(T.authority=this.authority),this.query&&(T.query=this.query),this.fragment&&(T.fragment=this.fragment),T}}let C={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function _(N,T,D){let L,x=-1;for(let E=0;E<N.length;E++){let b=N.charCodeAt(E);if(b>=97&&b<=122||b>=65&&b<=90||b>=48&&b<=57||b===45||b===46||b===95||b===126||T&&b===47||D&&b===91||D&&b===93||D&&b===58)x!==-1&&(L+=encodeURIComponent(N.substring(x,E)),x=-1),L!==void 0&&(L+=N.charAt(E));else{L===void 0&&(L=N.substr(0,E));let O=C[b];O!==void 0?(x!==-1&&(L+=encodeURIComponent(N.substring(x,E)),x=-1),L+=O):x===-1&&(x=E)}}return x!==-1&&(L+=encodeURIComponent(N.substring(x))),L!==void 0?L:N}a(_,"m");function S(N){let T;for(let D=0;D<N.length;D++){let L=N.charCodeAt(D);L===35||L===63?(T===void 0&&(T=N.substr(0,D)),T+=C[L]):T!==void 0&&(T+=N[D])}return T!==void 0?T:N}a(S,"y");function w(N,T){let D;return D=N.authority&&N.path.length>1&&N.scheme==="file"?`//${N.authority}${N.path}`:N.path.charCodeAt(0)===47&&(N.path.charCodeAt(1)>=65&&N.path.charCodeAt(1)<=90||N.path.charCodeAt(1)>=97&&N.path.charCodeAt(1)<=122)&&N.path.charCodeAt(2)===58?T?N.path.substr(1):N.path[1].toLowerCase()+N.path.substr(2):N.path,i&&(D=D.replace(/\//g,"\\")),D}a(w,"v");function $(N,T){let D=T?S:_,L="",{scheme:x,authority:E,path:b,query:O,fragment:j}=N;if(x&&(L+=x,L+=":"),(E||x==="file")&&(L+=f,L+=f),E){let k=E.indexOf("@");if(k!==-1){let X=E.substr(0,k);E=E.substr(k+1),k=X.lastIndexOf(":"),k===-1?L+=D(X,!1,!1):(L+=D(X.substr(0,k),!1,!1),L+=":",L+=D(X.substr(k+1),!1,!0)),L+="@"}E=E.toLowerCase(),k=E.lastIndexOf(":"),k===-1?L+=D(E,!1,!0):(L+=D(E.substr(0,k),!1,!0),L+=E.substr(k))}if(b){if(b.length>=3&&b.charCodeAt(0)===47&&b.charCodeAt(2)===58){let k=b.charCodeAt(1);k>=65&&k<=90&&(b=`/${String.fromCharCode(k+32)}:${b.substr(3)}`)}else if(b.length>=2&&b.charCodeAt(1)===58){let k=b.charCodeAt(0);k>=65&&k<=90&&(b=`${String.fromCharCode(k+32)}:${b.substr(2)}`)}L+=D(b,!0,!1)}return O&&(L+="?",L+=D(O,!1,!1)),j&&(L+="#",L+=T?j:_(j,!1,!1)),L}a($,"b");function K(N){try{return decodeURIComponent(N)}catch{return N.length>3?N.substr(0,3)+K(N.substr(3)):N}}a(K,"C");let M=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function ge(N){return N.match(M)?N.replace(M,(T=>K(T))):N}a(ge,"w");var Fr=r(975);let at=Fr.posix||Fr,Er="/";var pr;(function(N){N.joinPath=function(T,...D){return T.with({path:at.join(T.path,...D)})},N.resolvePath=function(T,...D){let L=T.path,x=!1;L[0]!==Er&&(L=Er+L,x=!0);let E=at.resolve(L,...D);return x&&E[0]===Er&&!T.authority&&(E=E.substring(1)),T.with({path:E})},N.dirname=function(T){if(T.path.length===0||T.path===Er)return T;let D=at.dirname(T.path);return D.length===1&&D.charCodeAt(0)===46&&(D=""),T.with({path:D})},N.basename=function(T){return at.basename(T.path)},N.extname=function(T){return at.extname(T.path)}})(pr||(pr={})),bC=n})();var{URI:ft,Utils:po}=bC;var Je;(function(t){t.basename=po.basename,t.dirname=po.dirname,t.extname=po.extname,t.joinPath=po.joinPath,t.resolvePath=po.resolvePath;let e=typeof process=="object"&&process?.platform==="win32";function r(o,l){return o?.toString()===l?.toString()}a(r,"equals"),t.equals=r;function n(o,l){let u=typeof o=="string"?ft.parse(o).path:o.path,c=typeof l=="string"?ft.parse(l).path:l.path,f=u.split("/").filter(C=>C.length>0),p=c.split("/").filter(C=>C.length>0);if(e){let C=/^[A-Z]:$/;if(f[0]&&C.test(f[0])&&(f[0]=f[0].toLowerCase()),p[0]&&C.test(p[0])&&(p[0]=p[0].toLowerCase()),f[0]!==p[0])return c.substring(1)}let m=0;for(;m<f.length&&f[m]===p[m];m++);let y="../".repeat(f.length-m),A=p.slice(m).join("/");return y+A}a(n,"relative"),t.relative=n;function i(o){return ft.parse(o.toString()).toString()}a(i,"normalize"),t.normalize=i;function s(o,l){let u=typeof o=="string"?o:o.path,c=typeof l=="string"?l:l.path;return c.charAt(c.length-1)==="/"&&(c=c.slice(0,-1)),u.charAt(u.length-1)==="/"&&(u=u.slice(0,-1)),c===u?!0:c.length<u.length||c.charAt(u.length)!=="/"?!1:c.startsWith(u)}a(s,"contains"),t.contains=s})(Je||(Je={}));var mo=class{static{a(this,"UriTrie")}constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return Je.normalize(e)}clear(){this.root.children.clear()}insert(e,r){let n=this.getNode(this.normalizeUri(e),!0);n.element=r}delete(e){let r=this.getNode(this.normalizeUri(e),!1);r?.parent&&r.parent.children.delete(r.name)}has(e){return this.getNode(this.normalizeUri(e),!1)?.element!==void 0}hasNode(e){return this.getNode(this.normalizeUri(e),!1)!==void 0}find(e){return this.getNode(this.normalizeUri(e),!1)?.element}findNode(e){let r=this.normalizeUri(e),n=this.getNode(r,!1);if(n)return{name:n.name,uri:Je.joinPath(ft.parse(r),n.name).toString(),element:n.element}}findChildren(e){let r=this.normalizeUri(e),n=this.getNode(r,!1);return n?Array.from(n.children.values()).map(i=>({name:i.name,uri:Je.joinPath(ft.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let r=this.getNode(Je.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){let n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(let s of n){let o=i.children.get(s);if(!o)if(r)o={name:s,children:new Map,parent:i},i.children.set(s,o);else return;i=o}return i}collectValues(e){let r=[];e.element&&r.push(e.element);for(let n of e.children.values())r.push(...this.collectValues(n));return r}};var ee;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(ee||(ee={}));var eu=class{static{a(this,"DefaultLangiumDocumentFactory")}constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=V.CancellationToken.None){let n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??ft.parse(e.uri),V.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return V.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){let i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){let i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{let i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){let i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{let i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let s;if(n)s={parseResult:e,uri:r,state:ee.Parsed,references:[],textDocument:n};else{let o=this.createTextDocumentGetter(r,i);s={parseResult:e,uri:r,state:ee.Parsed,references:[],get textDocument(){return o()}}}return e.value.$document=s,s}async update(e,r){let n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),s=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{let o=this.createTextDocumentGetter(e.uri,s);Object.defineProperty(e,"textDocument",{get:o})}return n!==s&&(e.parseResult=await this.parseAsync(e.uri,s,r),e.parseResult.value.$document=e),e.state=ee.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){let n=this.serviceRegistry,i;return()=>i??(i=fo.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},tu=class{static{a(this,"DefaultLangiumDocuments")}constructor(e){this.documentTrie=new mo,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return te(this.documentTrie.all())}addDocument(e){let r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){let r=e.toString();return this.documentTrie.find(r)}getDocuments(e){let r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{let i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,ee.Changed),n}deleteDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=ee.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){let r=e.toString(),n=this.documentTrie.findAll(r);for(let i of n)i.state=ee.Changed;return this.documentTrie.delete(r),n}};var va=Symbol("RefResolving"),ru=class{static{a(this,"DefaultLinker")}constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,r=V.CancellationToken.None){if(this.profiler?.isActive("linking")){let n=this.profiler.createTask("linking",this.languageId);n.start();try{for(let i of Lt(e.parseResult.value))await Be(r),Bn(i).forEach(s=>{let o=`${i.$type}:${s.property}`;n.startSubTask(o);try{this.doLink(s,e)}finally{n.stopSubTask(o)}})}finally{n.stop()}}else for(let n of Lt(e.parseResult.value))await Be(r),Bn(n).forEach(i=>this.doLink(i,e))}doLink(e,r){let n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=va;try{let i=this.getCandidate(e);if(ji(i))n._ref=i;else{n._nodeDescription=i;let s=this.loadAstNode(i);n._ref=s??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);let s=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${s}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=va;try{let i=this.getCandidates(e),s=[];if(ji(i))n._linkingError=i;else for(let o of i){let l=this.loadAstNode(o);l&&s.push({ref:l,$nodeDescription:o})}n._items=s}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(let r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){let s=this,o={$refNode:n,$refText:i,_ref:void 0,get ref(){if(Ue(this._ref))return this._ref;if(_d(this._nodeDescription)){let l=s.loadAstNode(this._nodeDescription);this._ref=l??s.createLinkingError({reference:o,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=va;let l=za(e).$document,u=s.getLinkedNode({reference:o,container:e,property:r});if(u.error&&l&&l.state<ee.ComputedScopes)return this._ref=void 0;this._ref=u.node??u.error,this._nodeDescription=u.descr,l?.references.push(this)}else this._ref===va&&s.throwCyclicReferenceError(e,r,i);return Ue(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return ji(this._ref)?this._ref:void 0}};return o}buildMultiReference(e,r,n,i){let s=this,o={$refNode:n,$refText:i,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(this._items===void 0){this._items=va;let l=za(e).$document,u=s.getCandidates({reference:o,container:e,property:r}),c=[];if(ji(u))this._linkingError=u;else for(let f of u){let p=s.loadAstNode(f);p&&c.push({ref:p,$nodeDescription:f})}this._items=c,l?.references.push(this)}else this._items===va&&s.throwCyclicReferenceError(e,r,i);return Array.isArray(this._items)?this._items:[]},get error(){if(this._linkingError)return this._linkingError;if(!(this.items.length>0))return this._linkingError=s.createLinkingError({reference:o,container:e,property:r})}};return o}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{let r=this.getCandidate(e);if(ji(r))return{error:r};let n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);let n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;let r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){let n=za(e.container).$document;n&&n.state<ee.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${n.uri}).`);let i=this.reflection.getReferenceType(e);return{info:e,message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:r}}};function SC(t){return typeof t.name=="string"}a(SC,"isNamed");var nu=class{static{a(this,"DefaultNameProvider")}getName(e){if(SC(e))return e.name}getNameNode(e){return cl(e.$cstNode,"name")}};var iu=class{static{a(this,"DefaultReferences")}constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator,this.documents=e.shared.workspace.LangiumDocuments,this.hasMultiReference=Lt(e.Grammar).some(r=>Nr(r)&&r.isMulti)}findDeclarations(e){if(e){let r=Tm(e),n=e.astNode;if(r&&n){let i=n[r.feature];if(ot(i)||rr(i))return Yu(i);if(Array.isArray(i)){for(let s of i)if((ot(s)||rr(s))&&s.$refNode&&s.$refNode.offset<=e.offset&&s.$refNode.end>=e.end)return Yu(s)}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||tm(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){let r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(let i of Bn(n))if(rr(i.reference)&&i.reference.items.some(s=>s.ref===e))return i.reference.items.map(s=>s.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;let r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let r=this.findDeclarations(e),n=[];for(let i of r){let s=this.nameProvider.getNameNode(i)??i.$cstNode;s&&n.push(s)}return n}findReferences(e,r){let n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(s=>Je.equals(s.sourceUri,r.documentUri))),n.push(...i),te(n)}getSelfReferences(e){let r=this.getSelfNodes(e),n=[];for(let i of r){let s=this.nameProvider.getNameNode(i);if(s){let o=Ct(i),l=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:o.uri,sourcePath:l,targetUri:o.uri,targetPath:l,segment:ea(s),local:!0})}}return n}};var It=class{static{a(this,"MultiMap")}constructor(e){if(this.map=new Map,e)for(let[r,n]of e)this.add(r,n)}get size(){return Ua.sum(te(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{let n=this.map.get(e);if(n){let i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){let r=this.map.get(e);return r?te(r):zn}has(e,r){if(r===void 0)return this.map.has(e);{let n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return te(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return te(this.map.keys())}values(){return te(this.map.values()).flat()}entriesGroupedByKey(){return te(this.map.entries())}},Aa=class{static{a(this,"BiMap")}get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}};var au=class{static{a(this,"DefaultScopeComputation")}constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=V.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=Vo,i=V.CancellationToken.None){let s=[];this.addExportedSymbol(e,s,r);for(let o of n(e))await Be(i),this.addExportedSymbol(o,s,r);return s}addExportedSymbol(e,r,n){let i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=V.CancellationToken.None){let n=e.parseResult.value,i=new It;for(let s of br(n))await Be(r),this.addLocalSymbol(s,e,i);return i}addLocalSymbol(e,r,n){let i=e.$container;if(i){let s=this.nameProvider.getName(e);s&&n.add(i,this.descriptions.createDescription(e,s,r))}}};var ho=class{static{a(this,"StreamScope")}constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}},Py=class{static{a(this,"MapScope")}constructor(e,r,n){this.elements=new Map,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let s=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.set(s,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r),i=n?[n]:[];return(this.concatOuterScope||i.length>0)&&this.outerScope?te(i).concat(this.outerScope.getElements(e)):te(i)}getAllElements(){let e=te(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},su=class{static{a(this,"MultiMapScope")}constructor(e,r,n){this.elements=new It,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let s=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(s,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?te(n).concat(this.outerScope.getElements(e)):te(n)}getAllElements(){let e=te(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},gB={getElement(){},getElements(){return zn},getAllElements(){return zn}};var yo=class{static{a(this,"DisposableCache")}constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}},ou=class extends yo{static{a(this,"SimpleCache")}constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){let n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},Ca=class extends yo{static{a(this,"ContextCache")}constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();let i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){let s=n();return i.set(r,s),s}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){let r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){let r=this.converter(e),n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}},Cp=class extends Ca{static{a(this,"DocumentCache")}constructor(e,r){super(n=>n.toString()),r?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(r,n=>{this.clear(n.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{for(let s of i)this.clear(s)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{let s=n.concat(i);for(let o of s)this.clear(o)}))}},go=class extends ou{static{a(this,"WorkspaceCache")}constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}};var lu=class{static{a(this,"DefaultScopeProvider")}constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new go(e.shared)}getScope(e){let r=[],n=this.reflection.getReferenceType(e),i=Ct(e.container).localSymbols;if(i){let o=e.container;do i.has(o)&&r.push(i.getStream(o).filter(l=>this.reflection.isSubtype(l.type,n))),o=o.$container;while(o)}let s=this.getGlobalScope(n,e);for(let o=r.length-1;o>=0;o--)s=this.createScope(r[o],s);return s}createScope(e,r,n){return new ho(te(e),r,n)}createScopeForNodes(e,r,n){let i=te(e).map(s=>{let o=this.nameProvider.getName(s);if(o)return this.descriptions.createDescription(s,o)}).nonNullable();return new ho(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new su(this.indexManager.allElements(e)))}};function Oy(t){return typeof t.$comment=="string"}a(Oy,"isAstNodeWithComment");function wC(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}a(wC,"isIntermediateReference");var uu=class{static{a(this,"DefaultJsonSerializer")}constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){let n=r??{},i=r?.replacer,s=a((l,u)=>this.replacer(l,u,n),"defaultReplacer"),o=i?(l,u)=>i(l,u,s):s;try{return this.currentDocument=Ct(e),JSON.stringify(e,o,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){let n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:s,comments:o,uriConverter:l}){if(!this.ignoreProperties.has(e))if(ot(r)){let u=r.ref,c=n?r.$refText:void 0;if(u){let f=Ct(u),p="";this.currentDocument&&this.currentDocument!==f&&(l?p=l(f.uri,u):p=f.uri.toString());let m=this.astNodeLocator.getAstNodePath(u);return{$ref:`${p}#${m}`,$refText:c}}else return{$error:r.error?.message??"Could not resolve reference",$refText:c}}else if(rr(r)){let u=n?r.$refText:void 0,c=[];for(let f of r.items){let p=f.ref,m=Ct(f.ref),y="";this.currentDocument&&this.currentDocument!==m&&(l?y=l(m.uri,p):y=m.uri.toString());let A=this.astNodeLocator.getAstNodePath(p);c.push(`${y}#${A}`)}return{$refs:c,$refText:u}}else if(Ue(r)){let u;if(s&&(u=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&u?.$textRegion&&(u.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(u??(u={...r}),u.$sourceText=r.$cstNode?.text),o){u??(u={...r});let c=this.commentProvider.getComment(r);c&&(u.$comment=c.replace(/\r/g,""))}return u??r}else return r}addAstNodeRegionWithAssignmentsTo(e){let r=a(n=>({offset:n.offset,end:n.end,length:n.length,range:n.range}),"createDocumentSegment");if(e.$cstNode){let n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(s=>!s.startsWith("$")).forEach(s=>{let o=mm(e.$cstNode,s).map(r);o.length!==0&&(i[s]=o)}),e}}linkNode(e,r,n,i,s,o){for(let[u,c]of Object.entries(e))if(Array.isArray(c))for(let f=0;f<c.length;f++){let p=c[f];wC(p)?c[f]=this.reviveReference(e,u,r,p,n):Ue(p)&&this.linkNode(p,r,n,e,u,f)}else wC(c)?e[u]=this.reviveReference(e,u,r,c,n):Ue(c)&&this.linkNode(c,r,n,e,u);let l=e;l.$container=i,l.$containerProperty=s,l.$containerIndex=o}reviveReference(e,r,n,i,s){let o=i.$refText,l=i.$error,u;if(i.$ref){let c=this.getRefNode(n,i.$ref,s.uriConverter);if(Ue(c))return o||(o=this.nameProvider.getName(c)),{$refText:o??"",ref:c};l=c}else if(i.$refs){let c=[];for(let f of i.$refs){let p=this.getRefNode(n,f,s.uriConverter);Ue(p)&&c.push({ref:p})}if(c.length===0)u={$refText:o??"",items:c},l??(l="Could not resolve multi-reference");else return{$refText:o??"",items:c}}if(l)return u??(u={$refText:o??"",ref:void 0}),u.error={info:{container:e,property:r,reference:u},message:l},u}getRefNode(e,r,n){try{let i=r.indexOf("#");if(i===0){let u=this.astNodeLocator.getAstNode(e,r.substring(1));return u||"Could not resolve path: "+r}if(i<0){let u=n?n(r):ft.parse(r),c=this.langiumDocuments.getDocument(u);return c?c.parseResult.value:"Could not find document for URI: "+r}let s=n?n(r.substring(0,i)):ft.parse(r.substring(0,i)),o=this.langiumDocuments.getDocument(s);if(!o)return"Could not find document for URI: "+r;if(i===r.length-1)return o.parseResult.value;let l=this.astNodeLocator.getAstNode(o.parseResult.value,r.substring(i+1));return l||"Could not resolve URI: "+r}catch(i){return String(i)}}};var cu=class{static{a(this,"DefaultServiceRegistry")}get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){let r=e.LanguageMetaData;for(let n of r.fileExtensions)this.fileExtensionMap.has(n)&&console.warn(`The file extension ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileExtensionMap.set(n,e);if(r.fileNames)for(let n of r.fileNames)this.fileNameMap.has(n)&&console.warn(`The file name ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileNameMap.set(n,e);this.languageIdMap.set(r.languageId,e)}getServices(e){if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");let r=this.textDocuments?.get(e)?.languageId;if(r!==void 0){let o=this.languageIdMap.get(r);if(o)return o}let n=Je.extname(e),i=Je.basename(e),s=this.fileNameMap.get(i)??this.fileExtensionMap.get(n);if(!s)throw r?new Error(`The service registry contains no services for the extension '${n}' for language '${r}'.`):new Error(`The service registry contains no services for the extension '${n}'.`);return s}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}};function ba(t){return{code:t}}a(ba,"diagnosticData");var bp;(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(bp||(bp={}));var fu=class{static{a(this,"ValidationRegistry")}constructor(e){this.entries=new It,this.knownCategories=new Set(bp.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,r=this,n="fast"){if(n==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");this.knownCategories.add(n);for(let[i,s]of Object.entries(e)){let o=s;if(Array.isArray(o))for(let l of o){let u={check:this.wrapValidationException(l,r),category:n};this.addEntry(i,u)}else if(typeof o=="function"){let l={check:this.wrapValidationException(o,r),category:n};this.addEntry(i,l)}else Kr(o)}}wrapValidationException(e,r){return async(n,i,s)=>{await this.handleException(()=>e.call(r,n,i,s),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(s){if(sn(s))throw s;console.error(`${r}:`,s),s instanceof Error&&s.stack&&console.error(s.stack);let o=s instanceof Error?s.message:String(s);n("error",`${r}: ${o}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(let n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=te(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,s,o,l)=>{await this.handleException(()=>e.call(n,i,s,o,l),r,s,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}};var NC=Object.freeze({validateNode:!0,validateChildren:!0}),pu=class{static{a(this,"DefaultDocumentValidator")}constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,r={},n=V.CancellationToken.None){let i=e.parseResult,s=[];if(await Be(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,s,r),r.stopAfterLexingErrors&&s.some(o=>o.data?.code===xr.LexingError)||(this.processParsingErrors(i,s,r),r.stopAfterParsingErrors&&s.some(o=>o.data?.code===xr.ParsingError))||(this.processLinkingErrors(e,s,r),r.stopAfterLinkingErrors&&s.some(o=>o.data?.code===xr.LinkingError))))return s;try{s.push(...await this.validateAst(i.value,r,n))}catch(o){if(sn(o))throw o;console.error("An error occurred during validation:",o)}return await Be(n),s}processLexingErrors(e,r,n){let i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(let s of i){let o=s.severity??"error",l={severity:Sp(o),range:{start:{line:s.line-1,character:s.column-1},end:{line:s.line-1,character:s.column+s.length-1}},message:s.message,data:_C(o),source:this.getSource()};r.push(l)}}processParsingErrors(e,r,n){for(let i of e.parserErrors){let s;if(isNaN(i.token.startOffset)){if("previousToken"in i){let o=i.previousToken;if(isNaN(o.startOffset)){let l={line:0,character:0};s={start:l,end:l}}else{let l={line:o.endLine-1,character:o.endColumn};s={start:l,end:l}}}}else s=Ja(i.token);if(s){let o={severity:Sp("error"),range:s,message:i.message,data:ba(xr.ParsingError),source:this.getSource()};r.push(o)}}}processLinkingErrors(e,r,n){for(let i of e.references){let s=i.error;if(s){let o={node:s.info.container,range:i.$refNode?.range,property:s.info.property,index:s.info.index,data:{code:xr.LinkingError,containerType:s.info.container.$type,property:s.info.property,refText:s.info.reference.$refText}};r.push(this.toDiagnostic("error",s.message,o))}}}async validateAst(e,r,n=V.CancellationToken.None){let i=[],s=a((o,l,u)=>{i.push(this.toDiagnostic(o,l,u))},"acceptor");return await this.validateAstBefore(e,r,s,n),await this.validateAstNodes(e,r,s,n),await this.validateAstAfter(e,r,s,n),i}async validateAstBefore(e,r,n,i=V.CancellationToken.None){let s=this.validationRegistry.checksBefore;for(let o of s)await Be(i),await o(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=V.CancellationToken.None){if(this.profiler?.isActive("validating")){let s=this.profiler.createTask("validating",this.languageId);s.start();try{let o=Lt(e).iterator();for(let l of o){s.startSubTask(l.$type);let u=this.validateSingleNodeOptions(l,r);if(u.validateNode)try{let c=this.validationRegistry.getChecks(l.$type,r.categories);for(let f of c)await f(l,n,i)}finally{s.stopSubTask(l.$type)}u.validateChildren||o.prune()}}finally{s.stop()}}else{let s=Lt(e).iterator();for(let o of s){await Be(i);let l=this.validateSingleNodeOptions(o,r);if(l.validateNode){let u=this.validationRegistry.getChecks(o.$type,r.categories);for(let c of u)await c(o,n,i)}l.validateChildren||s.prune()}}}validateSingleNodeOptions(e,r){return NC}async validateAstAfter(e,r,n,i=V.CancellationToken.None){let s=this.validationRegistry.checksAfter;for(let o of s)await Be(i),await o(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:IC(n),severity:Sp(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};function IC(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=cl(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=ym(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}a(IC,"getDiagnosticRange");function Sp(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}a(Sp,"toDiagnosticSeverity");function _C(t){switch(t){case"error":return ba(xr.LexingError);case"warning":return ba(xr.LexingWarning);case"info":return ba(xr.LexingInfo);case"hint":return ba(xr.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}a(_C,"toDiagnosticData");var xr;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(xr||(xr={}));var du=class{static{a(this,"DefaultAstNodeDescriptionProvider")}constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){let i=n??Ct(e);r??(r=this.nameProvider.getName(e));let s=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${s} has no name.`);let o,l=a(()=>o??(o=ea(this.nameProvider.getNameNode(e)??e.$cstNode)),"nameSegmentGetter");return{node:e,name:r,get nameSegment(){return l()},selectionSegment:ea(e.$cstNode),type:e.$type,documentUri:i.uri,path:s}}},mu=class{static{a(this,"DefaultReferenceDescriptionProvider")}constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=V.CancellationToken.None){let n=[],i=e.parseResult.value;for(let s of Lt(i))await Be(r),Bn(s).forEach(o=>{o.reference.error||n.push(...this.createInfoDescriptions(o))});return n}createInfoDescriptions(e){let r=e.reference;if(r.error||!r.$refNode)return[];let n=[];ot(r)&&r.$nodeDescription?n=[r.$nodeDescription]:rr(r)&&(n=r.items.map(u=>u.$nodeDescription).filter(u=>u!==void 0));let i=Ct(e.container).uri,s=this.nodeLocator.getAstNodePath(e.container),o=[],l=ea(r.$refNode);for(let u of n)o.push({sourceUri:i,sourcePath:s,targetUri:u.documentUri,targetPath:u.path,segment:l,local:Je.equals(u.documentUri,i)});return o}};var hu=class{static{a(this,"DefaultAstNodeLocator")}constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,s)=>{if(!i||s.length===0)return i;let o=s.indexOf(this.indexSeparator);if(o>0){let l=s.substring(0,o),u=parseInt(s.substring(o+1));return i[l]?.[u]}return i[s]},e)}};var _e={};se(_e,Nd(Ea(),1));var yu=class{static{a(this,"DefaultConfigurationProvider")}constructor(e){this._ready=new Kt,this.onConfigurationSectionUpdateEmitter=new _e.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){let r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,s)=>{this.updateSectionConfiguration(i.section,n[s])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;let n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}};var Po=Nd(eN(),1);var Fi;(function(t){function e(r){return{dispose:a(async()=>await r(),"dispose")}}a(e,"create"),t.create=e})(Fi||(Fi={}));var bu=class{static{a(this,"DefaultDocumentBuilder")}constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new It,this.documentPhaseListeners=new It,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=ee.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=V.CancellationToken.None){for(let i of e){let s=i.uri.toString();if(i.state===ee.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,ee.IndexedReferences);else if(typeof r.validation=="object"){let o=this.findMissingValidationCategories(i,r);o.length>0&&(this.buildState.set(s,{completed:!1,options:{validation:{categories:o}},result:this.buildState.get(s)?.result}),i.state=ee.IndexedReferences)}}else this.buildState.delete(s)}this.currentState=ee.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=V.CancellationToken.None){this.currentState=ee.Changed;let i=[];for(let u of r){let c=this.langiumDocuments.deleteDocuments(u);for(let f of c)i.push(f.uri),this.cleanUpDeleted(f)}let s=(await Promise.all(e.map(u=>this.findChangedUris(u)))).flat();for(let u of s){let c=this.langiumDocuments.getDocument(u);c===void 0&&(c=this.langiumDocumentFactory.fromModel({$type:"INVALID"},u),c.state=ee.Changed,this.langiumDocuments.addDocument(c)),this.resetToState(c,ee.Changed)}let o=te(s).concat(i).map(u=>u.toString()).toSet();this.langiumDocuments.all.filter(u=>!o.has(u.uri.toString())&&this.shouldRelink(u,o)).forEach(u=>this.resetToState(u,ee.ComputedScopes)),await this.emitUpdate(s,i),await Be(n);let l=this.sortDocuments(this.langiumDocuments.all.filter(u=>u.state<ee.Validated||!this.buildState.get(u.uri.toString())?.completed||this.resultsAreIncomplete(u,this.updateBuildOptions)).toArray());await this.buildDocuments(l,this.updateBuildOptions,n)}resultsAreIncomplete(e,r){return this.findMissingValidationCategories(e,r).length>=1}findMissingValidationCategories(e,r){let n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),s=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,o=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return te(o).filter(l=>!s.has(l)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{let n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r<n;){for(;r<e.length&&this.hasTextDocument(e[r]);)r++;for(;n>=0&&!this.hasTextDocument(e[n]);)n--;r<n&&([e[r],e[n]]=[e[n],e[r]])}return e}hasTextDocument(e){return!!this.textDocuments?.get(e.uri)}shouldRelink(e,r){return e.references.some(n=>n.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),Fi.create(()=>{let r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case ee.Changed:case ee.Parsed:this.indexManager.removeContent(e.uri);case ee.IndexedContent:e.localSymbols=void 0;case ee.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case ee.Linked:this.indexManager.removeReferences(e.uri);case ee.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case ee.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=ee.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,ee.Parsed,n,o=>this.langiumDocumentFactory.update(o,n)),await this.runCancelable(e,ee.IndexedContent,n,o=>this.indexManager.updateContent(o,n)),await this.runCancelable(e,ee.ComputedScopes,n,async o=>{let l=this.serviceRegistry.getServices(o.uri).references.ScopeComputation;o.localSymbols=await l.collectLocalSymbols(o,n)});let i=e.filter(o=>this.shouldLink(o));await this.runCancelable(i,ee.Linked,n,o=>this.serviceRegistry.getServices(o.uri).references.Linker.link(o,n)),await this.runCancelable(i,ee.IndexedReferences,n,o=>this.indexManager.updateReferences(o,n));let s=e.filter(o=>this.shouldValidate(o)?!0:(this.markAsCompleted(o),!1));await this.runCancelable(s,ee.Validated,n,async o=>{await this.validate(o,n),this.markAsCompleted(o)})}markAsCompleted(e){let r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(let n of e){let i=n.uri.toString(),s=this.buildState.get(i);(!s||s.completed)&&this.buildState.set(i,{completed:!1,options:r,result:s?.result})}}async runCancelable(e,r,n,i){for(let o of e)o.state<r&&(await Be(n),await i(o),o.state=r,await this.notifyDocumentPhase(o,r,n));let s=e.filter(o=>o.state===r);await this.notifyBuildPhase(s,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),Fi.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),Fi.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=V.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){let i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(Tr);if(this.currentState>=e&&e>i.state)return Promise.reject(new Po.ResponseError(Po.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${ee[i.state]}, requiring ${ee[e]}, but workspace state is already ${ee[this.currentState]}. Returning undefined.`))}else return Promise.reject(new Po.ResponseError(Po.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((s,o)=>{let l=this.onDocumentPhase(e,c=>{Je.equals(c.uri,r)&&(l.dispose(),u.dispose(),s(c.uri))}),u=n.onCancellationRequested(()=>{l.dispose(),u.dispose(),o(Tr)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(Tr):new Promise((n,i)=>{let s=this.onBuildPhase(e,()=>{s.dispose(),o.dispose(),n()}),o=r.onCancellationRequested(()=>{s.dispose(),o.dispose(),i(Tr)})})}async notifyDocumentPhase(e,r,n){let s=this.documentPhaseListeners.get(r).slice();for(let o of s)try{await Be(n),await o(e,n)}catch(l){if(!sn(l))throw l}}async notifyBuildPhase(e,r,n){if(e.length===0)return;let s=this.buildPhaseListeners.get(r).slice();for(let o of s)await Be(n),await o(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){let n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),s=typeof i.validation=="object"?{...i.validation}:{};s.categories=this.findMissingValidationCategories(e,i);let o=await n.validateDocument(e,s,r);e.diagnostics?e.diagnostics.push(...o):e.diagnostics=o;let l=this.buildState.get(e.uri.toString());l&&(l.result??(l.result={}),l.result.validationChecks?l.result.validationChecks=te(l.result.validationChecks).concat(s.categories).distinct().toArray():l.result.validationChecks=[...s.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}};var Su=class{static{a(this,"DefaultIndexManager")}constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Ca,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let n=Ct(e).uri,i=[];return this.referenceIndex.forEach(s=>{s.forEach(o=>{Je.equals(o.targetUri,n)&&o.targetPath===r&&i.push(o)})}),te(i)}allElements(e,r){let n=te(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(s=>this.astReflection.isSubtype(s.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){let r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=V.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),s=e.uri.toString();this.symbolIndex.set(s,i),this.symbolByTypeIndex.clear(s)}async updateReferences(e,r=V.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){let n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}};var wu=class{static{a(this,"DefaultWorkspaceManager")}constructor(e){this.initialBuildOptions={},this._ready=new Kt,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=V.CancellationToken.None){let n=await this.performStartup(e);await Be(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){let r=[],n=a(o=>{r.push(o),this.langiumDocuments.hasDocument(o.uri)||this.langiumDocuments.addDocument(o)},"collector");await this.loadAdditionalDocuments(e,n);let i=[];await Promise.all(e.map(o=>this.getRootFolder(o)).map(async o=>this.traverseFolder(o,i)));let s=te(i).distinct(o=>o.toString()).filter(o=>!this.langiumDocuments.hasDocument(o));return await this.loadWorkspaceDocuments(s,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{let i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return ft.parse(e.uri)}async traverseFolder(e,r){try{let n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){let r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){let r=Je.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}};var Nu=class{static{a(this,"DefaultLexerErrorMessageProvider")}buildUnexpectedCharactersMessage(e,r,n,i,s){return Is.buildUnexpectedCharactersMessage(e,r,n,i,s)}buildUnableToPopLexerModeMessage(e){return Is.buildUnableToPopLexerModeMessage(e)}},ad={mode:"full"},Ia=class{static{a(this,"DefaultLexer")}constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);let n=eT(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new Le(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=ad){let n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(eT(e))return e;let r=tT(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}};function sd(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}a(sd,"isTokenTypeArray");function tT(t){return t&&"modes"in t&&"defaultMode"in t}a(tT,"isIMultiModeLexerDefinition");function eT(t){return!sd(t)&&!tT(t)}a(eT,"isTokenTypeDictionary");ao();function iT(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=le.create(0,0));let s=nN(t),o=sT(n),l=aK({lines:s,position:i,options:o});return cK({index:0,tokens:l,position:i})}a(iT,"parseJSDoc");function aT(t,e){let r=sT(e),n=nN(t);if(n.length===0)return!1;let i=n[0],s=n[n.length-1],o=r.start,l=r.end;return!!o?.exec(i)&&!!l?.exec(s)}a(aT,"isJSDoc");function nN(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(om)}a(nN,"getLines");var tN=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,iK=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function aK(t){let e=[],r=t.position.line,n=t.position.character;for(let i=0;i<t.lines.length;i++){let s=i===0,o=i===t.lines.length-1,l=t.lines[i],u=0;if(s&&t.options.start){let f=t.options.start?.exec(l);f&&(u=f.index+f[0].length)}else{let f=t.options.line?.exec(l);f&&(u=f.index+f[0].length)}if(o){let f=t.options.end?.exec(l);f&&(l=l.substring(0,f.index))}if(l=l.substring(0,uK(l)),nT(l,u)>=l.length){if(e.length>0){let f=le.create(r,n);e.push({type:"break",content:"",range:ie.create(f,f)})}}else{tN.lastIndex=u;let f=tN.exec(l);if(f){let p=f[0],m=f[1],y=le.create(r,n+u),A=le.create(r,n+u+p.length);e.push({type:"tag",content:m,range:ie.create(y,A)}),u+=p.length,u=nT(l,u)}if(u<l.length){let p=l.substring(u),m=Array.from(p.matchAll(iK));e.push(...sK(m,p,r,n+u))}}r++,n=0}return e.length>0&&e[e.length-1].type==="break"?e.slice(0,-1):e}a(aK,"tokenize");function sK(t,e,r,n){let i=[];if(t.length===0){let s=le.create(r,n),o=le.create(r,n+e.length);i.push({type:"text",content:e,range:ie.create(s,o)})}else{let s=0;for(let l of t){let u=l.index,c=e.substring(s,u);c.length>0&&i.push({type:"text",content:e.substring(s,u),range:ie.create(le.create(r,s+n),le.create(r,u+n))});let f=c.length+1,p=l[1];if(i.push({type:"inline-tag",content:p,range:ie.create(le.create(r,s+f+n),le.create(r,s+f+p.length+n))}),f+=p.length,l.length===4){f+=l[2].length;let m=l[3];i.push({type:"text",content:m,range:ie.create(le.create(r,s+f+n),le.create(r,s+f+m.length+n))})}else i.push({type:"text",content:"",range:ie.create(le.create(r,s+f+n),le.create(r,s+f+n))});s=u+l[0].length}let o=e.substring(s);o.length>0&&i.push({type:"text",content:o,range:ie.create(le.create(r,s+n),le.create(r,s+n+o.length))})}return i}a(sK,"buildInlineTokens");var oK=/\S/,lK=/\s*$/;function nT(t,e){let r=t.substring(e).match(oK);return r?e+r.index:t.length}a(nT,"skipWhitespace");function uK(t){let e=t.match(lK);if(e&&typeof e.index=="number")return e.index}a(uK,"lastCharacter");function cK(t){let e=le.create(t.position.line,t.position.character);if(t.tokens.length===0)return new od([],ie.create(e,e));let r=[];for(;t.index<t.tokens.length;){let s=fK(t,r[r.length-1]);s&&r.push(s)}let n=r[0]?.range.start??e,i=r[r.length-1]?.range.end??e;return new od(r,ie.create(n,i))}a(cK,"parseJSDocComment");function fK(t,e){let r=t.tokens[t.index];if(r.type==="tag")return aN(t,!1);if(r.type==="text"||r.type==="inline-tag")return iN(t);pK(r,e),t.index++}a(fK,"parseJSDocElement");function pK(t,e){if(e){let r=new ld("",t.range);"inlines"in e?e.inlines.push(r):e.content.inlines.push(r)}}a(pK,"appendEmptyLine");function iN(t){let e=t.tokens[t.index],r=e,n=e,i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(dK(t)),n=e,e=t.tokens[t.index];return new _u(i,ie.create(r.range.start,n.range.end))}a(iN,"parseJSDocText");function dK(t){return t.tokens[t.index].type==="inline-tag"?aN(t,!0):sN(t)}a(dK,"parseJSDocInline");function aN(t,e){let r=t.tokens[t.index++],n=r.content.substring(1);if(t.tokens[t.index]?.type==="text")if(e){let s=sN(t);return new Iu(n,new _u([s],s.range),e,ie.create(r.range.start,s.range.end))}else{let s=iN(t);return new Iu(n,s,e,ie.create(r.range.start,s.range.end))}else{let s=r.range;return new Iu(n,new _u([],s),e,s)}}a(aN,"parseJSDocTag");function sN(t){let e=t.tokens[t.index++];return new ld(e.content,e.range)}a(sN,"parseJSDocLine");function sT(t){if(!t)return sT({start:"/**",end:"*/",line:"*"});let{start:e,end:r,line:n}=t;return{start:rT(e,!0),end:rT(r,!1),line:rT(n,!0)}}a(sT,"normalizeOptions");function rT(t,e){if(typeof t=="string"||typeof t=="object"){let r=typeof t=="string"?Jn(t):t.source;return e?new RegExp(`^\\s*${r}`):new RegExp(`\\s*${r}\\s*$`)}else return t}a(rT,"normalizeOption");var od=class{static{a(this,"JSDocCommentImpl")}constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let r of this.elements)if(e.length===0)e=r.toString();else{let n=r.toString();e+=rN(e)+n}return e.trim()}toMarkdown(e){let r="";for(let n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{let i=n.toMarkdown(e);r+=rN(r)+i}return r.trim()}},Iu=class{static{a(this,"JSDocTagImpl")}constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`,r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e}
|
|
${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.previousTokenSource.cancel()}};var Mu=class{static{a(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new Aa,this.tokenTypeIdMap=new Aa,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let r=new Map,n=new Map;for(let i of Lt(e))r.set(i,{});if(e.$cstNode)for(let i of Qi(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(let[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){let o=[];n[i]=o;for(let l of s)Ue(l)?o.push(this.dehydrateAstNode(l,r)):ot(l)?o.push(this.dehydrateReference(l,r)):o.push(l)}else Ue(s)?n[i]=this.dehydrateAstNode(s,r):ot(s)?n[i]=this.dehydrateReference(s,r):s!==void 0&&(n[i]=s);return n}dehydrateReference(e,r){let n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){let n=r.cstNodes.get(e);return Wo(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),Cr(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):jn(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){let r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){let r=new Map,n=new Map;for(let s of Lt(e))r.set(s,{});let i;if(e.$cstNode)for(let s of Qi(e.$cstNode)){let o;"fullText"in s?(o=new so(s.fullText),i=o):"content"in s?o=new xa:"tokenType"in s&&(o=this.hydrateCstLeafNode(s)),o&&(n.set(s,o),o.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(let[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){let o=[];n[i]=o;for(let l of s)Ue(l)?o.push(this.setParent(this.hydrateAstNode(l,r),n)):ot(l)?o.push(this.hydrateReference(l,n,i,r)):o.push(l)}else Ue(s)?n[i]=this.setParent(this.hydrateAstNode(s,r),n):ot(s)?n[i]=this.hydrateReference(s,n,i,r):s!==void 0&&(n[i]=s);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){let i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),Cr(i))for(let s of e.content){let o=this.hydrateCstNode(s,r,n++);i.content.push(o)}return i}hydrateCstLeafNode(e){let r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,s=e.startLine,o=e.startColumn,l=e.endLine,u=e.endColumn,c=e.hidden;return new Ta(n,i,{start:{line:s,character:o},end:{line:l,character:u}},r,c)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let r of Lt(this.grammar))rl(r)&&this.grammarElementIdMap.set(r,e++)}};function uT(t){return{documentation:{CommentProvider:a(e=>new Pu(e),"CommentProvider"),DocumentationProvider:a(e=>new ku(e),"DocumentationProvider")},parser:{AsyncParser:a(e=>new Ou(e),"AsyncParser"),GrammarConfig:a(e=>$m(e),"GrammarConfig"),LangiumParser:a(e=>Ay(e),"LangiumParser"),CompletionParser:a(e=>vy(e),"CompletionParser"),ValueConverter:a(()=>new $a,"ValueConverter"),TokenBuilder:a(()=>new Pn,"TokenBuilder"),Lexer:a(e=>new Ia(e),"Lexer"),ParserErrorMessageProvider:a(()=>new oo,"ParserErrorMessageProvider"),LexerErrorMessageProvider:a(()=>new Nu,"LexerErrorMessageProvider")},workspace:{AstNodeLocator:a(()=>new hu,"AstNodeLocator"),AstNodeDescriptionProvider:a(e=>new du(e),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:a(e=>new mu(e),"ReferenceDescriptionProvider")},references:{Linker:a(e=>new ru(e),"Linker"),NameProvider:a(()=>new nu,"NameProvider"),ScopeProvider:a(e=>new lu(e),"ScopeProvider"),ScopeComputation:a(e=>new au(e),"ScopeComputation"),References:a(e=>new iu(e),"References")},serializer:{Hydrator:a(e=>new Mu(e),"Hydrator"),JsonSerializer:a(e=>new uu(e),"JsonSerializer")},validation:{DocumentValidator:a(e=>new pu(e),"DocumentValidator"),ValidationRegistry:a(e=>new fu(e),"ValidationRegistry")},shared:a(()=>t.shared,"shared")}}a(uT,"createDefaultCoreModule");function cT(t){return{ServiceRegistry:a(e=>new cu(e),"ServiceRegistry"),workspace:{LangiumDocuments:a(e=>new tu(e),"LangiumDocuments"),LangiumDocumentFactory:a(e=>new eu(e),"LangiumDocumentFactory"),DocumentBuilder:a(e=>new bu(e),"DocumentBuilder"),IndexManager:a(e=>new Su(e),"IndexManager"),WorkspaceManager:a(e=>new wu(e),"WorkspaceManager"),FileSystemProvider:a(e=>t.fileSystemProvider(e),"FileSystemProvider"),WorkspaceLock:a(()=>new Lu,"WorkspaceLock"),ConfigurationProvider:a(e=>new yu(e),"ConfigurationProvider")},profilers:{}}}a(cT,"createDefaultSharedCoreModule");var fT;(function(t){t.merge=(e,r)=>Du(Du({},e),r)})(fT||(fT={}));function ud(t,e,r,n,i,s,o,l,u){let c=[t,e,r,n,i,s,o,l,u].reduce(Du,{});return fN(c)}a(ud,"inject");var uN=Symbol("isProxy");function cN(t){if(t&&t[uN])for(let e of Object.values(t))cN(e);return t}a(cN,"eagerLoad");function fN(t,e){let r=new Proxy({},{deleteProperty:a(()=>!1,"deleteProperty"),set:a(()=>{throw new Error("Cannot set property on injected service container")},"set"),get:a((n,i)=>i===uN?!0:lN(n,i,t,e||r),"get"),getOwnPropertyDescriptor:a((n,i)=>(lN(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),"getOwnPropertyDescriptor"),has:a((n,i)=>i in t,"has"),ownKeys:a(()=>[...Object.getOwnPropertyNames(t)],"ownKeys")});return r}a(fN,"_inject");var oN=Symbol();function lN(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===oN)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){let i=r[e];t[e]=oN;try{t[e]=typeof i=="function"?i(n):fN(i,n)}catch(s){throw t[e]=s instanceof Error?s:void 0,s}return t[e]}else return}a(lN,"_resolve");function Du(t,e){if(e){for(let[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){let i=t[r];typeof i=="object"&&i!==null?t[r]=Du(i,n):t[r]=Du({},n)}else t[r]=n}return t}a(Du,"_merge");var pT={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]},_a;(function(t){t.REGULAR="indentation-sensitive",t.IGNORE_INDENTATION="ignore-indentation"})(_a||(_a={}));var cd=class extends Pn{static{a(this,"IndentationAwareTokenBuilder")}constructor(e=pT){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...pT,...e},this.indentTokenType=mi({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=mi({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,r){let n=super.buildTokens(e,r);if(!sd(n))throw new Error("Invalid tokens built by default builder");let{indentTokenName:i,dedentTokenName:s,whitespaceTokenName:o,ignoreIndentationDelimiters:l}=this.options,u,c,f,p=[];for(let m of n){for(let[y,A]of l)m.name===y?m.PUSH_MODE=_a.IGNORE_INDENTATION:m.name===A&&(m.POP_MODE=!0);m.name===s?u=m:m.name===i?c=m:m.name===o?f=m:p.push(m)}if(!u||!c||!f)throw new Error("Some indentation/whitespace tokens not found!");return l.length>0?{modes:{[_a.REGULAR]:[u,c,...p,f],[_a.IGNORE_INDENTATION]:[...p,f]},defaultMode:_a.REGULAR}:[u,c,f,...p]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,r){return r===0||`\r
|
|
`.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){let e=TK(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,ft.parse(`memory:/${r.name??"grammar"}.langium`)),r}a(cr,"loadGrammarFromJson");se(We,ue);var hT=class{static{a(this,"DefaultLangiumProfiler")}constructor(e){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=e??new Set(this.allCategories),this.records=new It}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(r=>this.activeCategories.add(r)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(r=>this.activeCategories.delete(r)):this.activeCategories.clear()}createTask(e,r){if(!this.isActive(e))throw new Error(`Category "${e}" is not active.`);return console.log(`Creating profiling task for '${e}.${r}'.`),new pd(n=>this.records.add(e,this.dumpRecord(e,n)),r)}dumpRecord(e,r){console.info(`Task ${e}.${r.identifier} executed in ${r.duration.toFixed(2)}ms and ended at ${r.date.toISOString()}`);let n=[];for(let o of r.entries.keys()){let l=r.entries.get(o),u=l.reduce((c,f)=>c+f);n.push({name:`${r.identifier}.${o}`,count:l.length,duration:u})}let i=r.duration-n.map(o=>o.duration).reduce((o,l)=>o+l,0);n.push({name:r.identifier,count:1,duration:i}),n.sort((o,l)=>l.duration-o.duration);function s(o){return Math.round(100*o)/100}return a(s,"Round"),console.table(n.map(o=>({Element:o.name,Count:o.count,"Self %":s(100*o.duration/r.duration),"Time (ms)":s(o.duration)}))),r}getRecords(...e){return e.length===0?this.records.values():this.records.entries().filter(r=>e.some(n=>n===r[0])).flatMap(r=>r[1])}},pd=class{static{a(this,"ProfilingTask")}constructor(e,r){this.stack=[],this.entries=new It,this.addRecord=e,this.identifier=r}start(){if(this.startTime!==void 0)throw new Error(`Task "${this.identifier}" is already started.`);this.startTime=performance.now()}stop(){if(this.startTime===void 0)throw new Error(`Task "${this.identifier}" was not started.`);if(this.stack.length!==0)throw new Error(`Task "${this.identifier}" cannot be stopped before sub-task(s): ${this.stack.map(r=>r.id).join(", ")}.`);let e={identifier:this.identifier,date:new Date,duration:performance.now()-this.startTime,entries:this.entries};this.addRecord(e),this.startTime=void 0,this.entries.clear()}startSubTask(e){this.stack.push({id:e,start:performance.now(),content:0})}stopSubTask(e){let r=this.stack.pop();if(!r)throw new Error(`Task "${this.identifier}.${e}" was not started.`);if(r.id!==e)throw new Error(`Sub-Task "${r.id}" is not already stopped.`);let n=performance.now()-r.start;this.stack.at(-1)!==void 0&&(this.stack[this.stack.length-1].content+=n);let i=n-r.content;this.entries.add(e,i)}};var yN;(e=>e.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[\w ]+)\]/})(yN||={});var gN;(e=>e.Terminals={EM_ID:/[_a-zA-Z][\w_]*/,EM_FID:/\d{1,3}/,EM_DATA_INLINE:/\{(.*)\}|"(.*)"|'(.*)'/,EM_DATA_BLOCK:/\{[\t ]*\r?\n(?:[\S\s]*?\r?\n)?\}(?:\r?\n|(?!\S))/,EM_ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,EM_ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,EM_TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,EM_WS:/\s+/,EM_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,EM_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,EM_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,EM_ML_COMMENT:/\/\*[\s\S]*?\*\//,EM_SL_COMMENT:/\/\/[^\n\r]*/})(gN||={});var TN;(e=>e.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/})(TN||={});var xN;(e=>e.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/})(xN||={});var RN;(e=>e.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/})(RN||={});var $N;(e=>e.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/})($N||={});var EN;(e=>e.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/})(EN||={});var vN;(e=>e.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/})(vN||={});var AN;(e=>e.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,STRING2:/"[^"]*"|'[^']*'/})(AN||={});var CN;(e=>e.Terminals={WARDLEY_NUMBER:/[0-9]+\.[0-9]+/,ARROW:/->/,LINK_PORT:/\+<>|\+>|\+</,LINK_ARROW:/-->|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/,LINK_LABEL:/;[^\n\r]+/,STRATEGY:/build|buy|outsource|market/,KW_WARDLEY:/wardley-beta/,KW_SIZE:/size/,KW_EVOLUTION:/evolution/,KW_ANCHOR:/anchor/,KW_COMPONENT:/component/,KW_LABEL:/label/,KW_INERTIA:/inertia/,KW_EVOLVE:/evolve/,KW_PIPELINE:/pipeline/,KW_NOTE:/note/,KW_ANNOTATIONS:/annotations/,KW_ANNOTATION:/annotation/,KW_ACCELERATOR:/accelerator/,KW_DEACCELERATOR:/deaccelerator/,NAME_WITH_SPACES:/(?!title\s|accTitle|accDescr)[A-Za-z](?:[A-Za-z0-9_()&]|-(?!>))*(?:[ \t]+[A-Za-z(](?:[A-Za-z0-9_()&]|-(?!>))*)*/,WS:/[ \t]+/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/})(CN||={});var GRe={...yN.Terminals,...gN.Terminals,...TN.Terminals,...xN.Terminals,...RN.Terminals,...$N.Terminals,...EN.Terminals,...AN.Terminals,...vN.Terminals,...CN.Terminals},dd={$type:"Accelerator",name:"name",x:"x",y:"y"};var md={$type:"Anchor",evolution:"evolution",name:"name",visibility:"visibility"};var Fu={$type:"Annotation",number:"number",text:"text",x:"x",y:"y"};var yT={$type:"Annotations",x:"x",y:"y"};var Mn={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function URe(t){return fr.isInstance(t,Mn.$type)}a(URe,"isArchitecture");var hd={$type:"Axis",label:"label",name:"name"};var Cd={$type:"Branch",name:"name",order:"order"};function jRe(t){return fr.isInstance(t,Cd.$type)}a(jRe,"isBranch");var pN={$type:"Checkout",branch:"branch"};var yd={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"};var gT={$type:"ClassDefStatement",className:"className",styleText:"styleText"};var Fo={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function zRe(t){return fr.isInstance(t,Fo.$type)}a(zRe,"isCommit");var gd={$type:"Common",accDescr:"accDescr",accTitle:"accTitle",title:"title"};var ka={$type:"Component",decorator:"decorator",evolution:"evolution",inertia:"inertia",label:"label",name:"name",visibility:"visibility"};var Td={$type:"Curve",entries:"entries",label:"label",name:"name"};var xd={$type:"Deaccelerator",name:"name",x:"x",y:"y"};var dN={$type:"Decorator",strategy:"strategy"};var Oo={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"};var fn={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"};var Lo={$type:"EmDataEntity",dataBlockValue:"dataBlockValue",dataType:"dataType",name:"name"};var Pa={$type:"EmFrame"};var Gu={$type:"EmGwt",givenStatements:"givenStatements",sourceFrame:"sourceFrame",thenStatements:"thenStatements",whenStatements:"whenStatements"};var mN={$type:"EmGwtStatement",entityIdentifier:"entityIdentifier"};var TT={$type:"EmModelEntity",name:"name"};function BRe(t){return t==="rmo"||t==="readmodel"||t==="ui"||t==="cmd"||t==="command"||t==="evt"||t==="event"||t==="pcr"||t==="processor"}a(BRe,"isEmModelEntityType");var Rd={$type:"EmNoteEntity",dataBlockValue:"dataBlockValue",dataType:"dataType",sourceFrame:"sourceFrame"};var Dn={$type:"EmResetFrame",dataInlineValue:"dataInlineValue",dataReference:"dataReference",dataType:"dataType",entityIdentifier:"entityIdentifier",modelEntityType:"modelEntityType",name:"name",sourceFrames:"sourceFrames"};function KRe(t){return fr.isInstance(t,Dn.$type)}a(KRe,"isEmResetFrame");var Gi={$type:"EmTimeFrame",dataInlineValue:"dataInlineValue",dataReference:"dataReference",dataType:"dataType",entityIdentifier:"entityIdentifier",modelEntityType:"modelEntityType",name:"name",sourceFrames:"sourceFrames"};var xT={$type:"Entry",axis:"axis",value:"value"};var Ln={$type:"EventModel",accDescr:"accDescr",accTitle:"accTitle",dataEntities:"dataEntities",frames:"frames",gwtEntities:"gwtEntities",modelEntities:"modelEntities",noteEntities:"noteEntities",title:"title"};var hN={$type:"Evolution",stages:"stages"};var $d={$type:"EvolutionStage",boundary:"boundary",name:"name",secondName:"secondName"};var RT={$type:"Evolve",component:"component",target:"target"};var Ma={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function qRe(t){return fr.isInstance(t,Ma.$type)}a(qRe,"isGitGraph");var Uu={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"};var Ku={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function WRe(t){return fr.isInstance(t,Ku.$type)}a(WRe,"isInfo");var ju={$type:"Item",classSelector:"classSelector",name:"name"};var $T={$type:"Junction",id:"id",in:"in"};var zu={$type:"Label",negX:"negX",negY:"negY",offsetX:"offsetX",offsetY:"offsetY"};var Ed={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"};var Oa={$type:"Link",arrow:"arrow",from:"from",fromPort:"fromPort",linkLabel:"linkLabel",to:"to",toPort:"toPort"};var Go={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function VRe(t){return fr.isInstance(t,Go.$type)}a(VRe,"isMerge");var vd={$type:"Note",evolution:"evolution",text:"text",visibility:"visibility"};var ET={$type:"Option",name:"name",value:"value"};var Uo={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function HRe(t){return fr.isInstance(t,Uo.$type)}a(HRe,"isPacket");var jo={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function YRe(t){return fr.isInstance(t,jo.$type)}a(YRe,"isPacketBlock");var Da={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function XRe(t){return fr.isInstance(t,Da.$type)}a(XRe,"isPie");var bd={$type:"PieSection",label:"label",value:"value"};function JRe(t){return fr.isInstance(t,bd.$type)}a(JRe,"isPieSection");var vT={$type:"Pipeline",components:"components",parent:"parent"};var Ad={$type:"PipelineComponent",evolution:"evolution",label:"label",name:"name"};var La={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"};var AT={$type:"Section",classSelector:"classSelector",name:"name"};var Mo={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"};var CT={$type:"Size",height:"height",width:"width"};var Do={$type:"Statement"};var zo={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function ZRe(t){return fr.isInstance(t,zo.$type)}a(ZRe,"isTreemap");var bT={$type:"TreemapRow",indent:"indent",item:"item"};var ST={$type:"TreeNode",indent:"indent",name:"name"};var Bu={$type:"TreeView",accDescr:"accDescr",accTitle:"accTitle",nodes:"nodes",title:"title"};var vt={$type:"Wardley",accDescr:"accDescr",accelerators:"accelerators",accTitle:"accTitle",anchors:"anchors",annotation:"annotation",annotations:"annotations",components:"components",deaccelerators:"deaccelerators",evolution:"evolution",evolves:"evolves",links:"links",notes:"notes",pipelines:"pipelines",size:"size",title:"title"};function QRe(t){return fr.isInstance(t,vt.$type)}a(QRe,"isWardley");var qu=class extends Ui{constructor(){super(...arguments);this.types={Accelerator:{name:dd.$type,properties:{name:{name:dd.name},x:{name:dd.x},y:{name:dd.y}},superTypes:[]},Anchor:{name:md.$type,properties:{evolution:{name:md.evolution},name:{name:md.name},visibility:{name:md.visibility}},superTypes:[]},Annotation:{name:Fu.$type,properties:{number:{name:Fu.number},text:{name:Fu.text},x:{name:Fu.x},y:{name:Fu.y}},superTypes:[]},Annotations:{name:yT.$type,properties:{x:{name:yT.x},y:{name:yT.y}},superTypes:[]},Architecture:{name:Mn.$type,properties:{accDescr:{name:Mn.accDescr},accTitle:{name:Mn.accTitle},edges:{name:Mn.edges,defaultValue:[]},groups:{name:Mn.groups,defaultValue:[]},junctions:{name:Mn.junctions,defaultValue:[]},services:{name:Mn.services,defaultValue:[]},title:{name:Mn.title}},superTypes:[]},Axis:{name:hd.$type,properties:{label:{name:hd.label},name:{name:hd.name}},superTypes:[]},Branch:{name:Cd.$type,properties:{name:{name:Cd.name},order:{name:Cd.order}},superTypes:[Do.$type]},Checkout:{name:pN.$type,properties:{branch:{name:pN.branch}},superTypes:[Do.$type]},CherryPicking:{name:yd.$type,properties:{id:{name:yd.id},parent:{name:yd.parent},tags:{name:yd.tags,defaultValue:[]}},superTypes:[Do.$type]},ClassDefStatement:{name:gT.$type,properties:{className:{name:gT.className},styleText:{name:gT.styleText}},superTypes:[]},Commit:{name:Fo.$type,properties:{id:{name:Fo.id},message:{name:Fo.message},tags:{name:Fo.tags,defaultValue:[]},type:{name:Fo.type}},superTypes:[Do.$type]},Common:{name:gd.$type,properties:{accDescr:{name:gd.accDescr},accTitle:{name:gd.accTitle},title:{name:gd.title}},superTypes:[]},Component:{name:ka.$type,properties:{decorator:{name:ka.decorator},evolution:{name:ka.evolution},inertia:{name:ka.inertia,defaultValue:!1},label:{name:ka.label},name:{name:ka.name},visibility:{name:ka.visibility}},superTypes:[]},Curve:{name:Td.$type,properties:{entries:{name:Td.entries,defaultValue:[]},label:{name:Td.label},name:{name:Td.name}},superTypes:[]},Deaccelerator:{name:xd.$type,properties:{name:{name:xd.name},x:{name:xd.x},y:{name:xd.y}},superTypes:[]},Decorator:{name:dN.$type,properties:{strategy:{name:dN.strategy}},superTypes:[]},Direction:{name:Oo.$type,properties:{accDescr:{name:Oo.accDescr},accTitle:{name:Oo.accTitle},dir:{name:Oo.dir},statements:{name:Oo.statements,defaultValue:[]},title:{name:Oo.title}},superTypes:[Ma.$type]},Edge:{name:fn.$type,properties:{lhsDir:{name:fn.lhsDir},lhsGroup:{name:fn.lhsGroup,defaultValue:!1},lhsId:{name:fn.lhsId},lhsInto:{name:fn.lhsInto,defaultValue:!1},rhsDir:{name:fn.rhsDir},rhsGroup:{name:fn.rhsGroup,defaultValue:!1},rhsId:{name:fn.rhsId},rhsInto:{name:fn.rhsInto,defaultValue:!1},title:{name:fn.title}},superTypes:[]},EmDataEntity:{name:Lo.$type,properties:{dataBlockValue:{name:Lo.dataBlockValue},dataType:{name:Lo.dataType},name:{name:Lo.name}},superTypes:[]},EmFrame:{name:Pa.$type,properties:{},superTypes:[]},EmGwt:{name:Gu.$type,properties:{givenStatements:{name:Gu.givenStatements,defaultValue:[]},sourceFrame:{name:Gu.sourceFrame,referenceType:Pa.$type},thenStatements:{name:Gu.thenStatements,defaultValue:[]},whenStatements:{name:Gu.whenStatements,defaultValue:[]}},superTypes:[]},EmGwtStatement:{name:mN.$type,properties:{entityIdentifier:{name:mN.entityIdentifier,referenceType:TT.$type}},superTypes:[]},EmModelEntity:{name:TT.$type,properties:{name:{name:TT.name}},superTypes:[]},EmNoteEntity:{name:Rd.$type,properties:{dataBlockValue:{name:Rd.dataBlockValue},dataType:{name:Rd.dataType},sourceFrame:{name:Rd.sourceFrame,referenceType:Pa.$type}},superTypes:[]},EmResetFrame:{name:Dn.$type,properties:{dataInlineValue:{name:Dn.dataInlineValue},dataReference:{name:Dn.dataReference,referenceType:Lo.$type},dataType:{name:Dn.dataType},entityIdentifier:{name:Dn.entityIdentifier},modelEntityType:{name:Dn.modelEntityType},name:{name:Dn.name},sourceFrames:{name:Dn.sourceFrames,defaultValue:[],referenceType:Pa.$type}},superTypes:[Pa.$type]},EmTimeFrame:{name:Gi.$type,properties:{dataInlineValue:{name:Gi.dataInlineValue},dataReference:{name:Gi.dataReference,referenceType:Lo.$type},dataType:{name:Gi.dataType},entityIdentifier:{name:Gi.entityIdentifier},modelEntityType:{name:Gi.modelEntityType},name:{name:Gi.name},sourceFrames:{name:Gi.sourceFrames,defaultValue:[],referenceType:Pa.$type}},superTypes:[Pa.$type]},Entry:{name:xT.$type,properties:{axis:{name:xT.axis,referenceType:hd.$type},value:{name:xT.value}},superTypes:[]},EventModel:{name:Ln.$type,properties:{accDescr:{name:Ln.accDescr},accTitle:{name:Ln.accTitle},dataEntities:{name:Ln.dataEntities,defaultValue:[]},frames:{name:Ln.frames,defaultValue:[]},gwtEntities:{name:Ln.gwtEntities,defaultValue:[]},modelEntities:{name:Ln.modelEntities,defaultValue:[]},noteEntities:{name:Ln.noteEntities,defaultValue:[]},title:{name:Ln.title}},superTypes:[]},Evolution:{name:hN.$type,properties:{stages:{name:hN.stages,defaultValue:[]}},superTypes:[]},EvolutionStage:{name:$d.$type,properties:{boundary:{name:$d.boundary},name:{name:$d.name},secondName:{name:$d.secondName}},superTypes:[]},Evolve:{name:RT.$type,properties:{component:{name:RT.component},target:{name:RT.target}},superTypes:[]},GitGraph:{name:Ma.$type,properties:{accDescr:{name:Ma.accDescr},accTitle:{name:Ma.accTitle},statements:{name:Ma.statements,defaultValue:[]},title:{name:Ma.title}},superTypes:[]},Group:{name:Uu.$type,properties:{icon:{name:Uu.icon},id:{name:Uu.id},in:{name:Uu.in},title:{name:Uu.title}},superTypes:[]},Info:{name:Ku.$type,properties:{accDescr:{name:Ku.accDescr},accTitle:{name:Ku.accTitle},title:{name:Ku.title}},superTypes:[]},Item:{name:ju.$type,properties:{classSelector:{name:ju.classSelector},name:{name:ju.name}},superTypes:[]},Junction:{name:$T.$type,properties:{id:{name:$T.id},in:{name:$T.in}},superTypes:[]},Label:{name:zu.$type,properties:{negX:{name:zu.negX,defaultValue:!1},negY:{name:zu.negY,defaultValue:!1},offsetX:{name:zu.offsetX},offsetY:{name:zu.offsetY}},superTypes:[]},Leaf:{name:Ed.$type,properties:{classSelector:{name:Ed.classSelector},name:{name:Ed.name},value:{name:Ed.value}},superTypes:[ju.$type]},Link:{name:Oa.$type,properties:{arrow:{name:Oa.arrow},from:{name:Oa.from},fromPort:{name:Oa.fromPort},linkLabel:{name:Oa.linkLabel},to:{name:Oa.to},toPort:{name:Oa.toPort}},superTypes:[]},Merge:{name:Go.$type,properties:{branch:{name:Go.branch},id:{name:Go.id},tags:{name:Go.tags,defaultValue:[]},type:{name:Go.type}},superTypes:[Do.$type]},Note:{name:vd.$type,properties:{evolution:{name:vd.evolution},text:{name:vd.text},visibility:{name:vd.visibility}},superTypes:[]},Option:{name:ET.$type,properties:{name:{name:ET.name},value:{name:ET.value,defaultValue:!1}},superTypes:[]},Packet:{name:Uo.$type,properties:{accDescr:{name:Uo.accDescr},accTitle:{name:Uo.accTitle},blocks:{name:Uo.blocks,defaultValue:[]},title:{name:Uo.title}},superTypes:[]},PacketBlock:{name:jo.$type,properties:{bits:{name:jo.bits},end:{name:jo.end},label:{name:jo.label},start:{name:jo.start}},superTypes:[]},Pie:{name:Da.$type,properties:{accDescr:{name:Da.accDescr},accTitle:{name:Da.accTitle},sections:{name:Da.sections,defaultValue:[]},showData:{name:Da.showData,defaultValue:!1},title:{name:Da.title}},superTypes:[]},PieSection:{name:bd.$type,properties:{label:{name:bd.label},value:{name:bd.value}},superTypes:[]},Pipeline:{name:vT.$type,properties:{components:{name:vT.components,defaultValue:[]},parent:{name:vT.parent}},superTypes:[]},PipelineComponent:{name:Ad.$type,properties:{evolution:{name:Ad.evolution},label:{name:Ad.label},name:{name:Ad.name}},superTypes:[]},Radar:{name:La.$type,properties:{accDescr:{name:La.accDescr},accTitle:{name:La.accTitle},axes:{name:La.axes,defaultValue:[]},curves:{name:La.curves,defaultValue:[]},options:{name:La.options,defaultValue:[]},title:{name:La.title}},superTypes:[]},Section:{name:AT.$type,properties:{classSelector:{name:AT.classSelector},name:{name:AT.name}},superTypes:[ju.$type]},Service:{name:Mo.$type,properties:{icon:{name:Mo.icon},iconText:{name:Mo.iconText},id:{name:Mo.id},in:{name:Mo.in},title:{name:Mo.title}},superTypes:[]},Size:{name:CT.$type,properties:{height:{name:CT.height},width:{name:CT.width}},superTypes:[]},Statement:{name:Do.$type,properties:{},superTypes:[]},TreeNode:{name:ST.$type,properties:{indent:{name:ST.indent},name:{name:ST.name}},superTypes:[]},TreeView:{name:Bu.$type,properties:{accDescr:{name:Bu.accDescr},accTitle:{name:Bu.accTitle},nodes:{name:Bu.nodes,defaultValue:[]},title:{name:Bu.title}},superTypes:[]},Treemap:{name:zo.$type,properties:{accDescr:{name:zo.accDescr},accTitle:{name:zo.accTitle},title:{name:zo.title},TreemapRows:{name:zo.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:bT.$type,properties:{indent:{name:bT.indent},item:{name:bT.item}},superTypes:[]},Wardley:{name:vt.$type,properties:{accDescr:{name:vt.accDescr},accelerators:{name:vt.accelerators,defaultValue:[]},accTitle:{name:vt.accTitle},anchors:{name:vt.anchors,defaultValue:[]},annotation:{name:vt.annotation,defaultValue:[]},annotations:{name:vt.annotations,defaultValue:[]},components:{name:vt.components,defaultValue:[]},deaccelerators:{name:vt.deaccelerators,defaultValue:[]},evolution:{name:vt.evolution},evolves:{name:vt.evolves,defaultValue:[]},links:{name:vt.links,defaultValue:[]},notes:{name:vt.notes,defaultValue:[]},pipelines:{name:vt.pipelines,defaultValue:[]},size:{name:vt.size},title:{name:vt.title}},superTypes:[]}}}static{a(this,"MermaidAstReflection")}},fr=new qu;var bN,MN=a(()=>bN??(bN=cr(`{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[(?:\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'|[\\\\w ]+)\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"ArchitectureGrammarGrammar"),SN,DN=a(()=>SN??(SN=cr('{"$type":"Grammar","isDeclared":true,"name":"EventModeling","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","entry":true,"name":"EventModel","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"eventmodeling"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"frames","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"dataEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"noteEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"gwtEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmModelEntityType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rmo"},{"$type":"Keyword","value":"readmodel"},{"$type":"Keyword","value":"ui"},{"$type":"Keyword","value":"cmd"},{"$type":"Keyword","value":"command"},{"$type":"Keyword","value":"evt"},{"$type":"Keyword","value":"event"},{"$type":"Keyword","value":"pcr"},{"$type":"Keyword","value":"processor"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmDataType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"json"},{"$type":"Keyword","value":"jsobj"},{"$type":"Keyword","value":"figma"},{"$type":"Keyword","value":"salt"},{"$type":"Keyword","value":"uri"},{"$type":"Keyword","value":"md"},{"$type":"Keyword","value":"html"},{"$type":"Keyword","value":"text"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"EmDataInline","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"`"},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":"`"}],"cardinality":"?"},{"$type":"Assignment","feature":"dataInlineValue","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"EmDataBlock","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"`"},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":"`"}],"cardinality":"?"},{"$type":"Assignment","feature":"dataBlockValue","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"QualifiedName","dataType":"string","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"."},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmTimeFrame","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"tf"},{"$type":"Keyword","value":"timeframe"}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntityType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"->>"},{"$type":"Assignment","feature":"sourceFrames","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"[["},{"$type":"Assignment","feature":"dataReference","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@10"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"]]"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmResetFrame","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rf"},{"$type":"Keyword","value":"resetframe"}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntityType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"->>"},{"$type":"Assignment","feature":"sourceFrames","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"[["},{"$type":"Assignment","feature":"dataReference","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@10"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"]]"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmFrame","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmModelEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"entity"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmDataEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"data"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmNoteEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"note"},{"$type":"Assignment","feature":"sourceFrame","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmGwt","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"gwt"},{"$type":"Assignment","feature":"sourceFrame","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"given"},{"$type":"Assignment","feature":"givenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"},{"$type":"Group","elements":[{"$type":"Keyword","value":"when"},{"$type":"Assignment","feature":"whenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"}],"cardinality":"?"},{"$type":"Keyword","value":"then"},{"$type":"Assignment","feature":"thenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmGwtStatement","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@9"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EM_EID","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EM_FI","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"EM_ID","definition":{"$type":"RegexToken","regex":"/[_a-zA-Z][\\\\w_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_FID","definition":{"$type":"RegexToken","regex":"/\\\\d{1,3}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_DATA_INLINE","definition":{"$type":"RegexToken","regex":"/\\\\{(.*)\\\\}|\\"(.*)\\"|\'(.*)\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_DATA_BLOCK","definition":{"$type":"RegexToken","regex":"/\\\\{[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?\\\\}(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"EM_WS","definition":{"$type":"RegexToken","regex":"/\\\\s+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_SL_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\/[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"imports":[],"types":[]}')),"EventModelingGrammar"),wN,FN=a(()=>wN??(wN=cr(`{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"GitGraphGrammarGrammar"),NN,GN=a(()=>NN??(NN=cr(`{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"InfoGrammarGrammar"),IN,UN=a(()=>IN??(IN=cr(`{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PacketGrammarGrammar"),_N,jN=a(()=>_N??(_N=cr(`{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PieGrammarGrammar"),kN,zN=a(()=>kN??(kN=cr(`{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}`)),"RadarGrammarGrammar"),PN,BN=a(()=>PN??(PN=cr(`{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammarGrammar"),ON,KN=a(()=>ON??(ON=cr(`{"$type":"Grammar","isDeclared":true,"name":"TreeViewGrammar","rules":[{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"TreeView","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"treeView-beta"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"nodes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@9"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * TreeView grammar for Langium\\n * Converted from treemap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treeView declaration.\\n */"}`)),"TreeViewGrammarGrammar"),LN,qN=a(()=>LN??(LN=cr(`{"$type":"Grammar","isDeclared":true,"name":"WardleyGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Wardley","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"size","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"anchors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"links","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"evolves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"pipelines","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"annotations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"annotation","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"deaccelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Size","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"width","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"height","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolution","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EvolutionStage","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"boundary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"secondName","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Anchor","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Component","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"decorator","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Keyword","value":")"}]}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Label","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"negX","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetX","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"negY","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetY","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Decorator","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"strategy","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Link","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"fromPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"arrow","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"cardinality":"?"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"toPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"linkLabel","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolve","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Assignment","feature":"component","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Pipeline","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PipelineComponent","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Note","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotations","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotation","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"Assignment","feature":"number","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CoordinateValue","dataType":"number","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Accelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Deaccelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"WARDLEY_NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"->"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_PORT","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<>"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+>"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_ARROW","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-->"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-.->"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":">"},"parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'<>/","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'</","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'>/","parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_LABEL","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRATEGY","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"build"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"buy"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"outsource"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"market"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_WARDLEY","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"wardley-beta"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_SIZE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"size"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLUTION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolution"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANCHOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"anchor"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_COMPONENT","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"component"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_LABEL","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"label"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_INERTIA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"inertia"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLVE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolve"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_PIPELINE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"pipeline"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_NOTE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"note"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATIONS","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotations"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotation"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"accelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_DEACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"deaccelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NAME_WITH_SPACES","definition":{"$type":"RegexToken","regex":"/(?!title\\\\s|accTitle|accDescr)[A-Za-z](?:[A-Za-z0-9_()&]|-(?!>))*(?:[ \\\\t]+[A-Za-z(](?:[A-Za-z0-9_()&]|-(?!>))*)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@47"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@48"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"WardleyGrammarGrammar");var xK={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},RK={languageId:"eventmodeling",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},$K={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},EK={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},vK={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},AK={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},CK={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},bK={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},SK={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},wK={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},o$e={AstReflection:a(()=>new qu,"AstReflection")},l$e={Grammar:a(()=>MN(),"Grammar"),LanguageMetaData:a(()=>xK,"LanguageMetaData"),parser:{}},u$e={Grammar:a(()=>DN(),"Grammar"),LanguageMetaData:a(()=>RK,"LanguageMetaData"),parser:{}},c$e={Grammar:a(()=>FN(),"Grammar"),LanguageMetaData:a(()=>$K,"LanguageMetaData"),parser:{}},f$e={Grammar:a(()=>GN(),"Grammar"),LanguageMetaData:a(()=>EK,"LanguageMetaData"),parser:{}},p$e={Grammar:a(()=>UN(),"Grammar"),LanguageMetaData:a(()=>vK,"LanguageMetaData"),parser:{}},d$e={Grammar:a(()=>jN(),"Grammar"),LanguageMetaData:a(()=>AK,"LanguageMetaData"),parser:{}},m$e={Grammar:a(()=>zN(),"Grammar"),LanguageMetaData:a(()=>CK,"LanguageMetaData"),parser:{}},h$e={Grammar:a(()=>BN(),"Grammar"),LanguageMetaData:a(()=>bK,"LanguageMetaData"),parser:{}},y$e={Grammar:a(()=>KN(),"Grammar"),LanguageMetaData:a(()=>SK,"LanguageMetaData"),parser:{}},g$e={Grammar:a(()=>qN(),"Grammar"),LanguageMetaData:a(()=>wK,"LanguageMetaData"),parser:{}};var WN=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,VN=/accTitle[\t ]*:([^\n\r]*)/,HN=/title([\t ][^\n\r]*|)/;var NK={ACC_DESCR:WN,ACC_TITLE:VN,TITLE:HN},wT=class extends $a{static{a(this,"AbstractMermaidValueConverter")}runConverter(e,r,n){let i=this.runCommonConverter(e,r,n);return i===void 0&&(i=this.runCustomConverter(e,r,n)),i===void 0?super.runConverter(e,r,n):i}runCommonConverter(e,r,n){let i=NK[e.name];if(i===void 0)return;let s=i.exec(r);if(s!==null){if(s[1]!==void 0)return s[1].trim().replace(/[\t ]{2,}/gm," ");if(s[2]!==void 0)return s[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,`
|
|
`)}}},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
|
|
*)
|
|
*/
|