UNPKG

mermaid

Version:

Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.

175 lines 705 kB
import{a as i}from"./chunk-AQ6EADP3.mjs";var Nw=Object.create,Ss=Object.defineProperty,Pw=Object.getOwnPropertyDescriptor,hp=Object.getOwnPropertyNames,kw=Object.getPrototypeOf,Ow=Object.prototype.hasOwnProperty,o=i((e,t)=>Ss(e,"name",{value:t,configurable:!0}),"__name"),Lw=i((e,t)=>i(function(){return e&&(t=(0,e[hp(e)[0]])(e=0)),t},"__init"),"__esm"),Y=i((e,t)=>i(function(){return t||(0,e[hp(e)[0]])((t={exports:{}}).exports,t),t.exports},"__require"),"__commonJS"),Gr=i((e,t)=>{for(var r in t)Ss(e,r,{get:t[r],enumerable:!0})},"__export"),Fo=i((e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of hp(t))!Ow.call(e,a)&&a!==r&&Ss(e,a,{get:i(()=>t[a],"get"),enumerable:!(n=Pw(t,a))||n.enumerable});return e},"__copyProps"),wl=i((e,t,r)=>(Fo(e,t,"default"),r&&Fo(r,t,"default")),"__reExport"),yp=i((e,t,r)=>(r=e!=null?Nw(kw(e)):{},Fo(t||!e||!e.__esModule?Ss(r,"default",{value:e,enumerable:!0}):r,e)),"__toESM"),gp=i(e=>Fo(Ss({},"__esModule",{value:!0}),e),"__toCommonJS"),Il={};Gr(Il,{AnnotatedTextEdit:i(()=>sr,"AnnotatedTextEdit"),ChangeAnnotation:i(()=>Xr,"ChangeAnnotation"),ChangeAnnotationIdentifier:i(()=>Ue,"ChangeAnnotationIdentifier"),CodeAction:i(()=>Vc,"CodeAction"),CodeActionContext:i(()=>Wc,"CodeActionContext"),CodeActionKind:i(()=>qc,"CodeActionKind"),CodeActionTriggerKind:i(()=>ji,"CodeActionTriggerKind"),CodeDescription:i(()=>Ec,"CodeDescription"),CodeLens:i(()=>Hc,"CodeLens"),Color:i(()=>yo,"Color"),ColorInformation:i(()=>gc,"ColorInformation"),ColorPresentation:i(()=>vc,"ColorPresentation"),Command:i(()=>Yr,"Command"),CompletionItem:i(()=>Oc,"CompletionItem"),CompletionItemKind:i(()=>Sc,"CompletionItemKind"),CompletionItemLabelDetails:i(()=>kc,"CompletionItemLabelDetails"),CompletionItemTag:i(()=>Ic,"CompletionItemTag"),CompletionList:i(()=>Lc,"CompletionList"),CreateFile:i(()=>la,"CreateFile"),DeleteFile:i(()=>ca,"DeleteFile"),Diagnostic:i(()=>Mi,"Diagnostic"),DiagnosticRelatedInformation:i(()=>go,"DiagnosticRelatedInformation"),DiagnosticSeverity:i(()=>Rc,"DiagnosticSeverity"),DiagnosticTag:i(()=>Ac,"DiagnosticTag"),DocumentHighlight:i(()=>Fc,"DocumentHighlight"),DocumentHighlightKind:i(()=>Gc,"DocumentHighlightKind"),DocumentLink:i(()=>Xc,"DocumentLink"),DocumentSymbol:i(()=>Bc,"DocumentSymbol"),DocumentUri:i(()=>mc,"DocumentUri"),EOL:i(()=>Sg,"EOL"),FoldingRange:i(()=>$c,"FoldingRange"),FoldingRangeKind:i(()=>Tc,"FoldingRangeKind"),FormattingOptions:i(()=>Yc,"FormattingOptions"),Hover:i(()=>Dc,"Hover"),InlayHint:i(()=>sf,"InlayHint"),InlayHintKind:i(()=>$o,"InlayHintKind"),InlayHintLabelPart:i(()=>Ro,"InlayHintLabelPart"),InlineCompletionContext:i(()=>pf,"InlineCompletionContext"),InlineCompletionItem:i(()=>lf,"InlineCompletionItem"),InlineCompletionList:i(()=>uf,"InlineCompletionList"),InlineCompletionTriggerKind:i(()=>cf,"InlineCompletionTriggerKind"),InlineValueContext:i(()=>af,"InlineValueContext"),InlineValueEvaluatableExpression:i(()=>nf,"InlineValueEvaluatableExpression"),InlineValueText:i(()=>tf,"InlineValueText"),InlineValueVariableLookup:i(()=>rf,"InlineValueVariableLookup"),InsertReplaceEdit:i(()=>Nc,"InsertReplaceEdit"),InsertTextFormat:i(()=>wc,"InsertTextFormat"),InsertTextMode:i(()=>Pc,"InsertTextMode"),Location:i(()=>xi,"Location"),LocationLink:i(()=>yc,"LocationLink"),MarkedString:i(()=>zi,"MarkedString"),MarkupContent:i(()=>fa,"MarkupContent"),MarkupKind:i(()=>To,"MarkupKind"),OptionalVersionedTextDocumentIdentifier:i(()=>Fi,"OptionalVersionedTextDocumentIdentifier"),ParameterInformation:i(()=>xc,"ParameterInformation"),Position:i(()=>ie,"Position"),Range:i(()=>ee,"Range"),RenameFile:i(()=>ua,"RenameFile"),SelectedCompletionInfo:i(()=>ff,"SelectedCompletionInfo"),SelectionRange:i(()=>Jc,"SelectionRange"),SemanticTokenModifiers:i(()=>Qc,"SemanticTokenModifiers"),SemanticTokenTypes:i(()=>Zc,"SemanticTokenTypes"),SemanticTokens:i(()=>ef,"SemanticTokens"),SignatureInformation:i(()=>Mc,"SignatureInformation"),StringValue:i(()=>of,"StringValue"),SymbolInformation:i(()=>Uc,"SymbolInformation"),SymbolKind:i(()=>zc,"SymbolKind"),SymbolTag:i(()=>jc,"SymbolTag"),TextDocument:i(()=>mf,"TextDocument"),TextDocumentEdit:i(()=>Gi,"TextDocumentEdit"),TextDocumentIdentifier:i(()=>Cc,"TextDocumentIdentifier"),TextDocumentItem:i(()=>_c,"TextDocumentItem"),TextEdit:i(()=>Ut,"TextEdit"),URI:i(()=>ho,"URI"),VersionedTextDocumentIdentifier:i(()=>bc,"VersionedTextDocumentIdentifier"),WorkspaceChange:i(()=>_g,"WorkspaceChange"),WorkspaceEdit:i(()=>vo,"WorkspaceEdit"),WorkspaceFolder:i(()=>df,"WorkspaceFolder"),WorkspaceSymbol:i(()=>Kc,"WorkspaceSymbol"),integer:i(()=>hc,"integer"),uinteger:i(()=>Di,"uinteger")});var mc,ho,hc,Di,ie,ee,xi,yc,yo,gc,vc,Tc,$c,go,Rc,Ac,Ec,Mi,Yr,Ut,Xr,Ue,sr,Gi,la,ua,ca,vo,Ei,Gu,_g,Cc,bc,Fi,_c,To,fa,Sc,wc,Ic,Nc,Pc,kc,Oc,Lc,zi,Dc,xc,Mc,Gc,Fc,zc,jc,Uc,Kc,Bc,qc,ji,Wc,Vc,Hc,Yc,Xc,Jc,Zc,Qc,ef,tf,rf,nf,af,$o,Ro,sf,of,lf,uf,cf,ff,pf,df,Sg,mf,rh,E,ws=Lw({"../../node_modules/.pnpm/vscode-languageserver-types@3.17.5/node_modules/vscode-languageserver-types/lib/esm/main.js"(){"use strict";(function(e){function t(r){return typeof r=="string"}i(t,"is"),o(t,"is"),e.is=t})(mc||(mc={})),(function(e){function t(r){return typeof r=="string"}i(t,"is"),o(t,"is"),e.is=t})(ho||(ho={})),(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function t(r){return typeof r=="number"&&e.MIN_VALUE<=r&&r<=e.MAX_VALUE}i(t,"is"),o(t,"is"),e.is=t})(hc||(hc={})),(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function t(r){return typeof r=="number"&&e.MIN_VALUE<=r&&r<=e.MAX_VALUE}i(t,"is"),o(t,"is"),e.is=t})(Di||(Di={})),(function(e){function t(n,a){return n===Number.MAX_VALUE&&(n=Di.MAX_VALUE),a===Number.MAX_VALUE&&(a=Di.MAX_VALUE),{line:n,character:a}}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return E.objectLiteral(a)&&E.uinteger(a.line)&&E.uinteger(a.character)}i(r,"is"),o(r,"is"),e.is=r})(ie||(ie={})),(function(e){function t(n,a,s,l){if(E.uinteger(n)&&E.uinteger(a)&&E.uinteger(s)&&E.uinteger(l))return{start:ie.create(n,a),end:ie.create(s,l)};if(ie.is(n)&&ie.is(a))return{start:n,end:a};throw new Error(`Range#create called with invalid arguments[${n}, ${a}, ${s}, ${l}]`)}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return E.objectLiteral(a)&&ie.is(a.start)&&ie.is(a.end)}i(r,"is"),o(r,"is"),e.is=r})(ee||(ee={})),(function(e){function t(n,a){return{uri:n,range:a}}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return E.objectLiteral(a)&&ee.is(a.range)&&(E.string(a.uri)||E.undefined(a.uri))}i(r,"is"),o(r,"is"),e.is=r})(xi||(xi={})),(function(e){function t(n,a,s,l){return{targetUri:n,targetRange:a,targetSelectionRange:s,originSelectionRange:l}}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return E.objectLiteral(a)&&ee.is(a.targetRange)&&E.string(a.targetUri)&&ee.is(a.targetSelectionRange)&&(ee.is(a.originSelectionRange)||E.undefined(a.originSelectionRange))}i(r,"is"),o(r,"is"),e.is=r})(yc||(yc={})),(function(e){function t(n,a,s,l){return{red:n,green:a,blue:s,alpha:l}}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return E.objectLiteral(a)&&E.numberRange(a.red,0,1)&&E.numberRange(a.green,0,1)&&E.numberRange(a.blue,0,1)&&E.numberRange(a.alpha,0,1)}i(r,"is"),o(r,"is"),e.is=r})(yo||(yo={})),(function(e){function t(n,a){return{range:n,color:a}}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return E.objectLiteral(a)&&ee.is(a.range)&&yo.is(a.color)}i(r,"is"),o(r,"is"),e.is=r})(gc||(gc={})),(function(e){function t(n,a,s){return{label:n,textEdit:a,additionalTextEdits:s}}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return E.objectLiteral(a)&&E.string(a.label)&&(E.undefined(a.textEdit)||Ut.is(a))&&(E.undefined(a.additionalTextEdits)||E.typedArray(a.additionalTextEdits,Ut.is))}i(r,"is"),o(r,"is"),e.is=r})(vc||(vc={})),(function(e){e.Comment="comment",e.Imports="imports",e.Region="region"})(Tc||(Tc={})),(function(e){function t(n,a,s,l,u,c){let f={startLine:n,endLine:a};return E.defined(s)&&(f.startCharacter=s),E.defined(l)&&(f.endCharacter=l),E.defined(u)&&(f.kind=u),E.defined(c)&&(f.collapsedText=c),f}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return E.objectLiteral(a)&&E.uinteger(a.startLine)&&E.uinteger(a.startLine)&&(E.undefined(a.startCharacter)||E.uinteger(a.startCharacter))&&(E.undefined(a.endCharacter)||E.uinteger(a.endCharacter))&&(E.undefined(a.kind)||E.string(a.kind))}i(r,"is"),o(r,"is"),e.is=r})($c||($c={})),(function(e){function t(n,a){return{location:n,message:a}}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return E.defined(a)&&xi.is(a.location)&&E.string(a.message)}i(r,"is"),o(r,"is"),e.is=r})(go||(go={})),(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(Rc||(Rc={})),(function(e){e.Unnecessary=1,e.Deprecated=2})(Ac||(Ac={})),(function(e){function t(r){let n=r;return E.objectLiteral(n)&&E.string(n.href)}i(t,"is"),o(t,"is"),e.is=t})(Ec||(Ec={})),(function(e){function t(n,a,s,l,u,c){let f={range:n,message:a};return E.defined(s)&&(f.severity=s),E.defined(l)&&(f.code=l),E.defined(u)&&(f.source=u),E.defined(c)&&(f.relatedInformation=c),f}i(t,"create"),o(t,"create"),e.create=t;function r(n){var a;let s=n;return E.defined(s)&&ee.is(s.range)&&E.string(s.message)&&(E.number(s.severity)||E.undefined(s.severity))&&(E.integer(s.code)||E.string(s.code)||E.undefined(s.code))&&(E.undefined(s.codeDescription)||E.string((a=s.codeDescription)===null||a===void 0?void 0:a.href))&&(E.string(s.source)||E.undefined(s.source))&&(E.undefined(s.relatedInformation)||E.typedArray(s.relatedInformation,go.is))}i(r,"is"),o(r,"is"),e.is=r})(Mi||(Mi={})),(function(e){function t(n,a,...s){let l={title:n,command:a};return E.defined(s)&&s.length>0&&(l.arguments=s),l}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return E.defined(a)&&E.string(a.title)&&E.string(a.command)}i(r,"is"),o(r,"is"),e.is=r})(Yr||(Yr={})),(function(e){function t(s,l){return{range:s,newText:l}}i(t,"replace"),o(t,"replace"),e.replace=t;function r(s,l){return{range:{start:s,end:s},newText:l}}i(r,"insert"),o(r,"insert"),e.insert=r;function n(s){return{range:s,newText:""}}i(n,"del"),o(n,"del"),e.del=n;function a(s){let l=s;return E.objectLiteral(l)&&E.string(l.newText)&&ee.is(l.range)}i(a,"is"),o(a,"is"),e.is=a})(Ut||(Ut={})),(function(e){function t(n,a,s){let l={label:n};return a!==void 0&&(l.needsConfirmation=a),s!==void 0&&(l.description=s),l}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return E.objectLiteral(a)&&E.string(a.label)&&(E.boolean(a.needsConfirmation)||a.needsConfirmation===void 0)&&(E.string(a.description)||a.description===void 0)}i(r,"is"),o(r,"is"),e.is=r})(Xr||(Xr={})),(function(e){function t(r){let n=r;return E.string(n)}i(t,"is"),o(t,"is"),e.is=t})(Ue||(Ue={})),(function(e){function t(s,l,u){return{range:s,newText:l,annotationId:u}}i(t,"replace"),o(t,"replace"),e.replace=t;function r(s,l,u){return{range:{start:s,end:s},newText:l,annotationId:u}}i(r,"insert"),o(r,"insert"),e.insert=r;function n(s,l){return{range:s,newText:"",annotationId:l}}i(n,"del"),o(n,"del"),e.del=n;function a(s){let l=s;return Ut.is(l)&&(Xr.is(l.annotationId)||Ue.is(l.annotationId))}i(a,"is"),o(a,"is"),e.is=a})(sr||(sr={})),(function(e){function t(n,a){return{textDocument:n,edits:a}}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return E.defined(a)&&Fi.is(a.textDocument)&&Array.isArray(a.edits)}i(r,"is"),o(r,"is"),e.is=r})(Gi||(Gi={})),(function(e){function t(n,a,s){let l={kind:"create",uri:n};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(l.options=a),s!==void 0&&(l.annotationId=s),l}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return a&&a.kind==="create"&&E.string(a.uri)&&(a.options===void 0||(a.options.overwrite===void 0||E.boolean(a.options.overwrite))&&(a.options.ignoreIfExists===void 0||E.boolean(a.options.ignoreIfExists)))&&(a.annotationId===void 0||Ue.is(a.annotationId))}i(r,"is"),o(r,"is"),e.is=r})(la||(la={})),(function(e){function t(n,a,s,l){let u={kind:"rename",oldUri:n,newUri:a};return s!==void 0&&(s.overwrite!==void 0||s.ignoreIfExists!==void 0)&&(u.options=s),l!==void 0&&(u.annotationId=l),u}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return a&&a.kind==="rename"&&E.string(a.oldUri)&&E.string(a.newUri)&&(a.options===void 0||(a.options.overwrite===void 0||E.boolean(a.options.overwrite))&&(a.options.ignoreIfExists===void 0||E.boolean(a.options.ignoreIfExists)))&&(a.annotationId===void 0||Ue.is(a.annotationId))}i(r,"is"),o(r,"is"),e.is=r})(ua||(ua={})),(function(e){function t(n,a,s){let l={kind:"delete",uri:n};return a!==void 0&&(a.recursive!==void 0||a.ignoreIfNotExists!==void 0)&&(l.options=a),s!==void 0&&(l.annotationId=s),l}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return a&&a.kind==="delete"&&E.string(a.uri)&&(a.options===void 0||(a.options.recursive===void 0||E.boolean(a.options.recursive))&&(a.options.ignoreIfNotExists===void 0||E.boolean(a.options.ignoreIfNotExists)))&&(a.annotationId===void 0||Ue.is(a.annotationId))}i(r,"is"),o(r,"is"),e.is=r})(ca||(ca={})),(function(e){function t(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(a=>E.string(a.kind)?la.is(a)||ua.is(a)||ca.is(a):Gi.is(a)))}i(t,"is"),o(t,"is"),e.is=t})(vo||(vo={})),Ei=class{static{i(this,"TextEditChangeImpl")}static{o(this,"TextEditChangeImpl")}constructor(e,t){this.edits=e,this.changeAnnotations=t}insert(e,t,r){let n,a;if(r===void 0?n=Ut.insert(e,t):Ue.is(r)?(a=r,n=sr.insert(e,t,r)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(r),n=sr.insert(e,t,a)),this.edits.push(n),a!==void 0)return a}replace(e,t,r){let n,a;if(r===void 0?n=Ut.replace(e,t):Ue.is(r)?(a=r,n=sr.replace(e,t,r)):(this.assertChangeAnnotations(this.changeAnnotations),a=this.changeAnnotations.manage(r),n=sr.replace(e,t,a)),this.edits.push(n),a!==void 0)return a}delete(e,t){let r,n;if(t===void 0?r=Ut.del(e):Ue.is(t)?(n=t,r=sr.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),n=this.changeAnnotations.manage(t),r=sr.del(e,n)),this.edits.push(r),n!==void 0)return n}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.")}},Gu=class{static{i(this,"ChangeAnnotations")}static{o(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,t){let r;if(Ue.is(e)?r=e:(r=this.nextId(),t=e),this._annotations[r]!==void 0)throw new Error(`Id ${r} is already in use.`);if(t===void 0)throw new Error(`No annotation provided for id ${r}`);return this._annotations[r]=t,this._size++,r}nextId(){return this._counter++,this._counter.toString()}},_g=class{static{i(this,"WorkspaceChange")}static{o(this,"WorkspaceChange")}constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new Gu(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(t=>{if(Gi.is(t)){let r=new Ei(t.edits,this._changeAnnotations);this._textEditChanges[t.textDocument.uri]=r}})):e.changes&&Object.keys(e.changes).forEach(t=>{let r=new Ei(e.changes[t]);this._textEditChanges[t]=r})):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(Fi.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let t={uri:e.uri,version:e.version},r=this._textEditChanges[t.uri];if(!r){let n=[],a={textDocument:t,edits:n};this._workspaceEdit.documentChanges.push(a),r=new Ei(n,this._changeAnnotations),this._textEditChanges[t.uri]=r}return r}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let t=this._textEditChanges[e];if(!t){let r=[];this._workspaceEdit.changes[e]=r,t=new Ei(r),this._textEditChanges[e]=t}return t}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new Gu,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,t,r){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let n;Xr.is(t)||Ue.is(t)?n=t:r=t;let a,s;if(n===void 0?a=la.create(e,r):(s=Ue.is(n)?n:this._changeAnnotations.manage(n),a=la.create(e,r,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}renameFile(e,t,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let a;Xr.is(r)||Ue.is(r)?a=r:n=r;let s,l;if(a===void 0?s=ua.create(e,t,n):(l=Ue.is(a)?a:this._changeAnnotations.manage(a),s=ua.create(e,t,n,l)),this._workspaceEdit.documentChanges.push(s),l!==void 0)return l}deleteFile(e,t,r){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let n;Xr.is(t)||Ue.is(t)?n=t:r=t;let a,s;if(n===void 0?a=ca.create(e,r):(s=Ue.is(n)?n:this._changeAnnotations.manage(n),a=ca.create(e,r,s)),this._workspaceEdit.documentChanges.push(a),s!==void 0)return s}},(function(e){function t(n){return{uri:n}}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return E.defined(a)&&E.string(a.uri)}i(r,"is"),o(r,"is"),e.is=r})(Cc||(Cc={})),(function(e){function t(n,a){return{uri:n,version:a}}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return E.defined(a)&&E.string(a.uri)&&E.integer(a.version)}i(r,"is"),o(r,"is"),e.is=r})(bc||(bc={})),(function(e){function t(n,a){return{uri:n,version:a}}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return E.defined(a)&&E.string(a.uri)&&(a.version===null||E.integer(a.version))}i(r,"is"),o(r,"is"),e.is=r})(Fi||(Fi={})),(function(e){function t(n,a,s,l){return{uri:n,languageId:a,version:s,text:l}}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return E.defined(a)&&E.string(a.uri)&&E.string(a.languageId)&&E.integer(a.version)&&E.string(a.text)}i(r,"is"),o(r,"is"),e.is=r})(_c||(_c={})),(function(e){e.PlainText="plaintext",e.Markdown="markdown";function t(r){let n=r;return n===e.PlainText||n===e.Markdown}i(t,"is"),o(t,"is"),e.is=t})(To||(To={})),(function(e){function t(r){let n=r;return E.objectLiteral(r)&&To.is(n.kind)&&E.string(n.value)}i(t,"is"),o(t,"is"),e.is=t})(fa||(fa={})),(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(Sc||(Sc={})),(function(e){e.PlainText=1,e.Snippet=2})(wc||(wc={})),(function(e){e.Deprecated=1})(Ic||(Ic={})),(function(e){function t(n,a,s){return{newText:n,insert:a,replace:s}}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return a&&E.string(a.newText)&&ee.is(a.insert)&&ee.is(a.replace)}i(r,"is"),o(r,"is"),e.is=r})(Nc||(Nc={})),(function(e){e.asIs=1,e.adjustIndentation=2})(Pc||(Pc={})),(function(e){function t(r){let n=r;return n&&(E.string(n.detail)||n.detail===void 0)&&(E.string(n.description)||n.description===void 0)}i(t,"is"),o(t,"is"),e.is=t})(kc||(kc={})),(function(e){function t(r){return{label:r}}i(t,"create"),o(t,"create"),e.create=t})(Oc||(Oc={})),(function(e){function t(r,n){return{items:r||[],isIncomplete:!!n}}i(t,"create"),o(t,"create"),e.create=t})(Lc||(Lc={})),(function(e){function t(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}i(t,"fromPlainText"),o(t,"fromPlainText"),e.fromPlainText=t;function r(n){let a=n;return E.string(a)||E.objectLiteral(a)&&E.string(a.language)&&E.string(a.value)}i(r,"is"),o(r,"is"),e.is=r})(zi||(zi={})),(function(e){function t(r){let n=r;return!!n&&E.objectLiteral(n)&&(fa.is(n.contents)||zi.is(n.contents)||E.typedArray(n.contents,zi.is))&&(r.range===void 0||ee.is(r.range))}i(t,"is"),o(t,"is"),e.is=t})(Dc||(Dc={})),(function(e){function t(r,n){return n?{label:r,documentation:n}:{label:r}}i(t,"create"),o(t,"create"),e.create=t})(xc||(xc={})),(function(e){function t(r,n,...a){let s={label:r};return E.defined(n)&&(s.documentation=n),E.defined(a)?s.parameters=a:s.parameters=[],s}i(t,"create"),o(t,"create"),e.create=t})(Mc||(Mc={})),(function(e){e.Text=1,e.Read=2,e.Write=3})(Gc||(Gc={})),(function(e){function t(r,n){let a={range:r};return E.number(n)&&(a.kind=n),a}i(t,"create"),o(t,"create"),e.create=t})(Fc||(Fc={})),(function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26})(zc||(zc={})),(function(e){e.Deprecated=1})(jc||(jc={})),(function(e){function t(r,n,a,s,l){let u={name:r,kind:n,location:{uri:s,range:a}};return l&&(u.containerName=l),u}i(t,"create"),o(t,"create"),e.create=t})(Uc||(Uc={})),(function(e){function t(r,n,a,s){return s!==void 0?{name:r,kind:n,location:{uri:a,range:s}}:{name:r,kind:n,location:{uri:a}}}i(t,"create"),o(t,"create"),e.create=t})(Kc||(Kc={})),(function(e){function t(n,a,s,l,u,c){let f={name:n,detail:a,kind:s,range:l,selectionRange:u};return c!==void 0&&(f.children=c),f}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return a&&E.string(a.name)&&E.number(a.kind)&&ee.is(a.range)&&ee.is(a.selectionRange)&&(a.detail===void 0||E.string(a.detail))&&(a.deprecated===void 0||E.boolean(a.deprecated))&&(a.children===void 0||Array.isArray(a.children))&&(a.tags===void 0||Array.isArray(a.tags))}i(r,"is"),o(r,"is"),e.is=r})(Bc||(Bc={})),(function(e){e.Empty="",e.QuickFix="quickfix",e.Refactor="refactor",e.RefactorExtract="refactor.extract",e.RefactorInline="refactor.inline",e.RefactorRewrite="refactor.rewrite",e.Source="source",e.SourceOrganizeImports="source.organizeImports",e.SourceFixAll="source.fixAll"})(qc||(qc={})),(function(e){e.Invoked=1,e.Automatic=2})(ji||(ji={})),(function(e){function t(n,a,s){let l={diagnostics:n};return a!=null&&(l.only=a),s!=null&&(l.triggerKind=s),l}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return E.defined(a)&&E.typedArray(a.diagnostics,Mi.is)&&(a.only===void 0||E.typedArray(a.only,E.string))&&(a.triggerKind===void 0||a.triggerKind===ji.Invoked||a.triggerKind===ji.Automatic)}i(r,"is"),o(r,"is"),e.is=r})(Wc||(Wc={})),(function(e){function t(n,a,s){let l={title:n},u=!0;return typeof a=="string"?(u=!1,l.kind=a):Yr.is(a)?l.command=a:l.edit=a,u&&s!==void 0&&(l.kind=s),l}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return a&&E.string(a.title)&&(a.diagnostics===void 0||E.typedArray(a.diagnostics,Mi.is))&&(a.kind===void 0||E.string(a.kind))&&(a.edit!==void 0||a.command!==void 0)&&(a.command===void 0||Yr.is(a.command))&&(a.isPreferred===void 0||E.boolean(a.isPreferred))&&(a.edit===void 0||vo.is(a.edit))}i(r,"is"),o(r,"is"),e.is=r})(Vc||(Vc={})),(function(e){function t(n,a){let s={range:n};return E.defined(a)&&(s.data=a),s}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return E.defined(a)&&ee.is(a.range)&&(E.undefined(a.command)||Yr.is(a.command))}i(r,"is"),o(r,"is"),e.is=r})(Hc||(Hc={})),(function(e){function t(n,a){return{tabSize:n,insertSpaces:a}}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return E.defined(a)&&E.uinteger(a.tabSize)&&E.boolean(a.insertSpaces)}i(r,"is"),o(r,"is"),e.is=r})(Yc||(Yc={})),(function(e){function t(n,a,s){return{range:n,target:a,data:s}}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return E.defined(a)&&ee.is(a.range)&&(E.undefined(a.target)||E.string(a.target))}i(r,"is"),o(r,"is"),e.is=r})(Xc||(Xc={})),(function(e){function t(n,a){return{range:n,parent:a}}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return E.objectLiteral(a)&&ee.is(a.range)&&(a.parent===void 0||e.is(a.parent))}i(r,"is"),o(r,"is"),e.is=r})(Jc||(Jc={})),(function(e){e.namespace="namespace",e.type="type",e.class="class",e.enum="enum",e.interface="interface",e.struct="struct",e.typeParameter="typeParameter",e.parameter="parameter",e.variable="variable",e.property="property",e.enumMember="enumMember",e.event="event",e.function="function",e.method="method",e.macro="macro",e.keyword="keyword",e.modifier="modifier",e.comment="comment",e.string="string",e.number="number",e.regexp="regexp",e.operator="operator",e.decorator="decorator"})(Zc||(Zc={})),(function(e){e.declaration="declaration",e.definition="definition",e.readonly="readonly",e.static="static",e.deprecated="deprecated",e.abstract="abstract",e.async="async",e.modification="modification",e.documentation="documentation",e.defaultLibrary="defaultLibrary"})(Qc||(Qc={})),(function(e){function t(r){let n=r;return E.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}i(t,"is"),o(t,"is"),e.is=t})(ef||(ef={})),(function(e){function t(n,a){return{range:n,text:a}}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return a!=null&&ee.is(a.range)&&E.string(a.text)}i(r,"is"),o(r,"is"),e.is=r})(tf||(tf={})),(function(e){function t(n,a,s){return{range:n,variableName:a,caseSensitiveLookup:s}}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return a!=null&&ee.is(a.range)&&E.boolean(a.caseSensitiveLookup)&&(E.string(a.variableName)||a.variableName===void 0)}i(r,"is"),o(r,"is"),e.is=r})(rf||(rf={})),(function(e){function t(n,a){return{range:n,expression:a}}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return a!=null&&ee.is(a.range)&&(E.string(a.expression)||a.expression===void 0)}i(r,"is"),o(r,"is"),e.is=r})(nf||(nf={})),(function(e){function t(n,a){return{frameId:n,stoppedLocation:a}}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return E.defined(a)&&ee.is(n.stoppedLocation)}i(r,"is"),o(r,"is"),e.is=r})(af||(af={})),(function(e){e.Type=1,e.Parameter=2;function t(r){return r===1||r===2}i(t,"is"),o(t,"is"),e.is=t})($o||($o={})),(function(e){function t(n){return{value:n}}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return E.objectLiteral(a)&&(a.tooltip===void 0||E.string(a.tooltip)||fa.is(a.tooltip))&&(a.location===void 0||xi.is(a.location))&&(a.command===void 0||Yr.is(a.command))}i(r,"is"),o(r,"is"),e.is=r})(Ro||(Ro={})),(function(e){function t(n,a,s){let l={position:n,label:a};return s!==void 0&&(l.kind=s),l}i(t,"create"),o(t,"create"),e.create=t;function r(n){let a=n;return E.objectLiteral(a)&&ie.is(a.position)&&(E.string(a.label)||E.typedArray(a.label,Ro.is))&&(a.kind===void 0||$o.is(a.kind))&&a.textEdits===void 0||E.typedArray(a.textEdits,Ut.is)&&(a.tooltip===void 0||E.string(a.tooltip)||fa.is(a.tooltip))&&(a.paddingLeft===void 0||E.boolean(a.paddingLeft))&&(a.paddingRight===void 0||E.boolean(a.paddingRight))}i(r,"is"),o(r,"is"),e.is=r})(sf||(sf={})),(function(e){function t(r){return{kind:"snippet",value:r}}i(t,"createSnippet"),o(t,"createSnippet"),e.createSnippet=t})(of||(of={})),(function(e){function t(r,n,a,s){return{insertText:r,filterText:n,range:a,command:s}}i(t,"create"),o(t,"create"),e.create=t})(lf||(lf={})),(function(e){function t(r){return{items:r}}i(t,"create"),o(t,"create"),e.create=t})(uf||(uf={})),(function(e){e.Invoked=0,e.Automatic=1})(cf||(cf={})),(function(e){function t(r,n){return{range:r,text:n}}i(t,"create"),o(t,"create"),e.create=t})(ff||(ff={})),(function(e){function t(r,n){return{triggerKind:r,selectedCompletionInfo:n}}i(t,"create"),o(t,"create"),e.create=t})(pf||(pf={})),(function(e){function t(r){let n=r;return E.objectLiteral(n)&&ho.is(n.uri)&&E.string(n.name)}i(t,"is"),o(t,"is"),e.is=t})(df||(df={})),Sg=[`
`,`\r
`,"\r"],(function(e){function t(s,l,u,c){return new rh(s,l,u,c)}i(t,"create"),o(t,"create"),e.create=t;function r(s){let l=s;return!!(E.defined(l)&&E.string(l.uri)&&(E.undefined(l.languageId)||E.string(l.languageId))&&E.uinteger(l.lineCount)&&E.func(l.getText)&&E.func(l.positionAt)&&E.func(l.offsetAt))}i(r,"is"),o(r,"is"),e.is=r;function n(s,l){let u=s.getText(),c=a(l,(p,d)=>{let h=p.range.start.line-d.range.start.line;return h===0?p.range.start.character-d.range.start.character:h}),f=u.length;for(let p=c.length-1;p>=0;p--){let d=c[p],h=s.offsetAt(d.range.start),v=s.offsetAt(d.range.end);if(v<=f)u=u.substring(0,h)+d.newText+u.substring(v,u.length);else throw new Error("Overlapping edit");f=h}return u}i(n,"applyEdits"),o(n,"applyEdits"),e.applyEdits=n;function a(s,l){if(s.length<=1)return s;let u=s.length/2|0,c=s.slice(0,u),f=s.slice(u);a(c,l),a(f,l);let p=0,d=0,h=0;for(;p<c.length&&d<f.length;)l(c[p],f[d])<=0?s[h++]=c[p++]:s[h++]=f[d++];for(;p<c.length;)s[h++]=c[p++];for(;d<f.length;)s[h++]=f[d++];return s}i(a,"mergeSort2"),o(a,"mergeSort")})(mf||(mf={})),rh=class{static{i(this,"FullTextDocument")}static{o(this,"FullTextDocument")}constructor(e,t,r,n){this._uri=e,this._languageId=t,this._version=r,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],t=this._content,r=!0;for(let n=0;n<t.length;n++){r&&(e.push(n),r=!1);let a=t.charAt(n);r=a==="\r"||a===`
`,a==="\r"&&n+1<t.length&&t.charAt(n+1)===`
`&&n++}r&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),r=0,n=t.length;if(n===0)return ie.create(0,e);for(;r<n;){let s=Math.floor((r+n)/2);t[s]>e?n=s:r=s+1}let a=r-1;return ie.create(a,e-t[a])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line],n=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,n),r)}get lineCount(){return this.getLineOffsets().length}},(function(e){let t=Object.prototype.toString;function r(v){return typeof v<"u"}i(r,"defined"),o(r,"defined"),e.defined=r;function n(v){return typeof v>"u"}i(n,"undefined2"),o(n,"undefined"),e.undefined=n;function a(v){return v===!0||v===!1}i(a,"boolean"),o(a,"boolean"),e.boolean=a;function s(v){return t.call(v)==="[object String]"}i(s,"string"),o(s,"string"),e.string=s;function l(v){return t.call(v)==="[object Number]"}i(l,"number"),o(l,"number"),e.number=l;function u(v,T,S){return t.call(v)==="[object Number]"&&T<=v&&v<=S}i(u,"numberRange"),o(u,"numberRange"),e.numberRange=u;function c(v){return t.call(v)==="[object Number]"&&-2147483648<=v&&v<=2147483647}i(c,"integer2"),o(c,"integer"),e.integer=c;function f(v){return t.call(v)==="[object Number]"&&0<=v&&v<=2147483647}i(f,"uinteger2"),o(f,"uinteger"),e.uinteger=f;function p(v){return t.call(v)==="[object Function]"}i(p,"func"),o(p,"func"),e.func=p;function d(v){return v!==null&&typeof v=="object"}i(d,"objectLiteral"),o(d,"objectLiteral"),e.objectLiteral=d;function h(v,T){return Array.isArray(v)&&v.every(T)}i(h,"typedArray"),o(h,"typedArray"),e.typedArray=h})(E||(E={}))}}),Sn=Y({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/ral.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t;function r(){if(t===void 0)throw new Error("No runtime abstraction layer installed");return t}i(r,"RAL"),o(r,"RAL"),(function(n){function a(s){if(s===void 0)throw new Error("No runtime abstraction layer provided");t=s}i(a,"install"),o(a,"install"),n.install=a})(r||(r={})),e.default=r}}),Is=Y({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/is.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0;function t(c){return c===!0||c===!1}i(t,"boolean"),o(t,"boolean"),e.boolean=t;function r(c){return typeof c=="string"||c instanceof String}i(r,"string"),o(r,"string"),e.string=r;function n(c){return typeof c=="number"||c instanceof Number}i(n,"number"),o(n,"number"),e.number=n;function a(c){return c instanceof Error}i(a,"error"),o(a,"error"),e.error=a;function s(c){return typeof c=="function"}i(s,"func"),o(s,"func"),e.func=s;function l(c){return Array.isArray(c)}i(l,"array"),o(l,"array"),e.array=l;function u(c){return l(c)&&c.every(f=>r(f))}i(u,"stringArray"),o(u,"stringArray"),e.stringArray=u}}),Wa=Y({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/events.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Emitter=e.Event=void 0;var t=Sn(),r;(function(s){let l={dispose(){}};s.None=function(){return l}})(r||(e.Event=r={}));var n=class{static{i(this,"CallbackList")}static{o(this,"CallbackList")}add(s,l=null,u){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(s),this._contexts.push(l),Array.isArray(u)&&u.push({dispose:o(()=>this.remove(s,l),"dispose")})}remove(s,l=null){if(!this._callbacks)return;let u=!1;for(let c=0,f=this._callbacks.length;c<f;c++)if(this._callbacks[c]===s)if(this._contexts[c]===l){this._callbacks.splice(c,1),this._contexts.splice(c,1);return}else u=!0;if(u)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...s){if(!this._callbacks)return[];let l=[],u=this._callbacks.slice(0),c=this._contexts.slice(0);for(let f=0,p=u.length;f<p;f++)try{l.push(u[f].apply(c[f],s))}catch(d){(0,t.default)().console.error(d)}return l}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},a=class wg{static{i(this,"_Emitter")}static{o(this,"Emitter")}constructor(l){this._options=l}get event(){return this._event||(this._event=(l,u,c)=>{this._callbacks||(this._callbacks=new n),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(l,u);let f={dispose:o(()=>{this._callbacks&&(this._callbacks.remove(l,u),f.dispose=wg._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(c)&&c.push(f),f}),this._event}fire(l){this._callbacks&&this._callbacks.invoke.call(this._callbacks,l)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};e.Emitter=a,a._noop=function(){}}}),Nl=Y({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/cancellation.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CancellationTokenSource=e.CancellationToken=void 0;var t=Sn(),r=Is(),n=Wa(),a;(function(c){c.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:n.Event.None}),c.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:n.Event.None});function f(p){let d=p;return d&&(d===c.None||d===c.Cancelled||r.boolean(d.isCancellationRequested)&&!!d.onCancellationRequested)}i(f,"is"),o(f,"is"),c.is=f})(a||(e.CancellationToken=a={}));var s=Object.freeze(function(c,f){let p=(0,t.default)().timer.setTimeout(c.bind(f),0);return{dispose(){p.dispose()}}}),l=class{static{i(this,"MutableToken")}static{o(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?s:(this._emitter||(this._emitter=new n.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},u=class{static{i(this,"CancellationTokenSource3")}static{o(this,"CancellationTokenSource")}get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=a.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=a.None}};e.CancellationTokenSource=u}}),Ig=Y({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messages.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Message=e.NotificationType9=e.NotificationType8=e.NotificationType7=e.NotificationType6=e.NotificationType5=e.NotificationType4=e.NotificationType3=e.NotificationType2=e.NotificationType1=e.NotificationType0=e.NotificationType=e.RequestType9=e.RequestType8=e.RequestType7=e.RequestType6=e.RequestType5=e.RequestType4=e.RequestType3=e.RequestType2=e.RequestType1=e.RequestType=e.RequestType0=e.AbstractMessageSignature=e.ParameterStructures=e.ResponseError=e.ErrorCodes=void 0;var t=Is(),r;(function(g){g.ParseError=-32700,g.InvalidRequest=-32600,g.MethodNotFound=-32601,g.InvalidParams=-32602,g.InternalError=-32603,g.jsonrpcReservedErrorRangeStart=-32099,g.serverErrorStart=-32099,g.MessageWriteError=-32099,g.MessageReadError=-32098,g.PendingResponseRejected=-32097,g.ConnectionInactive=-32096,g.ServerNotInitialized=-32002,g.UnknownErrorCode=-32001,g.jsonrpcReservedErrorRangeEnd=-32e3,g.serverErrorEnd=-32e3})(r||(e.ErrorCodes=r={}));var n=class Ng extends Error{static{i(this,"_ResponseError")}static{o(this,"ResponseError")}constructor(C,$,R){super($),this.code=t.number(C)?C:r.UnknownErrorCode,this.data=R,Object.setPrototypeOf(this,Ng.prototype)}toJson(){let C={code:this.code,message:this.message};return this.data!==void 0&&(C.data=this.data),C}};e.ResponseError=n;var a=class Ao{static{i(this,"_ParameterStructures")}static{o(this,"ParameterStructures")}constructor(C){this.kind=C}static is(C){return C===Ao.auto||C===Ao.byName||C===Ao.byPosition}toString(){return this.kind}};e.ParameterStructures=a,a.auto=new a("auto"),a.byPosition=new a("byPosition"),a.byName=new a("byName");var s=class{static{i(this,"AbstractMessageSignature")}static{o(this,"AbstractMessageSignature")}constructor(g,C){this.method=g,this.numberOfParams=C}get parameterStructures(){return a.auto}};e.AbstractMessageSignature=s;var l=class extends s{static{i(this,"RequestType0")}static{o(this,"RequestType0")}constructor(g){super(g,0)}};e.RequestType0=l;var u=class extends s{static{i(this,"RequestType")}static{o(this,"RequestType")}constructor(g,C=a.auto){super(g,1),this._parameterStructures=C}get parameterStructures(){return this._parameterStructures}};e.RequestType=u;var c=class extends s{static{i(this,"RequestType1")}static{o(this,"RequestType1")}constructor(g,C=a.auto){super(g,1),this._parameterStructures=C}get parameterStructures(){return this._parameterStructures}};e.RequestType1=c;var f=class extends s{static{i(this,"RequestType2")}static{o(this,"RequestType2")}constructor(g){super(g,2)}};e.RequestType2=f;var p=class extends s{static{i(this,"RequestType3")}static{o(this,"RequestType3")}constructor(g){super(g,3)}};e.RequestType3=p;var d=class extends s{static{i(this,"RequestType4")}static{o(this,"RequestType4")}constructor(g){super(g,4)}};e.RequestType4=d;var h=class extends s{static{i(this,"RequestType5")}static{o(this,"RequestType5")}constructor(g){super(g,5)}};e.RequestType5=h;var v=class extends s{static{i(this,"RequestType6")}static{o(this,"RequestType6")}constructor(g){super(g,6)}};e.RequestType6=v;var T=class extends s{static{i(this,"RequestType7")}static{o(this,"RequestType7")}constructor(g){super(g,7)}};e.RequestType7=T;var S=class extends s{static{i(this,"RequestType8")}static{o(this,"RequestType8")}constructor(g){super(g,8)}};e.RequestType8=S;var w=class extends s{static{i(this,"RequestType9")}static{o(this,"RequestType9")}constructor(g){super(g,9)}};e.RequestType9=w;var N=class extends s{static{i(this,"NotificationType")}static{o(this,"NotificationType")}constructor(g,C=a.auto){super(g,1),this._parameterStructures=C}get parameterStructures(){return this._parameterStructures}};e.NotificationType=N;var I=class extends s{static{i(this,"NotificationType0")}static{o(this,"NotificationType0")}constructor(g){super(g,0)}};e.NotificationType0=I;var A=class extends s{static{i(this,"NotificationType1")}static{o(this,"NotificationType1")}constructor(g,C=a.auto){super(g,1),this._parameterStructures=C}get parameterStructures(){return this._parameterStructures}};e.NotificationType1=A;var k=class extends s{static{i(this,"NotificationType2")}static{o(this,"NotificationType2")}constructor(g){super(g,2)}};e.NotificationType2=k;var j=class extends s{static{i(this,"NotificationType3")}static{o(this,"NotificationType3")}constructor(g){super(g,3)}};e.NotificationType3=j;var J=class extends s{static{i(this,"NotificationType4")}static{o(this,"NotificationType4")}constructor(g){super(g,4)}};e.NotificationType4=J;var Q=class extends s{static{i(this,"NotificationType5")}static{o(this,"NotificationType5")}constructor(g){super(g,5)}};e.NotificationType5=Q;var ce=class extends s{static{i(this,"NotificationType6")}static{o(this,"NotificationType6")}constructor(g){super(g,6)}};e.NotificationType6=ce;var se=class extends s{static{i(this,"NotificationType7")}static{o(this,"NotificationType7")}constructor(g){super(g,7)}};e.NotificationType7=se;var Se=class extends s{static{i(this,"NotificationType8")}static{o(this,"NotificationType8")}constructor(g){super(g,8)}};e.NotificationType8=Se;var O=class extends s{static{i(this,"NotificationType9")}static{o(this,"NotificationType9")}constructor(g){super(g,9)}};e.NotificationType9=O;var b;(function(g){function C(_){let L=_;return L&&t.string(L.method)&&(t.string(L.id)||t.number(L.id))}i(C,"isRequest"),o(C,"isRequest"),g.isRequest=C;function $(_){let L=_;return L&&t.string(L.method)&&_.id===void 0}i($,"isNotification"),o($,"isNotification"),g.isNotification=$;function R(_){let L=_;return L&&(L.result!==void 0||!!L.error)&&(t.string(L.id)||t.number(L.id)||L.id===null)}i(R,"isResponse"),o(R,"isResponse"),g.isResponse=R})(b||(e.Message=b={}))}}),Pg=Y({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/linkedMap.js"(e){"use strict";var t;Object.defineProperty(e,"__esModule",{value:!0}),e.LRUCache=e.LinkedMap=e.Touch=void 0;var r;(function(s){s.None=0,s.First=1,s.AsOld=s.First,s.Last=2,s.AsNew=s.Last})(r||(e.Touch=r={}));var n=class{static{i(this,"LinkedMap")}static{o(this,"LinkedMap")}constructor(){this[t]="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(s){return this._map.has(s)}get(s,l=r.None){let u=this._map.get(s);if(u)return l!==r.None&&this.touch(u,l),u.value}set(s,l,u=r.None){let c=this._map.get(s);if(c)c.value=l,u!==r.None&&this.touch(c,u);else{switch(c={key:s,value:l,next:void 0,previous:void 0},u){case r.None:this.addItemLast(c);break;case r.First:this.addItemFirst(c);break;case r.Last:this.addItemLast(c);break;default:this.addItemLast(c);break}this._map.set(s,c),this._size++}return this}delete(s){return!!this.remove(s)}remove(s){let l=this._map.get(s);if(l)return this._map.delete(s),this.removeItem(l),this._size--,l.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let s=this._head;return this._map.delete(s.key),this.removeItem(s),this._size--,s.value}forEach(s,l){let u=this._state,c=this._head;for(;c;){if(l?s.bind(l)(c.value,c.key,this):s(c.value,c.key,this),this._state!==u)throw new Error("LinkedMap got modified during iteration.");c=c.next}}keys(){let s=this._state,l=this._head,u={[Symbol.iterator]:()=>u,next:o(()=>{if(this._state!==s)throw new Error("LinkedMap got modified during iteration.");if(l){let c={value:l.key,done:!1};return l=l.next,c}else return{value:void 0,done:!0}},"next")};return u}values(){let s=this._state,l=this._head,u={[Symbol.iterator]:()=>u,next:o(()=>{if(this._state!==s)throw new Error("LinkedMap got modified during iteration.");if(l){let c={value:l.value,done:!1};return l=l.next,c}else return{value:void 0,done:!0}},"next")};return u}entries(){let s=this._state,l=this._head,u={[Symbol.iterator]:()=>u,next:o(()=>{if(this._state!==s)throw new Error("LinkedMap got modified during iteration.");if(l){let c={value:[l.key,l.value],done:!1};return l=l.next,c}else return{value:void 0,done:!0}},"next")};return u}[(t=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(s){if(s>=this.size)return;if(s===0){this.clear();return}let l=this._head,u=this.size;for(;l&&u>s;)this._map.delete(l.key),l=l.next,u--;this._head=l,this._size=u,l&&(l.previous=void 0),this._state++}addItemFirst(s){if(!this._head&&!this._tail)this._tail=s;else if(this._head)s.next=this._head,this._head.previous=s;else throw new Error("Invalid list");this._head=s,this._state++}addItemLast(s){if(!this._head&&!this._tail)this._head=s;else if(this._tail)s.previous=this._tail,this._tail.next=s;else throw new Error("Invalid list");this._tail=s,this._state++}removeItem(s){if(s===this._head&&s===this._tail)this._head=void 0,this._tail=void 0;else if(s===this._head){if(!s.next)throw new Error("Invalid list");s.next.previous=void 0,this._head=s.next}else if(s===this._tail){if(!s.previous)throw new Error("Invalid list");s.previous.next=void 0,this._tail=s.previous}else{let l=s.next,u=s.previous;if(!l||!u)throw new Error("Invalid list");l.previous=u,u.next=l}s.next=void 0,s.previous=void 0,this._state++}touch(s,l){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(l!==r.First&&l!==r.Last)){if(l===r.First){if(s===this._head)return;let u=s.next,c=s.previous;s===this._tail?(c.next=void 0,this._tail=c):(u.previous=c,c.next=u),s.previous=void 0,s.next=this._head,this._head.previous=s,this._head=s,this._state++}else if(l===r.Last){if(s===this._tail)return;let u=s.next,c=s.previous;s===this._head?(u.previous=void 0,this._head=u):(u.previous=c,c.next=u),s.next=void 0,s.previous=this._tail,this._tail.next=s,this._tail=s,this._state++}}}toJSON(){let s=[];return this.forEach((l,u)=>{s.push([u,l])}),s}fromJSON(s){this.clear();for(let[l,u]of s)this.set(l,u)}};e.LinkedMap=n;var a=class extends n{static{i(this,"LRUCache")}static{o(this,"LRUCache")}constructor(s,l=1){super(),this._limit=s,this._ratio=Math.min(Math.max(0,l),1)}get limit(){return this._limit}set limit(s){this._limit=s,this.checkTrim()}get ratio(){return this._ratio}set ratio(s){this._ratio=Math.min(Math.max(0,s),1),this.checkTrim()}get(s,l=r.AsNew){return super.get(s,l)}peek(s){return super.get(s,r.None)}set(s,l){return super.set(s,l,r.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};e.LRUCache=a}}),Dw=Y({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/disposable.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Disposable=void 0;var t;(function(r){function n(a){return{dispose:a}}i(n,"create"),o(n,"create"),r.create=n})(t||(e.Disposable=t={}))}}),xw=Y({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SharedArrayReceiverStrategy=e.SharedArraySenderStrategy=void 0;var t=Nl(),r;(function(u){u.Continue=0,u.Cancelled=1})(r||(r={}));var n=class{static{i(this,"SharedArraySenderStrategy")}static{o(this,"SharedArraySenderStrategy")}constructor(){this.buffers=new Map}enableCancellation(u){if(u.id===null)return;let c=new SharedArrayBuffer(4),f=new Int32Array(c,0,1);f[0]=r.Continue,this.buffers.set(u.id,c),u.$cancellationData=c}async sendCancellation(u,c){let f=this.buffers.get(c);if(f===void 0)return;let p=new Int32Array(f,0,1);Atomics.store(p,0,r.Cancelled)}cleanup(u){this.buffers.delete(u)}dispose(){this.buffers.clear()}};e.SharedArraySenderStrategy=n;var a=class{static{i(this,"SharedArrayBufferCancellationToken")}static{o(this,"SharedArrayBufferCancellationToken")}constructor(u){this.data=new Int32Array(u,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===r.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},s=class{static{i(this,"SharedArrayBufferCancellationTokenSource")}static{o(this,"SharedArrayBufferCancellationTokenSource")}constructor(u){this.token=new a(u)}cancel(){}dispose(){}},l=class{static{i(this,"SharedArrayReceiverStrategy")}static{o(this,"SharedArrayReceiverStrategy")}constructor(){this.kind="request"}createCancellationTokenSource(u){let c=u.$cancellationData;return c===void 0?new t.CancellationTokenSource:new s(c)}};e.SharedArrayReceiverStrategy=l}}),kg=Y({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/semaphore.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Semaphore=void 0;var t=Sn(),r=class{static{i(this,"Semaphore")}static{o(this,"Semaphore")}constructor(n=1){if(n<=0)throw new Error("Capacity must be greater than 0");this._capacity=n,this._active=0,this._waiting=[]}lock(n){return new Promise((a,s)=>{this._waiting.push({thunk:n,resolve:a,reject:s}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let n=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let a=n.thunk();a instanceof Promise?a.then(s=>{this._active--,n.resolve(s),this.runNext()},s=>{this._active--,n.reject(s),this.runNext()}):(this._active--,n.resolve(a),this.runNext())}catch(a){this._active--,n.reject(a),this.runNext()}}};e.Semaphore=r}}),Mw=Y({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageReader.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReadableStreamMessageReader=e.AbstractMessageReader=e.MessageReader=void 0;var t=Sn(),r=Is(),n=Wa(),a=kg(),s;(function(f){function p(d){let h=d;return h&&r.func(h.listen)&&r.func(h.dispose)&&r.func(h.onError)&&r.func(h.onClose)&&r.func(h.onPartialMessage)}i(p,"is"),o(p,"is"),f.is=p})(s||(e.MessageReader=s={}));var l=class{static{i(this,"AbstractMessageReader")}static{o(this,"AbstractMessageReader")}constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter,this.partialMessageEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(f){this.errorEmitter.fire(this.asError(f))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(f){this.partialMessageEmitter.fire(f)}asError(f){return f instanceof Error?f:new Error(`Reader received error. Reason: ${r.string(f.message)?f.message:"unknown"}`)}};e.AbstractMessageReader=l;var u;(function(f){function p(d){let h,v,T,S=new Map,w,N=new Map;if(d===void 0||typeof d=="string")h=d??"utf-8";else{if(h=d.charset??"utf-8",d.contentDecoder!==void 0&&(T=d.contentDecoder,S.set(T.name,T)),d.contentDecoders!==void 0)for(let I of d.contentDecoders)S.set(I.name,I);if(d.contentTypeDecoder!==void 0&&(w=d.contentTypeDecoder,N.set(w.name,w)),d.contentTypeDecoders!==void 0)for(let I of d.contentTypeDecoders)N.set(I.name,I)}return w===void 0&&(w=(0,t.default)().applicationJson.decoder,N.set(w.name,w)),{charset:h,contentDecoder:T,contentDecoders:S,contentTypeDecoder:w,contentTypeDecoders:N}}i(p,"fromOptions"),o(p,"fromOptions"),f.fromOptions=p})(u||(u={}));var c=class extends l{static{i(this,"ReadableStreamMessageReader")}static{o(this,"ReadableStreamMessageReader")}constructor(f,p){super(),this.readable=f,this.options=u.fromOptions(p),this.buffer=(0,t.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new a.Semaphore(1)}set partialMessageTimeout(f){this._partialMessageTimeout=f}get partialMessageTimeout(){return this._partialMessageTimeout}listen(f){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=f;let p=this.readable.onData(d=>{this.onData(d)});return this.readable.onError(d=>this.fireError(d)),this.readable.onClose(()=>this.fireClose()),p}onData(f){try{for(this.buffer.append(f);;){if(this.nextMessageLength===-1){let d=this.buffer.tryReadHeaders(!0);if(!d)return;let h=d.get("content-length");if(!h){this.fireError(new Error(`Header must provide a Content-Length property.
${JSON.stringify(Object.fromEntries(d))}`));return}let v=parseInt(h);if(isNaN(v)){this.fireError(new Error(`Content-Length value must be a number. Got ${h}`));return}this.nextMessageLength=v}let p=this.buffer.tryReadBody(this.nextMessageLength);if(p===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let d=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(p):p,h=await this.options.contentTypeDecoder.decode(d,this.options);this.callback(h)}).catch(d=>{this.fireError(d)})}}catch(p){this.fireError(p)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,t.default)().timer.setTimeout((f,p)=>{this.partialMessageTimer=void 0,f===this.messageToken&&(this.firePartialMessage({messageToken:f,waitingTime:p}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};e.ReadableStreamMessageReader=c}}),Gw=Y({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageWriter.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WriteableStreamMessageWriter=e.AbstractMessageWriter=e.MessageWriter=void 0;var t=Sn(),r=Is(),n=kg(),a=Wa(),s="Content-Length: ",l=`\r
`,u;(function(d){function h(v){let T=v;return T&&r.func(T.dispose)&&r.func(T.onClose)&&r.func(T.onError)&&r.func(T.write)}i(h,"is"),o(h,"is"),d.is=h})(u||(e.MessageWriter=u={}));var c=class{static{i(this,"AbstractMessageWriter")}static{o(this,"AbstractMessageWriter")}constructor(){this.errorEmitter=new a.Emitter,this.closeEmitter=new a.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(d,h,v){this.errorEmitter.fire([this.asError(d),h,v])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(d){return d instanceof Error?d:new Error(`Writer received error. Reason: ${r.string(d.message)?d.message:"unknown"}`)}};e.AbstractMessageWriter=c;var f;(function(d){function h(v){return v===void 0||typeof v=="string"?{charset:v??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:v.charset??"utf-8",contentEncoder:v.contentEncoder,contentTypeEncoder:v.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}i(h,"fromOptions"),o(h,"fromOptions"),d.fromOptions=h})(f||(f={}));var p=class extends c{static{i(this,"WriteableStreamMessageWriter")}static{o(this,"WriteableStreamMessageWriter")}constructor(d,h){super(),this.writable=d,this.options=f.fromOptions(h),this.errorCount=0,this.writeSemaphore=new n.Semaphore(1),this.writable.onError(v=>this.fireError(v)),this.writable.onClose(()=>this.fireClose())}async write(d){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(d,this.options).then(v=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(v):v).then(v=>{let T=[];return T.push(s,v.byteLength.toString(),l),T.push(l),this.doWrite(d,T,v)},v=>{throw this.fireError(v),v}))}async doWrite(d,h,v){try{return await this.writable.write(h.join(""),"ascii"),this.writable.write(v)}catch(T){return this.handleError(T,d),Promise.reject(T)}}handleError(d,h){this.errorCount++,this.fireError(d,h,this.errorCount)}end(){this.writable.end()}};e.WriteableStreamMessageWriter=p}}),Fw=Y({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractMessageBuffer=void 0;var t=13,r=10,n=`\r
`,a=class{static{i(this,"AbstractMessageBuffer")}static{o(this,"AbstractMessageBuffer")}constructor(s="utf-8"){this._encoding=s,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(s){let l=typeof s=="string"?this.fromString(s,this._encoding):s;this._chunks.push(l),this._totalLength+=l.byteLength}tryReadHeaders(s=!1){if(this._chunks.length===0)return;let l=0,u=0,c=0,f=0;e:for(;u<this._chunks.length;){let v=this._chunks[u];for(c=0;c<v.length;){switch(v[c]){case t:switch(l){case 0:l=1;break;case 2:l=3;break;default:l=0}break;case r:switch(l){case 1:l=2;break;case 3:l=4,c++;break e;default:l=0}break;default:l=0}c++}f+=v.byteLength,u++}if(l!==4)return;let p=this._read(f+c),d=new Map,h=this.toString(p,"ascii").split(n);if(h.length<2)return d;for(let v=0;v<h.length-2;v++){let T=h[v],S=T.indexOf(":");if(S===-1)throw new Error(`Message header must separate key and value using ':'
${T}`);let w=T.substr(0,S),N=T.substr(S+1).trim();d.set(s?w.toLowerCase():w,N)}return d}tryReadBody(s){if(!(this._totalLength<s))return this._read(s)}get numberOfBytes(){return this._totalLength}_read(s){if(s===0)return this.emptyBuffer();if(s>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===s){let f=this._chunks[0];return this._chunks.shift(),this._totalLength-=s,this.asNative(f)}if(this._chunks[0].byteLength>s){let f=this._chunks[0],p=this.asNative(f,s);return this._chunks[0]=f.slice(s),this._totalLength-=s,p}let l=this.allocNative(s),u=0,c=0;for(;s>0;){let f=this._chunks[c];if(f.byteLength>s){let p=f.slice(0,s);l.set(p,u),u+=s,this._chunks[c]=f.slice(s),this._totalLength-=s,s-=s}else l.set(f,u),u+=f.byteLength,this._chunks.shift(),this._totalLength-=f.byteLength,s-=f.byteLength}return l}};e.AbstractMessageBuffer=a}}),zw=Y({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/connection.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createMessageConnection=e.ConnectionOptions=e.MessageStrategy=e.CancellationStrategy=e.CancellationSenderStrategy=e.CancellationReceiverStrategy=e.RequestCancellationReceiverStrategy=e.IdCancellationReceiverStrategy=e.ConnectionStrategy=e.ConnectionError=e.ConnectionErrors=e.LogTraceNotification=e.SetTraceNotification=e.TraceFormat=e.TraceValues=e.Trace=e.NullLogger=e.ProgressType=e.ProgressToken=void 0;var t=Sn(),r=Is(),n=Ig(),a=Pg(),s=Wa(),l=Nl(),u;(function(g){g.type=new n.NotificationType("$/cancelRequest")})(u||(u={}));var c;(function(g){function C($){return typeof $=="string"||typeof $=="number"}i(C,"is"),o(C,"is"),g.is=C})(c||(e.ProgressToken=c={}));var f;(function(g){g.type=new n.NotificationType("$/progress")})(f||(f={}));var p=class{static{i(this,"ProgressType")}static{o(this,"ProgressType")}constructor(){}};e.ProgressType=p;var d;(function(g){function C($){return r.func($)}i(C,"is"),o(C,"is"),g.is=C})(d||(d={})),e.NullLogger=Object.freeze({error:o(()=>{},"error"),warn:o(()=>{},"warn"),info:o(()=>{},"info"),log:o(()=>{},"log")});var h;(function(g){g[g.Off=0]="Off",g[g.Messages=1]="Messages",g[g.Compact=2]="Compact",g[g.Verbose=3]="Verbose"})(h||(e.Trace=h={}));var v;(function(g){g.Off="off",g.Messages="messages",g.Compact="compact",g.Verbose="verbose"})(v||(e.TraceValues=v={})),(function(g){function C(R){if(!r.string(R))return g.Off;switch(R=R.toLowerCase(),R){case"off":return g.Off;case"messages":return g.Messages;case"compact":return g.Compact;case"verbose":return g.Verbose;default:return g.Off}}i(C,"fromString"),o(C,"fromString"),g.fromString=C;function $(R){switch(R){case g.Off:return"off";case g.Messages:return"messages";case g.Compact:return"compact";case g.Verbose:return"verbose";default:return"off"}}i($,"toString4"),o($,"toString"),g.toString=$})(h||(e.Trace=h={}));var T;(function(g){g.Text="text",g.JSON="json"})(T||(e.TraceFormat=T={})),(function(g){function C($){return r.string($)?($=$.toLowerCase(),$==="json"?g.JSON:g.Text):g.Text}i(C,"fromString"),o(C,"fromString"),g.fromString=C})(T||(e.TraceFormat=T={}));var S;(function(g){g.type=new n.NotificationType("$/setTrace")})(S||(e.SetTraceNotification=S={}));var w;(function(g){g.type=new n.NotificationType("$/logTrace")})(w||(e.LogTraceNotification=w={}));var N;(function(g){g[g.Closed=1]="Closed",g[g.Disposed=2]="Disposed",g[g.AlreadyListening=3]="AlreadyListening"})(N||(e.ConnectionErrors=N={}));var I=class Og extends Error{static{i(this,"_ConnectionError")}static{o(this,"ConnectionError")}constructor(C,$){super($),this.code=C,Object.setPrototypeOf(this,Og.prototype)}};e.ConnectionError=I;var A;(function(g){function C($){let R=$;return R&&r.func(R.cancelUndispatched)}i(C,"is"),o(C,"is"),g.is=C})(A||(e.ConnectionStrategy=A={}));var k;(function(g){function C($){let R=$;return R&&(R.kind===void 0||R.kind==="id")&&r.func(R.createCancellationTokenSource)&&(R.dispose===void 0||r.func(R.dispose))}i(C,"is"),o(C,"is"),g.is=C})(k||(e.IdCancellationReceiverStrategy=k={}));var j;(function(g){function C($){let R=$;return R&&R.kind==="request"&&r.func(R.createCancellationTokenSource)&&(R.dispose===void 0||r.func(R.dispose))}i(C,"is"),o(C,"is"),g.is=C})(j||(e.RequestCancellationReceiverStrategy=j={}));var J;(function(g){g.Message=Object.freeze({createCancellationTokenSource($){return new l.CancellationTokenSource}});function C($){return k.is($)||j.is($)}i(C,"is"),o(C,"is"),g.is=C})(J||(e.CancellationReceiverStrategy=J={}));var Q;(function(g){g.Message=Object.freeze({sendCancellation($,R){return $.sendNotification(u.type,{id:R})},cleanup($){}});function C($){let R=$;return R&&r.func(R.sendCancellation)&&r.func(R.cleanup)}i(C,"is"),o(C,"is"),g.is=C})(Q||(e.CancellationSenderStrategy=Q={}));var ce;(function(g){g.Message=Object.freeze({receiver:J.Message,sender:Q.Message});function C($){let R=$;return R&&J.is(R.receiver)&&Q.is(R.sender)}i(C,"is"),o(C,"is"),g.is=C})(ce||(e.CancellationStrategy=ce={}));var se;(function(g){function C($){let R=$;return R&&r.func(R.handleMessage)}i(C,"is"),o(C,"is"),g.is=C})(se||(e.MessageStrategy=se={}));var Se;(function(g){function C($){let R=$;return R&&(ce.is(R.cancellationStrategy)||A.is(R.connectionStrategy)||se.is(R.messageStrategy))}i(C,"is"),o(C,"is"),g.is=C})(Se||(e.ConnectionOptions=Se={}));var O;(function(g){g[g.New=1]="New",g[g.Listening=2]="Listening",g[g.Closed=3]="Closed",g[g.Disposed=4]="Disposed"})(O||(O={}));function b(g,C,$,R){let _=$!==void 0?$:e.NullLogger,L=0,M=0,x=0,F="2.0",W,X=new Map,V,Pe=new Map,oe=new Map,Le,De=new a.LinkedMap,ke=new Map,He=new Set,Ve=new Map,ne=h.Off,Mt=T.Text,Ee,bt=O.New,Hn=new s.Emitter,ri=new s.Emitter,ni=new s.Emitter,ai=new s.Emitter,ii=new s.Emitter,_t=R&&R.cancellationStrategy?R.cancellationStrategy:ce.Message;function Yn(y){if(y===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+y.toString()}i(Yn,"createRequestQueueKey"),o(Yn,"createRequestQueueKey");function si(y){return y===null?"res-unknown-"+(++x).toString():"res-"+y.toString()}i(si,"createResponseQueueKey"),o(si,"createResponseQueueKey");function oi(){return"not-"+(++M).toString()}i(oi,"createNotificationQueueKey"),o(oi,"createNotificationQueueKey");function li(y,P){n.Message.isRequest(P)?y.set(Yn(P.id),P):n.Message.isResponse(P)?y.set(si(P.id),P):y.set(oi(),P)}i(li,"addMessageToQueue"),o(li,"addMessageToQueue");function ui(y){}i(ui,"cancelUndispatched"),o(ui,"cancelUndispatched");function Xn(){return bt===O.Listening}i(Xn,"isListening"),o(Xn,"isListening");function Jn(){return bt===O.Closed}i(Jn,"isClosed"),o(Jn,"isClosed");function Gt(){return bt===O.Disposed}i(Gt,"isDisposed"),o(Gt,"isDisposed");function Zn(){(bt===O.New||bt===O.Listening)&&(bt=O.Closed,ri.fire(void 0))}i(Zn,"closeHandler"),o(Zn,"closeHandler");function ci(y){Hn.fire([y,void 0,void 0])}i(ci,"readErrorHandler"),o(ci,"readErrorHandler");function fi(y){Hn.fire(y)}i(fi,"writeErrorHandler"),o(fi,"writeErrorHandler"),g.onClose(Zn),g.onError(ci),C.onClose(Zn),C.onError(fi);function Qn(){Le||De.size===0||(Le=(0,t.default)().timer.setImmediate(()=>{Le=void 0,pi()}))}i(Qn,"triggerMessageQueue"),o(Qn,"triggerMessageQueue");function ea(y){n.Message.isRequest(y)?di(y):n.Message.isNotification(y)?hi(y):n.Message.isResponse(y)?mi(y):yi(y)}i(ea,"handleMessage"),o(ea,"handleMessage");function pi(){if(De.size===0)return;let y=De.shift();try{let P=R?.messageStrategy;se.is(P)?P.handleMessage(y,ea):ea(y)}finally{Qn()}}i(pi,"processMessageQueue"),o(pi,"processMessageQueue");let Ys=o(y=>{try{if(n.Message.isNotification(y)&&y.method===u.type.method){let P=y.params.id,D=Yn(P),G=De.get(D);if(n.Message.isRequest(G)){let fe=R?.connectionStrategy,Ce=fe&&fe.cancelUndispatched?fe.cancelUndispatched(G,ui):void 0;if(Ce&&(Ce.error!==void 0||Ce.result!==void 0)){De.delete(D),Ve.delete(P),Ce.id=G.id,_r(Ce,y.method,Date.now()),C.write(Ce).catch(()=>_.error("Sending response for canceled message failed."));return}}let he=Ve.get(P);if(he!==void 0){he.cancel(),Kr(y);return}else He.add(P)}li(De,y)}finally{Qn()}},"callback");function di(y){if(Gt())return;function P(te,$e,le){let xe={jsonrpc:F,id:y.id};te instanceof n.ResponseError?xe.error=te.toJson():xe.result=te===void 0?null:te,_r(xe,$e,le),C.write(xe).catch(()=>_.error("Sending response failed."))}i(P,"reply"),o(P,"reply");function D(te,$e,le){let xe={jsonrpc:F,id:y.id,error:te.toJson()};_r(xe,$e,le),C.write(xe).catch(()=>_.error("Sending response failed."))}i(D,"replyError"),o(D,"replyError");function G(te,$e,le){te===void 0&&(te=null);let xe={jsonrpc:F,id:y.id,result:te};_r(xe,$e,le),C.write(xe).catch(()=>_.error("Sending response failed."))}i(G,"replySuccess"),o(G,"replySuccess"),Ti(y);let he=X.get(y.method),fe,Ce;he&&(fe=he.type,Ce=he.handler);let we=Date.now();if(Ce||W){let te=y.id??String(Date.now()),$e=k.is(_t.receiver)?_t.receiver.createCancellationTokenSource(te):_t.receiver.createCancellationTokenSource(y);y.id!==null&&He.has(y.id)&&$e.cancel(),y.id!==null&&Ve.set(te,$e);try{let le;if(Ce)if(y.params===void 0){if(fe!==void 0&&fe.numberOfParams!==0){D(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${y.method} defines ${fe.numberOfParams} params but received none.`),y.method,we);return}le=Ce($e.token)}else if(Array.isArray(y.params)){if(fe!==void 0&&fe.parameterStructures===n.ParameterStructures.byName){D(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${y.method} defines parameters by name but received parameters by position`),y.method,we);return}le=Ce(...y.params,$e.token)}else{if(fe!==void 0&&fe.parameterStructures===n.ParameterStructures.byPosition){D(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${y.method} defines parameters by position but received parameters by name`),y.method,we);return}le=Ce(y.params,$e.token)}else W&&(le=W(y.method,y.params,$e.token));let xe=le;le?xe.then?xe.then(Ye=>{Ve.delete(te),P(Ye,y.method,we)},Ye=>{Ve.delete(te),Ye instanceof n.ResponseError?D(Ye,y.method,we):Ye&&r.string(Ye.message)?D(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${y.method} failed with message: ${Ye.message}`),y.method,we):D(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${y.method} failed unexpectedly without providing any details.`),y.method,we)}):(Ve.delete(te),P(le,y.method,we)):(Ve.delete(te),G(le,y.method,we))}catch(le){Ve.delete(te),le instanceof n.ResponseError?P(le,y.method,we):le&&r.string(le.message)?D(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${y.method} failed with message: ${le.message}`),y.method,we):D(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${y.method} failed unexpectedly without providing any details.`),y.method,we)}}else D(new n.ResponseError(n.ErrorCodes.MethodNotFound,`Unhandled method ${y.method}`),y.method,we)}i(di,"handleRequest"),o(di,"handleRequest");function mi(y){if(!Gt())if(y.id===null)y.error?_.error(`Received response message without id: Error is: 
${JSON.stringify(y.error,void 0,4)}`):_.error("Received response message without id. No further error information provided.");else{let P=y.id,D=ke.get(P);if($i(y,D),D!==void 0){ke.delete(P);try{if(y.error){let G=y.error;D.reject(new n.ResponseError(G.code,G.message,G.data))}else if(y.result!==void 0)D.resolve(y.result);else throw new Error("Should never happen.")}catch(G){G.message?_.error(`Response handler '${D.method}' failed with message: ${G.message}`):_.error(`Response handler '${D.method}' failed unexpectedly.`)}}}}i(mi,"handleResponse"),o(mi,"handleResponse");function hi(y){if(Gt())return;let P,D;if(y.method===u.type.method){let G=y.params.id;He.delete(G),Kr(y);return}else{let G=Pe.get(y.method);G&&(D=G.handler,P=G.type)}if(D||V)try{if(Kr(y),D)if(y.params===void 0)P!==void 0&&P.numberOfParams!==0&&P.parameterStructures!==n.ParameterStructures.byName&&_.error(`Notification ${y.method} defines ${P.numberOfParams} params but received none.`),D();else if(Array.isArray(y.params)){let G=y.params;y.method===f.type.method&&G.length===2&&c.is(G[0])?D({token:G[0],value:G[1]}):(P!==void 0&&(P.parameterStructures===n.ParameterStructures.byName&&_.error(`Notification ${y.method} defines parameters by name but received parameters by position`),P.numberOfParams!==y.params.length&&_.error(`Notification ${y.method} defines ${P.numberOfParams} params but received ${G.length} arguments`)),D(...G))}else P!==void 0&&P.parameterStructures===n.ParameterStructures.byPosition&&_.error(`Notification ${y.method} defines parameters by position but received parameters by name`),D(y.params);else V&&V(y.method,y.params)}catch(G){G.message?_.error(`Notification handler '${y.method}' failed with message: ${G.message}`):_.error(`Notification handler '${y.method}' failed unexpectedly.`)}else ni.fire(y)}i(hi,"handleNotification"),o(hi,"handleNotification");function yi(y){if(!y){_.error("Received empty message.");return}_.error(`Received message which is neither a response nor a notification message:
${JSON.stringify(y,null,4)}`);let P=y;if(r.string(P.id)||r.number(P.id)){let D=P.id,G=ke.get(D);G&&G.reject(new Error("The received response has neither a result nor an error property."))}}i(yi,"handleInvalidMessage"),o(yi,"handleInvalidMessage");function vt(y){if(y!=null)switch(ne){case h.Verbose:return JSON.stringify(y,null,4);case h.Compact:return JSON.stringify(y);default:return}}i(vt,"stringifyTrace"),o(vt,"stringifyTrace");function gi(y){if(!(ne===h.Off||!Ee))if(Mt===T.Text){let P;(ne===h.Verbose||ne===h.Compact)&&y.params&&(P=`Params: ${vt(y.params)}

`),Ee.log(`Sending request '${y.method} - (${y.id})'.`,P)}else Ft("send-request",y)}i(gi,"traceSendingRequest"),o(gi,"traceSendingRequest");function vi(y){if(!(ne===h.Off||!Ee))if(Mt===T.Text){let P;(ne===h.Verbose||ne===h.Compact)&&(y.params?P=`Params: ${vt(y.params)}

`:P=`No parameters provided.

`),Ee.log(`Sending notification '${y.method}'.`,P)}else Ft("send-notification",y)}i(vi,"traceSendingNotification"),o(vi,"traceSendingNotification");function _r(y,P,D){if(!(ne===h.Off||!Ee))if(Mt===T.Text){let G;(ne===h.Verbose||ne===h.Compact)&&(y.error&&y.error.data?G=`Error data: ${vt(y.error.data)}

`:y.result?G=`Result: ${vt(y.result)}

`:y.error===void 0&&(G=`No result returned.

`)),Ee.log(`Sending response '${P} - (${y.id})'. Processing request took ${Date.now()-D}ms`,G)}else Ft("send-response",y)}i(_r,"traceSendingResponse"),o(_r,"traceSendingResponse");function Ti(y){if(!(ne===h.Off||!Ee))if(Mt===T.Text){let P;(ne===h.Verbose||ne===h.Compact)&&y.params&&(P=`Params: ${vt(y.params)}

`),Ee.log(`Received request '${y.method} - (${y.id})'.`,P)}else Ft("receive-request",y)}i(Ti,"traceReceivedRequest"),o(Ti,"traceReceivedRequest");function Kr(y){if(!(ne===h.Off||!Ee||y.method===w.type.method))if(Mt===T.Text){let P;(ne===h.Verbose||ne===h.Compact)&&(y.params?P=`Params: ${vt(y.params)}

`:P=`No parameters provided.

`),Ee.log(`Received notification '${y.method}'.`,P)}else Ft("receive-notification",y)}i(Kr,"traceReceivedNotification"),o(Kr,"traceReceivedNotification");function $i(y,P){if(!(ne===h.Off||!Ee))if(Mt===T.Text){let D;if((ne===h.Verbose||ne===h.Compact)&&(y.error&&y.error.data?D=`Error data: ${vt(y.error.data)}

`:y.result?D=`Result: ${vt(y.result)}

`:y.error===void 0&&(D=`No result returned.

`)),P){let G=y.error?` Request failed: ${y.error.message} (${y.error.code}).`:"";Ee.log(`Received response '${P.method} - (${y.id})' in ${Date.now()-P.timerStart}ms.${G}`,D)}else Ee.log(`Received response ${y.id} without active response promise.`,D)}else Ft("receive-response",y)}i($i,"traceReceivedResponse"),o($i,"traceReceivedResponse");function Ft(y,P){if(!Ee||ne===h.Off)return;let D={isLSPMessage:!0,type:y,message:P,timestamp:Date.now()};Ee.log(D)}i(Ft,"logLSPMessage"),o(Ft,"logLSPMessage");function rr(){if(Jn())throw new I(N.Closed,"Connection is closed.");if(Gt())throw new I(N.Disposed,"Connection is disposed.")}i(rr,"throwIfClosedOrDisposed"),o(rr,"throwIfClosedOrDisposed");function Ri(){if(Xn())throw new I(N.AlreadyListening,"Connection is already listening")}i(Ri,"throwIfListening"),o(Ri,"throwIfListening");function Ai(){if(!Xn())throw new Error("Call listen() first.")}i(Ai,"throwIfNotListening"),o(Ai,"throwIfNotListening");function nr(y){return y===void 0?null:y}i(nr,"undefinedToNull"),o(nr,"undefinedToNull");function ta(y){if(y!==null)return y}i(ta,"nullToUndefined"),o(ta,"nullToUndefined");function m(y){return y!=null&&!Array.isArray(y)&&typeof y=="object"}i(m,"isNamedParam"),o(m,"isNamedParam");function ae(y,P){switch(y){case n.ParameterStructures.auto:return m(P)?ta(P):[nr(P)];case n.ParameterStructures.byName:if(!m(P))throw new Error("Received parameters by name but param is not an object literal.");return ta(P);case n.ParameterStructures.byPosition:return[nr(P)];default:throw new Error(`Unknown parameter structure ${y.toString()}`)}}i(ae,"computeSingleParam"),o(ae,"computeSingleParam");function Te(y,P){let D,G=y.numberOfParams;switch(G){case 0:D=void 0;break;case 1:D=ae(y.parameterStructures,P[0]);break;default:D=[];for(let he=0;he<P.length&&he<G;he++)D.push(nr(P[he]));if(P.length<G)for(let he=P.length;he<G;he++)D.push(null);break}return D}i(Te,"computeMessageParams"),o(Te,"computeMessageParams");let H={sendNotification:o((y,...P)=>{rr();let D,G;if(r.string(y)){D=y;let fe=P[0],Ce=0,we=n.ParameterStructures.auto;n.ParameterStructures.is(fe)&&(Ce=1,we=fe);let te=P.length,$e=te-Ce;switch($e){case 0:G=void 0;break;case 1:G=ae(we,P[Ce]);break;default:if(we===n.ParameterStructures.byName)throw new Error(`Received ${$e} parameters for 'by Name' notification parameter structure.`);G=P.slice(Ce,te).map(le=>nr(le));break}}else{let fe=P;D=y.method,G=Te(y,fe)}let he={jsonrpc:F,method:D,params:G};return vi(he),C.write(he).catch(fe=>{throw _.error("Sending notification failed."),fe})},"sendNotification"),onNotification:o((y,P)=>{rr();let D;return r.func(y)?V=y:P&&(r.string(y)?(D=y,Pe.set(y,{type:void 0,handler:P})):(D=y.method,Pe.set(y.method,{type:y,handler:P}))),{dispose:o(()=>{D!==void 0?Pe.delete(D):V=void 0},"dispose")}},"onNotification"),onProgress:o((y,P,D)=>{if(oe.has(P))throw new Error(`Progress handler for token ${P} already registered`);return oe.set(P,D),{dispose:o(()=>{oe.delete(P)},"dispose")}},"onProgress"),sendProgress:o((y,P,D)=>H.sendNotification(f.type,{token:P,value:D}),"sendProgress"),onUnhandledProgress:ai.event,sendRequest:o((y,...P)=>{rr(),Ai();let D,G,he;if(r.string(y)){D=y;let te=P[0],$e=P[P.length-1],le=0,xe=n.ParameterStructures.auto;n.ParameterStructures.is(te)&&(le=1,xe=te);let Ye=P.length;l.CancellationToken.is($e)&&(Ye=Ye-1,he=$e);let zt=Ye-le;switch(zt){case 0:G=void 0;break;case 1:G=ae(xe,P[le]);break;default:if(xe===n.ParameterStructures.byName)throw new Error(`Received ${zt} parameters for 'by Name' request parameter structure.`);G=P.slice(le,Ye).map(Iw=>nr(Iw));break}}else{let te=P;D=y.method,G=Te(y,te);let $e=y.numberOfParams;he=l.CancellationToken.is(te[$e])?te[$e]:void 0}let fe=L++,Ce;he&&(Ce=he.onCancellationRequested(()=>{let te=_t.sender.sendCancellation(H,fe);return te===void 0?(_.log(`Received no promise from cancellation strategy when cancelling id ${fe}`),Promise.resolve()):te.catch(()=>{_.log(`Sending cancellation messages for id ${fe} failed`)})}));let we={jsonrpc:F,id:fe,method:D,params:G};return gi(we),typeof _t.sender.enableCancellation=="function"&&_t.sender.enableCancellation(we),new Promise(async(te,$e)=>{let le=o(zt=>{te(zt),_t.sender.cleanup(fe),Ce?.dispose()},"resolveWithCleanup"),xe=o(zt=>{$e(zt),_t.sender.cleanup(fe),Ce?.dispose()},"rejectWithCleanup"),Ye={method:D,timerStart:Date.now(),resolve:le,reject:xe};try{await C.write(we),ke.set(fe,Ye)}catch(zt){throw _.error("Sending request failed."),Ye.reject(new n.ResponseError(n.ErrorCodes.MessageWriteError,zt.message?zt.message:"Unknown reason")),zt}})},"sendRequest"),onRequest:o((y,P)=>{rr();let D=null;return d.is(y)?(D=void 0,W=y):r.string(y)?(D=null,P!==void 0&&(D=y,X.set(y,{handler:P,type:void 0}))):P!==void 0&&(D=y.method,X.set(y.method,{type:y,handler:P})),{dispose:o(()=>{D!==null&&(D!==void 0?X.delete(D):W=void 0)},"dispose")}},"onRequest"),hasPendingResponse:o(()=>ke.size>0,"hasPendingResponse"),trace:o(async(y,P,D)=>{let G=!1,he=T.Text;D!==void 0&&(r.boolean(D)?G=D:(G=D.sendNotification||!1,he=D.traceFormat||T.Text)),ne=y,Mt=he,ne===h.Off?Ee=void 0:Ee=P,G&&!Jn()&&!Gt()&&await H.sendNotification(S.type,{value:h.toString(y)})},"trace"),onError:Hn.event,onClose:ri.event,onUnhandledNotification:ni.event,onDispose:ii.event,end:o(()=>{C.end()},"end"),dispose:o(()=>{if(Gt())return;bt=O.Disposed,ii.fire(void 0);let y=new n.ResponseError(n.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let P of ke.values())P.reject(y);ke=new Map,Ve=new Map,He=new Set,De=new a.LinkedMap,r.func(C.dispose)&&C.dispose(),r.func(g.dispose)&&g.dispose()},"dispose"),listen:o(()=>{rr(),Ri(),bt=O.Listening,g.listen(Ys)},"listen"),inspect:o(()=>{(0,t.default)().console.log("inspect")},"inspect")};return H.onNotification(w.type,y=>{if(ne===h.Off||!Ee)return;let P=ne===h.Verbose||ne===h.Compact;Ee.log(y.message,P?y.verbose:void 0)}),H.onNotification(f.type,y=>{let P=oe.get(y.token);P?P(y.value):ai.fire(y)}),H}i(b,"createMessageConnection"),o(b,"createMessageConnection"),e.createMessageConnection=b}}),hf=Y({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/api.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ProgressType=e.ProgressToken=e.createMessageConnection=e.NullLogger=e.ConnectionOptions=e.ConnectionStrategy=e.AbstractMessageBuffer=e.WriteableStreamMessageWriter=e.AbstractMessageWriter=e.MessageWriter=e.ReadableStreamMessageReader=e.AbstractMessageReader=e.MessageReader=e.SharedArrayReceiverStrategy=e.SharedArraySenderStrategy=e.CancellationToken=e.CancellationTokenSource=e.Emitter=e.Event=e.Disposable=e.LRUCache=e.Touch=e.LinkedMap=e.ParameterStructures=e.NotificationType9=e.NotificationType8=e.NotificationType7=e.NotificationType6=e.NotificationType5=e.NotificationType4=e.NotificationType3=e.NotificationType2=e.NotificationType1=e.NotificationType0=e.NotificationType=e.ErrorCodes=e.ResponseError=e.RequestType9=e.RequestType8=e.RequestType7=e.RequestType6=e.RequestType5=e.RequestType4=e.RequestType3=e.RequestType2=e.RequestType1=e.RequestType0=e.RequestType=e.Message=e.RAL=void 0,e.MessageStrategy=e.CancellationStrategy=e.CancellationSenderStrategy=e.CancellationReceiverStrategy=e.ConnectionError=e.ConnectionErrors=e.LogTraceNotification=e.SetTraceNotification=e.TraceFormat=e.TraceValues=e.Trace=void 0;var t=Ig();Object.defineProperty(e,"Message",{enumerable:!0,get:o(function(){return t.Message},"get")}),Object.defineProperty(e,"RequestType",{enumerable:!0,get:o(function(){return t.RequestType},"get")}),Object.defineProperty(e,"RequestType0",{enumerable:!0,get:o(function(){return t.RequestType0},"get")}),Object.defineProperty(e,"RequestType1",{enumerable:!0,get:o(function(){return t.RequestType1},"get")}),Object.defineProperty(e,"RequestType2",{enumerable:!0,get:o(function(){return t.RequestType2},"get")}),Object.defineProperty(e,"RequestType3",{enumerable:!0,get:o(function(){return t.RequestType3},"get")}),Object.defineProperty(e,"RequestType4",{enumerable:!0,get:o(function(){return t.RequestType4},"get")}),Object.defineProperty(e,"RequestType5",{enumerable:!0,get:o(function(){return t.RequestType5},"get")}),Object.defineProperty(e,"RequestType6",{enumerable:!0,get:o(function(){return t.RequestType6},"get")}),Object.defineProperty(e,"RequestType7",{enumerable:!0,get:o(function(){return t.RequestType7},"get")}),Object.defineProperty(e,"RequestType8",{enumerable:!0,get:o(function(){return t.RequestType8},"get")}),Object.defineProperty(e,"RequestType9",{enumerable:!0,get:o(function(){return t.RequestType9},"get")}),Object.defineProperty(e,"ResponseError",{enumerable:!0,get:o(function(){return t.ResponseError},"get")}),Object.defineProperty(e,"ErrorCodes",{enumerable:!0,get:o(function(){return t.ErrorCodes},"get")}),Object.defineProperty(e,"NotificationType",{enumerable:!0,get:o(function(){return t.NotificationType},"get")}),Object.defineProperty(e,"NotificationType0",{enumerable:!0,get:o(function(){return t.NotificationType0},"get")}),Object.defineProperty(e,"NotificationType1",{enumerable:!0,get:o(function(){return t.NotificationType1},"get")}),Object.defineProperty(e,"NotificationType2",{enumerable:!0,get:o(function(){return t.NotificationType2},"get")}),Object.defineProperty(e,"NotificationType3",{enumerable:!0,get:o(function(){return t.NotificationType3},"get")}),Object.defineProperty(e,"NotificationType4",{enumerable:!0,get:o(function(){return t.NotificationType4},"get")}),Object.defineProperty(e,"NotificationType5",{enumerable:!0,get:o(function(){return t.NotificationType5},"get")}),Object.defineProperty(e,"NotificationType6",{enumerable:!0,get:o(function(){return t.NotificationType6},"get")}),Object.defineProperty(e,"NotificationType7",{enumerable:!0,get:o(function(){return t.NotificationType7},"get")}),Object.defineProperty(e,"NotificationType8",{enumerable:!0,get:o(function(){return t.NotificationType8},"get")}),Object.defineProperty(e,"NotificationType9",{enumerable:!0,get:o(function(){return t.NotificationType9},"get")}),Object.defineProperty(e,"ParameterStructures",{enumerable:!0,get:o(function(){return t.ParameterStructures},"get")});var r=Pg();Object.defineProperty(e,"LinkedMap",{enumerable:!0,get:o(function(){return r.LinkedMap},"get")}),Object.defineProperty(e,"LRUCache",{enumerable:!0,get:o(function(){return r.LRUCache},"get")}),Object.defineProperty(e,"Touch",{enumerable:!0,get:o(function(){return r.Touch},"get")});var n=Dw();Object.defineProperty(e,"Disposable",{enumerable:!0,get:o(function(){return n.Disposable},"get")});var a=Wa();Object.defineProperty(e,"Event",{enumerable:!0,get:o(function(){return a.Event},"get")}),Object.defineProperty(e,"Emitter",{enumerable:!0,get:o(function(){return a.Emitter},"get")});var s=Nl();Object.defineProperty(e,"CancellationTokenSource",{enumerable:!0,get:o(function(){return s.CancellationTokenSource},"get")}),Object.defineProperty(e,"CancellationToken",{enumerable:!0,get:o(function(){return s.CancellationToken},"get")});var l=xw();Object.defineProperty(e,"SharedArraySenderStrategy",{enumerable:!0,get:o(function(){return l.SharedArraySenderStrategy},"get")}),Object.defineProperty(e,"SharedArrayReceiverStrategy",{enumerable:!0,get:o(function(){return l.SharedArrayReceiverStrategy},"get")});var u=Mw();Object.defineProperty(e,"MessageReader",{enumerable:!0,get:o(function(){return u.MessageReader},"get")}),Object.defineProperty(e,"AbstractMessageReader",{enumerable:!0,get:o(function(){return u.AbstractMessageReader},"get")}),Object.defineProperty(e,"ReadableStreamMessageReader",{enumerable:!0,get:o(function(){return u.ReadableStreamMessageReader},"get")});var c=Gw();Object.defineProperty(e,"MessageWriter",{enumerable:!0,get:o(function(){return c.MessageWriter},"get")}),Object.defineProperty(e,"AbstractMessageWriter",{enumerable:!0,get:o(function(){return c.AbstractMessageWriter},"get")}),Object.defineProperty(e,"WriteableStreamMessageWriter",{enumerable:!0,get:o(function(){return c.WriteableStreamMessageWriter},"get")});var f=Fw();Object.defineProperty(e,"AbstractMessageBuffer",{enumerable:!0,get:o(function(){return f.AbstractMessageBuffer},"get")});var p=zw();Object.defineProperty(e,"ConnectionStrategy",{enumerable:!0,get:o(function(){return p.ConnectionStrategy},"get")}),Object.defineProperty(e,"ConnectionOptions",{enumerable:!0,get:o(function(){return p.ConnectionOptions},"get")}),Object.defineProperty(e,"NullLogger",{enumerable:!0,get:o(function(){return p.NullLogger},"get")}),Object.defineProperty(e,"createMessageConnection",{enumerable:!0,get:o(function(){return p.createMessageConnection},"get")}),Object.defineProperty(e,"ProgressToken",{enumerable:!0,get:o(function(){return p.ProgressToken},"get")}),Object.defineProperty(e,"ProgressType",{enumerable:!0,get:o(function(){return p.ProgressType},"get")}),Object.defineProperty(e,"Trace",{enumerable:!0,get:o(function(){return p.Trace},"get")}),Object.defineProperty(e,"TraceValues",{enumerable:!0,get:o(function(){return p.TraceValues},"get")}),Object.defineProperty(e,"TraceFormat",{enumerable:!0,get:o(function(){return p.TraceFormat},"get")}),Object.defineProperty(e,"SetTraceNotification",{enumerable:!0,get:o(function(){return p.SetTraceNotification},"get")}),Object.defineProperty(e,"LogTraceNotification",{enumerable:!0,get:o(function(){return p.LogTraceNotification},"get")}),Object.defineProperty(e,"ConnectionErrors",{enumerable:!0,get:o(function(){return p.ConnectionErrors},"get")}),Object.defineProperty(e,"ConnectionError",{enumerable:!0,get:o(function(){return p.ConnectionError},"get")}),Object.defineProperty(e,"CancellationReceiverStrategy",{enumerable:!0,get:o(function(){return p.CancellationReceiverStrategy},"get")}),Object.defineProperty(e,"CancellationSenderStrategy",{enumerable:!0,get:o(function(){return p.CancellationSenderStrategy},"get")}),Object.defineProperty(e,"CancellationStrategy",{enumerable:!0,get:o(function(){return p.CancellationStrategy},"get")}),Object.defineProperty(e,"MessageStrategy",{enumerable:!0,get:o(function(){return p.MessageStrategy},"get")});var d=Sn();e.RAL=d.default}}),jw=Y({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/browser/ril.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=hf(),r=class Lg extends t.AbstractMessageBuffer{static{i(this,"_MessageBuffer")}static{o(this,"MessageBuffer")}constructor(f="utf-8"){super(f),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return Lg.emptyBuffer}fromString(f,p){return new TextEncoder().encode(f)}toString(f,p){return p==="ascii"?this.asciiDecoder.decode(f):new TextDecoder(p).decode(f)}asNative(f,p){return p===void 0?f:f.slice(0,p)}allocNative(f){return new Uint8Array(f)}};r.emptyBuffer=new Uint8Array(0);var n=class{static{i(this,"ReadableStreamWrapper")}static{o(this,"ReadableStreamWrapper")}constructor(c){this.socket=c,this._onData=new t.Emitter,this._messageListener=f=>{f.data.arrayBuffer().then(d=>{this._onData.fire(new Uint8Array(d))},()=>{(0,t.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(c){return this.socket.addEventListener("close",c),t.Disposable.create(()=>this.socket.removeEventListener("close",c))}onError(c){return this.socket.addEventListener("error",c),t.Disposable.create(()=>this.socket.removeEventListener("error",c))}onEnd(c){return this.socket.addEventListener("end",c),t.Disposable.create(()=>this.socket.removeEventListener("end",c))}onData(c){return this._onData.event(c)}},a=class{static{i(this,"WritableStreamWrapper")}static{o(this,"WritableStreamWrapper")}constructor(c){this.socket=c}onClose(c){return this.socket.addEventListener("close",c),t.Disposable.create(()=>this.socket.removeEventListener("close",c))}onError(c){return this.socket.addEventListener("error",c),t.Disposable.create(()=>this.socket.removeEventListener("error",c))}onEnd(c){return this.socket.addEventListener("end",c),t.Disposable.create(()=>this.socket.removeEventListener("end",c))}write(c,f){if(typeof c=="string"){if(f!==void 0&&f!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${f}`);this.socket.send(c)}else this.socket.send(c);return Promise.resolve()}end(){this.socket.close()}},s=new TextEncoder,l=Object.freeze({messageBuffer:Object.freeze({create:o(c=>new r(c),"create")}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:o((c,f)=>{if(f.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${f.charset}`);return Promise.resolve(s.encode(JSON.stringify(c,void 0,0)))},"encode")}),decoder:Object.freeze({name:"application/json",decode:o((c,f)=>{if(!(c instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(f.charset).decode(c)))},"decode")})}),stream:Object.freeze({asReadableStream:o(c=>new n(c),"asReadableStream"),asWritableStream:o(c=>new a(c),"asWritableStream")}),console,timer:Object.freeze({setTimeout(c,f,...p){let d=setTimeout(c,f,...p);return{dispose:o(()=>clearTimeout(d),"dispose")}},setImmediate(c,...f){let p=setTimeout(c,0,...f);return{dispose:o(()=>clearTimeout(p),"dispose")}},setInterval(c,f,...p){let d=setInterval(c,f,...p);return{dispose:o(()=>clearInterval(d),"dispose")}}})});function u(){return l}i(u,"RIL"),o(u,"RIL"),(function(c){function f(){t.RAL.install(l)}i(f,"install"),o(f,"install"),c.install=f})(u||(u={})),e.default=u}}),Va=Y({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/browser/main.js"(e){"use strict";var t=e&&e.__createBinding||(Object.create?(function(c,f,p,d){d===void 0&&(d=p);var h=Object.getOwnPropertyDescriptor(f,p);(!h||("get"in h?!f.__esModule:h.writable||h.configurable))&&(h={enumerable:!0,get:o(function(){return f[p]},"get")}),Object.defineProperty(c,d,h)}):(function(c,f,p,d){d===void 0&&(d=p),c[d]=f[p]})),r=e&&e.__exportStar||function(c,f){for(var p in c)p!=="default"&&!Object.prototype.hasOwnProperty.call(f,p)&&t(f,c,p)};Object.defineProperty(e,"__esModule",{value:!0}),e.createMessageConnection=e.BrowserMessageWriter=e.BrowserMessageReader=void 0;var n=jw();n.default.install();var a=hf();r(hf(),e);var s=class extends a.AbstractMessageReader{static{i(this,"BrowserMessageReader")}static{o(this,"BrowserMessageReader")}constructor(c){super(),this._onData=new a.Emitter,this._messageListener=f=>{this._onData.fire(f.data)},c.addEventListener("error",f=>this.fireError(f)),c.onmessage=this._messageListener}listen(c){return this._onData.event(c)}};e.BrowserMessageReader=s;var l=class extends a.AbstractMessageWriter{static{i(this,"BrowserMessageWriter")}static{o(this,"BrowserMessageWriter")}constructor(c){super(),this.port=c,this.errorCount=0,c.addEventListener("error",f=>this.fireError(f))}write(c){try{return this.port.postMessage(c),Promise.resolve()}catch(f){return this.handleError(f,c),Promise.reject(f)}}handleError(c,f){this.errorCount++,this.fireError(c,f,this.errorCount)}end(){}};e.BrowserMessageWriter=l;function u(c,f,p,d){return p===void 0&&(p=a.NullLogger),a.ConnectionStrategy.is(d)&&(d={connectionStrategy:d}),(0,a.createMessageConnection)(c,f,p,d)}i(u,"createMessageConnection"),o(u,"createMessageConnection"),e.createMessageConnection=u}}),nh=Y({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/browser.js"(e,t){"use strict";t.exports=Va()}}),Ae=Y({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/messages.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ProtocolNotificationType=e.ProtocolNotificationType0=e.ProtocolRequestType=e.ProtocolRequestType0=e.RegistrationType=e.MessageDirection=void 0;var t=Va(),r;(function(c){c.clientToServer="clientToServer",c.serverToClient="serverToClient",c.both="both"})(r||(e.MessageDirection=r={}));var n=class{static{i(this,"RegistrationType")}static{o(this,"RegistrationType")}constructor(c){this.method=c}};e.RegistrationType=n;var a=class extends t.RequestType0{static{i(this,"ProtocolRequestType0")}static{o(this,"ProtocolRequestType0")}constructor(c){super(c)}};e.ProtocolRequestType0=a;var s=class extends t.RequestType{static{i(this,"ProtocolRequestType")}static{o(this,"ProtocolRequestType")}constructor(c){super(c,t.ParameterStructures.byName)}};e.ProtocolRequestType=s;var l=class extends t.NotificationType0{static{i(this,"ProtocolNotificationType0")}static{o(this,"ProtocolNotificationType0")}constructor(c){super(c)}};e.ProtocolNotificationType0=l;var u=class extends t.NotificationType{static{i(this,"ProtocolNotificationType")}static{o(this,"ProtocolNotificationType")}constructor(c){super(c,t.ParameterStructures.byName)}};e.ProtocolNotificationType=u}}),vp=Y({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.objectLiteral=e.typedArray=e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0;function t(p){return p===!0||p===!1}i(t,"boolean"),o(t,"boolean"),e.boolean=t;function r(p){return typeof p=="string"||p instanceof String}i(r,"string"),o(r,"string"),e.string=r;function n(p){return typeof p=="number"||p instanceof Number}i(n,"number"),o(n,"number"),e.number=n;function a(p){return p instanceof Error}i(a,"error"),o(a,"error"),e.error=a;function s(p){return typeof p=="function"}i(s,"func"),o(s,"func"),e.func=s;function l(p){return Array.isArray(p)}i(l,"array"),o(l,"array"),e.array=l;function u(p){return l(p)&&p.every(d=>r(d))}i(u,"stringArray"),o(u,"stringArray"),e.stringArray=u;function c(p,d){return Array.isArray(p)&&p.every(d)}i(c,"typedArray"),o(c,"typedArray"),e.typedArray=c;function f(p){return p!==null&&typeof p=="object"}i(f,"objectLiteral"),o(f,"objectLiteral"),e.objectLiteral=f}}),Uw=Y({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ImplementationRequest=void 0;var t=Ae(),r;(function(n){n.method="textDocument/implementation",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(e.ImplementationRequest=r={}))}}),Kw=Y({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeDefinitionRequest=void 0;var t=Ae(),r;(function(n){n.method="textDocument/typeDefinition",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(e.TypeDefinitionRequest=r={}))}}),Bw=Y({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DidChangeWorkspaceFoldersNotification=e.WorkspaceFoldersRequest=void 0;var t=Ae(),r;(function(a){a.method="workspace/workspaceFolders",a.messageDirection=t.MessageDirection.serverToClient,a.type=new t.ProtocolRequestType0(a.method)})(r||(e.WorkspaceFoldersRequest=r={}));var n;(function(a){a.method="workspace/didChangeWorkspaceFolders",a.messageDirection=t.MessageDirection.clientToServer,a.type=new t.ProtocolNotificationType(a.method)})(n||(e.DidChangeWorkspaceFoldersNotification=n={}))}}),qw=Y({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ConfigurationRequest=void 0;var t=Ae(),r;(function(n){n.method="workspace/configuration",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType(n.method)})(r||(e.ConfigurationRequest=r={}))}}),Ww=Y({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColorPresentationRequest=e.DocumentColorRequest=void 0;var t=Ae(),r;(function(a){a.method="textDocument/documentColor",a.messageDirection=t.MessageDirection.clientToServer,a.type=new t.ProtocolRequestType(a.method)})(r||(e.DocumentColorRequest=r={}));var n;(function(a){a.method="textDocument/colorPresentation",a.messageDirection=t.MessageDirection.clientToServer,a.type=new t.ProtocolRequestType(a.method)})(n||(e.ColorPresentationRequest=n={}))}}),Vw=Y({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FoldingRangeRefreshRequest=e.FoldingRangeRequest=void 0;var t=Ae(),r;(function(a){a.method="textDocument/foldingRange",a.messageDirection=t.MessageDirection.clientToServer,a.type=new t.ProtocolRequestType(a.method)})(r||(e.FoldingRangeRequest=r={}));var n;(function(a){a.method="workspace/foldingRange/refresh",a.messageDirection=t.MessageDirection.serverToClient,a.type=new t.ProtocolRequestType0(a.method)})(n||(e.FoldingRangeRefreshRequest=n={}))}}),Hw=Y({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DeclarationRequest=void 0;var t=Ae(),r;(function(n){n.method="textDocument/declaration",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(e.DeclarationRequest=r={}))}}),Yw=Y({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionRangeRequest=void 0;var t=Ae(),r;(function(n){n.method="textDocument/selectionRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(e.SelectionRangeRequest=r={}))}}),Xw=Y({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WorkDoneProgressCancelNotification=e.WorkDoneProgressCreateRequest=e.WorkDoneProgress=void 0;var t=Va(),r=Ae(),n;(function(l){l.type=new t.ProgressType;function u(c){return c===l.type}i(u,"is"),o(u,"is"),l.is=u})(n||(e.WorkDoneProgress=n={}));var a;(function(l){l.method="window/workDoneProgress/create",l.messageDirection=r.MessageDirection.serverToClient,l.type=new r.ProtocolRequestType(l.method)})(a||(e.WorkDoneProgressCreateRequest=a={}));var s;(function(l){l.method="window/workDoneProgress/cancel",l.messageDirection=r.MessageDirection.clientToServer,l.type=new r.ProtocolNotificationType(l.method)})(s||(e.WorkDoneProgressCancelNotification=s={}))}}),Jw=Y({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CallHierarchyOutgoingCallsRequest=e.CallHierarchyIncomingCallsRequest=e.CallHierarchyPrepareRequest=void 0;var t=Ae(),r;(function(s){s.method="textDocument/prepareCallHierarchy",s.messageDirection=t.MessageDirection.clientToServer,s.type=new t.ProtocolRequestType(s.method)})(r||(e.CallHierarchyPrepareRequest=r={}));var n;(function(s){s.method="callHierarchy/incomingCalls",s.messageDirection=t.MessageDirection.clientToServer,s.type=new t.ProtocolRequestType(s.method)})(n||(e.CallHierarchyIncomingCallsRequest=n={}));var a;(function(s){s.method="callHierarchy/outgoingCalls",s.messageDirection=t.MessageDirection.clientToServer,s.type=new t.ProtocolRequestType(s.method)})(a||(e.CallHierarchyOutgoingCallsRequest=a={}))}}),Zw=Y({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SemanticTokensRefreshRequest=e.SemanticTokensRangeRequest=e.SemanticTokensDeltaRequest=e.SemanticTokensRequest=e.SemanticTokensRegistrationType=e.TokenFormat=void 0;var t=Ae(),r;(function(c){c.Relative="relative"})(r||(e.TokenFormat=r={}));var n;(function(c){c.method="textDocument/semanticTokens",c.type=new t.RegistrationType(c.method)})(n||(e.SemanticTokensRegistrationType=n={}));var a;(function(c){c.method="textDocument/semanticTokens/full",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method),c.registrationMethod=n.method})(a||(e.SemanticTokensRequest=a={}));var s;(function(c){c.method="textDocument/semanticTokens/full/delta",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method),c.registrationMethod=n.method})(s||(e.SemanticTokensDeltaRequest=s={}));var l;(function(c){c.method="textDocument/semanticTokens/range",c.messageDirection=t.MessageDirection.clientToServer,c.type=new t.ProtocolRequestType(c.method),c.registrationMethod=n.method})(l||(e.SemanticTokensRangeRequest=l={}));var u;(function(c){c.method="workspace/semanticTokens/refresh",c.messageDirection=t.MessageDirection.serverToClient,c.type=new t.ProtocolRequestType0(c.method)})(u||(e.SemanticTokensRefreshRequest=u={}))}}),Qw=Y({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ShowDocumentRequest=void 0;var t=Ae(),r;(function(n){n.method="window/showDocument",n.messageDirection=t.MessageDirection.serverToClient,n.type=new t.ProtocolRequestType(n.method)})(r||(e.ShowDocumentRequest=r={}))}}),eI=Y({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LinkedEditingRangeRequest=void 0;var t=Ae(),r;(function(n){n.method="textDocument/linkedEditingRange",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(e.LinkedEditingRangeRequest=r={}))}}),tI=Y({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WillDeleteFilesRequest=e.DidDeleteFilesNotification=e.DidRenameFilesNotification=e.WillRenameFilesRequest=e.DidCreateFilesNotification=e.WillCreateFilesRequest=e.FileOperationPatternKind=void 0;var t=Ae(),r;(function(f){f.file="file",f.folder="folder"})(r||(e.FileOperationPatternKind=r={}));var n;(function(f){f.method="workspace/willCreateFiles",f.messageDirection=t.MessageDirection.clientToServer,f.type=new t.ProtocolRequestType(f.method)})(n||(e.WillCreateFilesRequest=n={}));var a;(function(f){f.method="workspace/didCreateFiles",f.messageDirection=t.MessageDirection.clientToServer,f.type=new t.ProtocolNotificationType(f.method)})(a||(e.DidCreateFilesNotification=a={}));var s;(function(f){f.method="workspace/willRenameFiles",f.messageDirection=t.MessageDirection.clientToServer,f.type=new t.ProtocolRequestType(f.method)})(s||(e.WillRenameFilesRequest=s={}));var l;(function(f){f.method="workspace/didRenameFiles",f.messageDirection=t.MessageDirection.clientToServer,f.type=new t.ProtocolNotificationType(f.method)})(l||(e.DidRenameFilesNotification=l={}));var u;(function(f){f.method="workspace/didDeleteFiles",f.messageDirection=t.MessageDirection.clientToServer,f.type=new t.ProtocolNotificationType(f.method)})(u||(e.DidDeleteFilesNotification=u={}));var c;(function(f){f.method="workspace/willDeleteFiles",f.messageDirection=t.MessageDirection.clientToServer,f.type=new t.ProtocolRequestType(f.method)})(c||(e.WillDeleteFilesRequest=c={}))}}),rI=Y({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MonikerRequest=e.MonikerKind=e.UniquenessLevel=void 0;var t=Ae(),r;(function(s){s.document="document",s.project="project",s.group="group",s.scheme="scheme",s.global="global"})(r||(e.UniquenessLevel=r={}));var n;(function(s){s.$import="import",s.$export="export",s.local="local"})(n||(e.MonikerKind=n={}));var a;(function(s){s.method="textDocument/moniker",s.messageDirection=t.MessageDirection.clientToServer,s.type=new t.ProtocolRequestType(s.method)})(a||(e.MonikerRequest=a={}))}}),nI=Y({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TypeHierarchySubtypesRequest=e.TypeHierarchySupertypesRequest=e.TypeHierarchyPrepareRequest=void 0;var t=Ae(),r;(function(s){s.method="textDocument/prepareTypeHierarchy",s.messageDirection=t.MessageDirection.clientToServer,s.type=new t.ProtocolRequestType(s.method)})(r||(e.TypeHierarchyPrepareRequest=r={}));var n;(function(s){s.method="typeHierarchy/supertypes",s.messageDirection=t.MessageDirection.clientToServer,s.type=new t.ProtocolRequestType(s.method)})(n||(e.TypeHierarchySupertypesRequest=n={}));var a;(function(s){s.method="typeHierarchy/subtypes",s.messageDirection=t.MessageDirection.clientToServer,s.type=new t.ProtocolRequestType(s.method)})(a||(e.TypeHierarchySubtypesRequest=a={}))}}),aI=Y({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlineValueRefreshRequest=e.InlineValueRequest=void 0;var t=Ae(),r;(function(a){a.method="textDocument/inlineValue",a.messageDirection=t.MessageDirection.clientToServer,a.type=new t.ProtocolRequestType(a.method)})(r||(e.InlineValueRequest=r={}));var n;(function(a){a.method="workspace/inlineValue/refresh",a.messageDirection=t.MessageDirection.serverToClient,a.type=new t.ProtocolRequestType0(a.method)})(n||(e.InlineValueRefreshRequest=n={}))}}),iI=Y({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlayHintRefreshRequest=e.InlayHintResolveRequest=e.InlayHintRequest=void 0;var t=Ae(),r;(function(s){s.method="textDocument/inlayHint",s.messageDirection=t.MessageDirection.clientToServer,s.type=new t.ProtocolRequestType(s.method)})(r||(e.InlayHintRequest=r={}));var n;(function(s){s.method="inlayHint/resolve",s.messageDirection=t.MessageDirection.clientToServer,s.type=new t.ProtocolRequestType(s.method)})(n||(e.InlayHintResolveRequest=n={}));var a;(function(s){s.method="workspace/inlayHint/refresh",s.messageDirection=t.MessageDirection.serverToClient,s.type=new t.ProtocolRequestType0(s.method)})(a||(e.InlayHintRefreshRequest=a={}))}}),sI=Y({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DiagnosticRefreshRequest=e.WorkspaceDiagnosticRequest=e.DocumentDiagnosticRequest=e.DocumentDiagnosticReportKind=e.DiagnosticServerCancellationData=void 0;var t=Va(),r=vp(),n=Ae(),a;(function(f){function p(d){let h=d;return h&&r.boolean(h.retriggerRequest)}i(p,"is"),o(p,"is"),f.is=p})(a||(e.DiagnosticServerCancellationData=a={}));var s;(function(f){f.Full="full",f.Unchanged="unchanged"})(s||(e.DocumentDiagnosticReportKind=s={}));var l;(function(f){f.method="textDocument/diagnostic",f.messageDirection=n.MessageDirection.clientToServer,f.type=new n.ProtocolRequestType(f.method),f.partialResult=new t.ProgressType})(l||(e.DocumentDiagnosticRequest=l={}));var u;(function(f){f.method="workspace/diagnostic",f.messageDirection=n.MessageDirection.clientToServer,f.type=new n.ProtocolRequestType(f.method),f.partialResult=new t.ProgressType})(u||(e.WorkspaceDiagnosticRequest=u={}));var c;(function(f){f.method="workspace/diagnostic/refresh",f.messageDirection=n.MessageDirection.serverToClient,f.type=new n.ProtocolRequestType0(f.method)})(c||(e.DiagnosticRefreshRequest=c={}))}}),oI=Y({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DidCloseNotebookDocumentNotification=e.DidSaveNotebookDocumentNotification=e.DidChangeNotebookDocumentNotification=e.NotebookCellArrayChange=e.DidOpenNotebookDocumentNotification=e.NotebookDocumentSyncRegistrationType=e.NotebookDocument=e.NotebookCell=e.ExecutionSummary=e.NotebookCellKind=void 0;var t=(ws(),gp(Il)),r=vp(),n=Ae(),a;(function(T){T.Markup=1,T.Code=2;function S(w){return w===1||w===2}i(S,"is"),o(S,"is"),T.is=S})(a||(e.NotebookCellKind=a={}));var s;(function(T){function S(I,A){let k={executionOrder:I};return(A===!0||A===!1)&&(k.success=A),k}i(S,"create"),o(S,"create"),T.create=S;function w(I){let A=I;return r.objectLiteral(A)&&t.uinteger.is(A.executionOrder)&&(A.success===void 0||r.boolean(A.success))}i(w,"is"),o(w,"is"),T.is=w;function N(I,A){return I===A?!0:I==null||A===null||A===void 0?!1:I.executionOrder===A.executionOrder&&I.success===A.success}i(N,"equals"),o(N,"equals"),T.equals=N})(s||(e.ExecutionSummary=s={}));var l;(function(T){function S(A,k){return{kind:A,document:k}}i(S,"create"),o(S,"create"),T.create=S;function w(A){let k=A;return r.objectLiteral(k)&&a.is(k.kind)&&t.DocumentUri.is(k.document)&&(k.metadata===void 0||r.objectLiteral(k.metadata))}i(w,"is"),o(w,"is"),T.is=w;function N(A,k){let j=new Set;return A.document!==k.document&&j.add("document"),A.kind!==k.kind&&j.add("kind"),A.executionSummary!==k.executionSummary&&j.add("executionSummary"),(A.metadata!==void 0||k.metadata!==void 0)&&!I(A.metadata,k.metadata)&&j.add("metadata"),(A.executionSummary!==void 0||k.executionSummary!==void 0)&&!s.equals(A.executionSummary,k.executionSummary)&&j.add("executionSummary"),j}i(N,"diff"),o(N,"diff"),T.diff=N;function I(A,k){if(A===k)return!0;if(A==null||k===null||k===void 0||typeof A!=typeof k||typeof A!="object")return!1;let j=Array.isArray(A),J=Array.isArray(k);if(j!==J)return!1;if(j&&J){if(A.length!==k.length)return!1;for(let Q=0;Q<A.length;Q++)if(!I(A[Q],k[Q]))return!1}if(r.objectLiteral(A)&&r.objectLiteral(k)){let Q=Object.keys(A),ce=Object.keys(k);if(Q.length!==ce.length||(Q.sort(),ce.sort(),!I(Q,ce)))return!1;for(let se=0;se<Q.length;se++){let Se=Q[se];if(!I(A[Se],k[Se]))return!1}}return!0}i(I,"equalsMetadata"),o(I,"equalsMetadata")})(l||(e.NotebookCell=l={}));var u;(function(T){function S(N,I,A,k){return{uri:N,notebookType:I,version:A,cells:k}}i(S,"create"),o(S,"create"),T.create=S;function w(N){let I=N;return r.objectLiteral(I)&&r.string(I.uri)&&t.integer.is(I.version)&&r.typedArray(I.cells,l.is)}i(w,"is"),o(w,"is"),T.is=w})(u||(e.NotebookDocument=u={}));var c;(function(T){T.method="notebookDocument/sync",T.messageDirection=n.MessageDirection.clientToServer,T.type=new n.RegistrationType(T.method)})(c||(e.NotebookDocumentSyncRegistrationType=c={}));var f;(function(T){T.method="notebookDocument/didOpen",T.messageDirection=n.MessageDirection.clientToServer,T.type=new n.ProtocolNotificationType(T.method),T.registrationMethod=c.method})(f||(e.DidOpenNotebookDocumentNotification=f={}));var p;(function(T){function S(N){let I=N;return r.objectLiteral(I)&&t.uinteger.is(I.start)&&t.uinteger.is(I.deleteCount)&&(I.cells===void 0||r.typedArray(I.cells,l.is))}i(S,"is"),o(S,"is"),T.is=S;function w(N,I,A){let k={start:N,deleteCount:I};return A!==void 0&&(k.cells=A),k}i(w,"create"),o(w,"create"),T.create=w})(p||(e.NotebookCellArrayChange=p={}));var d;(function(T){T.method="notebookDocument/didChange",T.messageDirection=n.MessageDirection.clientToServer,T.type=new n.ProtocolNotificationType(T.method),T.registrationMethod=c.method})(d||(e.DidChangeNotebookDocumentNotification=d={}));var h;(function(T){T.method="notebookDocument/didSave",T.messageDirection=n.MessageDirection.clientToServer,T.type=new n.ProtocolNotificationType(T.method),T.registrationMethod=c.method})(h||(e.DidSaveNotebookDocumentNotification=h={}));var v;(function(T){T.method="notebookDocument/didClose",T.messageDirection=n.MessageDirection.clientToServer,T.type=new n.ProtocolNotificationType(T.method),T.registrationMethod=c.method})(v||(e.DidCloseNotebookDocumentNotification=v={}))}}),lI=Y({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlineCompletionRequest=void 0;var t=Ae(),r;(function(n){n.method="textDocument/inlineCompletion",n.messageDirection=t.MessageDirection.clientToServer,n.type=new t.ProtocolRequestType(n.method)})(r||(e.InlineCompletionRequest=r={}))}}),uI=Y({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WorkspaceSymbolRequest=e.CodeActionResolveRequest=e.CodeActionRequest=e.DocumentSymbolRequest=e.DocumentHighlightRequest=e.ReferencesRequest=e.DefinitionRequest=e.SignatureHelpRequest=e.SignatureHelpTriggerKind=e.HoverRequest=e.CompletionResolveRequest=e.CompletionRequest=e.CompletionTriggerKind=e.PublishDiagnosticsNotification=e.WatchKind=e.RelativePattern=e.FileChangeType=e.DidChangeWatchedFilesNotification=e.WillSaveTextDocumentWaitUntilRequest=e.WillSaveTextDocumentNotification=e.TextDocumentSaveReason=e.DidSaveTextDocumentNotification=e.DidCloseTextDocumentNotification=e.DidChangeTextDocumentNotification=e.TextDocumentContentChangeEvent=e.DidOpenTextDocumentNotification=e.TextDocumentSyncKind=e.TelemetryEventNotification=e.LogMessageNotification=e.ShowMessageRequest=e.ShowMessageNotification=e.MessageType=e.DidChangeConfigurationNotification=e.ExitNotification=e.ShutdownRequest=e.InitializedNotification=e.InitializeErrorCodes=e.InitializeRequest=e.WorkDoneProgressOptions=e.TextDocumentRegistrationOptions=e.StaticRegistrationOptions=e.PositionEncodingKind=e.FailureHandlingKind=e.ResourceOperationKind=e.UnregistrationRequest=e.RegistrationRequest=e.DocumentSelector=e.NotebookCellTextDocumentFilter=e.NotebookDocumentFilter=e.TextDocumentFilter=void 0,e.MonikerRequest=e.MonikerKind=e.UniquenessLevel=e.WillDeleteFilesRequest=e.DidDeleteFilesNotification=e.WillRenameFilesRequest=e.DidRenameFilesNotification=e.WillCreateFilesRequest=e.DidCreateFilesNotification=e.FileOperationPatternKind=e.LinkedEditingRangeRequest=e.ShowDocumentRequest=e.SemanticTokensRegistrationType=e.SemanticTokensRefreshRequest=e.SemanticTokensRangeRequest=e.SemanticTokensDeltaRequest=e.SemanticTokensRequest=e.TokenFormat=e.CallHierarchyPrepareRequest=e.CallHierarchyOutgoingCallsRequest=e.CallHierarchyIncomingCallsRequest=e.WorkDoneProgressCancelNotification=e.WorkDoneProgressCreateRequest=e.WorkDoneProgress=e.SelectionRangeRequest=e.DeclarationRequest=e.FoldingRangeRefreshRequest=e.FoldingRangeRequest=e.ColorPresentationRequest=e.DocumentColorRequest=e.ConfigurationRequest=e.DidChangeWorkspaceFoldersNotification=e.WorkspaceFoldersRequest=e.TypeDefinitionRequest=e.ImplementationRequest=e.ApplyWorkspaceEditRequest=e.ExecuteCommandRequest=e.PrepareRenameRequest=e.RenameRequest=e.PrepareSupportDefaultBehavior=e.DocumentOnTypeFormattingRequest=e.DocumentRangesFormattingRequest=e.DocumentRangeFormattingRequest=e.DocumentFormattingRequest=e.DocumentLinkResolveRequest=e.DocumentLinkRequest=e.CodeLensRefreshRequest=e.CodeLensResolveRequest=e.CodeLensRequest=e.WorkspaceSymbolResolveRequest=void 0,e.InlineCompletionRequest=e.DidCloseNotebookDocumentNotification=e.DidSaveNotebookDocumentNotification=e.DidChangeNotebookDocumentNotification=e.NotebookCellArrayChange=e.DidOpenNotebookDocumentNotification=e.NotebookDocumentSyncRegistrationType=e.NotebookDocument=e.NotebookCell=e.ExecutionSummary=e.NotebookCellKind=e.DiagnosticRefreshRequest=e.WorkspaceDiagnosticRequest=e.DocumentDiagnosticRequest=e.DocumentDiagnosticReportKind=e.DiagnosticServerCancellationData=e.InlayHintRefreshRequest=e.InlayHintResolveRequest=e.InlayHintRequest=e.InlineValueRefreshRequest=e.InlineValueRequest=e.TypeHierarchySupertypesRequest=e.TypeHierarchySubtypesRequest=e.TypeHierarchyPrepareRequest=void 0;var t=Ae(),r=(ws(),gp(Il)),n=vp(),a=Uw();Object.defineProperty(e,"ImplementationRequest",{enumerable:!0,get:o(function(){return a.ImplementationRequest},"get")});var s=Kw();Object.defineProperty(e,"TypeDefinitionRequest",{enumerable:!0,get:o(function(){return s.TypeDefinitionRequest},"get")});var l=Bw();Object.defineProperty(e,"WorkspaceFoldersRequest",{enumerable:!0,get:o(function(){return l.WorkspaceFoldersRequest},"get")}),Object.defineProperty(e,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:o(function(){return l.DidChangeWorkspaceFoldersNotification},"get")});var u=qw();Object.defineProperty(e,"ConfigurationRequest",{enumerable:!0,get:o(function(){return u.ConfigurationRequest},"get")});var c=Ww();Object.defineProperty(e,"DocumentColorRequest",{enumerable:!0,get:o(function(){return c.DocumentColorRequest},"get")}),Object.defineProperty(e,"ColorPresentationRequest",{enumerable:!0,get:o(function(){return c.ColorPresentationRequest},"get")});var f=Vw();Object.defineProperty(e,"FoldingRangeRequest",{enumerable:!0,get:o(function(){return f.FoldingRangeRequest},"get")}),Object.defineProperty(e,"FoldingRangeRefreshRequest",{enumerable:!0,get:o(function(){return f.FoldingRangeRefreshRequest},"get")});var p=Hw();Object.defineProperty(e,"DeclarationRequest",{enumerable:!0,get:o(function(){return p.DeclarationRequest},"get")});var d=Yw();Object.defineProperty(e,"SelectionRangeRequest",{enumerable:!0,get:o(function(){return d.SelectionRangeRequest},"get")});var h=Xw();Object.defineProperty(e,"WorkDoneProgress",{enumerable:!0,get:o(function(){return h.WorkDoneProgress},"get")}),Object.defineProperty(e,"WorkDoneProgressCreateRequest",{enumerable:!0,get:o(function(){return h.WorkDoneProgressCreateRequest},"get")}),Object.defineProperty(e,"WorkDoneProgressCancelNotification",{enumerable:!0,get:o(function(){return h.WorkDoneProgressCancelNotification},"get")});var v=Jw();Object.defineProperty(e,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:o(function(){return v.CallHierarchyIncomingCallsRequest},"get")}),Object.defineProperty(e,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:o(function(){return v.CallHierarchyOutgoingCallsRequest},"get")}),Object.defineProperty(e,"CallHierarchyPrepareRequest",{enumerable:!0,get:o(function(){return v.CallHierarchyPrepareRequest},"get")});var T=Zw();Object.defineProperty(e,"TokenFormat",{enumerable:!0,get:o(function(){return T.TokenFormat},"get")}),Object.defineProperty(e,"SemanticTokensRequest",{enumerable:!0,get:o(function(){return T.SemanticTokensRequest},"get")}),Object.defineProperty(e,"SemanticTokensDeltaRequest",{enumerable:!0,get:o(function(){return T.SemanticTokensDeltaRequest},"get")}),Object.defineProperty(e,"SemanticTokensRangeRequest",{enumerable:!0,get:o(function(){return T.SemanticTokensRangeRequest},"get")}),Object.defineProperty(e,"SemanticTokensRefreshRequest",{enumerable:!0,get:o(function(){return T.SemanticTokensRefreshRequest},"get")}),Object.defineProperty(e,"SemanticTokensRegistrationType",{enumerable:!0,get:o(function(){return T.SemanticTokensRegistrationType},"get")});var S=Qw();Object.defineProperty(e,"ShowDocumentRequest",{enumerable:!0,get:o(function(){return S.ShowDocumentRequest},"get")});var w=eI();Object.defineProperty(e,"LinkedEditingRangeRequest",{enumerable:!0,get:o(function(){return w.LinkedEditingRangeRequest},"get")});var N=tI();Object.defineProperty(e,"FileOperationPatternKind",{enumerable:!0,get:o(function(){return N.FileOperationPatternKind},"get")}),Object.defineProperty(e,"DidCreateFilesNotification",{enumerable:!0,get:o(function(){return N.DidCreateFilesNotification},"get")}),Object.defineProperty(e,"WillCreateFilesRequest",{enumerable:!0,get:o(function(){return N.WillCreateFilesRequest},"get")}),Object.defineProperty(e,"DidRenameFilesNotification",{enumerable:!0,get:o(function(){return N.DidRenameFilesNotification},"get")}),Object.defineProperty(e,"WillRenameFilesRequest",{enumerable:!0,get:o(function(){return N.WillRenameFilesRequest},"get")}),Object.defineProperty(e,"DidDeleteFilesNotification",{enumerable:!0,get:o(function(){return N.DidDeleteFilesNotification},"get")}),Object.defineProperty(e,"WillDeleteFilesRequest",{enumerable:!0,get:o(function(){return N.WillDeleteFilesRequest},"get")});var I=rI();Object.defineProperty(e,"UniquenessLevel",{enumerable:!0,get:o(function(){return I.UniquenessLevel},"get")}),Object.defineProperty(e,"MonikerKind",{enumerable:!0,get:o(function(){return I.MonikerKind},"get")}),Object.defineProperty(e,"MonikerRequest",{enumerable:!0,get:o(function(){return I.MonikerRequest},"get")});var A=nI();Object.defineProperty(e,"TypeHierarchyPrepareRequest",{enumerable:!0,get:o(function(){return A.TypeHierarchyPrepareRequest},"get")}),Object.defineProperty(e,"TypeHierarchySubtypesRequest",{enumerable:!0,get:o(function(){return A.TypeHierarchySubtypesRequest},"get")}),Object.defineProperty(e,"TypeHierarchySupertypesRequest",{enumerable:!0,get:o(function(){return A.TypeHierarchySupertypesRequest},"get")});var k=aI();Object.defineProperty(e,"InlineValueRequest",{enumerable:!0,get:o(function(){return k.InlineValueRequest},"get")}),Object.defineProperty(e,"InlineValueRefreshRequest",{enumerable:!0,get:o(function(){return k.InlineValueRefreshRequest},"get")});var j=iI();Object.defineProperty(e,"InlayHintRequest",{enumerable:!0,get:o(function(){return j.InlayHintRequest},"get")}),Object.defineProperty(e,"InlayHintResolveRequest",{enumerable:!0,get:o(function(){return j.InlayHintResolveRequest},"get")}),Object.defineProperty(e,"InlayHintRefreshRequest",{enumerable:!0,get:o(function(){return j.InlayHintRefreshRequest},"get")});var J=sI();Object.defineProperty(e,"DiagnosticServerCancellationData",{enumerable:!0,get:o(function(){return J.DiagnosticServerCancellationData},"get")}),Object.defineProperty(e,"DocumentDiagnosticReportKind",{enumerable:!0,get:o(function(){return J.DocumentDiagnosticReportKind},"get")}),Object.defineProperty(e,"DocumentDiagnosticRequest",{enumerable:!0,get:o(function(){return J.DocumentDiagnosticRequest},"get")}),Object.defineProperty(e,"WorkspaceDiagnosticRequest",{enumerable:!0,get:o(function(){return J.WorkspaceDiagnosticRequest},"get")}),Object.defineProperty(e,"DiagnosticRefreshRequest",{enumerable:!0,get:o(function(){return J.DiagnosticRefreshRequest},"get")});var Q=oI();Object.defineProperty(e,"NotebookCellKind",{enumerable:!0,get:o(function(){return Q.NotebookCellKind},"get")}),Object.defineProperty(e,"ExecutionSummary",{enumerable:!0,get:o(function(){return Q.ExecutionSummary},"get")}),Object.defineProperty(e,"NotebookCell",{enumerable:!0,get:o(function(){return Q.NotebookCell},"get")}),Object.defineProperty(e,"NotebookDocument",{enumerable:!0,get:o(function(){return Q.NotebookDocument},"get")}),Object.defineProperty(e,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:o(function(){return Q.NotebookDocumentSyncRegistrationType},"get")}),Object.defineProperty(e,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:o(function(){return Q.DidOpenNotebookDocumentNotification},"get")}),Object.defineProperty(e,"NotebookCellArrayChange",{enumerable:!0,get:o(function(){return Q.NotebookCellArrayChange},"get")}),Object.defineProperty(e,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:o(function(){return Q.DidChangeNotebookDocumentNotification},"get")}),Object.defineProperty(e,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:o(function(){return Q.DidSaveNotebookDocumentNotification},"get")}),Object.defineProperty(e,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:o(function(){return Q.DidCloseNotebookDocumentNotification},"get")});var ce=lI();Object.defineProperty(e,"InlineCompletionRequest",{enumerable:!0,get:o(function(){return ce.InlineCompletionRequest},"get")});var se;(function(m){function ae(Te){let H=Te;return n.string(H)||n.string(H.language)||n.string(H.scheme)||n.string(H.pattern)}i(ae,"is"),o(ae,"is"),m.is=ae})(se||(e.TextDocumentFilter=se={}));var Se;(function(m){function ae(Te){let H=Te;return n.objectLiteral(H)&&(n.string(H.notebookType)||n.string(H.scheme)||n.string(H.pattern))}i(ae,"is"),o(ae,"is"),m.is=ae})(Se||(e.NotebookDocumentFilter=Se={}));var O;(function(m){function ae(Te){let H=Te;return n.objectLiteral(H)&&(n.string(H.notebook)||Se.is(H.notebook))&&(H.language===void 0||n.string(H.language))}i(ae,"is"),o(ae,"is"),m.is=ae})(O||(e.NotebookCellTextDocumentFilter=O={}));var b;(function(m){function ae(Te){if(!Array.isArray(Te))return!1;for(let H of Te)if(!n.string(H)&&!se.is(H)&&!O.is(H))return!1;return!0}i(ae,"is"),o(ae,"is"),m.is=ae})(b||(e.DocumentSelector=b={}));var g;(function(m){m.method="client/registerCapability",m.messageDirection=t.MessageDirection.serverToClient,m.type=new t.ProtocolRequestType(m.method)})(g||(e.RegistrationRequest=g={}));var C;(function(m){m.method="client/unregisterCapability",m.messageDirection=t.MessageDirection.serverToClient,m.type=new t.ProtocolRequestType(m.method)})(C||(e.UnregistrationRequest=C={}));var $;(function(m){m.Create="create",m.Rename="rename",m.Delete="delete"})($||(e.ResourceOperationKind=$={}));var R;(function(m){m.Abort="abort",m.Transactional="transactional",m.TextOnlyTransactional="textOnlyTransactional",m.Undo="undo"})(R||(e.FailureHandlingKind=R={}));var _;(function(m){m.UTF8="utf-8",m.UTF16="utf-16",m.UTF32="utf-32"})(_||(e.PositionEncodingKind=_={}));var L;(function(m){function ae(Te){let H=Te;return H&&n.string(H.id)&&H.id.length>0}i(ae,"hasId"),o(ae,"hasId"),m.hasId=ae})(L||(e.StaticRegistrationOptions=L={}));var M;(function(m){function ae(Te){let H=Te;return H&&(H.documentSelector===null||b.is(H.documentSelector))}i(ae,"is"),o(ae,"is"),m.is=ae})(M||(e.TextDocumentRegistrationOptions=M={}));var x;(function(m){function ae(H){let y=H;return n.objectLiteral(y)&&(y.workDoneProgress===void 0||n.boolean(y.workDoneProgress))}i(ae,"is"),o(ae,"is"),m.is=ae;function Te(H){let y=H;return y&&n.boolean(y.workDoneProgress)}i(Te,"hasWorkDoneProgress"),o(Te,"hasWorkDoneProgress"),m.hasWorkDoneProgress=Te})(x||(e.WorkDoneProgressOptions=x={}));var F;(function(m){m.method="initialize",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolRequestType(m.method)})(F||(e.InitializeRequest=F={}));var W;(function(m){m.unknownProtocolVersion=1})(W||(e.InitializeErrorCodes=W={}));var X;(function(m){m.method="initialized",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolNotificationType(m.method)})(X||(e.InitializedNotification=X={}));var V;(function(m){m.method="shutdown",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolRequestType0(m.method)})(V||(e.ShutdownRequest=V={}));var Pe;(function(m){m.method="exit",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolNotificationType0(m.method)})(Pe||(e.ExitNotification=Pe={}));var oe;(function(m){m.method="workspace/didChangeConfiguration",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolNotificationType(m.method)})(oe||(e.DidChangeConfigurationNotification=oe={}));var Le;(function(m){m.Error=1,m.Warning=2,m.Info=3,m.Log=4,m.Debug=5})(Le||(e.MessageType=Le={}));var De;(function(m){m.method="window/showMessage",m.messageDirection=t.MessageDirection.serverToClient,m.type=new t.ProtocolNotificationType(m.method)})(De||(e.ShowMessageNotification=De={}));var ke;(function(m){m.method="window/showMessageRequest",m.messageDirection=t.MessageDirection.serverToClient,m.type=new t.ProtocolRequestType(m.method)})(ke||(e.ShowMessageRequest=ke={}));var He;(function(m){m.method="window/logMessage",m.messageDirection=t.MessageDirection.serverToClient,m.type=new t.ProtocolNotificationType(m.method)})(He||(e.LogMessageNotification=He={}));var Ve;(function(m){m.method="telemetry/event",m.messageDirection=t.MessageDirection.serverToClient,m.type=new t.ProtocolNotificationType(m.method)})(Ve||(e.TelemetryEventNotification=Ve={}));var ne;(function(m){m.None=0,m.Full=1,m.Incremental=2})(ne||(e.TextDocumentSyncKind=ne={}));var Mt;(function(m){m.method="textDocument/didOpen",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolNotificationType(m.method)})(Mt||(e.DidOpenTextDocumentNotification=Mt={}));var Ee;(function(m){function ae(H){let y=H;return y!=null&&typeof y.text=="string"&&y.range!==void 0&&(y.rangeLength===void 0||typeof y.rangeLength=="number")}i(ae,"isIncremental"),o(ae,"isIncremental"),m.isIncremental=ae;function Te(H){let y=H;return y!=null&&typeof y.text=="string"&&y.range===void 0&&y.rangeLength===void 0}i(Te,"isFull"),o(Te,"isFull"),m.isFull=Te})(Ee||(e.TextDocumentContentChangeEvent=Ee={}));var bt;(function(m){m.method="textDocument/didChange",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolNotificationType(m.method)})(bt||(e.DidChangeTextDocumentNotification=bt={}));var Hn;(function(m){m.method="textDocument/didClose",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolNotificationType(m.method)})(Hn||(e.DidCloseTextDocumentNotification=Hn={}));var ri;(function(m){m.method="textDocument/didSave",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolNotificationType(m.method)})(ri||(e.DidSaveTextDocumentNotification=ri={}));var ni;(function(m){m.Manual=1,m.AfterDelay=2,m.FocusOut=3})(ni||(e.TextDocumentSaveReason=ni={}));var ai;(function(m){m.method="textDocument/willSave",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolNotificationType(m.method)})(ai||(e.WillSaveTextDocumentNotification=ai={}));var ii;(function(m){m.method="textDocument/willSaveWaitUntil",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolRequestType(m.method)})(ii||(e.WillSaveTextDocumentWaitUntilRequest=ii={}));var _t;(function(m){m.method="workspace/didChangeWatchedFiles",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolNotificationType(m.method)})(_t||(e.DidChangeWatchedFilesNotification=_t={}));var Yn;(function(m){m.Created=1,m.Changed=2,m.Deleted=3})(Yn||(e.FileChangeType=Yn={}));var si;(function(m){function ae(Te){let H=Te;return n.objectLiteral(H)&&(r.URI.is(H.baseUri)||r.WorkspaceFolder.is(H.baseUri))&&n.string(H.pattern)}i(ae,"is"),o(ae,"is"),m.is=ae})(si||(e.RelativePattern=si={}));var oi;(function(m){m.Create=1,m.Change=2,m.Delete=4})(oi||(e.WatchKind=oi={}));var li;(function(m){m.method="textDocument/publishDiagnostics",m.messageDirection=t.MessageDirection.serverToClient,m.type=new t.ProtocolNotificationType(m.method)})(li||(e.PublishDiagnosticsNotification=li={}));var ui;(function(m){m.Invoked=1,m.TriggerCharacter=2,m.TriggerForIncompleteCompletions=3})(ui||(e.CompletionTriggerKind=ui={}));var Xn;(function(m){m.method="textDocument/completion",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolRequestType(m.method)})(Xn||(e.CompletionRequest=Xn={}));var Jn;(function(m){m.method="completionItem/resolve",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolRequestType(m.method)})(Jn||(e.CompletionResolveRequest=Jn={}));var Gt;(function(m){m.method="textDocument/hover",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolRequestType(m.method)})(Gt||(e.HoverRequest=Gt={}));var Zn;(function(m){m.Invoked=1,m.TriggerCharacter=2,m.ContentChange=3})(Zn||(e.SignatureHelpTriggerKind=Zn={}));var ci;(function(m){m.method="textDocument/signatureHelp",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolRequestType(m.method)})(ci||(e.SignatureHelpRequest=ci={}));var fi;(function(m){m.method="textDocument/definition",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolRequestType(m.method)})(fi||(e.DefinitionRequest=fi={}));var Qn;(function(m){m.method="textDocument/references",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolRequestType(m.method)})(Qn||(e.ReferencesRequest=Qn={}));var ea;(function(m){m.method="textDocument/documentHighlight",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolRequestType(m.method)})(ea||(e.DocumentHighlightRequest=ea={}));var pi;(function(m){m.method="textDocument/documentSymbol",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolRequestType(m.method)})(pi||(e.DocumentSymbolRequest=pi={}));var Ys;(function(m){m.method="textDocument/codeAction",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolRequestType(m.method)})(Ys||(e.CodeActionRequest=Ys={}));var di;(function(m){m.method="codeAction/resolve",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolRequestType(m.method)})(di||(e.CodeActionResolveRequest=di={}));var mi;(function(m){m.method="workspace/symbol",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolRequestType(m.method)})(mi||(e.WorkspaceSymbolRequest=mi={}));var hi;(function(m){m.method="workspaceSymbol/resolve",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolRequestType(m.method)})(hi||(e.WorkspaceSymbolResolveRequest=hi={}));var yi;(function(m){m.method="textDocument/codeLens",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolRequestType(m.method)})(yi||(e.CodeLensRequest=yi={}));var vt;(function(m){m.method="codeLens/resolve",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolRequestType(m.method)})(vt||(e.CodeLensResolveRequest=vt={}));var gi;(function(m){m.method="workspace/codeLens/refresh",m.messageDirection=t.MessageDirection.serverToClient,m.type=new t.ProtocolRequestType0(m.method)})(gi||(e.CodeLensRefreshRequest=gi={}));var vi;(function(m){m.method="textDocument/documentLink",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolRequestType(m.method)})(vi||(e.DocumentLinkRequest=vi={}));var _r;(function(m){m.method="documentLink/resolve",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolRequestType(m.method)})(_r||(e.DocumentLinkResolveRequest=_r={}));var Ti;(function(m){m.method="textDocument/formatting",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolRequestType(m.method)})(Ti||(e.DocumentFormattingRequest=Ti={}));var Kr;(function(m){m.method="textDocument/rangeFormatting",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolRequestType(m.method)})(Kr||(e.DocumentRangeFormattingRequest=Kr={}));var $i;(function(m){m.method="textDocument/rangesFormatting",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolRequestType(m.method)})($i||(e.DocumentRangesFormattingRequest=$i={}));var Ft;(function(m){m.method="textDocument/onTypeFormatting",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolRequestType(m.method)})(Ft||(e.DocumentOnTypeFormattingRequest=Ft={}));var rr;(function(m){m.Identifier=1})(rr||(e.PrepareSupportDefaultBehavior=rr={}));var Ri;(function(m){m.method="textDocument/rename",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolRequestType(m.method)})(Ri||(e.RenameRequest=Ri={}));var Ai;(function(m){m.method="textDocument/prepareRename",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolRequestType(m.method)})(Ai||(e.PrepareRenameRequest=Ai={}));var nr;(function(m){m.method="workspace/executeCommand",m.messageDirection=t.MessageDirection.clientToServer,m.type=new t.ProtocolRequestType(m.method)})(nr||(e.ExecuteCommandRequest=nr={}));var ta;(function(m){m.method="workspace/applyEdit",m.messageDirection=t.MessageDirection.serverToClient,m.type=new t.ProtocolRequestType("workspace/applyEdit")})(ta||(e.ApplyWorkspaceEditRequest=ta={}))}}),cI=Y({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/connection.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createProtocolConnection=void 0;var t=Va();function r(n,a,s,l){return t.ConnectionStrategy.is(l)&&(l={connectionStrategy:l}),(0,t.createMessageConnection)(n,a,s,l)}i(r,"createProtocolConnection"),o(r,"createProtocolConnection"),e.createProtocolConnection=r}}),fI=Y({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/api.js"(e){"use strict";var t=e&&e.__createBinding||(Object.create?(function(s,l,u,c){c===void 0&&(c=u);var f=Object.getOwnPropertyDescriptor(l,u);(!f||("get"in f?!l.__esModule:f.writable||f.configurable))&&(f={enumerable:!0,get:o(function(){return l[u]},"get")}),Object.defineProperty(s,c,f)}):(function(s,l,u,c){c===void 0&&(c=u),s[c]=l[u]})),r=e&&e.__exportStar||function(s,l){for(var u in s)u!=="default"&&!Object.prototype.hasOwnProperty.call(l,u)&&t(l,s,u)};Object.defineProperty(e,"__esModule",{value:!0}),e.LSPErrorCodes=e.createProtocolConnection=void 0,r(Va(),e),r((ws(),gp(Il)),e),r(Ae(),e),r(uI(),e);var n=cI();Object.defineProperty(e,"createProtocolConnection",{enumerable:!0,get:o(function(){return n.createProtocolConnection},"get")});var a;(function(s){s.lspReservedErrorRangeStart=-32899,s.RequestFailed=-32803,s.ServerCancelled=-32802,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800})(a||(e.LSPErrorCodes=a={}))}}),pI=Y({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/browser/main.js"(e){"use strict";var t=e&&e.__createBinding||(Object.create?(function(s,l,u,c){c===void 0&&(c=u);var f=Object.getOwnPropertyDescriptor(l,u);(!f||("get"in f?!l.__esModule:f.writable||f.configurable))&&(f={enumerable:!0,get:o(function(){return l[u]},"get")}),Object.defineProperty(s,c,f)}):(function(s,l,u,c){c===void 0&&(c=u),s[c]=l[u]})),r=e&&e.__exportStar||function(s,l){for(var u in s)u!=="default"&&!Object.prototype.hasOwnProperty.call(l,u)&&t(l,s,u)};Object.defineProperty(e,"__esModule",{value:!0}),e.createProtocolConnection=void 0;var n=nh();r(nh(),e),r(fI(),e);function a(s,l,u,c){return(0,n.createMessageConnection)(s,l,u,c)}i(a,"createProtocolConnection"),o(a,"createProtocolConnection"),e.createProtocolConnection=a}}),Dg={};Gr(Dg,{AbstractAstReflection:i(()=>Rp,"AbstractAstReflection"),AbstractCstNode:i(()=>Em,"AbstractCstNode"),AbstractLangiumParser:i(()=>bm,"AbstractLangiumParser"),AbstractParserErrorMessageProvider:i(()=>ES,"AbstractParserErrorMessageProvider"),AbstractThreadedAsyncParser:i(()=>jG,"AbstractThreadedAsyncParser"),AstUtils:i(()=>Ap,"AstUtils"),BiMap:i(()=>El,"BiMap"),Cancellation:i(()=>de,"Cancellation"),CompositeCstNodeImpl:i(()=>_u,"CompositeCstNodeImpl"),ContextCache:i(()=>Ou,"ContextCache"),CstNodeBuilder:i(()=>TS,"CstNodeBuilder"),CstUtils:i(()=>Tp,"CstUtils"),DEFAULT_TOKENIZE_OPTIONS:i(()=>Km,"DEFAULT_TOKENIZE_OPTIONS"),DONE_RESULT:i(()=>Xe,"DONE_RESULT"),DatatypeSymbol:i(()=>Tl,"DatatypeSymbol"),DefaultAstNodeDescriptionProvider:i(()=>QS,"DefaultAstNodeDescriptionProvider"),DefaultAstNodeLocator:i(()=>tw,"DefaultAstNodeLocator"),DefaultAsyncParser:i(()=>Tw,"DefaultAsyncParser"),DefaultCommentProvider:i(()=>vw,"DefaultCommentProvider"),DefaultConfigurationProvider:i(()=>rw,"DefaultConfigurationProvider"),DefaultDocumentBuilder:i(()=>nw,"DefaultDocumentBuilder"),DefaultDocumentValidator:i(()=>ZS,"DefaultDocumentValidator"),DefaultHydrator:i(()=>Rw,"DefaultHydrator"),DefaultIndexManager:i(()=>aw,"DefaultIndexManager"),DefaultJsonSerializer:i(()=>HS,"DefaultJsonSerializer"),DefaultLangiumDocumentFactory:i(()=>FS,"DefaultLangiumDocumentFactory"),DefaultLangiumDocuments:i(()=>zS,"DefaultLangiumDocuments"),DefaultLangiumProfiler:i(()=>WG,"DefaultLangiumProfiler"),DefaultLexer:i(()=>Bm,"DefaultLexer"),DefaultLexerErrorMessageProvider:i(()=>sw,"DefaultLexerErrorMessageProvider"),DefaultLinker:i(()=>jS,"DefaultLinker"),DefaultNameProvider:i(()=>US,"DefaultNameProvider"),DefaultReferenceDescriptionProvider:i(()=>ew,"DefaultReferenceDescriptionProvider"),DefaultReferences:i(()=>KS,"DefaultReferences"),DefaultScopeComputation:i(()=>BS,"DefaultScopeComputation"),DefaultScopeProvider:i(()=>VS,"DefaultScopeProvider"),DefaultServiceRegistry:i(()=>YS,"DefaultServiceRegistry"),DefaultTokenBuilder:i(()=>Iu,"DefaultTokenBuilder"),DefaultValueConverter:i(()=>km,"DefaultValueConverter"),DefaultWorkspaceLock:i(()=>$w,"DefaultWorkspaceLock"),DefaultWorkspaceManager:i(()=>iw,"DefaultWorkspaceManager"),Deferred:i(()=>$r,"Deferred"),Disposable:i(()=>An,"Disposable"),DisposableCache:i(()=>ku,"DisposableCache"),DocumentCache:i(()=>WS,"DocumentCache"),DocumentState:i(()=>Z,"DocumentState"),DocumentValidator:i(()=>Tt,"DocumentValidator"),EMPTY_SCOPE:i(()=>MG,"EMPTY_SCOPE"),EMPTY_STREAM:i(()=>Da,"EMPTY_STREAM"),EmptyFileSystem:i(()=>bw,"EmptyFileSystem"),EmptyFileSystemProvider:i(()=>Cw,"EmptyFileSystemProvider"),ErrorWithLocation:i(()=>Fl,"ErrorWithLocation"),GrammarAST:i(()=>Gg,"GrammarAST"),GrammarUtils:i(()=>Zp,"GrammarUtils"),IndentationAwareLexer:i(()=>KG,"IndentationAwareLexer"),IndentationAwareTokenBuilder:i(()=>Ew,"IndentationAwareTokenBuilder"),JSDocDocumentationProvider:i(()=>gw,"JSDocDocumentationProvider"),LangiumCompletionParser:i(()=>CS,"LangiumCompletionParser"),LangiumParser:i(()=>AS,"LangiumParser"),LangiumParserErrorMessageProvider:i(()=>_m,"LangiumParserErrorMessageProvider"),LeafCstNodeImpl:i(()=>vl,"LeafCstNodeImpl"),LexingMode:i(()=>$n,"LexingMode"),MapScope:i(()=>xG,"MapScope"),Module:i(()=>Xf,"Module"),MultiMap:i(()=>Rr,"MultiMap"),MultiMapScope:i(()=>qS,"MultiMapScope"),OperationCancelled:i(()=>Ht,"OperationCancelled"),ParserWorker:i(()=>UG,"ParserWorker"),ProfilingTask:i(()=>Sw,"ProfilingTask"),Reduction:i(()=>fs,"Reduction"),RefResolving:i(()=>en,"RefResolving"),RegExpUtils:i(()=>ed,"RegExpUtils"),RootCstNodeImpl:i(()=>Cm,"RootCstNodeImpl"),SimpleCache:i(()=>Gm,"SimpleCache"),StreamImpl:i(()=>Vt,"StreamImpl"),StreamScope:i(()=>Wf,"StreamScope"),TextDocument:i(()=>Rl,"TextDocument"),TreeStreamImpl:i(()=>xa,"TreeStreamImpl"),URI:i(()=>pt,"URI"),UriTrie:i(()=>xm,"UriTrie"),UriUtils:i(()=>Ze,"UriUtils"),VALIDATE_EACH_NODE:i(()=>JS,"VALIDATE_EACH_NODE"),ValidationCategory:i(()=>Cl,"ValidationCategory"),ValidationRegistry:i(()=>XS,"ValidationRegistry"),ValueConverter:i(()=>qt,"ValueConverter"),WorkspaceCache:i(()=>Fm,"WorkspaceCache"),assertCondition:i(()=>Qp,"assertCondition"),assertUnreachable:i(()=>Fr,"assertUnreachable"),createCompletionParser:i(()=>Im,"createCompletionParser"),createDefaultCoreModule:i(()=>Jm,"createDefaultCoreModule"),createDefaultSharedCoreModule:i(()=>Zm,"createDefaultSharedCoreModule"),createGrammarConfig:i(()=>vd,"createGrammarConfig"),createLangiumParser:i(()=>Nm,"createLangiumParser"),createParser:i(()=>Su,"createParser"),delayNextTick:i(()=>Nu,"delayNextTick"),diagnosticData:i(()=>Tn,"diagnosticData"),eagerLoad:i(()=>Qm,"eagerLoad"),getDiagnosticRange:i(()=>jm,"getDiagnosticRange"),indentationBuilderDefaultOptions:i(()=>Zf,"indentationBuilderDefaultOptions"),inject:i(()=>Sl,"inject"),interruptAndCheck:i(()=>ze,"interruptAndCheck"),isAstNode:i(()=>Oe,"isAstNode"),isAstNodeDescription:i(()=>$p,"isAstNodeDescription"),isAstNodeWithComment:i(()=>zm,"isAstNodeWithComment"),isCompositeCstNode:i(()=>pr,"isCompositeCstNode"),isIMultiModeLexerDefinition:i(()=>xu,"isIMultiModeLexerDefinition"),isJSDoc:i(()=>Wm,"isJSDoc"),isLeafCstNode:i(()=>wn,"isLeafCstNode"),isLinkingError:i(()=>an,"isLinkingError"),isMultiReference:i(()=>Yt,"isMultiReference"),isNamed:i(()=>Mm,"isNamed"),isOperationCancelled:i(()=>Vn,"isOperationCancelled"),isReference:i(()=>Je,"isReference"),isRootCstNode:i(()=>Pl,"isRootCstNode"),isTokenTypeArray:i(()=>Du,"isTokenTypeArray"),isTokenTypeDictionary:i(()=>bl,"isTokenTypeDictionary"),loadGrammarFromJson:i(()=>je,"loadGrammarFromJson"),parseJSDoc:i(()=>qm,"parseJSDoc"),prepareLangiumParser:i(()=>Pm,"prepareLangiumParser"),setInterruptionPeriod:i(()=>Om,"setInterruptionPeriod"),startCancelableOperation:i(()=>Pu,"startCancelableOperation"),stream:i(()=>ue,"stream"),toDiagnosticData:i(()=>Um,"toDiagnosticData"),toDiagnosticSeverity:i(()=>us,"toDiagnosticSeverity")});var Tp={};Gr(Tp,{DefaultNameRegexp:i(()=>Vp,"DefaultNameRegexp"),RangeComparison:i(()=>Wt,"RangeComparison"),compareRange:i(()=>qp,"compareRange"),findCommentNode:i(()=>Hp,"findCommentNode"),findDeclarationNodeAtOffset:i(()=>nv,"findDeclarationNodeAtOffset"),findLeafNodeAtOffset:i(()=>Gl,"findLeafNodeAtOffset"),findLeafNodeBeforeOffset:i(()=>Yp,"findLeafNodeBeforeOffset"),flattenCst:i(()=>rv,"flattenCst"),getDatatypeNode:i(()=>tv,"getDatatypeNode"),getInteriorNodes:i(()=>sv,"getInteriorNodes"),getNextNode:i(()=>av,"getNextNode"),getPreviousNode:i(()=>Jp,"getPreviousNode"),getStartlineNode:i(()=>iv,"getStartlineNode"),inRange:i(()=>Wp,"inRange"),isChildNode:i(()=>Bp,"isChildNode"),isCommentNode:i(()=>rl,"isCommentNode"),streamCst:i(()=>za,"streamCst"),toDocumentSegment:i(()=>ja,"toDocumentSegment"),tokenToRange:i(()=>ps,"tokenToRange")});function Oe(e){return typeof e=="object"&&e!==null&&typeof e.$type=="string"}i(Oe,"isAstNode");o(Oe,"isAstNode");function Je(e){return typeof e=="object"&&e!==null&&typeof e.$refText=="string"&&"ref"in e}i(Je,"isReference");o(Je,"isReference");function Yt(e){return typeof e=="object"&&e!==null&&typeof e.$refText=="string"&&"items"in e}i(Yt,"isMultiReference");o(Yt,"isMultiReference");function $p(e){return typeof e=="object"&&e!==null&&typeof e.name=="string"&&typeof e.type=="string"&&typeof e.path=="string"}i($p,"isAstNodeDescription");o($p,"isAstNodeDescription");function an(e){return typeof e=="object"&&e!==null&&typeof e.info=="object"&&typeof e.message=="string"}i(an,"isLinkingError");o(an,"isLinkingError");var Rp=class{static{i(this,"AbstractAstReflection")}static{o(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){let t=this.types[e.container.$type];if(!t)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);let r=t.properties[e.property]?.referenceType;if(!r)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return r}getTypeMetaData(e){let t=this.types[e];return t||{name:e,properties:{},superTypes:[]}}isInstance(e,t){return Oe(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});let n=r[t];if(n!==void 0)return n;{let a=this.types[e],s=a?a.superTypes.some(l=>this.isSubtype(l,t)):!1;return r[t]=s,s}}getAllSubTypes(e){let t=this.allSubtypes[e];if(t)return t;{let r=this.getAllTypes(),n=[];for(let a of r)this.isSubtype(a,e)&&n.push(a);return this.allSubtypes[e]=n,n}}};function pr(e){return typeof e=="object"&&e!==null&&Array.isArray(e.content)}i(pr,"isCompositeCstNode");o(pr,"isCompositeCstNode");function wn(e){return typeof e=="object"&&e!==null&&typeof e.tokenType=="object"}i(wn,"isLeafCstNode");o(wn,"isLeafCstNode");function Pl(e){return pr(e)&&typeof e.fullText=="string"}i(Pl,"isRootCstNode");o(Pl,"isRootCstNode");var Vt=class or{static{i(this,"_StreamImpl")}static{o(this,"StreamImpl")}constructor(t,r){this.startFn=t,this.nextFn=r}iterator(){let t={state:this.startFn(),next:o(()=>this.nextFn(t.state),"next"),[Symbol.iterator]:()=>t};return t}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let t=this.iterator(),r=0,n=t.next();for(;!n.done;)r++,n=t.next();return r}toArray(){let t=[],r=this.iterator(),n;do n=r.next(),n.value!==void 0&&t.push(n.value);while(!n.done);return t}toSet(){return new Set(this)}toMap(t,r){let n=this.map(a=>[t?t(a):a,r?r(a):a]);return new Map(n)}toString(){return this.join()}concat(t){return new or(()=>({first:this.startFn(),firstDone:!1,iterator:t[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 Xe})}join(t=","){let r=this.iterator(),n="",a,s=!1;do a=r.next(),a.done||(s&&(n+=t),n+=xg(a.value)),s=!0;while(!a.done);return n}indexOf(t,r=0){let n=this.iterator(),a=0,s=n.next();for(;!s.done;){if(a>=r&&s.value===t)return a;s=n.next(),a++}return-1}every(t){let r=this.iterator(),n=r.next();for(;!n.done;){if(!t(n.value))return!1;n=r.next()}return!0}some(t){let r=this.iterator(),n=r.next();for(;!n.done;){if(t(n.value))return!0;n=r.next()}return!1}forEach(t){let r=this.iterator(),n=0,a=r.next();for(;!a.done;)t(a.value,n),a=r.next(),n++}map(t){return new or(this.startFn,r=>{let{done:n,value:a}=this.nextFn(r);return n?Xe:{done:!1,value:t(a)}})}filter(t){return new or(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&t(n.value))return n;while(!n.done);return Xe})}nonNullable(){return this.filter(t=>t!=null)}reduce(t,r){let n=this.iterator(),a=r,s=n.next();for(;!s.done;)a===void 0?a=s.value:a=t(a,s.value),s=n.next();return a}reduceRight(t,r){return this.recursiveReduce(this.iterator(),t,r)}recursiveReduce(t,r,n){let a=t.next();if(a.done)return n;let s=this.recursiveReduce(t,r,n);return s===void 0?a.value:r(s,a.value)}find(t){let r=this.iterator(),n=r.next();for(;!n.done;){if(t(n.value))return n.value;n=r.next()}}findIndex(t){let r=this.iterator(),n=0,a=r.next();for(;!a.done;){if(t(a.value))return n;a=r.next(),n++}return-1}includes(t){let r=this.iterator(),n=r.next();for(;!n.done;){if(n.value===t)return!0;n=r.next()}return!1}flatMap(t){return new or(()=>({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:a}=this.nextFn(r.this);if(!n){let s=t(a);if(cs(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(r.iterator);return Xe})}flat(t){if(t===void 0&&(t=1),t<=0)return this;let r=t>1?this.flat(t-1):this;return new or(()=>({this:r.startFn()}),n=>{do{if(n.iterator){let l=n.iterator.next();if(l.done)n.iterator=void 0;else return l}let{done:a,value:s}=r.nextFn(n.this);if(!a)if(cs(s))n.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(n.iterator);return Xe})}head(){let r=this.iterator().next();if(!r.done)return r.value}tail(t=1){return new or(()=>{let r=this.startFn();for(let n=0;n<t;n++)if(this.nextFn(r).done)return r;return r},this.nextFn)}limit(t){return new or(()=>({size:0,state:this.startFn()}),r=>(r.size++,r.size>t?Xe:this.nextFn(r.state)))}distinct(t){return new or(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){let a=t?t(n.value):n.value;if(!r.set.has(a))return r.set.add(a),n}while(!n.done);return Xe})}exclude(t,r){let n=new Set;for(let a of t){let s=r?r(a):a;n.add(s)}return this.filter(a=>{let s=r?r(a):a;return!n.has(s)})}};function xg(e){return typeof e=="string"?e:typeof e>"u"?"undefined":typeof e.toString=="function"?e.toString():Object.prototype.toString.call(e)}i(xg,"toString");o(xg,"toString");function cs(e){return!!e&&typeof e[Symbol.iterator]=="function"}i(cs,"isIterable");o(cs,"isIterable");var Da=new Vt(()=>{},()=>Xe),Xe=Object.freeze({done:!0,value:void 0});function ue(...e){if(e.length===1){let t=e[0];if(t instanceof Vt)return t;if(cs(t))return new Vt(()=>t[Symbol.iterator](),r=>r.next());if(typeof t.length=="number")return new Vt(()=>({index:0}),r=>r.index<t.length?{done:!1,value:t[r.index++]}:Xe)}return e.length>1?new Vt(()=>({collIndex:0,arrIndex:0}),t=>{do{if(t.iterator){let r=t.iterator.next();if(!r.done)return r;t.iterator=void 0}if(t.array){if(t.arrIndex<t.array.length)return{done:!1,value:t.array[t.arrIndex++]};t.array=void 0,t.arrIndex=0}if(t.collIndex<e.length){let r=e[t.collIndex++];cs(r)?t.iterator=r[Symbol.iterator]():r&&typeof r.length=="number"&&(t.array=r)}}while(t.iterator||t.array||t.collIndex<e.length);return Xe}):Da}i(ue,"stream");o(ue,"stream");var xa=class extends Vt{static{i(this,"TreeStreamImpl")}static{o(this,"TreeStreamImpl")}constructor(e,t,r){super(()=>({iterators:r?.includeRoot?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),n=>{for(n.pruned&&(n.iterators.pop(),n.pruned=!1);n.iterators.length>0;){let s=n.iterators[n.iterators.length-1].next();if(s.done)n.iterators.pop();else return n.iterators.push(t(s.value)[Symbol.iterator]()),s}return Xe})}iterator(){let e={state:this.startFn(),next:o(()=>this.nextFn(e.state),"next"),prune:o(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}},fs;(function(e){function t(s){return s.reduce((l,u)=>l+u,0)}i(t,"sum"),o(t,"sum"),e.sum=t;function r(s){return s.reduce((l,u)=>l*u,0)}i(r,"product"),o(r,"product"),e.product=r;function n(s){return s.reduce((l,u)=>Math.min(l,u))}i(n,"min2"),o(n,"min"),e.min=n;function a(s){return s.reduce((l,u)=>Math.max(l,u))}i(a,"max"),o(a,"max"),e.max=a})(fs||(fs={}));var Ap={};Gr(Ap,{assignMandatoryProperties:i(()=>Ep,"assignMandatoryProperties"),copyAstNode:i(()=>Uo,"copyAstNode"),findRootNode:i(()=>Pa,"findRootNode"),getContainerOfType:i(()=>In,"getContainerOfType"),getDocument:i(()=>Nt,"getDocument"),getReferenceNodes:i(()=>zo,"getReferenceNodes"),hasContainerOfType:i(()=>Mg,"hasContainerOfType"),linkContentToContainer:i(()=>Ma,"linkContentToContainer"),streamAllContents:i(()=>Ar,"streamAllContents"),streamAst:i(()=>Pt,"streamAst"),streamContents:i(()=>Ns,"streamContents"),streamReferences:i(()=>Ga,"streamReferences")});function Ma(e,t={}){for(let[r,n]of Object.entries(e))r.startsWith("$")||(Array.isArray(n)?n.forEach((a,s)=>{Oe(a)&&(a.$container=e,a.$containerProperty=r,a.$containerIndex=s,t.deep&&Ma(a,t))}):Oe(n)&&(n.$container=e,n.$containerProperty=r,t.deep&&Ma(n,t)))}i(Ma,"linkContentToContainer");o(Ma,"linkContentToContainer");function In(e,t){let r=e;for(;r;){if(t(r))return r;r=r.$container}}i(In,"getContainerOfType");o(In,"getContainerOfType");function Mg(e,t){let r=e;for(;r;){if(t(r))return!0;r=r.$container}return!1}i(Mg,"hasContainerOfType");o(Mg,"hasContainerOfType");function Nt(e){let r=Pa(e).$document;if(!r)throw new Error("AST node has no document.");return r}i(Nt,"getDocument");o(Nt,"getDocument");function Pa(e){for(;e.$container;)e=e.$container;return e}i(Pa,"findRootNode");o(Pa,"findRootNode");function zo(e){return Je(e)?e.ref?[e.ref]:[]:Yt(e)?e.items.map(t=>t.ref):[]}i(zo,"getReferenceNodes");o(zo,"getReferenceNodes");function Ns(e,t){if(!e)throw new Error("Node must be an AstNode.");let r=t?.range;return new Vt(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndex<n.keys.length;){let a=n.keys[n.keyIndex];if(!a.startsWith("$")){let s=e[a];if(Oe(s)){if(n.keyIndex++,jo(s,r))return{done:!1,value:s}}else if(Array.isArray(s)){for(;n.arrayIndex<s.length;){let l=n.arrayIndex++,u=s[l];if(Oe(u)&&jo(u,r))return{done:!1,value:u}}n.arrayIndex=0}}n.keyIndex++}return Xe})}i(Ns,"streamContents");o(Ns,"streamContents");function Ar(e,t){if(!e)throw new Error("Root node must be an AstNode.");return new xa(e,r=>Ns(r,t))}i(Ar,"streamAllContents");o(Ar,"streamAllContents");function Pt(e,t){if(e){if(t?.range&&!jo(e,t.range))return new xa(e,()=>[])}else throw new Error("Root node must be an AstNode.");return new xa(e,r=>Ns(r,t),{includeRoot:!0})}i(Pt,"streamAst");o(Pt,"streamAst");function jo(e,t){if(!t)return!0;let r=e.$cstNode?.range;return r?Wp(r,t):!1}i(jo,"isAstNodeInRange");o(jo,"isAstNodeInRange");function Ga(e){return new Vt(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndex<t.keys.length;){let r=t.keys[t.keyIndex];if(!r.startsWith("$")){let n=e[r];if(Je(n)||Yt(n))return t.keyIndex++,{done:!1,value:{reference:n,container:e,property:r}};if(Array.isArray(n)){for(;t.arrayIndex<n.length;){let a=t.arrayIndex++,s=n[a];if(Je(s)||Yt(n))return{done:!1,value:{reference:s,container:e,property:r,index:a}}}t.arrayIndex=0}}t.keyIndex++}return Xe})}i(Ga,"streamReferences");o(Ga,"streamReferences");function Ep(e,t){let r=e.getTypeMetaData(t.$type),n=t;for(let a of Object.values(r.properties))a.defaultValue!==void 0&&n[a.name]===void 0&&(n[a.name]=Cp(a.defaultValue))}i(Ep,"assignMandatoryProperties");o(Ep,"assignMandatoryProperties");function Cp(e){return Array.isArray(e)?[...e.map(Cp)]:e}i(Cp,"copyDefaultValue");o(Cp,"copyDefaultValue");function Uo(e,t,r){let n={$type:e.$type};r&&(r.set(e,n),r.set(n,e));for(let[a,s]of Object.entries(e))if(!a.startsWith("$"))if(Oe(s))n[a]=Uo(s,t,r);else if(Je(s))n[a]=t(n,a,s.$refNode,s.$refText,s);else if(Array.isArray(s)){let l=[];for(let u of s)Oe(u)?l.push(Uo(u,t,r)):Je(u)?l.push(t(n,a,u.$refNode,u.$refText,u)):l.push(u);n[a]=l}else n[a]=s;return Ma(n,{deep:!0}),n}i(Uo,"copyAstNode");o(Uo,"copyAstNode");var Gg={};Gr(Gg,{AbstractElement:i(()=>it,"AbstractElement"),AbstractParserRule:i(()=>Yi,"AbstractParserRule"),AbstractRule:i(()=>Ea,"AbstractRule"),AbstractType:i(()=>ft,"AbstractType"),Action:i(()=>wr,"Action"),Alternatives:i(()=>Xi,"Alternatives"),ArrayLiteral:i(()=>Ko,"ArrayLiteral"),ArrayType:i(()=>Bo,"ArrayType"),Assignment:i(()=>Ir,"Assignment"),BooleanLiteral:i(()=>qo,"BooleanLiteral"),CharacterRange:i(()=>Nr,"CharacterRange"),Condition:i(()=>Pr,"Condition"),Conjunction:i(()=>Ji,"Conjunction"),CrossReference:i(()=>kr,"CrossReference"),Disjunction:i(()=>Zi,"Disjunction"),EndOfFile:i(()=>Wo,"EndOfFile"),Grammar:i(()=>ur,"Grammar"),GrammarImport:i(()=>Vo,"GrammarImport"),Group:i(()=>sn,"Group"),InferredType:i(()=>Ho,"InferredType"),InfixRule:i(()=>Bt,"InfixRule"),InfixRuleOperatorList:i(()=>Qi,"InfixRuleOperatorList"),InfixRuleOperators:i(()=>Yo,"InfixRuleOperators"),Interface:i(()=>Ca,"Interface"),Keyword:i(()=>ba,"Keyword"),LangiumGrammarAstReflection:i(()=>Kp,"LangiumGrammarAstReflection"),LangiumGrammarTerminals:i(()=>dI,"LangiumGrammarTerminals"),NamedArgument:i(()=>_a,"NamedArgument"),NegatedToken:i(()=>on,"NegatedToken"),Negation:i(()=>Xo,"Negation"),NumberLiteral:i(()=>Jo,"NumberLiteral"),Parameter:i(()=>Sa,"Parameter"),ParameterReference:i(()=>Zo,"ParameterReference"),ParserRule:i(()=>St,"ParserRule"),ReferenceType:i(()=>es,"ReferenceType"),RegexToken:i(()=>ln,"RegexToken"),ReturnType:i(()=>Qo,"ReturnType"),RuleCall:i(()=>un,"RuleCall"),SimpleType:i(()=>wa,"SimpleType"),StringLiteral:i(()=>el,"StringLiteral"),TerminalAlternatives:i(()=>cn,"TerminalAlternatives"),TerminalElement:i(()=>st,"TerminalElement"),TerminalGroup:i(()=>fn,"TerminalGroup"),TerminalRule:i(()=>cr,"TerminalRule"),TerminalRuleCall:i(()=>pn,"TerminalRuleCall"),Type:i(()=>ts,"Type"),TypeAttribute:i(()=>dn,"TypeAttribute"),TypeDefinition:i(()=>mn,"TypeDefinition"),UnionType:i(()=>tl,"UnionType"),UnorderedGroup:i(()=>rs,"UnorderedGroup"),UntilToken:i(()=>hn,"UntilToken"),ValueLiteral:i(()=>yn,"ValueLiteral"),Wildcard:i(()=>Ia,"Wildcard"),isAbstractElement:i(()=>kl,"isAbstractElement"),isAbstractParserRule:i(()=>Nn,"isAbstractParserRule"),isAbstractRule:i(()=>Fg,"isAbstractRule"),isAbstractType:i(()=>zg,"isAbstractType"),isAction:i(()=>Or,"isAction"),isAlternatives:i(()=>Ol,"isAlternatives"),isArrayLiteral:i(()=>jg,"isArrayLiteral"),isArrayType:i(()=>bp,"isArrayType"),isAssignment:i(()=>dr,"isAssignment"),isBooleanLiteral:i(()=>_p,"isBooleanLiteral"),isCharacterRange:i(()=>Sp,"isCharacterRange"),isCondition:i(()=>Ug,"isCondition"),isConjunction:i(()=>wp,"isConjunction"),isCrossReference:i(()=>Pn,"isCrossReference"),isDisjunction:i(()=>Ip,"isDisjunction"),isEndOfFile:i(()=>Np,"isEndOfFile"),isGrammar:i(()=>Kg,"isGrammar"),isGrammarImport:i(()=>Bg,"isGrammarImport"),isGroup:i(()=>kn,"isGroup"),isInferredType:i(()=>Ps,"isInferredType"),isInfixRule:i(()=>Fa,"isInfixRule"),isInfixRuleOperatorList:i(()=>qg,"isInfixRuleOperatorList"),isInfixRuleOperators:i(()=>Wg,"isInfixRuleOperators"),isInterface:i(()=>Pp,"isInterface"),isKeyword:i(()=>mr,"isKeyword"),isNamedArgument:i(()=>Vg,"isNamedArgument"),isNegatedToken:i(()=>kp,"isNegatedToken"),isNegation:i(()=>Op,"isNegation"),isNumberLiteral:i(()=>Hg,"isNumberLiteral"),isParameter:i(()=>Yg,"isParameter"),isParameterReference:i(()=>Lp,"isParameterReference"),isParserRule:i(()=>et,"isParserRule"),isReferenceType:i(()=>Dp,"isReferenceType"),isRegexToken:i(()=>xp,"isRegexToken"),isReturnType:i(()=>Mp,"isReturnType"),isRuleCall:i(()=>hr,"isRuleCall"),isSimpleType:i(()=>Ll,"isSimpleType"),isStringLiteral:i(()=>Xg,"isStringLiteral"),isTerminalAlternatives:i(()=>Gp,"isTerminalAlternatives"),isTerminalElement:i(()=>Jg,"isTerminalElement"),isTerminalGroup:i(()=>Fp,"isTerminalGroup"),isTerminalRule:i(()=>Et,"isTerminalRule"),isTerminalRuleCall:i(()=>Dl,"isTerminalRuleCall"),isType:i(()=>xl,"isType"),isTypeAttribute:i(()=>Zg,"isTypeAttribute"),isTypeDefinition:i(()=>Qg,"isTypeDefinition"),isUnionType:i(()=>zp,"isUnionType"),isUnorderedGroup:i(()=>Ml,"isUnorderedGroup"),isUntilToken:i(()=>jp,"isUntilToken"),isValueLiteral:i(()=>ev,"isValueLiteral"),isWildcard:i(()=>Up,"isWildcard"),reflection:i(()=>U,"reflection")});var dI={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]*/},it={$type:"AbstractElement",cardinality:"cardinality"};function kl(e){return U.isInstance(e,it.$type)}i(kl,"isAbstractElement");o(kl,"isAbstractElement");var Yi={$type:"AbstractParserRule"};function Nn(e){return U.isInstance(e,Yi.$type)}i(Nn,"isAbstractParserRule");o(Nn,"isAbstractParserRule");var Ea={$type:"AbstractRule"};function Fg(e){return U.isInstance(e,Ea.$type)}i(Fg,"isAbstractRule");o(Fg,"isAbstractRule");var ft={$type:"AbstractType"};function zg(e){return U.isInstance(e,ft.$type)}i(zg,"isAbstractType");o(zg,"isAbstractType");var wr={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function Or(e){return U.isInstance(e,wr.$type)}i(Or,"isAction");o(Or,"isAction");var Xi={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function Ol(e){return U.isInstance(e,Xi.$type)}i(Ol,"isAlternatives");o(Ol,"isAlternatives");var Ko={$type:"ArrayLiteral",elements:"elements"};function jg(e){return U.isInstance(e,Ko.$type)}i(jg,"isArrayLiteral");o(jg,"isArrayLiteral");var Bo={$type:"ArrayType",elementType:"elementType"};function bp(e){return U.isInstance(e,Bo.$type)}i(bp,"isArrayType");o(bp,"isArrayType");var Ir={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function dr(e){return U.isInstance(e,Ir.$type)}i(dr,"isAssignment");o(dr,"isAssignment");var qo={$type:"BooleanLiteral",true:"true"};function _p(e){return U.isInstance(e,qo.$type)}i(_p,"isBooleanLiteral");o(_p,"isBooleanLiteral");var Nr={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function Sp(e){return U.isInstance(e,Nr.$type)}i(Sp,"isCharacterRange");o(Sp,"isCharacterRange");var Pr={$type:"Condition"};function Ug(e){return U.isInstance(e,Pr.$type)}i(Ug,"isCondition");o(Ug,"isCondition");var Ji={$type:"Conjunction",left:"left",right:"right"};function wp(e){return U.isInstance(e,Ji.$type)}i(wp,"isConjunction");o(wp,"isConjunction");var kr={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function Pn(e){return U.isInstance(e,kr.$type)}i(Pn,"isCrossReference");o(Pn,"isCrossReference");var Zi={$type:"Disjunction",left:"left",right:"right"};function Ip(e){return U.isInstance(e,Zi.$type)}i(Ip,"isDisjunction");o(Ip,"isDisjunction");var Wo={$type:"EndOfFile",cardinality:"cardinality"};function Np(e){return U.isInstance(e,Wo.$type)}i(Np,"isEndOfFile");o(Np,"isEndOfFile");var ur={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};function Kg(e){return U.isInstance(e,ur.$type)}i(Kg,"isGrammar");o(Kg,"isGrammar");var Vo={$type:"GrammarImport",path:"path"};function Bg(e){return U.isInstance(e,Vo.$type)}i(Bg,"isGrammarImport");o(Bg,"isGrammarImport");var sn={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function kn(e){return U.isInstance(e,sn.$type)}i(kn,"isGroup");o(kn,"isGroup");var Ho={$type:"InferredType",name:"name"};function Ps(e){return U.isInstance(e,Ho.$type)}i(Ps,"isInferredType");o(Ps,"isInferredType");var Bt={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function Fa(e){return U.isInstance(e,Bt.$type)}i(Fa,"isInfixRule");o(Fa,"isInfixRule");var Qi={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};function qg(e){return U.isInstance(e,Qi.$type)}i(qg,"isInfixRuleOperatorList");o(qg,"isInfixRuleOperatorList");var Yo={$type:"InfixRuleOperators",precedences:"precedences"};function Wg(e){return U.isInstance(e,Yo.$type)}i(Wg,"isInfixRuleOperators");o(Wg,"isInfixRuleOperators");var Ca={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function Pp(e){return U.isInstance(e,Ca.$type)}i(Pp,"isInterface");o(Pp,"isInterface");var ba={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function mr(e){return U.isInstance(e,ba.$type)}i(mr,"isKeyword");o(mr,"isKeyword");var _a={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};function Vg(e){return U.isInstance(e,_a.$type)}i(Vg,"isNamedArgument");o(Vg,"isNamedArgument");var on={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function kp(e){return U.isInstance(e,on.$type)}i(kp,"isNegatedToken");o(kp,"isNegatedToken");var Xo={$type:"Negation",value:"value"};function Op(e){return U.isInstance(e,Xo.$type)}i(Op,"isNegation");o(Op,"isNegation");var Jo={$type:"NumberLiteral",value:"value"};function Hg(e){return U.isInstance(e,Jo.$type)}i(Hg,"isNumberLiteral");o(Hg,"isNumberLiteral");var Sa={$type:"Parameter",name:"name"};function Yg(e){return U.isInstance(e,Sa.$type)}i(Yg,"isParameter");o(Yg,"isParameter");var Zo={$type:"ParameterReference",parameter:"parameter"};function Lp(e){return U.isInstance(e,Zo.$type)}i(Lp,"isParameterReference");o(Lp,"isParameterReference");var St={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function et(e){return U.isInstance(e,St.$type)}i(et,"isParserRule");o(et,"isParserRule");var es={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};function Dp(e){return U.isInstance(e,es.$type)}i(Dp,"isReferenceType");o(Dp,"isReferenceType");var ln={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function xp(e){return U.isInstance(e,ln.$type)}i(xp,"isRegexToken");o(xp,"isRegexToken");var Qo={$type:"ReturnType",name:"name"};function Mp(e){return U.isInstance(e,Qo.$type)}i(Mp,"isReturnType");o(Mp,"isReturnType");var un={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function hr(e){return U.isInstance(e,un.$type)}i(hr,"isRuleCall");o(hr,"isRuleCall");var wa={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function Ll(e){return U.isInstance(e,wa.$type)}i(Ll,"isSimpleType");o(Ll,"isSimpleType");var el={$type:"StringLiteral",value:"value"};function Xg(e){return U.isInstance(e,el.$type)}i(Xg,"isStringLiteral");o(Xg,"isStringLiteral");var cn={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Gp(e){return U.isInstance(e,cn.$type)}i(Gp,"isTerminalAlternatives");o(Gp,"isTerminalAlternatives");var st={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Jg(e){return U.isInstance(e,st.$type)}i(Jg,"isTerminalElement");o(Jg,"isTerminalElement");var fn={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Fp(e){return U.isInstance(e,fn.$type)}i(Fp,"isTerminalGroup");o(Fp,"isTerminalGroup");var cr={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function Et(e){return U.isInstance(e,cr.$type)}i(Et,"isTerminalRule");o(Et,"isTerminalRule");var pn={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function Dl(e){return U.isInstance(e,pn.$type)}i(Dl,"isTerminalRuleCall");o(Dl,"isTerminalRuleCall");var ts={$type:"Type",name:"name",type:"type"};function xl(e){return U.isInstance(e,ts.$type)}i(xl,"isType");o(xl,"isType");var dn={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};function Zg(e){return U.isInstance(e,dn.$type)}i(Zg,"isTypeAttribute");o(Zg,"isTypeAttribute");var mn={$type:"TypeDefinition"};function Qg(e){return U.isInstance(e,mn.$type)}i(Qg,"isTypeDefinition");o(Qg,"isTypeDefinition");var tl={$type:"UnionType",types:"types"};function zp(e){return U.isInstance(e,tl.$type)}i(zp,"isUnionType");o(zp,"isUnionType");var rs={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function Ml(e){return U.isInstance(e,rs.$type)}i(Ml,"isUnorderedGroup");o(Ml,"isUnorderedGroup");var hn={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function jp(e){return U.isInstance(e,hn.$type)}i(jp,"isUntilToken");o(jp,"isUntilToken");var yn={$type:"ValueLiteral"};function ev(e){return U.isInstance(e,yn.$type)}i(ev,"isValueLiteral");o(ev,"isValueLiteral");var Ia={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Up(e){return U.isInstance(e,Ia.$type)}i(Up,"isWildcard");o(Up,"isWildcard");var Kp=class extends Rp{static{i(this,"LangiumGrammarAstReflection")}static{o(this,"LangiumGrammarAstReflection")}constructor(){super(...arguments),this.types={AbstractElement:{name:it.$type,properties:{cardinality:{name:it.cardinality}},superTypes:[]},AbstractParserRule:{name:Yi.$type,properties:{},superTypes:[Ea.$type,ft.$type]},AbstractRule:{name:Ea.$type,properties:{},superTypes:[]},AbstractType:{name:ft.$type,properties:{},superTypes:[]},Action:{name:wr.$type,properties:{cardinality:{name:wr.cardinality},feature:{name:wr.feature},inferredType:{name:wr.inferredType},operator:{name:wr.operator},type:{name:wr.type,referenceType:ft.$type}},superTypes:[it.$type]},Alternatives:{name:Xi.$type,properties:{cardinality:{name:Xi.cardinality},elements:{name:Xi.elements,defaultValue:[]}},superTypes:[it.$type]},ArrayLiteral:{name:Ko.$type,properties:{elements:{name:Ko.elements,defaultValue:[]}},superTypes:[yn.$type]},ArrayType:{name:Bo.$type,properties:{elementType:{name:Bo.elementType}},superTypes:[mn.$type]},Assignment:{name:Ir.$type,properties:{cardinality:{name:Ir.cardinality},feature:{name:Ir.feature},operator:{name:Ir.operator},predicate:{name:Ir.predicate},terminal:{name:Ir.terminal}},superTypes:[it.$type]},BooleanLiteral:{name:qo.$type,properties:{true:{name:qo.true,defaultValue:!1}},superTypes:[Pr.$type,yn.$type]},CharacterRange:{name:Nr.$type,properties:{cardinality:{name:Nr.cardinality},left:{name:Nr.left},lookahead:{name:Nr.lookahead},parenthesized:{name:Nr.parenthesized,defaultValue:!1},right:{name:Nr.right}},superTypes:[st.$type]},Condition:{name:Pr.$type,properties:{},superTypes:[]},Conjunction:{name:Ji.$type,properties:{left:{name:Ji.left},right:{name:Ji.right}},superTypes:[Pr.$type]},CrossReference:{name:kr.$type,properties:{cardinality:{name:kr.cardinality},deprecatedSyntax:{name:kr.deprecatedSyntax,defaultValue:!1},isMulti:{name:kr.isMulti,defaultValue:!1},terminal:{name:kr.terminal},type:{name:kr.type,referenceType:ft.$type}},superTypes:[it.$type]},Disjunction:{name:Zi.$type,properties:{left:{name:Zi.left},right:{name:Zi.right}},superTypes:[Pr.$type]},EndOfFile:{name:Wo.$type,properties:{cardinality:{name:Wo.cardinality}},superTypes:[it.$type]},Grammar:{name:ur.$type,properties:{imports:{name:ur.imports,defaultValue:[]},interfaces:{name:ur.interfaces,defaultValue:[]},isDeclared:{name:ur.isDeclared,defaultValue:!1},name:{name:ur.name},rules:{name:ur.rules,defaultValue:[]},types:{name:ur.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:Vo.$type,properties:{path:{name:Vo.path}},superTypes:[]},Group:{name:sn.$type,properties:{cardinality:{name:sn.cardinality},elements:{name:sn.elements,defaultValue:[]},guardCondition:{name:sn.guardCondition},predicate:{name:sn.predicate}},superTypes:[it.$type]},InferredType:{name:Ho.$type,properties:{name:{name:Ho.name}},superTypes:[ft.$type]},InfixRule:{name:Bt.$type,properties:{call:{name:Bt.call},dataType:{name:Bt.dataType},inferredType:{name:Bt.inferredType},name:{name:Bt.name},operators:{name:Bt.operators},parameters:{name:Bt.parameters,defaultValue:[]},returnType:{name:Bt.returnType,referenceType:ft.$type}},superTypes:[Yi.$type]},InfixRuleOperatorList:{name:Qi.$type,properties:{associativity:{name:Qi.associativity},operators:{name:Qi.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:Yo.$type,properties:{precedences:{name:Yo.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:Ca.$type,properties:{attributes:{name:Ca.attributes,defaultValue:[]},name:{name:Ca.name},superTypes:{name:Ca.superTypes,defaultValue:[],referenceType:ft.$type}},superTypes:[ft.$type]},Keyword:{name:ba.$type,properties:{cardinality:{name:ba.cardinality},predicate:{name:ba.predicate},value:{name:ba.value}},superTypes:[it.$type]},NamedArgument:{name:_a.$type,properties:{calledByName:{name:_a.calledByName,defaultValue:!1},parameter:{name:_a.parameter,referenceType:Sa.$type},value:{name:_a.value}},superTypes:[]},NegatedToken:{name:on.$type,properties:{cardinality:{name:on.cardinality},lookahead:{name:on.lookahead},parenthesized:{name:on.parenthesized,defaultValue:!1},terminal:{name:on.terminal}},superTypes:[st.$type]},Negation:{name:Xo.$type,properties:{value:{name:Xo.value}},superTypes:[Pr.$type]},NumberLiteral:{name:Jo.$type,properties:{value:{name:Jo.value}},superTypes:[yn.$type]},Parameter:{name:Sa.$type,properties:{name:{name:Sa.name}},superTypes:[]},ParameterReference:{name:Zo.$type,properties:{parameter:{name:Zo.parameter,referenceType:Sa.$type}},superTypes:[Pr.$type]},ParserRule:{name:St.$type,properties:{dataType:{name:St.dataType},definition:{name:St.definition},entry:{name:St.entry,defaultValue:!1},fragment:{name:St.fragment,defaultValue:!1},inferredType:{name:St.inferredType},name:{name:St.name},parameters:{name:St.parameters,defaultValue:[]},returnType:{name:St.returnType,referenceType:ft.$type}},superTypes:[Yi.$type]},ReferenceType:{name:es.$type,properties:{isMulti:{name:es.isMulti,defaultValue:!1},referenceType:{name:es.referenceType}},superTypes:[mn.$type]},RegexToken:{name:ln.$type,properties:{cardinality:{name:ln.cardinality},lookahead:{name:ln.lookahead},parenthesized:{name:ln.parenthesized,defaultValue:!1},regex:{name:ln.regex}},superTypes:[st.$type]},ReturnType:{name:Qo.$type,properties:{name:{name:Qo.name}},superTypes:[]},RuleCall:{name:un.$type,properties:{arguments:{name:un.arguments,defaultValue:[]},cardinality:{name:un.cardinality},predicate:{name:un.predicate},rule:{name:un.rule,referenceType:Ea.$type}},superTypes:[it.$type]},SimpleType:{name:wa.$type,properties:{primitiveType:{name:wa.primitiveType},stringType:{name:wa.stringType},typeRef:{name:wa.typeRef,referenceType:ft.$type}},superTypes:[mn.$type]},StringLiteral:{name:el.$type,properties:{value:{name:el.value}},superTypes:[yn.$type]},TerminalAlternatives:{name:cn.$type,properties:{cardinality:{name:cn.cardinality},elements:{name:cn.elements,defaultValue:[]},lookahead:{name:cn.lookahead},parenthesized:{name:cn.parenthesized,defaultValue:!1}},superTypes:[st.$type]},TerminalElement:{name:st.$type,properties:{cardinality:{name:st.cardinality},lookahead:{name:st.lookahead},parenthesized:{name:st.parenthesized,defaultValue:!1}},superTypes:[it.$type]},TerminalGroup:{name:fn.$type,properties:{cardinality:{name:fn.cardinality},elements:{name:fn.elements,defaultValue:[]},lookahead:{name:fn.lookahead},parenthesized:{name:fn.parenthesized,defaultValue:!1}},superTypes:[st.$type]},TerminalRule:{name:cr.$type,properties:{definition:{name:cr.definition},fragment:{name:cr.fragment,defaultValue:!1},hidden:{name:cr.hidden,defaultValue:!1},name:{name:cr.name},type:{name:cr.type}},superTypes:[Ea.$type]},TerminalRuleCall:{name:pn.$type,properties:{cardinality:{name:pn.cardinality},lookahead:{name:pn.lookahead},parenthesized:{name:pn.parenthesized,defaultValue:!1},rule:{name:pn.rule,referenceType:cr.$type}},superTypes:[st.$type]},Type:{name:ts.$type,properties:{name:{name:ts.name},type:{name:ts.type}},superTypes:[ft.$type]},TypeAttribute:{name:dn.$type,properties:{defaultValue:{name:dn.defaultValue},isOptional:{name:dn.isOptional,defaultValue:!1},name:{name:dn.name},type:{name:dn.type}},superTypes:[]},TypeDefinition:{name:mn.$type,properties:{},superTypes:[]},UnionType:{name:tl.$type,properties:{types:{name:tl.types,defaultValue:[]}},superTypes:[mn.$type]},UnorderedGroup:{name:rs.$type,properties:{cardinality:{name:rs.cardinality},elements:{name:rs.elements,defaultValue:[]}},superTypes:[it.$type]},UntilToken:{name:hn.$type,properties:{cardinality:{name:hn.cardinality},lookahead:{name:hn.lookahead},parenthesized:{name:hn.parenthesized,defaultValue:!1},terminal:{name:hn.terminal}},superTypes:[st.$type]},ValueLiteral:{name:yn.$type,properties:{},superTypes:[]},Wildcard:{name:Ia.$type,properties:{cardinality:{name:Ia.cardinality},lookahead:{name:Ia.lookahead},parenthesized:{name:Ia.parenthesized,defaultValue:!1}},superTypes:[st.$type]}}}},U=new Kp;function tv(e){let t=e,r=!1;for(;t;){let n=In(t.grammarSource,et);if(n&&n.dataType)t=t.container,r=!0;else return r?t:void 0}}i(tv,"getDatatypeNode");o(tv,"getDatatypeNode");function za(e){return new xa(e,t=>pr(t)?t.content:[],{includeRoot:!0})}i(za,"streamCst");o(za,"streamCst");function rv(e){return za(e).filter(wn)}i(rv,"flattenCst");o(rv,"flattenCst");function Bp(e,t){for(;e.container;)if(e=e.container,e===t)return!0;return!1}i(Bp,"isChildNode");o(Bp,"isChildNode");function ps(e){return{start:{character:e.startColumn-1,line:e.startLine-1},end:{character:e.endColumn,line:e.endLine-1}}}i(ps,"tokenToRange");o(ps,"tokenToRange");function ja(e){if(!e)return;let{offset:t,end:r,range:n}=e;return{range:n,offset:t,end:r,length:r-t}}i(ja,"toDocumentSegment");o(ja,"toDocumentSegment");var Wt;(function(e){e[e.Before=0]="Before",e[e.After=1]="After",e[e.OverlapFront=2]="OverlapFront",e[e.OverlapBack=3]="OverlapBack",e[e.Inside=4]="Inside",e[e.Outside=5]="Outside"})(Wt||(Wt={}));function qp(e,t){if(e.end.line<t.start.line||e.end.line===t.start.line&&e.end.character<=t.start.character)return Wt.Before;if(e.start.line>t.end.line||e.start.line===t.end.line&&e.start.character>=t.end.character)return Wt.After;let r=e.start.line>t.start.line||e.start.line===t.start.line&&e.start.character>=t.start.character,n=e.end.line<t.end.line||e.end.line===t.end.line&&e.end.character<=t.end.character;return r&&n?Wt.Inside:r?Wt.OverlapBack:n?Wt.OverlapFront:Wt.Outside}i(qp,"compareRange");o(qp,"compareRange");function Wp(e,t){return qp(e,t)>Wt.After}i(Wp,"inRange");o(Wp,"inRange");var Vp=/^[\w\p{L}]$/u;function nv(e,t,r=Vp){if(e){if(t>0){let n=t-e.offset,a=e.text.charAt(n);r.test(a)||t--}return Gl(e,t)}}i(nv,"findDeclarationNodeAtOffset");o(nv,"findDeclarationNodeAtOffset");function Hp(e,t){if(e){let r=Jp(e,!0);if(r&&rl(r,t))return r;if(Pl(e)){let n=e.content.findIndex(a=>!a.hidden);for(let a=n-1;a>=0;a--){let s=e.content[a];if(rl(s,t))return s}}}}i(Hp,"findCommentNode");o(Hp,"findCommentNode");function rl(e,t){return wn(e)&&t.includes(e.tokenType.name)}i(rl,"isCommentNode");o(rl,"isCommentNode");function Gl(e,t){if(wn(e))return e;if(pr(e)){let r=Xp(e,t,!1);if(r)return Gl(r,t)}}i(Gl,"findLeafNodeAtOffset");o(Gl,"findLeafNodeAtOffset");function Yp(e,t){if(wn(e))return e;if(pr(e)){let r=Xp(e,t,!0);if(r)return Yp(r,t)}}i(Yp,"findLeafNodeBeforeOffset");o(Yp,"findLeafNodeBeforeOffset");function Xp(e,t,r){let n=0,a=e.content.length-1,s;for(;n<=a;){let l=Math.floor((n+a)/2),u=e.content[l];if(u.offset<=t&&u.end>t)return u;u.end<=t?(s=r?u:void 0,n=l+1):a=l-1}return s}i(Xp,"binarySearch");o(Xp,"binarySearch");function Jp(e,t=!0){for(;e.container;){let r=e.container,n=r.content.indexOf(e);for(;n>0;){n--;let a=r.content[n];if(t||!a.hidden)return a}e=r}}i(Jp,"getPreviousNode");o(Jp,"getPreviousNode");function av(e,t=!0){for(;e.container;){let r=e.container,n=r.content.indexOf(e),a=r.content.length-1;for(;n<a;){n++;let s=r.content[n];if(t||!s.hidden)return s}e=r}}i(av,"getNextNode");o(av,"getNextNode");function iv(e){if(e.range.start.character===0)return e;let t=e.range.start.line,r=e,n;for(;e.container;){let a=e.container,s=n??a.content.indexOf(e);if(s===0?(e=a,n=void 0):(n=s-1,e=a.content[n]),e.range.start.line!==t)break;r=e}return r}i(iv,"getStartlineNode");o(iv,"getStartlineNode");function sv(e,t){let r=ov(e,t);return r?r.parent.content.slice(r.a+1,r.b):[]}i(sv,"getInteriorNodes");o(sv,"getInteriorNodes");function ov(e,t){let r=yf(e),n=yf(t),a;for(let s=0;s<r.length&&s<n.length;s++){let l=r[s],u=n[s];if(l.parent===u.parent)a={parent:l.parent,a:l.index,b:u.index};else break}return a}i(ov,"getCommonParent");o(ov,"getCommonParent");function yf(e){let t=[];for(;e.container;){let r=e.container,n=r.content.indexOf(e);t.push({parent:r,index:n}),e=r}return t.reverse()}i(yf,"getParentChain");o(yf,"getParentChain");var Zp={};Gr(Zp,{findAssignment:i(()=>fd,"findAssignment"),findNameAssignment:i(()=>Wl,"findNameAssignment"),findNodeForKeyword:i(()=>cd,"findNodeForKeyword"),findNodeForProperty:i(()=>Kl,"findNodeForProperty"),findNodesForKeyword:i(()=>mv,"findNodesForKeyword"),findNodesForKeywordInternal:i(()=>ql,"findNodesForKeywordInternal"),findNodesForProperty:i(()=>ud,"findNodesForProperty"),getActionAtElement:i(()=>dd,"getActionAtElement"),getActionType:i(()=>hd,"getActionType"),getAllReachableRules:i(()=>Ul,"getAllReachableRules"),getAllRulesUsedForCrossReferences:i(()=>dv,"getAllRulesUsedForCrossReferences"),getCrossReferenceTerminal:i(()=>od,"getCrossReferenceTerminal"),getEntryRule:i(()=>ad,"getEntryRule"),getExplicitRuleType:i(()=>Os,"getExplicitRuleType"),getHiddenRules:i(()=>id,"getHiddenRules"),getRuleType:i(()=>yd,"getRuleType"),getRuleTypeName:i(()=>Tv,"getRuleTypeName"),getTypeName:i(()=>En,"getTypeName"),isArrayCardinality:i(()=>yv,"isArrayCardinality"),isArrayOperator:i(()=>gv,"isArrayOperator"),isCommentTerminal:i(()=>ld,"isCommentTerminal"),isDataType:i(()=>vv,"isDataType"),isDataTypeRule:i(()=>ks,"isDataTypeRule"),isOptionalCardinality:i(()=>hv,"isOptionalCardinality"),terminalRegex:i(()=>Ls,"terminalRegex")});var Fl=class extends Error{static{i(this,"ErrorWithLocation")}static{o(this,"ErrorWithLocation")}constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}};function Fr(e,t="Error: Got unexpected value."){throw new Error(t)}i(Fr,"assertUnreachable");o(Fr,"assertUnreachable");function Qp(e,t="Error: Condition is violated."){if(!e)throw new Error(t)}i(Qp,"assertCondition");o(Qp,"assertCondition");var ed={};Gr(ed,{NEWLINE_REGEXP:i(()=>uv,"NEWLINE_REGEXP"),escapeRegExp:i(()=>Ha,"escapeRegExp"),getTerminalParts:i(()=>fv,"getTerminalParts"),isMultilineComment:i(()=>td,"isMultilineComment"),isWhitespace:i(()=>jl,"isWhitespace"),partialMatches:i(()=>rd,"partialMatches"),partialRegExp:i(()=>nd,"partialRegExp"),whitespaceCharacters:i(()=>pv,"whitespaceCharacters")});function B(e){return e.charCodeAt(0)}i(B,"cc");o(B,"cc");function Eo(e,t){Array.isArray(e)?e.forEach(function(r){t.push(r)}):t.push(e)}i(Eo,"insertToSet");o(Eo,"insertToSet");function pa(e,t){if(e[t]===!0)throw"duplicate flag "+t;let r=e[t];e[t]=!0}i(pa,"addFlag");o(pa,"addFlag");function Jr(e){if(e===void 0)throw Error("Internal Error - Should never get here!");return!0}i(Jr,"ASSERT_EXISTS");o(Jr,"ASSERT_EXISTS");function Ui(){throw Error("Internal Error - Should never get here!")}i(Ui,"ASSERT_NEVER_REACH_HERE");o(Ui,"ASSERT_NEVER_REACH_HERE");function gf(e){return e.type==="Character"}i(gf,"isCharacter");o(gf,"isCharacter");var nl=[];for(let e=B("0");e<=B("9");e++)nl.push(e);var al=[B("_")].concat(nl);for(let e=B("a");e<=B("z");e++)al.push(e);for(let e=B("A");e<=B("Z");e++)al.push(e);var ah=[B(" "),B("\f"),B(`
`),B("\r"),B("	"),B("\v"),B("	"),B("\xA0"),B("\u1680"),B("\u2000"),B("\u2001"),B("\u2002"),B("\u2003"),B("\u2004"),B("\u2005"),B("\u2006"),B("\u2007"),B("\u2008"),B("\u2009"),B("\u200A"),B("\u2028"),B("\u2029"),B("\u202F"),B("\u205F"),B("\u3000"),B("\uFEFF")],mI=/[0-9a-fA-F]/,Xs=/[0-9]/,hI=/[1-9]/,lv=class{static{i(this,"RegExpParser")}static{o(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 t=this.disjunction();this.consumeChar("/");let r={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":pa(r,"global");break;case"i":pa(r,"ignoreCase");break;case"m":pa(r,"multiLine");break;case"u":pa(r,"unicode");break;case"y":pa(r,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:t,loc:this.loc(0)}}disjunction(){let e=[],t=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(t)}}alternative(){let e=[],t=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(t)}}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 t;switch(this.popChar()){case"=":t="Lookahead";break;case"!":t="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":t="Lookbehind";break;case"!":t="NegativeLookbehind"}break}}Jr(t);let r=this.disjunction();return this.consumeChar(")"),{type:t,value:r,loc:this.loc(e)}}return Ui()}quantifier(e=!1){let t,r=this.idx;switch(this.popChar()){case"*":t={atLeast:0,atMost:1/0};break;case"+":t={atLeast:1,atMost:1/0};break;case"?":t={atLeast:0,atMost:1};break;case"{":let n=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:n,atMost:n};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),t={atLeast:n,atMost:a}):t={atLeast:n,atMost:1/0},this.consumeChar("}");break}if(e===!0&&t===void 0)return;Jr(t);break}if(!(e===!0&&t===void 0)&&Jr(t))return this.peekChar(0)==="?"?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(r),t}atom(){let e,t=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()),Jr(e)?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):Ui()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[B(`
`),B("\r"),B("\u2028"),B("\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,t=!1;switch(this.popChar()){case"d":e=nl;break;case"D":e=nl,t=!0;break;case"s":e=ah;break;case"S":e=ah,t=!0;break;case"w":e=al;break;case"W":e=al,t=!0;break}return Jr(e)?{type:"Set",value:e,complement:t}:Ui()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=B("\f");break;case"n":e=B(`
`);break;case"r":e=B("\r");break;case"t":e=B("	");break;case"v":e=B("\v");break}return Jr(e)?{type:"Character",value:e}:Ui()}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:B("\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:B(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:B(e)}}}characterClass(){let e=[],t=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),t=!0);this.isClassAtom();){let r=this.classAtom(),n=r.type==="Character";if(gf(r)&&this.isRangeDash()){this.consumeChar("-");let a=this.classAtom(),s=a.type==="Character";if(gf(a)){if(a.value<r.value)throw Error("Range out of order in character class");e.push({from:r.value,to:a.value})}else Eo(r.value,e),e.push(B("-")),Eo(a.value,e)}else Eo(r.value,e)}return this.consumeChar("]"),{type:"Set",complement:t,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:B("\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 t=this.disjunction();this.consumeChar(")");let r={type:"Group",capturing:e,value:t};return e&&(r.idx=this.groupIdx),r}positiveInteger(){let e=this.popChar();if(hI.test(e)===!1)throw Error("Expecting a positive integer");for(;Xs.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(Xs.test(e)===!1)throw Error("Expecting an integer");for(;Xs.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:B(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 Xs.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 t="";for(let n=0;n<e;n++){let a=this.popChar();if(mI.test(a)===!1)throw Error("Expecting a HexDecimal digits");t+=a}return{type:"Character",value:parseInt(t,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}}},zl=class{static{i(this,"BaseRegExpVisitor")}static{o(this,"BaseRegExpVisitor")}visitChildren(e){for(let t in e){let r=e[t];e.hasOwnProperty(t)&&(r.type!==void 0?this.visit(r):Array.isArray(r)&&r.forEach(n=>{this.visit(n)},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){}},uv=/\r?\n/gm,cv=new lv,yI=class extends zl{static{i(this,"TerminalRegExpVisitor")}static{o(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 t=String.fromCharCode(e.value);if(!this.multiline&&t===`
`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let r=Ha(t);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitSet(e){if(!this.multiline){let t=this.regex.substring(e.loc.begin,e.loc.end),r=new RegExp(t);this.multiline=!!`
`.match(r)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let t=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},gn=new yI;function fv(e){try{typeof e!="string"&&(e=e.source),e=`/${e}/`;let t=cv.pattern(e),r=[];for(let n of t.value.value)gn.reset(e),gn.visit(n),r.push({start:gn.startRegexp,end:gn.endRegex});return r}catch{return[]}}i(fv,"getTerminalParts");o(fv,"getTerminalParts");function td(e){try{return typeof e=="string"&&(e=new RegExp(e)),e=e.toString(),gn.reset(e),gn.visit(cv.pattern(e)),gn.multiline}catch{return!1}}i(td,"isMultilineComment");o(td,"isMultilineComment");var pv=`\f
\r	\v \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`.split("");function jl(e){let t=typeof e=="string"?new RegExp(e):e;return pv.some(r=>t.test(r))}i(jl,"isWhitespace");o(jl,"isWhitespace");function Ha(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}i(Ha,"escapeRegExp");o(Ha,"escapeRegExp");function rd(e,t){let r=nd(e),n=t.match(r);return!!n&&n[0].length>0}i(rd,"partialMatches");o(rd,"partialMatches");function nd(e){typeof e=="string"&&(e=new RegExp(e));let t=e,r=e.source,n=0;function a(){let s="",l;function u(f){s+=r.substr(n,f),n+=f}i(u,"appendRaw"),o(u,"appendRaw");function c(f){s+="(?:"+r.substr(n,f)+"|$)",n+=f}for(i(c,"appendOptional"),o(c,"appendOptional");n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":c(3);break;case"x":c(4);break;case"u":t.unicode?r[n+2]==="{"?c(r.indexOf("}",n)-n+1):c(6):c(2);break;case"p":case"P":t.unicode?c(r.indexOf("}",n)-n+1):c(2);break;case"k":c(r.indexOf(">",n)-n+1);break;default:c(2);break}break;case"[":l=/\[(?:\\.|.)*?\]/g,l.lastIndex=n,l=l.exec(r)||[],c(l[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":u(1);break;case"{":l=/\{\d+,?\d*\}/g,l.lastIndex=n,l=l.exec(r),l?u(l[0].length):c(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":s+="(?:",n+=3,s+=a()+"|$)";break;case"=":s+="(?=",n+=3,s+=a()+")";break;case"!":l=n,n+=3,a(),s+=r.substr(l,n-l);break;case"<":switch(r[n+3]){case"=":case"!":l=n,n+=4,a(),s+=r.substr(l,n-l);break;default:u(r.indexOf(">",n)-n+1),s+=a()+"|$)";break}break}else u(1),s+=a()+"|$)";break;case")":return++n,s;default:c(1);break}return s}return i(a,"process2"),o(a,"process"),new RegExp(a(),e.flags)}i(nd,"partialRegExp");o(nd,"partialRegExp");function ad(e){return e.rules.find(t=>et(t)&&t.entry)}i(ad,"getEntryRule");o(ad,"getEntryRule");function id(e){return e.rules.filter(t=>Et(t)&&t.hidden)}i(id,"getHiddenRules");o(id,"getHiddenRules");function Ul(e,t){let r=new Set,n=ad(e);if(!n)return new Set(e.rules);let a=[n].concat(id(e));for(let l of a)sd(l,r,t);let s=new Set;for(let l of e.rules)(r.has(l.name)||Et(l)&&l.hidden)&&s.add(l);return s}i(Ul,"getAllReachableRules");o(Ul,"getAllReachableRules");function sd(e,t,r){t.add(e.name),Ar(e).forEach(n=>{if(hr(n)||r&&Dl(n)){let a=n.rule.ref;a&&!t.has(a.name)&&sd(a,t,r)}})}i(sd,"ruleDfs");o(sd,"ruleDfs");function dv(e){let t=new Set;return Ar(e).forEach(r=>{Pn(r)&&(et(r.type.ref)&&t.add(r.type.ref),Ps(r.type.ref)&&et(r.type.ref.$container)&&t.add(r.type.ref.$container))}),t}i(dv,"getAllRulesUsedForCrossReferences");o(dv,"getAllRulesUsedForCrossReferences");function od(e){if(e.terminal)return e.terminal;if(e.type.ref)return Wl(e.type.ref)?.terminal}i(od,"getCrossReferenceTerminal");o(od,"getCrossReferenceTerminal");function ld(e){return e.hidden&&!jl(Ls(e))}i(ld,"isCommentTerminal");o(ld,"isCommentTerminal");function ud(e,t){return!e||!t?[]:Bl(e,t,e.astNode,!0)}i(ud,"findNodesForProperty");o(ud,"findNodesForProperty");function Kl(e,t,r){if(!e||!t)return;let n=Bl(e,t,e.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}i(Kl,"findNodeForProperty");o(Kl,"findNodeForProperty");function Bl(e,t,r,n){if(!n){let a=In(e.grammarSource,dr);if(a&&a.feature===t)return[e]}return pr(e)&&e.astNode===r?e.content.flatMap(a=>Bl(a,t,r,!1)):[]}i(Bl,"findNodesForPropertyInternal");o(Bl,"findNodesForPropertyInternal");function mv(e,t){return e?ql(e,t,e?.astNode):[]}i(mv,"findNodesForKeyword");o(mv,"findNodesForKeyword");function cd(e,t,r){if(!e)return;let n=ql(e,t,e?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}i(cd,"findNodeForKeyword");o(cd,"findNodeForKeyword");function ql(e,t,r){if(e.astNode!==r)return[];if(mr(e.grammarSource)&&e.grammarSource.value===t)return[e];let n=za(e).iterator(),a,s=[];do if(a=n.next(),!a.done){let l=a.value;l.astNode===r?mr(l.grammarSource)&&l.grammarSource.value===t&&s.push(l):n.prune()}while(!a.done);return s}i(ql,"findNodesForKeywordInternal");o(ql,"findNodesForKeywordInternal");function fd(e){let t=e.astNode;for(;t===e.container?.astNode;){let r=In(e.grammarSource,dr);if(r)return r;e=e.container}}i(fd,"findAssignment");o(fd,"findAssignment");function Wl(e){let t=e;return Ps(t)&&(Or(t.$container)?t=t.$container.$container:Nn(t.$container)?t=t.$container:Fr(t.$container)),pd(e,t,new Map)}i(Wl,"findNameAssignment");o(Wl,"findNameAssignment");function pd(e,t,r){function n(a,s){let l;return In(a,dr)||(l=pd(s,s,r)),r.set(e,l),l}if(i(n,"go"),o(n,"go"),r.has(e))return r.get(e);r.set(e,void 0);for(let a of Ar(t)){if(dr(a)&&a.feature.toLowerCase()==="name")return r.set(e,a),a;if(hr(a)&&et(a.rule.ref))return n(a,a.rule.ref);if(Ll(a)&&a.typeRef?.ref)return n(a,a.typeRef.ref)}}i(pd,"findNameAssignmentInternal");o(pd,"findNameAssignmentInternal");function dd(e){let t=e.$container;if(kn(t)){let r=t.elements,n=r.indexOf(e);for(let a=n-1;a>=0;a--){let s=r[a];if(Or(s))return s;{let l=Ar(r[a]).find(Or);if(l)return l}}}if(kl(t))return dd(t)}i(dd,"getActionAtElement");o(dd,"getActionAtElement");function hv(e,t){return e==="?"||e==="*"||kn(t)&&!!t.guardCondition}i(hv,"isOptionalCardinality");o(hv,"isOptionalCardinality");function yv(e){return e==="*"||e==="+"}i(yv,"isArrayCardinality");o(yv,"isArrayCardinality");function gv(e){return e==="+="}i(gv,"isArrayOperator");o(gv,"isArrayOperator");function ks(e){return md(e,new Set)}i(ks,"isDataTypeRule");o(ks,"isDataTypeRule");function md(e,t){if(t.has(e))return!0;t.add(e);for(let r of Ar(e))if(hr(r)){if(!r.rule.ref||et(r.rule.ref)&&!md(r.rule.ref,t)||Fa(r.rule.ref))return!1}else{if(dr(r))return!1;if(Or(r))return!1}return!!e.definition}i(md,"isDataTypeRuleInternal");o(md,"isDataTypeRuleInternal");function vv(e){return il(e.type,new Set)}i(vv,"isDataType");o(vv,"isDataType");function il(e,t){if(t.has(e))return!0;if(t.add(e),bp(e))return!1;if(Dp(e))return!1;if(zp(e))return e.types.every(r=>il(r,t));if(Ll(e)){if(e.primitiveType!==void 0)return!0;if(e.stringType!==void 0)return!0;if(e.typeRef!==void 0){let r=e.typeRef.ref;return xl(r)?il(r.type,t):!1}else return!1}else return!1}i(il,"isDataTypeInternal");o(il,"isDataTypeInternal");function Os(e){if(!Et(e)){if(e.inferredType)return e.inferredType.name;if(e.dataType)return e.dataType;if(e.returnType){let t=e.returnType.ref;if(t)return t.name}}}i(Os,"getExplicitRuleType");o(Os,"getExplicitRuleType");function En(e){if(Nn(e))return et(e)&&ks(e)?e.name:Os(e)??e.name;if(Pp(e)||xl(e)||Mp(e))return e.name;if(Or(e)){let t=hd(e);if(t)return t}else if(Ps(e))return e.name;throw new Error("Cannot get name of Unknown Type")}i(En,"getTypeName");o(En,"getTypeName");function hd(e){if(e.inferredType)return e.inferredType.name;if(e.type?.ref)return En(e.type.ref)}i(hd,"getActionType");o(hd,"getActionType");function Tv(e){return Et(e)?e.type?.name??"string":et(e)&&ks(e)?e.name:Os(e)??e.name}i(Tv,"getRuleTypeName");o(Tv,"getRuleTypeName");function yd(e){return Et(e)?e.type?.name??"string":Os(e)??e.name}i(yd,"getRuleType");o(yd,"getRuleType");function Ls(e){let t={s:!1,i:!1,u:!1},r=On(e.definition,t),n=Object.entries(t).filter(([,a])=>a).map(([a])=>a).join("");return new RegExp(r,n)}i(Ls,"terminalRegex");o(Ls,"terminalRegex");var gd=/[\s\S]/.source;function On(e,t){if(Gp(e))return $v(e);if(Fp(e))return Rv(e);if(Sp(e))return Cv(e);if(Dl(e)){let r=e.rule.ref;if(!r)throw new Error("Missing rule reference.");return Xt(On(r.definition),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}else{if(kp(e))return Ev(e);if(jp(e))return Av(e);if(xp(e)){let r=e.regex.lastIndexOf("/"),n=e.regex.substring(1,r),a=e.regex.substring(r+1);return t&&(t.i=a.includes("i"),t.s=a.includes("s"),t.u=a.includes("u")),Xt(n,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}else{if(Up(e))return Xt(gd,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized});throw new Error(`Invalid terminal element: ${e?.$type}, ${e?.$cstNode?.text}`)}}}i(On,"abstractElementToRegex");o(On,"abstractElementToRegex");function $v(e){return Xt(e.elements.map(t=>On(t)).join("|"),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}i($v,"terminalAlternativesToRegex");o($v,"terminalAlternativesToRegex");function Rv(e){return Xt(e.elements.map(t=>On(t)).join(""),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}i(Rv,"terminalGroupToRegex");o(Rv,"terminalGroupToRegex");function Av(e){return Xt(`${gd}*?${On(e.terminal)}`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}i(Av,"untilTokenToRegex");o(Av,"untilTokenToRegex");function Ev(e){return Xt(`(?!${On(e.terminal)})${gd}*?`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}i(Ev,"negateTokenToRegex");o(Ev,"negateTokenToRegex");function Cv(e){return e.right?Xt(`[${Co(e.left)}-${Co(e.right)}]`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1}):Xt(Co(e.left),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}i(Cv,"characterRangeToRegex");o(Cv,"characterRangeToRegex");function Co(e){return Ha(e.value)}i(Co,"keywordToRegex");o(Co,"keywordToRegex");function Xt(e,t){return(t.parenthesized||t.lookahead||t.wrap!==!1)&&(e=`(${t.lookahead??(t.parenthesized?"":"?:")}${e})`),t.cardinality?`${e}${t.cardinality}`:e}i(Xt,"withCardinality");o(Xt,"withCardinality");function vd(e){let t=[],r=e.Grammar;for(let n of r.rules)Et(n)&&ld(n)&&td(Ls(n))&&t.push(n.name);return{multilineCommentRules:t,nameRegexp:Vp}}i(vd,"createGrammarConfig");o(vd,"createGrammarConfig");var gI=typeof global=="object"&&global&&global.Object===Object&&global,bv=gI,vI=typeof self=="object"&&self&&self.Object===Object&&self,TI=bv||vI||Function("return this")(),Zt=TI,$I=Zt.Symbol,Rt=$I,_v=Object.prototype,RI=_v.hasOwnProperty,AI=_v.toString,Ci=Rt?Rt.toStringTag:void 0;function Sv(e){var t=RI.call(e,Ci),r=e[Ci];try{e[Ci]=void 0;var n=!0}catch{}var a=AI.call(e);return n&&(t?e[Ci]=r:delete e[Ci]),a}i(Sv,"getRawTag");o(Sv,"getRawTag");var EI=Sv,CI=Object.prototype,bI=CI.toString;function wv(e){return bI.call(e)}i(wv,"objectToString");o(wv,"objectToString");var _I=wv,SI="[object Null]",wI="[object Undefined]",ih=Rt?Rt.toStringTag:void 0;function Iv(e){return e==null?e===void 0?wI:SI:ih&&ih in Object(e)?EI(e):_I(e)}i(Iv,"baseGetTag");o(Iv,"baseGetTag");var zr=Iv;function Nv(e){return e!=null&&typeof e=="object"}i(Nv,"isObjectLike");o(Nv,"isObjectLike");var Lt=Nv,II="[object Symbol]";function Pv(e){return typeof e=="symbol"||Lt(e)&&zr(e)==II}i(Pv,"isSymbol");o(Pv,"isSymbol");var Vl=Pv;function kv(e,t){for(var r=-1,n=e==null?0:e.length,a=Array(n);++r<n;)a[r]=t(e[r],r,e);return a}i(kv,"arrayMap");o(kv,"arrayMap");var Ds=kv,NI=Array.isArray,re=NI,PI=1/0,sh=Rt?Rt.prototype:void 0,oh=sh?sh.toString:void 0;function Td(e){if(typeof e=="string")return e;if(re(e))return Ds(e,Td)+"";if(Vl(e))return oh?oh.call(e):"";var t=e+"";return t=="0"&&1/e==-PI?"-0":t}i(Td,"baseToString");o(Td,"baseToString");var kI=Td,OI=/\s/;function Ov(e){for(var t=e.length;t--&&OI.test(e.charAt(t)););return t}i(Ov,"trimmedEndIndex");o(Ov,"trimmedEndIndex");var LI=Ov,DI=/^\s+/;function Lv(e){return e&&e.slice(0,LI(e)+1).replace(DI,"")}i(Lv,"baseTrim");o(Lv,"baseTrim");var xI=Lv;function Dv(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}i(Dv,"isObject");o(Dv,"isObject");var At=Dv,lh=NaN,MI=/^[-+]0x[0-9a-f]+$/i,GI=/^0b[01]+$/i,FI=/^0o[0-7]+$/i,zI=parseInt;function xv(e){if(typeof e=="number")return e;if(Vl(e))return lh;if(At(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=At(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=xI(e);var r=GI.test(e);return r||FI.test(e)?zI(e.slice(2),r?2:8):MI.test(e)?lh:+e}i(xv,"toNumber");o(xv,"toNumber");var jI=xv,uh=1/0,UI=17976931348623157e292;function Mv(e){if(!e)return e===0?e:0;if(e=jI(e),e===uh||e===-uh){var t=e<0?-1:1;return t*UI}return e===e?e:0}i(Mv,"toFinite");o(Mv,"toFinite");var KI=Mv;function Gv(e){var t=KI(e),r=t%1;return t===t?r?t-r:t:0}i(Gv,"toInteger");o(Gv,"toInteger");var xs=Gv;function Fv(e){return e}i(Fv,"identity");o(Fv,"identity");var Ms=Fv,BI="[object AsyncFunction]",qI="[object Function]",WI="[object GeneratorFunction]",VI="[object Proxy]";function zv(e){if(!At(e))return!1;var t=zr(e);return t==qI||t==WI||t==BI||t==VI}i(zv,"isFunction");o(zv,"isFunction");var Er=zv,HI=Zt["__core-js_shared__"],Fu=HI,ch=(function(){var e=/[^.]+$/.exec(Fu&&Fu.keys&&Fu.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})();function jv(e){return!!ch&&ch in e}i(jv,"isMasked");o(jv,"isMasked");var YI=jv,XI=Function.prototype,JI=XI.toString;function Uv(e){if(e!=null){try{return JI.call(e)}catch{}try{return e+""}catch{}}return""}i(Uv,"toSource");o(Uv,"toSource");var Ln=Uv,ZI=/[\\^$.*+?()[\]{}|]/g,QI=/^\[object .+?Constructor\]$/,eN=Function.prototype,tN=Object.prototype,rN=eN.toString,nN=tN.hasOwnProperty,aN=RegExp("^"+rN.call(nN).replace(ZI,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Kv(e){if(!At(e)||YI(e))return!1;var t=Er(e)?aN:QI;return t.test(Ln(e))}i(Kv,"baseIsNative");o(Kv,"baseIsNative");var iN=Kv;function Bv(e,t){return e?.[t]}i(Bv,"getValue");o(Bv,"getValue");var sN=Bv;function qv(e,t){var r=sN(e,t);return iN(r)?r:void 0}i(qv,"getNative");o(qv,"getNative");var Dn=qv,oN=Dn(Zt,"WeakMap"),vf=oN,fh=Object.create,lN=(function(){function e(){}return i(e,"object"),o(e,"object"),function(t){if(!At(t))return{};if(fh)return fh(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}})(),uN=lN;function Wv(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}i(Wv,"apply");o(Wv,"apply");var cN=Wv;function Vv(){}i(Vv,"noop");o(Vv,"noop");var Fe=Vv;function Hv(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}i(Hv,"copyArray");o(Hv,"copyArray");var fN=Hv,pN=800,dN=16,mN=Date.now;function Yv(e){var t=0,r=0;return function(){var n=mN(),a=dN-(n-r);if(r=n,a>0){if(++t>=pN)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}i(Yv,"shortOut");o(Yv,"shortOut");var hN=Yv;function Xv(e){return function(){return e}}i(Xv,"constant");o(Xv,"constant");var yN=Xv,gN=(function(){try{var e=Dn(Object,"defineProperty");return e({},"",{}),e}catch{}})(),sl=gN,vN=sl?function(e,t){return sl(e,"toString",{configurable:!0,enumerable:!1,value:yN(t),writable:!0})}:Ms,TN=vN,$N=hN(TN),RN=$N;function Jv(e,t){for(var r=-1,n=e==null?0:e.length;++r<n&&t(e[r],r,e)!==!1;);return e}i(Jv,"arrayEach");o(Jv,"arrayEach");var Zv=Jv;function Qv(e,t,r,n){for(var a=e.length,s=r+(n?1:-1);n?s--:++s<a;)if(t(e[s],s,e))return s;return-1}i(Qv,"baseFindIndex");o(Qv,"baseFindIndex");var eT=Qv;function tT(e){return e!==e}i(tT,"baseIsNaN");o(tT,"baseIsNaN");var AN=tT;function rT(e,t,r){for(var n=r-1,a=e.length;++n<a;)if(e[n]===t)return n;return-1}i(rT,"strictIndexOf");o(rT,"strictIndexOf");var EN=rT;function nT(e,t,r){return t===t?EN(e,t,r):eT(e,AN,r)}i(nT,"baseIndexOf");o(nT,"baseIndexOf");var $d=nT;function aT(e,t){var r=e==null?0:e.length;return!!r&&$d(e,t,0)>-1}i(aT,"arrayIncludes");o(aT,"arrayIncludes");var iT=aT,CN=9007199254740991,bN=/^(?:0|[1-9]\d*)$/;function sT(e,t){var r=typeof e;return t=t??CN,!!t&&(r=="number"||r!="symbol"&&bN.test(e))&&e>-1&&e%1==0&&e<t}i(sT,"isIndex");o(sT,"isIndex");var Hl=sT;function oT(e,t,r){t=="__proto__"&&sl?sl(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}i(oT,"baseAssignValue");o(oT,"baseAssignValue");var Rd=oT;function lT(e,t){return e===t||e!==e&&t!==t}i(lT,"eq");o(lT,"eq");var Gs=lT,_N=Object.prototype,SN=_N.hasOwnProperty;function uT(e,t,r){var n=e[t];(!(SN.call(e,t)&&Gs(n,r))||r===void 0&&!(t in e))&&Rd(e,t,r)}i(uT,"assignValue");o(uT,"assignValue");var Yl=uT;function cT(e,t,r,n){var a=!r;r||(r={});for(var s=-1,l=t.length;++s<l;){var u=t[s],c=n?n(r[u],e[u],u,r,e):void 0;c===void 0&&(c=e[u]),a?Rd(r,u,c):Yl(r,u,c)}return r}i(cT,"copyObject");o(cT,"copyObject");var Fs=cT,ph=Math.max;function fT(e,t,r){return t=ph(t===void 0?e.length-1:t,0),function(){for(var n=arguments,a=-1,s=ph(n.length-t,0),l=Array(s);++a<s;)l[a]=n[t+a];a=-1;for(var u=Array(t+1);++a<t;)u[a]=n[a];return u[t]=r(l),cN(e,this,u)}}i(fT,"overRest");o(fT,"overRest");var wN=fT;function pT(e,t){return RN(wN(e,t,Ms),e+"")}i(pT,"baseRest");o(pT,"baseRest");var Ad=pT,IN=9007199254740991;function dT(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=IN}i(dT,"isLength");o(dT,"isLength");var Ed=dT;function mT(e){return e!=null&&Ed(e.length)&&!Er(e)}i(mT,"isArrayLike");o(mT,"isArrayLike");var Qt=mT;function hT(e,t,r){if(!At(r))return!1;var n=typeof t;return(n=="number"?Qt(r)&&Hl(t,r.length):n=="string"&&t in r)?Gs(r[t],e):!1}i(hT,"isIterateeCall");o(hT,"isIterateeCall");var Xl=hT;function yT(e){return Ad(function(t,r){var n=-1,a=r.length,s=a>1?r[a-1]:void 0,l=a>2?r[2]:void 0;for(s=e.length>3&&typeof s=="function"?(a--,s):void 0,l&&Xl(r[0],r[1],l)&&(s=a<3?void 0:s,a=1),t=Object(t);++n<a;){var u=r[n];u&&e(t,u,n,s)}return t})}i(yT,"createAssigner");o(yT,"createAssigner");var NN=yT,PN=Object.prototype;function gT(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||PN;return e===r}i(gT,"isPrototype");o(gT,"isPrototype");var zs=gT;function vT(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}i(vT,"baseTimes");o(vT,"baseTimes");var kN=vT,ON="[object Arguments]";function TT(e){return Lt(e)&&zr(e)==ON}i(TT,"baseIsArguments");o(TT,"baseIsArguments");var dh=TT,$T=Object.prototype,LN=$T.hasOwnProperty,DN=$T.propertyIsEnumerable,xN=dh((function(){return arguments})())?dh:function(e){return Lt(e)&&LN.call(e,"callee")&&!DN.call(e,"callee")},Jl=xN;function RT(){return!1}i(RT,"stubFalse");o(RT,"stubFalse");var MN=RT,AT=typeof exports=="object"&&exports&&!exports.nodeType&&exports,mh=AT&&typeof module=="object"&&module&&!module.nodeType&&module,GN=mh&&mh.exports===AT,hh=GN?Zt.Buffer:void 0,FN=hh?hh.isBuffer:void 0,zN=FN||MN,ds=zN,jN="[object Arguments]",UN="[object Array]",KN="[object Boolean]",BN="[object Date]",qN="[object Error]",WN="[object Function]",VN="[object Map]",HN="[object Number]",YN="[object Object]",XN="[object RegExp]",JN="[object Set]",ZN="[object String]",QN="[object WeakMap]",eP="[object ArrayBuffer]",tP="[object DataView]",rP="[object Float32Array]",nP="[object Float64Array]",aP="[object Int8Array]",iP="[object Int16Array]",sP="[object Int32Array]",oP="[object Uint8Array]",lP="[object Uint8ClampedArray]",uP="[object Uint16Array]",cP="[object Uint32Array]",ye={};ye[rP]=ye[nP]=ye[aP]=ye[iP]=ye[sP]=ye[oP]=ye[lP]=ye[uP]=ye[cP]=!0;ye[jN]=ye[UN]=ye[eP]=ye[KN]=ye[tP]=ye[BN]=ye[qN]=ye[WN]=ye[VN]=ye[HN]=ye[YN]=ye[XN]=ye[JN]=ye[ZN]=ye[QN]=!1;function ET(e){return Lt(e)&&Ed(e.length)&&!!ye[zr(e)]}i(ET,"baseIsTypedArray");o(ET,"baseIsTypedArray");var fP=ET;function CT(e){return function(t){return e(t)}}i(CT,"baseUnary");o(CT,"baseUnary");var js=CT,bT=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ns=bT&&typeof module=="object"&&module&&!module.nodeType&&module,pP=ns&&ns.exports===bT,zu=pP&&bv.process,dP=(function(){try{var e=ns&&ns.require&&ns.require("util").types;return e||zu&&zu.binding&&zu.binding("util")}catch{}})(),Lr=dP,yh=Lr&&Lr.isTypedArray,mP=yh?js(yh):fP,Cd=mP,hP=Object.prototype,yP=hP.hasOwnProperty;function _T(e,t){var r=re(e),n=!r&&Jl(e),a=!r&&!n&&ds(e),s=!r&&!n&&!a&&Cd(e),l=r||n||a||s,u=l?kN(e.length,String):[],c=u.length;for(var f in e)(t||yP.call(e,f))&&!(l&&(f=="length"||a&&(f=="offset"||f=="parent")||s&&(f=="buffer"||f=="byteLength"||f=="byteOffset")||Hl(f,c)))&&u.push(f);return u}i(_T,"arrayLikeKeys");o(_T,"arrayLikeKeys");var ST=_T;function wT(e,t){return function(r){return e(t(r))}}i(wT,"overArg");o(wT,"overArg");var IT=wT,gP=IT(Object.keys,Object),vP=gP,TP=Object.prototype,$P=TP.hasOwnProperty;function NT(e){if(!zs(e))return vP(e);var t=[];for(var r in Object(e))$P.call(e,r)&&r!="constructor"&&t.push(r);return t}i(NT,"baseKeys");o(NT,"baseKeys");var PT=NT;function kT(e){return Qt(e)?ST(e):PT(e)}i(kT,"keys");o(kT,"keys");var dt=kT,RP=Object.prototype,AP=RP.hasOwnProperty,EP=NN(function(e,t){if(zs(t)||Qt(t)){Fs(t,dt(t),e);return}for(var r in t)AP.call(t,r)&&Yl(e,r,t[r])}),mt=EP;function OT(e){var t=[];if(e!=null)for(var r in Object(e))t.push(r);return t}i(OT,"nativeKeysIn");o(OT,"nativeKeysIn");var CP=OT,bP=Object.prototype,_P=bP.hasOwnProperty;function LT(e){if(!At(e))return CP(e);var t=zs(e),r=[];for(var n in e)n=="constructor"&&(t||!_P.call(e,n))||r.push(n);return r}i(LT,"baseKeysIn");o(LT,"baseKeysIn");var SP=LT;function DT(e){return Qt(e)?ST(e,!0):SP(e)}i(DT,"keysIn");o(DT,"keysIn");var Zl=DT,wP=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,IP=/^\w*$/;function xT(e,t){if(re(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||Vl(e)?!0:IP.test(e)||!wP.test(e)||t!=null&&e in Object(t)}i(xT,"isKey");o(xT,"isKey");var bd=xT,NP=Dn(Object,"create"),ms=NP;function MT(){this.__data__=ms?ms(null):{},this.size=0}i(MT,"hashClear");o(MT,"hashClear");var PP=MT;function GT(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}i(GT,"hashDelete");o(GT,"hashDelete");var kP=GT,OP="__lodash_hash_undefined__",LP=Object.prototype,DP=LP.hasOwnProperty;function FT(e){var t=this.__data__;if(ms){var r=t[e];return r===OP?void 0:r}return DP.call(t,e)?t[e]:void 0}i(FT,"hashGet");o(FT,"hashGet");var xP=FT,MP=Object.prototype,GP=MP.hasOwnProperty;function zT(e){var t=this.__data__;return ms?t[e]!==void 0:GP.call(t,e)}i(zT,"hashHas");o(zT,"hashHas");var FP=zT,zP="__lodash_hash_undefined__";function jT(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ms&&t===void 0?zP:t,this}i(jT,"hashSet");o(jT,"hashSet");var jP=jT;function xn(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}i(xn,"Hash");o(xn,"Hash");xn.prototype.clear=PP;xn.prototype.delete=kP;xn.prototype.get=xP;xn.prototype.has=FP;xn.prototype.set=jP;var gh=xn;function UT(){this.__data__=[],this.size=0}i(UT,"listCacheClear");o(UT,"listCacheClear");var UP=UT;function KT(e,t){for(var r=e.length;r--;)if(Gs(e[r][0],t))return r;return-1}i(KT,"assocIndexOf");o(KT,"assocIndexOf");var Ql=KT,KP=Array.prototype,BP=KP.splice;function BT(e){var t=this.__data__,r=Ql(t,e);if(r<0)return!1;var n=t.length-1;return r==n?t.pop():BP.call(t,r,1),--this.size,!0}i(BT,"listCacheDelete");o(BT,"listCacheDelete");var qP=BT;function qT(e){var t=this.__data__,r=Ql(t,e);return r<0?void 0:t[r][1]}i(qT,"listCacheGet");o(qT,"listCacheGet");var WP=qT;function WT(e){return Ql(this.__data__,e)>-1}i(WT,"listCacheHas");o(WT,"listCacheHas");var VP=WT;function VT(e,t){var r=this.__data__,n=Ql(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}i(VT,"listCacheSet");o(VT,"listCacheSet");var HP=VT;function Mn(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}i(Mn,"ListCache");o(Mn,"ListCache");Mn.prototype.clear=UP;Mn.prototype.delete=qP;Mn.prototype.get=WP;Mn.prototype.has=VP;Mn.prototype.set=HP;var eu=Mn,YP=Dn(Zt,"Map"),hs=YP;function HT(){this.size=0,this.__data__={hash:new gh,map:new(hs||eu),string:new gh}}i(HT,"mapCacheClear");o(HT,"mapCacheClear");var XP=HT;function YT(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}i(YT,"isKeyable");o(YT,"isKeyable");var JP=YT;function XT(e,t){var r=e.__data__;return JP(t)?r[typeof t=="string"?"string":"hash"]:r.map}i(XT,"getMapData");o(XT,"getMapData");var tu=XT;function JT(e){var t=tu(this,e).delete(e);return this.size-=t?1:0,t}i(JT,"mapCacheDelete");o(JT,"mapCacheDelete");var ZP=JT;function ZT(e){return tu(this,e).get(e)}i(ZT,"mapCacheGet");o(ZT,"mapCacheGet");var QP=ZT;function QT(e){return tu(this,e).has(e)}i(QT,"mapCacheHas");o(QT,"mapCacheHas");var ek=QT;function e$(e,t){var r=tu(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}i(e$,"mapCacheSet");o(e$,"mapCacheSet");var tk=e$;function Gn(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}i(Gn,"MapCache");o(Gn,"MapCache");Gn.prototype.clear=XP;Gn.prototype.delete=ZP;Gn.prototype.get=QP;Gn.prototype.has=ek;Gn.prototype.set=tk;var ru=Gn,rk="Expected a function";function nu(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(rk);var r=o(function(){var n=arguments,a=t?t.apply(this,n):n[0],s=r.cache;if(s.has(a))return s.get(a);var l=e.apply(this,n);return r.cache=s.set(a,l)||s,l},"memoized");return r.cache=new(nu.Cache||ru),r}i(nu,"memoize");o(nu,"memoize");nu.Cache=ru;var nk=nu,ak=500;function t$(e){var t=nk(e,function(n){return r.size===ak&&r.clear(),n}),r=t.cache;return t}i(t$,"memoizeCapped");o(t$,"memoizeCapped");var ik=t$,sk=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ok=/\\(\\)?/g,lk=ik(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(sk,function(r,n,a,s){t.push(a?s.replace(ok,"$1"):n||r)}),t}),uk=lk;function r$(e){return e==null?"":kI(e)}i(r$,"toString2");o(r$,"toString");var ck=r$;function n$(e,t){return re(e)?e:bd(e,t)?[e]:uk(ck(e))}i(n$,"castPath");o(n$,"castPath");var au=n$,fk=1/0;function a$(e){if(typeof e=="string"||Vl(e))return e;var t=e+"";return t=="0"&&1/e==-fk?"-0":t}i(a$,"toKey");o(a$,"toKey");var Us=a$;function i$(e,t){t=au(t,e);for(var r=0,n=t.length;e!=null&&r<n;)e=e[Us(t[r++])];return r&&r==n?e:void 0}i(i$,"baseGet");o(i$,"baseGet");var _d=i$;function s$(e,t,r){var n=e==null?void 0:_d(e,t);return n===void 0?r:n}i(s$,"get");o(s$,"get");var pk=s$;function o$(e,t){for(var r=-1,n=t.length,a=e.length;++r<n;)e[a+r]=t[r];return e}i(o$,"arrayPush");o(o$,"arrayPush");var Sd=o$,vh=Rt?Rt.isConcatSpreadable:void 0;function l$(e){return re(e)||Jl(e)||!!(vh&&e&&e[vh])}i(l$,"isFlattenable");o(l$,"isFlattenable");var dk=l$;function wd(e,t,r,n,a){var s=-1,l=e.length;for(r||(r=dk),a||(a=[]);++s<l;){var u=e[s];t>0&&r(u)?t>1?wd(u,t-1,r,n,a):Sd(a,u):n||(a[a.length]=u)}return a}i(wd,"baseFlatten");o(wd,"baseFlatten");var Id=wd;function u$(e){var t=e==null?0:e.length;return t?Id(e,1):[]}i(u$,"flatten");o(u$,"flatten");var kt=u$,mk=IT(Object.getPrototypeOf,Object),c$=mk;function f$(e,t,r){var n=-1,a=e.length;t<0&&(t=-t>a?0:a+t),r=r>a?a:r,r<0&&(r+=a),a=t>r?0:r-t>>>0,t>>>=0;for(var s=Array(a);++n<a;)s[n]=e[n+t];return s}i(f$,"baseSlice");o(f$,"baseSlice");var p$=f$;function d$(e,t,r,n){var a=-1,s=e==null?0:e.length;for(n&&s&&(r=e[++a]);++a<s;)r=t(r,e[a],a,e);return r}i(d$,"arrayReduce");o(d$,"arrayReduce");var hk=d$;function m$(){this.__data__=new eu,this.size=0}i(m$,"stackClear");o(m$,"stackClear");var yk=m$;function h$(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}i(h$,"stackDelete");o(h$,"stackDelete");var gk=h$;function y$(e){return this.__data__.get(e)}i(y$,"stackGet");o(y$,"stackGet");var vk=y$;function g$(e){return this.__data__.has(e)}i(g$,"stackHas");o(g$,"stackHas");var Tk=g$,$k=200;function v$(e,t){var r=this.__data__;if(r instanceof eu){var n=r.__data__;if(!hs||n.length<$k-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new ru(n)}return r.set(e,t),this.size=r.size,this}i(v$,"stackSet");o(v$,"stackSet");var Rk=v$;function Fn(e){var t=this.__data__=new eu(e);this.size=t.size}i(Fn,"Stack");o(Fn,"Stack");Fn.prototype.clear=yk;Fn.prototype.delete=gk;Fn.prototype.get=vk;Fn.prototype.has=Tk;Fn.prototype.set=Rk;var as=Fn;function T$(e,t){return e&&Fs(t,dt(t),e)}i(T$,"baseAssign");o(T$,"baseAssign");var Ak=T$;function $$(e,t){return e&&Fs(t,Zl(t),e)}i($$,"baseAssignIn");o($$,"baseAssignIn");var Ek=$$,R$=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Th=R$&&typeof module=="object"&&module&&!module.nodeType&&module,Ck=Th&&Th.exports===R$,$h=Ck?Zt.Buffer:void 0,Rh=$h?$h.allocUnsafe:void 0;function A$(e,t){if(t)return e.slice();var r=e.length,n=Rh?Rh(r):new e.constructor(r);return e.copy(n),n}i(A$,"cloneBuffer");o(A$,"cloneBuffer");var bk=A$;function E$(e,t){for(var r=-1,n=e==null?0:e.length,a=0,s=[];++r<n;){var l=e[r];t(l,r,e)&&(s[a++]=l)}return s}i(E$,"arrayFilter");o(E$,"arrayFilter");var Nd=E$;function C$(){return[]}i(C$,"stubArray");o(C$,"stubArray");var b$=C$,_k=Object.prototype,Sk=_k.propertyIsEnumerable,Ah=Object.getOwnPropertySymbols,wk=Ah?function(e){return e==null?[]:(e=Object(e),Nd(Ah(e),function(t){return Sk.call(e,t)}))}:b$,Pd=wk;function _$(e,t){return Fs(e,Pd(e),t)}i(_$,"copySymbols");o(_$,"copySymbols");var Ik=_$,Nk=Object.getOwnPropertySymbols,Pk=Nk?function(e){for(var t=[];e;)Sd(t,Pd(e)),e=c$(e);return t}:b$,S$=Pk;function w$(e,t){return Fs(e,S$(e),t)}i(w$,"copySymbolsIn");o(w$,"copySymbolsIn");var kk=w$;function I$(e,t,r){var n=t(e);return re(e)?n:Sd(n,r(e))}i(I$,"baseGetAllKeys");o(I$,"baseGetAllKeys");var N$=I$;function P$(e){return N$(e,dt,Pd)}i(P$,"getAllKeys");o(P$,"getAllKeys");var Tf=P$;function k$(e){return N$(e,Zl,S$)}i(k$,"getAllKeysIn");o(k$,"getAllKeysIn");var O$=k$,Ok=Dn(Zt,"DataView"),$f=Ok,Lk=Dn(Zt,"Promise"),Rf=Lk,Dk=Dn(Zt,"Set"),ka=Dk,Eh="[object Map]",xk="[object Object]",Ch="[object Promise]",bh="[object Set]",_h="[object WeakMap]",Sh="[object DataView]",Mk=Ln($f),Gk=Ln(hs),Fk=Ln(Rf),zk=Ln(ka),jk=Ln(vf),Zr=zr;($f&&Zr(new $f(new ArrayBuffer(1)))!=Sh||hs&&Zr(new hs)!=Eh||Rf&&Zr(Rf.resolve())!=Ch||ka&&Zr(new ka)!=bh||vf&&Zr(new vf)!=_h)&&(Zr=o(function(e){var t=zr(e),r=t==xk?e.constructor:void 0,n=r?Ln(r):"";if(n)switch(n){case Mk:return Sh;case Gk:return Eh;case Fk:return Ch;case zk:return bh;case jk:return _h}return t},"getTag"));var Ua=Zr,Uk=Object.prototype,Kk=Uk.hasOwnProperty;function L$(e){var t=e.length,r=new e.constructor(t);return t&&typeof e[0]=="string"&&Kk.call(e,"index")&&(r.index=e.index,r.input=e.input),r}i(L$,"initCloneArray");o(L$,"initCloneArray");var Bk=L$,qk=Zt.Uint8Array,ol=qk;function D$(e){var t=new e.constructor(e.byteLength);return new ol(t).set(new ol(e)),t}i(D$,"cloneArrayBuffer");o(D$,"cloneArrayBuffer");var kd=D$;function x$(e,t){var r=t?kd(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}i(x$,"cloneDataView");o(x$,"cloneDataView");var Wk=x$,Vk=/\w*$/;function M$(e){var t=new e.constructor(e.source,Vk.exec(e));return t.lastIndex=e.lastIndex,t}i(M$,"cloneRegExp");o(M$,"cloneRegExp");var Hk=M$,wh=Rt?Rt.prototype:void 0,Ih=wh?wh.valueOf:void 0;function G$(e){return Ih?Object(Ih.call(e)):{}}i(G$,"cloneSymbol");o(G$,"cloneSymbol");var Yk=G$;function F$(e,t){var r=t?kd(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}i(F$,"cloneTypedArray");o(F$,"cloneTypedArray");var Xk=F$,Jk="[object Boolean]",Zk="[object Date]",Qk="[object Map]",eO="[object Number]",tO="[object RegExp]",rO="[object Set]",nO="[object String]",aO="[object Symbol]",iO="[object ArrayBuffer]",sO="[object DataView]",oO="[object Float32Array]",lO="[object Float64Array]",uO="[object Int8Array]",cO="[object Int16Array]",fO="[object Int32Array]",pO="[object Uint8Array]",dO="[object Uint8ClampedArray]",mO="[object Uint16Array]",hO="[object Uint32Array]";function z$(e,t,r){var n=e.constructor;switch(t){case iO:return kd(e);case Jk:case Zk:return new n(+e);case sO:return Wk(e,r);case oO:case lO:case uO:case cO:case fO:case pO:case dO:case mO:case hO:return Xk(e,r);case Qk:return new n;case eO:case nO:return new n(e);case tO:return Hk(e);case rO:return new n;case aO:return Yk(e)}}i(z$,"initCloneByTag");o(z$,"initCloneByTag");var yO=z$;function j$(e){return typeof e.constructor=="function"&&!zs(e)?uN(c$(e)):{}}i(j$,"initCloneObject");o(j$,"initCloneObject");var gO=j$,vO="[object Map]";function U$(e){return Lt(e)&&Ua(e)==vO}i(U$,"baseIsMap");o(U$,"baseIsMap");var TO=U$,Nh=Lr&&Lr.isMap,$O=Nh?js(Nh):TO,RO=$O,AO="[object Set]";function K$(e){return Lt(e)&&Ua(e)==AO}i(K$,"baseIsSet");o(K$,"baseIsSet");var EO=K$,Ph=Lr&&Lr.isSet,CO=Ph?js(Ph):EO,bO=CO,_O=1,SO=2,wO=4,B$="[object Arguments]",IO="[object Array]",NO="[object Boolean]",PO="[object Date]",kO="[object Error]",q$="[object Function]",OO="[object GeneratorFunction]",LO="[object Map]",DO="[object Number]",W$="[object Object]",xO="[object RegExp]",MO="[object Set]",GO="[object String]",FO="[object Symbol]",zO="[object WeakMap]",jO="[object ArrayBuffer]",UO="[object DataView]",KO="[object Float32Array]",BO="[object Float64Array]",qO="[object Int8Array]",WO="[object Int16Array]",VO="[object Int32Array]",HO="[object Uint8Array]",YO="[object Uint8ClampedArray]",XO="[object Uint16Array]",JO="[object Uint32Array]",pe={};pe[B$]=pe[IO]=pe[jO]=pe[UO]=pe[NO]=pe[PO]=pe[KO]=pe[BO]=pe[qO]=pe[WO]=pe[VO]=pe[LO]=pe[DO]=pe[W$]=pe[xO]=pe[MO]=pe[GO]=pe[FO]=pe[HO]=pe[YO]=pe[XO]=pe[JO]=!0;pe[kO]=pe[q$]=pe[zO]=!1;function is(e,t,r,n,a,s){var l,u=t&_O,c=t&SO,f=t&wO;if(r&&(l=a?r(e,n,a,s):r(e)),l!==void 0)return l;if(!At(e))return e;var p=re(e);if(p){if(l=Bk(e),!u)return fN(e,l)}else{var d=Ua(e),h=d==q$||d==OO;if(ds(e))return bk(e,u);if(d==W$||d==B$||h&&!a){if(l=c||h?{}:gO(e),!u)return c?kk(e,Ek(l,e)):Ik(e,Ak(l,e))}else{if(!pe[d])return a?e:{};l=yO(e,d,u)}}s||(s=new as);var v=s.get(e);if(v)return v;s.set(e,l),bO(e)?e.forEach(function(w){l.add(is(w,t,r,w,e,s))}):RO(e)&&e.forEach(function(w,N){l.set(N,is(w,t,r,N,e,s))});var T=f?c?O$:Tf:c?Zl:dt,S=p?void 0:T(e);return Zv(S||e,function(w,N){S&&(N=w,w=e[N]),Yl(l,N,is(w,t,r,N,e,s))}),l}i(is,"baseClone");o(is,"baseClone");var ZO=is,QO=4;function V$(e){return ZO(e,QO)}i(V$,"clone");o(V$,"clone");var We=V$;function H$(e){for(var t=-1,r=e==null?0:e.length,n=0,a=[];++t<r;){var s=e[t];s&&(a[n++]=s)}return a}i(H$,"compact");o(H$,"compact");var Ks=H$,e0="__lodash_hash_undefined__";function Y$(e){return this.__data__.set(e,e0),this}i(Y$,"setCacheAdd");o(Y$,"setCacheAdd");var t0=Y$;function X$(e){return this.__data__.has(e)}i(X$,"setCacheHas");o(X$,"setCacheHas");var r0=X$;function ys(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new ru;++t<r;)this.add(e[t])}i(ys,"SetCache");o(ys,"SetCache");ys.prototype.add=ys.prototype.push=t0;ys.prototype.has=r0;var Od=ys;function J$(e,t){for(var r=-1,n=e==null?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}i(J$,"arraySome");o(J$,"arraySome");var Z$=J$;function Q$(e,t){return e.has(t)}i(Q$,"cacheHas");o(Q$,"cacheHas");var Ld=Q$,n0=1,a0=2;function eR(e,t,r,n,a,s){var l=r&n0,u=e.length,c=t.length;if(u!=c&&!(l&&c>u))return!1;var f=s.get(e),p=s.get(t);if(f&&p)return f==t&&p==e;var d=-1,h=!0,v=r&a0?new Od:void 0;for(s.set(e,t),s.set(t,e);++d<u;){var T=e[d],S=t[d];if(n)var w=l?n(S,T,d,t,e,s):n(T,S,d,e,t,s);if(w!==void 0){if(w)continue;h=!1;break}if(v){if(!Z$(t,function(N,I){if(!Ld(v,I)&&(T===N||a(T,N,r,n,s)))return v.push(I)})){h=!1;break}}else if(!(T===S||a(T,S,r,n,s))){h=!1;break}}return s.delete(e),s.delete(t),h}i(eR,"equalArrays");o(eR,"equalArrays");var tR=eR;function rR(e){var t=-1,r=Array(e.size);return e.forEach(function(n,a){r[++t]=[a,n]}),r}i(rR,"mapToArray");o(rR,"mapToArray");var i0=rR;function nR(e){var t=-1,r=Array(e.size);return e.forEach(function(n){r[++t]=n}),r}i(nR,"setToArray");o(nR,"setToArray");var Dd=nR,s0=1,o0=2,l0="[object Boolean]",u0="[object Date]",c0="[object Error]",f0="[object Map]",p0="[object Number]",d0="[object RegExp]",m0="[object Set]",h0="[object String]",y0="[object Symbol]",g0="[object ArrayBuffer]",v0="[object DataView]",kh=Rt?Rt.prototype:void 0,ju=kh?kh.valueOf:void 0;function aR(e,t,r,n,a,s,l){switch(r){case v0:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case g0:return!(e.byteLength!=t.byteLength||!s(new ol(e),new ol(t)));case l0:case u0:case p0:return Gs(+e,+t);case c0:return e.name==t.name&&e.message==t.message;case d0:case h0:return e==t+"";case f0:var u=i0;case m0:var c=n&s0;if(u||(u=Dd),e.size!=t.size&&!c)return!1;var f=l.get(e);if(f)return f==t;n|=o0,l.set(e,t);var p=tR(u(e),u(t),n,a,s,l);return l.delete(e),p;case y0:if(ju)return ju.call(e)==ju.call(t)}return!1}i(aR,"equalByTag");o(aR,"equalByTag");var T0=aR,$0=1,R0=Object.prototype,A0=R0.hasOwnProperty;function iR(e,t,r,n,a,s){var l=r&$0,u=Tf(e),c=u.length,f=Tf(t),p=f.length;if(c!=p&&!l)return!1;for(var d=c;d--;){var h=u[d];if(!(l?h in t:A0.call(t,h)))return!1}var v=s.get(e),T=s.get(t);if(v&&T)return v==t&&T==e;var S=!0;s.set(e,t),s.set(t,e);for(var w=l;++d<c;){h=u[d];var N=e[h],I=t[h];if(n)var A=l?n(I,N,h,t,e,s):n(N,I,h,e,t,s);if(!(A===void 0?N===I||a(N,I,r,n,s):A)){S=!1;break}w||(w=h=="constructor")}if(S&&!w){var k=e.constructor,j=t.constructor;k!=j&&"constructor"in e&&"constructor"in t&&!(typeof k=="function"&&k instanceof k&&typeof j=="function"&&j instanceof j)&&(S=!1)}return s.delete(e),s.delete(t),S}i(iR,"equalObjects");o(iR,"equalObjects");var E0=iR,C0=1,Oh="[object Arguments]",Lh="[object Array]",Js="[object Object]",b0=Object.prototype,Dh=b0.hasOwnProperty;function sR(e,t,r,n,a,s){var l=re(e),u=re(t),c=l?Lh:Ua(e),f=u?Lh:Ua(t);c=c==Oh?Js:c,f=f==Oh?Js:f;var p=c==Js,d=f==Js,h=c==f;if(h&&ds(e)){if(!ds(t))return!1;l=!0,p=!1}if(h&&!p)return s||(s=new as),l||Cd(e)?tR(e,t,r,n,a,s):T0(e,t,c,r,n,a,s);if(!(r&C0)){var v=p&&Dh.call(e,"__wrapped__"),T=d&&Dh.call(t,"__wrapped__");if(v||T){var S=v?e.value():e,w=T?t.value():t;return s||(s=new as),a(S,w,r,n,s)}}return h?(s||(s=new as),E0(e,t,r,n,a,s)):!1}i(sR,"baseIsEqualDeep");o(sR,"baseIsEqualDeep");var _0=sR;function xd(e,t,r,n,a){return e===t?!0:e==null||t==null||!Lt(e)&&!Lt(t)?e!==e&&t!==t:_0(e,t,r,n,xd,a)}i(xd,"baseIsEqual");o(xd,"baseIsEqual");var oR=xd,S0=1,w0=2;function lR(e,t,r,n){var a=r.length,s=a,l=!n;if(e==null)return!s;for(e=Object(e);a--;){var u=r[a];if(l&&u[2]?u[1]!==e[u[0]]:!(u[0]in e))return!1}for(;++a<s;){u=r[a];var c=u[0],f=e[c],p=u[1];if(l&&u[2]){if(f===void 0&&!(c in e))return!1}else{var d=new as;if(n)var h=n(f,p,c,e,t,d);if(!(h===void 0?oR(p,f,S0|w0,n,d):h))return!1}}return!0}i(lR,"baseIsMatch");o(lR,"baseIsMatch");var I0=lR;function uR(e){return e===e&&!At(e)}i(uR,"isStrictComparable");o(uR,"isStrictComparable");var cR=uR;function fR(e){for(var t=dt(e),r=t.length;r--;){var n=t[r],a=e[n];t[r]=[n,a,cR(a)]}return t}i(fR,"getMatchData");o(fR,"getMatchData");var N0=fR;function pR(e,t){return function(r){return r==null?!1:r[e]===t&&(t!==void 0||e in Object(r))}}i(pR,"matchesStrictComparable");o(pR,"matchesStrictComparable");var dR=pR;function mR(e){var t=N0(e);return t.length==1&&t[0][2]?dR(t[0][0],t[0][1]):function(r){return r===e||I0(r,e,t)}}i(mR,"baseMatches");o(mR,"baseMatches");var P0=mR;function hR(e,t){return e!=null&&t in Object(e)}i(hR,"baseHasIn");o(hR,"baseHasIn");var k0=hR;function yR(e,t,r){t=au(t,e);for(var n=-1,a=t.length,s=!1;++n<a;){var l=Us(t[n]);if(!(s=e!=null&&r(e,l)))break;e=e[l]}return s||++n!=a?s:(a=e==null?0:e.length,!!a&&Ed(a)&&Hl(l,a)&&(re(e)||Jl(e)))}i(yR,"hasPath");o(yR,"hasPath");var gR=yR;function vR(e,t){return e!=null&&gR(e,t,k0)}i(vR,"hasIn");o(vR,"hasIn");var O0=vR,L0=1,D0=2;function TR(e,t){return bd(e)&&cR(t)?dR(Us(e),t):function(r){var n=pk(r,e);return n===void 0&&n===t?O0(r,e):oR(t,n,L0|D0)}}i(TR,"baseMatchesProperty");o(TR,"baseMatchesProperty");var x0=TR;function $R(e){return function(t){return t?.[e]}}i($R,"baseProperty");o($R,"baseProperty");var M0=$R;function RR(e){return function(t){return _d(t,e)}}i(RR,"basePropertyDeep");o(RR,"basePropertyDeep");var G0=RR;function AR(e){return bd(e)?M0(Us(e)):G0(e)}i(AR,"property");o(AR,"property");var F0=AR;function ER(e){return typeof e=="function"?e:e==null?Ms:typeof e=="object"?re(e)?x0(e[0],e[1]):P0(e):F0(e)}i(ER,"baseIteratee");o(ER,"baseIteratee");var er=ER;function CR(e,t,r,n){for(var a=-1,s=e==null?0:e.length;++a<s;){var l=e[a];t(n,l,r(l),e)}return n}i(CR,"arrayAggregator");o(CR,"arrayAggregator");var z0=CR;function bR(e){return function(t,r,n){for(var a=-1,s=Object(t),l=n(t),u=l.length;u--;){var c=l[e?u:++a];if(r(s[c],c,s)===!1)break}return t}}i(bR,"createBaseFor");o(bR,"createBaseFor");var j0=bR,U0=j0(),K0=U0;function _R(e,t){return e&&K0(e,t,dt)}i(_R,"baseForOwn");o(_R,"baseForOwn");var B0=_R;function SR(e,t){return function(r,n){if(r==null)return r;if(!Qt(r))return e(r,n);for(var a=r.length,s=t?a:-1,l=Object(r);(t?s--:++s<a)&&n(l[s],s,l)!==!1;);return r}}i(SR,"createBaseEach");o(SR,"createBaseEach");var q0=SR,W0=q0(B0),zn=W0;function wR(e,t,r,n){return zn(e,function(a,s,l){t(n,a,r(a),l)}),n}i(wR,"baseAggregator");o(wR,"baseAggregator");var V0=wR;function IR(e,t){return function(r,n){var a=re(r)?z0:V0,s=t?t():{};return a(r,e,er(n,2),s)}}i(IR,"createAggregator");o(IR,"createAggregator");var H0=IR,NR=Object.prototype,Y0=NR.hasOwnProperty,X0=Ad(function(e,t){e=Object(e);var r=-1,n=t.length,a=n>2?t[2]:void 0;for(a&&Xl(t[0],t[1],a)&&(n=1);++r<n;)for(var s=t[r],l=Zl(s),u=-1,c=l.length;++u<c;){var f=l[u],p=e[f];(p===void 0||Gs(p,NR[f])&&!Y0.call(e,f))&&(e[f]=s[f])}return e}),Md=X0;function PR(e){return Lt(e)&&Qt(e)}i(PR,"isArrayLikeObject");o(PR,"isArrayLikeObject");var xh=PR;function kR(e,t,r){for(var n=-1,a=e==null?0:e.length;++n<a;)if(r(t,e[n]))return!0;return!1}i(kR,"arrayIncludesWith");o(kR,"arrayIncludesWith");var OR=kR,J0=200;function LR(e,t,r,n){var a=-1,s=iT,l=!0,u=e.length,c=[],f=t.length;if(!u)return c;r&&(t=Ds(t,js(r))),n?(s=OR,l=!1):t.length>=J0&&(s=Ld,l=!1,t=new Od(t));e:for(;++a<u;){var p=e[a],d=r==null?p:r(p);if(p=n||p!==0?p:0,l&&d===d){for(var h=f;h--;)if(t[h]===d)continue e;c.push(p)}else s(t,d,n)||c.push(p)}return c}i(LR,"baseDifference");o(LR,"baseDifference");var Z0=LR,Q0=Ad(function(e,t){return xh(e)?Z0(e,Id(t,1,xh,!0)):[]}),iu=Q0;function DR(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}i(DR,"last");o(DR,"last");var Cn=DR;function xR(e,t,r){var n=e==null?0:e.length;return n?(t=r||t===void 0?1:xs(t),p$(e,t<0?0:t,n)):[]}i(xR,"drop");o(xR,"drop");var Be=xR;function MR(e,t,r){var n=e==null?0:e.length;return n?(t=r||t===void 0?1:xs(t),t=n-t,p$(e,0,t<0?0:t)):[]}i(MR,"dropRight");o(MR,"dropRight");var gs=MR;function GR(e){return typeof e=="function"?e:Ms}i(GR,"castFunction");o(GR,"castFunction");var eL=GR;function FR(e,t){var r=re(e)?Zv:zn;return r(e,eL(t))}i(FR,"forEach");o(FR,"forEach");var q=FR;function zR(e,t){for(var r=-1,n=e==null?0:e.length;++r<n;)if(!t(e[r],r,e))return!1;return!0}i(zR,"arrayEvery");o(zR,"arrayEvery");var tL=zR;function jR(e,t){var r=!0;return zn(e,function(n,a,s){return r=!!t(n,a,s),r}),r}i(jR,"baseEvery");o(jR,"baseEvery");var rL=jR;function UR(e,t,r){var n=re(e)?tL:rL;return r&&Xl(e,t,r)&&(t=void 0),n(e,er(t,3))}i(UR,"every");o(UR,"every");var Ot=UR;function KR(e,t){var r=[];return zn(e,function(n,a,s){t(n,a,s)&&r.push(n)}),r}i(KR,"baseFilter");o(KR,"baseFilter");var BR=KR;function qR(e,t){var r=re(e)?Nd:BR;return r(e,er(t,3))}i(qR,"filter");o(qR,"filter");var Ct=qR;function WR(e){return function(t,r,n){var a=Object(t);if(!Qt(t)){var s=er(r,3);t=dt(t),r=o(function(u){return s(a[u],u,a)},"predicate")}var l=e(t,r,n);return l>-1?a[s?t[l]:l]:void 0}}i(WR,"createFind");o(WR,"createFind");var nL=WR,aL=Math.max;function VR(e,t,r){var n=e==null?0:e.length;if(!n)return-1;var a=r==null?0:xs(r);return a<0&&(a=aL(n+a,0)),eT(e,er(t,3),a)}i(VR,"findIndex");o(VR,"findIndex");var iL=VR,sL=nL(iL),Ka=sL;function HR(e){return e&&e.length?e[0]:void 0}i(HR,"head");o(HR,"head");var Dt=HR;function YR(e,t){var r=-1,n=Qt(e)?Array(e.length):[];return zn(e,function(a,s,l){n[++r]=t(a,s,l)}),n}i(YR,"baseMap");o(YR,"baseMap");var oL=YR;function XR(e,t){var r=re(e)?Ds:oL;return r(e,er(t,3))}i(XR,"map");o(XR,"map");var z=XR;function JR(e,t){return Id(z(e,t),1)}i(JR,"flatMap");o(JR,"flatMap");var $t=JR,lL=Object.prototype,uL=lL.hasOwnProperty,cL=H0(function(e,t,r){uL.call(e,r)?e[r].push(t):Rd(e,r,[t])}),fL=cL,pL=Object.prototype,dL=pL.hasOwnProperty;function ZR(e,t){return e!=null&&dL.call(e,t)}i(ZR,"baseHas");o(ZR,"baseHas");var mL=ZR;function QR(e,t){return e!=null&&gR(e,t,mL)}i(QR,"has");o(QR,"has");var K=QR,hL="[object String]";function eA(e){return typeof e=="string"||!re(e)&&Lt(e)&&zr(e)==hL}i(eA,"isString");o(eA,"isString");var ot=eA;function tA(e,t){return Ds(t,function(r){return e[r]})}i(tA,"baseValues");o(tA,"baseValues");var yL=tA;function rA(e){return e==null?[]:yL(e,dt(e))}i(rA,"values");o(rA,"values");var Me=rA,gL=Math.max;function nA(e,t,r,n){e=Qt(e)?e:Me(e),r=r&&!n?xs(r):0;var a=e.length;return r<0&&(r=gL(a+r,0)),ot(e)?r<=a&&e.indexOf(t,r)>-1:!!a&&$d(e,t,r)>-1}i(nA,"includes");o(nA,"includes");var at=nA,vL=Math.max;function aA(e,t,r){var n=e==null?0:e.length;if(!n)return-1;var a=r==null?0:xs(r);return a<0&&(a=vL(n+a,0)),$d(e,t,a)}i(aA,"indexOf");o(aA,"indexOf");var Mh=aA,TL="[object Map]",$L="[object Set]",RL=Object.prototype,AL=RL.hasOwnProperty;function iA(e){if(e==null)return!0;if(Qt(e)&&(re(e)||typeof e=="string"||typeof e.splice=="function"||ds(e)||Cd(e)||Jl(e)))return!e.length;var t=Ua(e);if(t==TL||t==$L)return!e.size;if(zs(e))return!PT(e).length;for(var r in e)if(AL.call(e,r))return!1;return!0}i(iA,"isEmpty");o(iA,"isEmpty");var me=iA,EL="[object RegExp]";function sA(e){return Lt(e)&&zr(e)==EL}i(sA,"baseIsRegExp");o(sA,"baseIsRegExp");var CL=sA,Gh=Lr&&Lr.isRegExp,bL=Gh?js(Gh):CL,yr=bL;function oA(e){return e===void 0}i(oA,"isUndefined");o(oA,"isUndefined");var gr=oA,_L="Expected a function";function lA(e){if(typeof e!="function")throw new TypeError(_L);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}i(lA,"negate");o(lA,"negate");var SL=lA;function uA(e,t,r,n){if(!At(e))return e;t=au(t,e);for(var a=-1,s=t.length,l=s-1,u=e;u!=null&&++a<s;){var c=Us(t[a]),f=r;if(c==="__proto__"||c==="constructor"||c==="prototype")return e;if(a!=l){var p=u[c];f=n?n(p,c,u):void 0,f===void 0&&(f=At(p)?p:Hl(t[a+1])?[]:{})}Yl(u,c,f),u=u[c]}return e}i(uA,"baseSet");o(uA,"baseSet");var wL=uA;function cA(e,t,r){for(var n=-1,a=t.length,s={};++n<a;){var l=t[n],u=_d(e,l);r(u,l)&&wL(s,au(l,e),u)}return s}i(cA,"basePickBy");o(cA,"basePickBy");var IL=cA;function fA(e,t){if(e==null)return{};var r=Ds(O$(e),function(n){return[n]});return t=er(t),IL(e,r,function(n,a){return t(n,a[0])})}i(fA,"pickBy");o(fA,"pickBy");var xt=fA;function pA(e,t,r,n,a){return a(e,function(s,l,u){r=n?(n=!1,s):t(r,s,l,u)}),r}i(pA,"baseReduce");o(pA,"baseReduce");var NL=pA;function dA(e,t,r){var n=re(e)?hk:NL,a=arguments.length<3;return n(e,er(t,4),r,a,zn)}i(dA,"reduce");o(dA,"reduce");var ht=dA;function mA(e,t){var r=re(e)?Nd:BR;return r(e,SL(er(t,3)))}i(mA,"reject");o(mA,"reject");var su=mA;function hA(e,t){var r;return zn(e,function(n,a,s){return r=t(n,a,s),!r}),!!r}i(hA,"baseSome");o(hA,"baseSome");var PL=hA;function yA(e,t,r){var n=re(e)?Z$:PL;return r&&Xl(e,t,r)&&(t=void 0),n(e,er(t,3))}i(yA,"some");o(yA,"some");var gA=yA,kL=1/0,OL=ka&&1/Dd(new ka([,-0]))[1]==kL?function(e){return new ka(e)}:Fe,LL=OL,DL=200;function vA(e,t,r){var n=-1,a=iT,s=e.length,l=!0,u=[],c=u;if(r)l=!1,a=OR;else if(s>=DL){var f=t?null:LL(e);if(f)return Dd(f);l=!1,a=Ld,c=new Od}else c=t?[]:u;e:for(;++n<s;){var p=e[n],d=t?t(p):p;if(p=r||p!==0?p:0,l&&d===d){for(var h=c.length;h--;)if(c[h]===d)continue e;t&&c.push(d),u.push(p)}else a(c,d,r)||(c!==u&&c.push(d),u.push(p))}return u}i(vA,"baseUniq");o(vA,"baseUniq");var xL=vA;function TA(e){return e&&e.length?xL(e):[]}i(TA,"uniq");o(TA,"uniq");var Gd=TA;function ll(e){console&&console.error&&console.error(`Error: ${e}`)}i(ll,"PRINT_ERROR");o(ll,"PRINT_ERROR");function Fd(e){console&&console.warn&&console.warn(`Warning: ${e}`)}i(Fd,"PRINT_WARNING");o(Fd,"PRINT_WARNING");function zd(e){let t=new Date().getTime(),r=e();return{time:new Date().getTime()-t,value:r}}i(zd,"timer");o(zd,"timer");function jd(e){function t(){}i(t,"FakeConstructor"),o(t,"FakeConstructor"),t.prototype=e;let r=new t;function n(){return typeof r.bar}return i(n,"fakeAccess"),o(n,"fakeAccess"),n(),n(),e;(0,eval)(e)}i(jd,"toFastProperties");o(jd,"toFastProperties");function $A(e){return RA(e)?e.LABEL:e.name}i($A,"tokenLabel");o($A,"tokenLabel");function RA(e){return ot(e.LABEL)&&e.LABEL!==""}i(RA,"hasTokenLabel");o(RA,"hasTokenLabel");var tr=class{static{i(this,"AbstractProduction")}static{o(this,"AbstractProduction")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),q(this.definition,t=>{t.accept(e)})}},tt=class extends tr{static{i(this,"NonTerminal")}static{o(this,"NonTerminal")}constructor(e){super([]),this.idx=1,mt(this,xt(e,t=>t!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},Ya=class extends tr{static{i(this,"Rule")}static{o(this,"Rule")}constructor(e){super(e.definition),this.orgText="",mt(this,xt(e,t=>t!==void 0))}},lt=class extends tr{static{i(this,"Alternative")}static{o(this,"Alternative")}constructor(e){super(e.definition),this.ignoreAmbiguities=!1,mt(this,xt(e,t=>t!==void 0))}},qe=class extends tr{static{i(this,"Option")}static{o(this,"Option")}constructor(e){super(e.definition),this.idx=1,mt(this,xt(e,t=>t!==void 0))}},yt=class extends tr{static{i(this,"RepetitionMandatory")}static{o(this,"RepetitionMandatory")}constructor(e){super(e.definition),this.idx=1,mt(this,xt(e,t=>t!==void 0))}},gt=class extends tr{static{i(this,"RepetitionMandatoryWithSeparator")}static{o(this,"RepetitionMandatoryWithSeparator")}constructor(e){super(e.definition),this.idx=1,mt(this,xt(e,t=>t!==void 0))}},be=class extends tr{static{i(this,"Repetition")}static{o(this,"Repetition")}constructor(e){super(e.definition),this.idx=1,mt(this,xt(e,t=>t!==void 0))}},ut=class extends tr{static{i(this,"RepetitionWithSeparator")}static{o(this,"RepetitionWithSeparator")}constructor(e){super(e.definition),this.idx=1,mt(this,xt(e,t=>t!==void 0))}},ct=class extends tr{static{i(this,"Alternation")}static{o(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,mt(this,xt(e,t=>t!==void 0))}},ve=class{static{i(this,"Terminal")}static{o(this,"Terminal")}constructor(e){this.idx=1,mt(this,xt(e,t=>t!==void 0))}accept(e){e.visit(this)}};function AA(e){return z(e,ss)}i(AA,"serializeGrammar");o(AA,"serializeGrammar");function ss(e){function t(r){return z(r,ss)}if(i(t,"convertDefinition"),o(t,"convertDefinition"),e instanceof tt){let r={type:"NonTerminal",name:e.nonTerminalName,idx:e.idx};return ot(e.label)&&(r.label=e.label),r}else{if(e instanceof lt)return{type:"Alternative",definition:t(e.definition)};if(e instanceof qe)return{type:"Option",idx:e.idx,definition:t(e.definition)};if(e instanceof yt)return{type:"RepetitionMandatory",idx:e.idx,definition:t(e.definition)};if(e instanceof gt)return{type:"RepetitionMandatoryWithSeparator",idx:e.idx,separator:ss(new ve({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof ut)return{type:"RepetitionWithSeparator",idx:e.idx,separator:ss(new ve({terminalType:e.separator})),definition:t(e.definition)};if(e instanceof be)return{type:"Repetition",idx:e.idx,definition:t(e.definition)};if(e instanceof ct)return{type:"Alternation",idx:e.idx,definition:t(e.definition)};if(e instanceof ve){let r={type:"Terminal",name:e.terminalType.name,label:$A(e.terminalType),idx:e.idx};ot(e.label)&&(r.terminalLabel=e.label);let n=e.terminalType.PATTERN;return e.terminalType.PATTERN&&(r.pattern=yr(n)?n.source:n),r}else{if(e instanceof Ya)return{type:"Rule",name:e.name,orgText:e.orgText,definition:t(e.definition)};throw Error("non exhaustive match")}}}i(ss,"serializeProduction");o(ss,"serializeProduction");var Xa=class{static{i(this,"GAstVisitor")}static{o(this,"GAstVisitor")}visit(e){let t=e;switch(t.constructor){case tt:return this.visitNonTerminal(t);case lt:return this.visitAlternative(t);case qe:return this.visitOption(t);case yt:return this.visitRepetitionMandatory(t);case gt:return this.visitRepetitionMandatoryWithSeparator(t);case ut:return this.visitRepetitionWithSeparator(t);case be:return this.visitRepetition(t);case ct:return this.visitAlternation(t);case ve:return this.visitTerminal(t);case Ya:return this.visitRule(t);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 EA(e){return e instanceof lt||e instanceof qe||e instanceof be||e instanceof yt||e instanceof gt||e instanceof ut||e instanceof ve||e instanceof Ya}i(EA,"isSequenceProd");o(EA,"isSequenceProd");function vs(e,t=[]){return e instanceof qe||e instanceof be||e instanceof ut?!0:e instanceof ct?gA(e.definition,n=>vs(n,t)):e instanceof tt&&at(t,e)?!1:e instanceof tr?(e instanceof tt&&t.push(e),Ot(e.definition,n=>vs(n,t))):!1}i(vs,"isOptionalProd");o(vs,"isOptionalProd");function CA(e){return e instanceof ct}i(CA,"isBranchingProd");o(CA,"isBranchingProd");function wt(e){if(e instanceof tt)return"SUBRULE";if(e instanceof qe)return"OPTION";if(e instanceof ct)return"OR";if(e instanceof yt)return"AT_LEAST_ONE";if(e instanceof gt)return"AT_LEAST_ONE_SEP";if(e instanceof ut)return"MANY_SEP";if(e instanceof be)return"MANY";if(e instanceof ve)return"CONSUME";throw Error("non exhaustive match")}i(wt,"getProductionDslName");o(wt,"getProductionDslName");var ou=class{static{i(this,"RestWalker")}static{o(this,"RestWalker")}walk(e,t=[]){q(e.definition,(r,n)=>{let a=Be(e.definition,n+1);if(r instanceof tt)this.walkProdRef(r,a,t);else if(r instanceof ve)this.walkTerminal(r,a,t);else if(r instanceof lt)this.walkFlat(r,a,t);else if(r instanceof qe)this.walkOption(r,a,t);else if(r instanceof yt)this.walkAtLeastOne(r,a,t);else if(r instanceof gt)this.walkAtLeastOneSep(r,a,t);else if(r instanceof ut)this.walkManySep(r,a,t);else if(r instanceof be)this.walkMany(r,a,t);else if(r instanceof ct)this.walkOr(r,a,t);else throw Error("non exhaustive match")})}walkTerminal(e,t,r){}walkProdRef(e,t,r){}walkFlat(e,t,r){let n=t.concat(r);this.walk(e,n)}walkOption(e,t,r){let n=t.concat(r);this.walk(e,n)}walkAtLeastOne(e,t,r){let n=[new qe({definition:e.definition})].concat(t,r);this.walk(e,n)}walkAtLeastOneSep(e,t,r){let n=Af(e,t,r);this.walk(e,n)}walkMany(e,t,r){let n=[new qe({definition:e.definition})].concat(t,r);this.walk(e,n)}walkManySep(e,t,r){let n=Af(e,t,r);this.walk(e,n)}walkOr(e,t,r){let n=t.concat(r);q(e.definition,a=>{let s=new lt({definition:[a]});this.walk(s,n)})}};function Af(e,t,r){return[new qe({definition:[new ve({terminalType:e.separator})].concat(e.definition)})].concat(t,r)}i(Af,"restForRepetitionWithSeparator");o(Af,"restForRepetitionWithSeparator");function Ja(e){if(e instanceof tt)return Ja(e.referencedRule);if(e instanceof ve)return SA(e);if(EA(e))return bA(e);if(CA(e))return _A(e);throw Error("non exhaustive match")}i(Ja,"first");o(Ja,"first");function bA(e){let t=[],r=e.definition,n=0,a=r.length>n,s,l=!0;for(;a&&l;)s=r[n],l=vs(s),t=t.concat(Ja(s)),n=n+1,a=r.length>n;return Gd(t)}i(bA,"firstForSequence");o(bA,"firstForSequence");function _A(e){let t=z(e.definition,r=>Ja(r));return Gd(kt(t))}i(_A,"firstForBranching");o(_A,"firstForBranching");function SA(e){return[e.terminalType]}i(SA,"firstForTerminal");o(SA,"firstForTerminal");var wA="_~IN~_",ML=class extends ou{static{i(this,"ResyncFollowsWalker")}static{o(this,"ResyncFollowsWalker")}constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,r){}walkProdRef(e,t,r){let n=NA(e.referencedRule,e.idx)+this.topProd.name,a=t.concat(r),s=new lt({definition:a}),l=Ja(s);this.follows[n]=l}};function IA(e){let t={};return q(e,r=>{let n=new ML(r).startWalking();mt(t,n)}),t}i(IA,"computeAllProdsFollows");o(IA,"computeAllProdsFollows");function NA(e,t){return e.name+t+wA}i(NA,"buildBetweenProdsFollowPrefix");o(NA,"buildBetweenProdsFollowPrefix");var bo={},GL=new lv;function Bs(e){let t=e.toString();if(bo.hasOwnProperty(t))return bo[t];{let r=GL.pattern(t);return bo[t]=r,r}}i(Bs,"getRegExpAst");o(Bs,"getRegExpAst");function PA(){bo={}}i(PA,"clearRegExpParserCache");o(PA,"clearRegExpParserCache");var kA="Complement Sets are not supported for first char optimization",ul=`Unable to use "first char" lexer optimizations:
`;function OA(e,t=!1){try{let r=Bs(e);return cl(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===kA)t&&Fd(`${ul}	Unable to optimize: < ${e.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="";t&&(n=`
	This will disable the lexer's first char optimizations.
	See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),ll(`${ul}
	Failed parsing: < ${e.toString()} >
	Using the @chevrotain/regexp-to-ast library
	Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}i(OA,"getOptimizedStartCodesIndices");o(OA,"getOptimizedStartCodesIndices");function cl(e,t,r){switch(e.type){case"Disjunction":for(let a=0;a<e.value.length;a++)cl(e.value[a],t,r);break;case"Alternative":let n=e.value;for(let a=0;a<n.length;a++){let s=n[a];switch(s.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}let l=s;switch(l.type){case"Character":Ki(l.value,t,r);break;case"Set":if(l.complement===!0)throw Error(kA);q(l.value,c=>{if(typeof c=="number")Ki(c,t,r);else{let f=c;if(r===!0)for(let p=f.from;p<=f.to;p++)Ki(p,t,r);else{for(let p=f.from;p<=f.to&&p<qi;p++)Ki(p,t,r);if(f.to>=qi){let p=f.from>=qi?f.from:qi,d=f.to,h=vr(p),v=vr(d);for(let T=h;T<=v;T++)t[T]=T}}}});break;case"Group":cl(l.value,t,r);break;default:throw Error("Non Exhaustive Match")}let u=l.quantifier!==void 0&&l.quantifier.atLeast===0;if(l.type==="Group"&&fl(l)===!1||l.type!=="Group"&&u===!1)break}break;default:throw Error("non exhaustive match!")}return Me(t)}i(cl,"firstCharOptimizedIndices");o(cl,"firstCharOptimizedIndices");function Ki(e,t,r){let n=vr(e);t[n]=n,r===!0&&LA(e,t)}i(Ki,"addOptimizedIdxToResult");o(Ki,"addOptimizedIdxToResult");function LA(e,t){let r=String.fromCharCode(e),n=r.toUpperCase();if(n!==r){let a=vr(n.charCodeAt(0));t[a]=a}else{let a=r.toLowerCase();if(a!==r){let s=vr(a.charCodeAt(0));t[s]=s}}}i(LA,"handleIgnoreCase");o(LA,"handleIgnoreCase");function Ef(e,t){return Ka(e.value,r=>{if(typeof r=="number")return at(t,r);{let n=r;return Ka(t,a=>n.from<=a&&a<=n.to)!==void 0}})}i(Ef,"findCode");o(Ef,"findCode");function fl(e){let t=e.quantifier;return t&&t.atLeast===0?!0:e.value?re(e.value)?Ot(e.value,fl):fl(e.value):!1}i(fl,"isWholeOptional");o(fl,"isWholeOptional");var FL=class extends zl{static{i(this,"CharCodeFinder")}static{o(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){at(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?Ef(e,this.targetCharCodes)===void 0&&(this.found=!0):Ef(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};function lu(e,t){if(t instanceof RegExp){let r=Bs(t),n=new FL(e);return n.visit(r),n.found}else return Ka(t,r=>at(e,r.charCodeAt(0)))!==void 0}i(lu,"canMatchCharCode");o(lu,"canMatchCharCode");var bn="PATTERN",Bi="defaultMode",Zs="modes";function DA(e,t){t=Md(t,{debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
`],tracer:o((I,A)=>A(),"tracer")});let r=t.tracer;r("initCharCodeToOptimizedIndexMap",()=>{rE()});let n;r("Reject Lexer.NA",()=>{n=su(e,I=>I[bn]===Qe.NA)});let a=!1,s;r("Transform Patterns",()=>{a=!1,s=z(n,I=>{let A=I[bn];if(yr(A)){let k=A.source;return k.length===1&&k!=="^"&&k!=="$"&&k!=="."&&!A.ignoreCase?k:k.length===2&&k[0]==="\\"&&!at(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],k[1])?k[1]:Cf(A)}else{if(Er(A))return a=!0,{exec:A};if(typeof A=="object")return a=!0,A;if(typeof A=="string"){if(A.length===1)return A;{let k=A.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),j=new RegExp(k);return Cf(j)}}else throw Error("non exhaustive match")}})});let l,u,c,f,p;r("misc mapping",()=>{l=z(n,I=>I.tokenTypeIdx),u=z(n,I=>{let A=I.GROUP;if(A!==Qe.SKIPPED){if(ot(A))return A;if(gr(A))return!1;throw Error("non exhaustive match")}}),c=z(n,I=>{let A=I.LONGER_ALT;if(A)return re(A)?z(A,j=>Mh(n,j)):[Mh(n,A)]}),f=z(n,I=>I.PUSH_MODE),p=z(n,I=>K(I,"POP_MODE"))});let d;r("Line Terminator Handling",()=>{let I=Bd(t.lineTerminatorCharacters);d=z(n,A=>!1),t.positionTracking!=="onlyOffset"&&(d=z(n,A=>K(A,"LINE_BREAKS")?!!A.LINE_BREAKS:Kd(A,I)===!1&&lu(I,A.PATTERN)))});let h,v,T,S;r("Misc Mapping #2",()=>{h=z(n,Ud),v=z(s,eE),T=ht(n,(I,A)=>{let k=A.GROUP;return ot(k)&&k!==Qe.SKIPPED&&(I[k]=[]),I},{}),S=z(s,(I,A)=>({pattern:s[A],longerAlt:c[A],canLineTerminator:d[A],isCustom:h[A],short:v[A],group:u[A],push:f[A],pop:p[A],tokenTypeIdx:l[A],tokenType:n[A]}))});let w=!0,N=[];return t.safeMode||r("First Char Optimization",()=>{N=ht(n,(I,A,k)=>{if(typeof A.PATTERN=="string"){let j=A.PATTERN.charCodeAt(0),J=vr(j);_o(I,J,S[k])}else if(re(A.START_CHARS_HINT)){let j;q(A.START_CHARS_HINT,J=>{let Q=typeof J=="string"?J.charCodeAt(0):J,ce=vr(Q);j!==ce&&(j=ce,_o(I,ce,S[k]))})}else if(yr(A.PATTERN))if(A.PATTERN.unicode)w=!1,t.ensureOptimizations&&ll(`${ul}	Unable to analyze < ${A.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 j=OA(A.PATTERN,t.ensureOptimizations);me(j)&&(w=!1),q(j,J=>{_o(I,J,S[k])})}else t.ensureOptimizations&&ll(`${ul}	TokenType: <${A.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`),w=!1;return I},[])}),{emptyGroups:T,patternIdxToConfig:S,charCodeToPatternIdxToConfig:N,hasCustom:a,canBeOptimized:w}}i(DA,"analyzeTokenTypes");o(DA,"analyzeTokenTypes");function xA(e,t){let r=[],n=GA(e);r=r.concat(n.errors);let a=FA(n.valid),s=a.valid;return r=r.concat(a.errors),r=r.concat(MA(s)),r=r.concat(qA(s)),r=r.concat(WA(s,t)),r=r.concat(VA(s)),r}i(xA,"validatePatterns");o(xA,"validatePatterns");function MA(e){let t=[],r=Ct(e,n=>yr(n[bn]));return t=t.concat(zA(r)),t=t.concat(UA(r)),t=t.concat(KA(r)),t=t.concat(BA(r)),t=t.concat(jA(r)),t}i(MA,"validateRegExpPattern");o(MA,"validateRegExpPattern");function GA(e){let t=Ct(e,a=>!K(a,bn)),r=z(t,a=>({message:"Token Type: ->"+a.name+"<- missing static 'PATTERN' property",type:_e.MISSING_PATTERN,tokenTypes:[a]})),n=iu(e,t);return{errors:r,valid:n}}i(GA,"findMissingPatterns");o(GA,"findMissingPatterns");function FA(e){let t=Ct(e,a=>{let s=a[bn];return!yr(s)&&!Er(s)&&!K(s,"exec")&&!ot(s)}),r=z(t,a=>({message:"Token Type: ->"+a.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:_e.INVALID_PATTERN,tokenTypes:[a]})),n=iu(e,t);return{errors:r,valid:n}}i(FA,"findInvalidPatterns");o(FA,"findInvalidPatterns");var zL=/[^\\][$]/;function zA(e){class t extends zl{static{i(this,"EndAnchorFinder")}static{o(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(s){this.found=!0}}let r=Ct(e,a=>{let s=a.PATTERN;try{let l=Bs(s),u=new t;return u.visit(l),u.found}catch{return zL.test(s.source)}});return z(r,a=>({message:`Unexpected RegExp Anchor Error:
	Token Type: ->`+a.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
	See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS	for details.`,type:_e.EOI_ANCHOR_FOUND,tokenTypes:[a]}))}i(zA,"findEndOfInputAnchor");o(zA,"findEndOfInputAnchor");function jA(e){let t=Ct(e,n=>n.PATTERN.test(""));return z(t,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:_e.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}i(jA,"findEmptyMatchRegExps");o(jA,"findEmptyMatchRegExps");var jL=/[^\\[][\^]|^\^/;function UA(e){class t extends zl{static{i(this,"StartAnchorFinder")}static{o(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(s){this.found=!0}}let r=Ct(e,a=>{let s=a.PATTERN;try{let l=Bs(s),u=new t;return u.visit(l),u.found}catch{return jL.test(s.source)}});return z(r,a=>({message:`Unexpected RegExp Anchor Error:
	Token Type: ->`+a.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
	See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS	for details.`,type:_e.SOI_ANCHOR_FOUND,tokenTypes:[a]}))}i(UA,"findStartOfInputAnchor");o(UA,"findStartOfInputAnchor");function KA(e){let t=Ct(e,n=>{let a=n[bn];return a instanceof RegExp&&(a.multiline||a.global)});return z(t,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:_e.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}i(KA,"findUnsupportedFlags");o(KA,"findUnsupportedFlags");function BA(e){let t=[],r=z(e,s=>ht(e,(l,u)=>(s.PATTERN.source===u.PATTERN.source&&!at(t,u)&&u.PATTERN!==Qe.NA&&(t.push(u),l.push(u)),l),[]));r=Ks(r);let n=Ct(r,s=>s.length>1);return z(n,s=>{let l=z(s,c=>c.name);return{message:`The same RegExp pattern ->${Dt(s).PATTERN}<-has been used in all of the following Token Types: ${l.join(", ")} <-`,type:_e.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}})}i(BA,"findDuplicatePatterns");o(BA,"findDuplicatePatterns");function qA(e){let t=Ct(e,n=>{if(!K(n,"GROUP"))return!1;let a=n.GROUP;return a!==Qe.SKIPPED&&a!==Qe.NA&&!ot(a)});return z(t,n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:_e.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}i(qA,"findInvalidGroupType");o(qA,"findInvalidGroupType");function WA(e,t){let r=Ct(e,a=>a.PUSH_MODE!==void 0&&!at(t,a.PUSH_MODE));return z(r,a=>({message:`Token Type: ->${a.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${a.PUSH_MODE}<-which does not exist`,type:_e.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[a]}))}i(WA,"findModesThatDoNotExist");o(WA,"findModesThatDoNotExist");function VA(e){let t=[],r=ht(e,(n,a,s)=>{let l=a.PATTERN;return l===Qe.NA||(ot(l)?n.push({str:l,idx:s,tokenType:a}):yr(l)&&YA(l)&&n.push({str:l.source,idx:s,tokenType:a})),n},[]);return q(e,(n,a)=>{q(r,({str:s,idx:l,tokenType:u})=>{if(a<l&&HA(s,n.PATTERN)){let c=`Token: ->${u.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`;t.push({message:c,type:_e.UNREACHABLE_PATTERN,tokenTypes:[n,u]})}})}),t}i(VA,"findUnreachablePatterns");o(VA,"findUnreachablePatterns");function HA(e,t){if(yr(t)){if(XA(t))return!1;let r=t.exec(e);return r!==null&&r.index===0}else{if(Er(t))return t(e,0,[],{});if(K(t,"exec"))return t.exec(e,0,[],{});if(typeof t=="string")return t===e;throw Error("non exhaustive match")}}i(HA,"tryToMatchStrToPattern");o(HA,"tryToMatchStrToPattern");function YA(e){return Ka([".","\\","[","]","|","^","$","(",")","?","*","+","{"],r=>e.source.indexOf(r)!==-1)===void 0}i(YA,"noMetaChar");o(YA,"noMetaChar");function XA(e){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(e.source)}i(XA,"usesLookAheadOrBehind");o(XA,"usesLookAheadOrBehind");function Cf(e){let t=e.ignoreCase?"iy":"y";return new RegExp(`${e.source}`,t)}i(Cf,"addStickyFlag");o(Cf,"addStickyFlag");function JA(e,t,r){let n=[];return K(e,Bi)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Bi+`> property in its definition
`,type:_e.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),K(e,Zs)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Zs+`> property in its definition
`,type:_e.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),K(e,Zs)&&K(e,Bi)&&!K(e.modes,e.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${Bi}: <${e.defaultMode}>which does not exist
`,type:_e.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),K(e,Zs)&&q(e.modes,(a,s)=>{q(a,(l,u)=>{if(gr(l))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${s}> at index: <${u}>
`,type:_e.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(K(l,"LONGER_ALT")){let c=re(l.LONGER_ALT)?l.LONGER_ALT:[l.LONGER_ALT];q(c,f=>{!gr(f)&&!at(a,f)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${f.name}> on token <${l.name}> outside of mode <${s}>
`,type:_e.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}i(JA,"performRuntimeChecks");o(JA,"performRuntimeChecks");function ZA(e,t,r){let n=[],a=!1,s=Ks(kt(Me(e.modes))),l=su(s,c=>c[bn]===Qe.NA),u=Bd(r);return t&&q(l,c=>{let f=Kd(c,u);if(f!==!1){let d={message:tE(c,f),type:f.issue,tokenType:c};n.push(d)}else K(c,"LINE_BREAKS")?c.LINE_BREAKS===!0&&(a=!0):lu(u,c.PATTERN)&&(a=!0)}),t&&!a&&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:_e.NO_LINE_BREAKS_FLAGS}),n}i(ZA,"performWarningRuntimeChecks");o(ZA,"performWarningRuntimeChecks");function QA(e){let t={},r=dt(e);return q(r,n=>{let a=e[n];if(re(a))t[n]=[];else throw Error("non exhaustive match")}),t}i(QA,"cloneEmptyGroups");o(QA,"cloneEmptyGroups");function Ud(e){let t=e.PATTERN;if(yr(t))return!1;if(Er(t))return!0;if(K(t,"exec"))return!0;if(ot(t))return!1;throw Error("non exhaustive match")}i(Ud,"isCustomPattern");o(Ud,"isCustomPattern");function eE(e){return ot(e)&&e.length===1?e.charCodeAt(0):!1}i(eE,"isShortPattern");o(eE,"isShortPattern");var UL={test:o(function(e){let t=e.length;for(let r=this.lastIndex;r<t;r++){let n=e.charCodeAt(r);if(n===10)return this.lastIndex=r+1,!0;if(n===13)return e.charCodeAt(r+1)===10?this.lastIndex=r+2:this.lastIndex=r+1,!0}return!1},"test"),lastIndex:0};function Kd(e,t){if(K(e,"LINE_BREAKS"))return!1;if(yr(e.PATTERN)){try{lu(t,e.PATTERN)}catch(r){return{issue:_e.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(ot(e.PATTERN))return!1;if(Ud(e))return{issue:_e.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}i(Kd,"checkLineBreaksIssues");o(Kd,"checkLineBreaksIssues");function tE(e,t){if(t.issue===_e.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
	The problem is in the <${e.name}> Token Type
	 Root cause: ${t.errMsg}.
	For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(t.issue===_e.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
	The problem is in the <${e.name}> Token Type
	For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}i(tE,"buildLineBreakIssueMessage");o(tE,"buildLineBreakIssueMessage");function Bd(e){return z(e,r=>ot(r)?r.charCodeAt(0):r)}i(Bd,"getCharCodes");o(Bd,"getCharCodes");function _o(e,t,r){e[t]===void 0?e[t]=[r]:e[t].push(r)}i(_o,"addToMapOfArrays");o(_o,"addToMapOfArrays");var qi=256,So=[];function vr(e){return e<qi?e:So[e]}i(vr,"charCodeToOptimizedIndex");o(vr,"charCodeToOptimizedIndex");function rE(){if(me(So)){So=new Array(65536);for(let e=0;e<65536;e++)So[e]=e>255?255+~~(e/255):e}}i(rE,"initCharCodeToOptimizedIndexMap");o(rE,"initCharCodeToOptimizedIndexMap");function Za(e,t){let r=e.tokenTypeIdx;return r===t.tokenTypeIdx?!0:t.isParent===!0&&t.categoryMatchesMap[r]===!0}i(Za,"tokenStructuredMatcher");o(Za,"tokenStructuredMatcher");function Ts(e,t){return e.tokenTypeIdx===t.tokenTypeIdx}i(Ts,"tokenStructuredMatcherNoCategories");o(Ts,"tokenStructuredMatcherNoCategories");var Fh=1,nE={};function Qa(e){let t=aE(e);iE(t),oE(t),sE(t),q(t,r=>{r.isParent=r.categoryMatches.length>0})}i(Qa,"augmentTokenTypes");o(Qa,"augmentTokenTypes");function aE(e){let t=We(e),r=e,n=!0;for(;n;){r=Ks(kt(z(r,s=>s.CATEGORIES)));let a=iu(r,t);t=t.concat(a),me(a)?n=!1:r=a}return t}i(aE,"expandCategories");o(aE,"expandCategories");function iE(e){q(e,t=>{Wd(t)||(nE[Fh]=t,t.tokenTypeIdx=Fh++),bf(t)&&!re(t.CATEGORIES)&&(t.CATEGORIES=[t.CATEGORIES]),bf(t)||(t.CATEGORIES=[]),lE(t)||(t.categoryMatches=[]),uE(t)||(t.categoryMatchesMap={})})}i(iE,"assignTokenDefaultProps");o(iE,"assignTokenDefaultProps");function sE(e){q(e,t=>{t.categoryMatches=[],q(t.categoryMatchesMap,(r,n)=>{t.categoryMatches.push(nE[n].tokenTypeIdx)})})}i(sE,"assignCategoriesTokensProp");o(sE,"assignCategoriesTokensProp");function oE(e){q(e,t=>{qd([],t)})}i(oE,"assignCategoriesMapProp");o(oE,"assignCategoriesMapProp");function qd(e,t){q(e,r=>{t.categoryMatchesMap[r.tokenTypeIdx]=!0}),q(t.CATEGORIES,r=>{let n=e.concat(t);at(n,r)||qd(n,r)})}i(qd,"singleAssignCategoriesToksMap");o(qd,"singleAssignCategoriesToksMap");function Wd(e){return K(e,"tokenTypeIdx")}i(Wd,"hasShortKeyProperty");o(Wd,"hasShortKeyProperty");function bf(e){return K(e,"CATEGORIES")}i(bf,"hasCategoriesProperty");o(bf,"hasCategoriesProperty");function lE(e){return K(e,"categoryMatches")}i(lE,"hasExtendingTokensTypesProperty");o(lE,"hasExtendingTokensTypesProperty");function uE(e){return K(e,"categoryMatchesMap")}i(uE,"hasExtendingTokensTypesMapProperty");o(uE,"hasExtendingTokensTypesMapProperty");function cE(e){return K(e,"tokenTypeIdx")}i(cE,"isTokenType");o(cE,"isTokenType");var _f={buildUnableToPopLexerModeMessage(e){return`Unable to pop Lexer Mode after encountering Token ->${e.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(e,t,r,n,a,s){return`unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${r} characters.`}},_e;(function(e){e[e.MISSING_PATTERN=0]="MISSING_PATTERN",e[e.INVALID_PATTERN=1]="INVALID_PATTERN",e[e.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",e[e.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",e[e.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",e[e.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",e[e.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",e[e.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",e[e.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",e[e.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",e[e.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",e[e.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",e[e.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",e[e.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",e[e.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",e[e.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",e[e.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",e[e.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(_e||(_e={}));var Wi={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:_f,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Wi);var Qe=class{static{i(this,"Lexer")}static{o(this,"Lexer")}constructor(e,t=Wi){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=(n,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let s=new Array(this.traceInitIndent+1).join("	");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${s}--> <${n}>`);let{time:l,value:u}=zd(a),c=l>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&c(`${s}<-- <${n}> time: ${l}ms`),this.traceInitIndent--,u}else return a()},typeof t=="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=mt({},Wi,t);let r=this.config.traceInitPerf;r===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof r=="number"&&(this.traceInitMaxIdent=r,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let n,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Wi.lineTerminatorsPattern)this.config.lineTerminatorsPattern=UL;else if(this.config.lineTerminatorCharacters===Wi.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(t.safeMode&&t.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),re(e)?n={modes:{defaultMode:We(e)},defaultMode:Bi}:(a=!1,n=We(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(JA(n,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(ZA(n,this.trackStartLines,this.config.lineTerminatorCharacters))})),n.modes=n.modes?n.modes:{},q(n.modes,(l,u)=>{n.modes[u]=su(l,c=>gr(c))});let s=dt(n.modes);if(q(n.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(xA(l,s))}),me(this.lexerDefinitionErrors)){Qa(l);let c;this.TRACE_INIT("analyzeTokenTypes",()=>{c=DA(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[u]=c.patternIdxToConfig,this.charCodeToPatternIdxToConfig[u]=c.charCodeToPatternIdxToConfig,this.emptyGroups=mt({},this.emptyGroups,c.emptyGroups),this.hasCustom=c.hasCustom||this.hasCustom,this.canModeBeOptimized[u]=c.canBeOptimized}})}),this.defaultMode=n.defaultMode,!me(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let u=z(this.lexerDefinitionErrors,c=>c.message).join(`-----------------------
`);throw new Error(`Errors detected in definition of Lexer:
`+u)}q(this.lexerDefinitionWarning,l=>{Fd(l.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(a&&(this.handleModes=Fe),this.trackStartLines===!1&&(this.computeNewColumn=Ms),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=Fe),/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=ht(this.canModeBeOptimized,(u,c,f)=>(c===!1&&u.push(f),u),[]);if(t.ensureOptimizations&&!me(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",()=>{PA()}),this.TRACE_INIT("toFastProperties",()=>{jd(this)})})}tokenize(e,t=this.defaultMode){if(!me(this.lexerDefinitionErrors)){let n=z(this.lexerDefinitionErrors,a=>a.message).join(`-----------------------
`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
`+n)}return this.tokenizeInternal(e,t)}tokenizeInternal(e,t){let r,n,a,s,l,u,c,f,p,d,h,v,T,S,w,N=e,I=N.length,A=0,k=0,j=this.hasCustom?0:Math.floor(e.length/10),J=new Array(j),Q=[],ce=this.trackStartLines?1:void 0,se=this.trackStartLines?1:void 0,Se=QA(this.emptyGroups),O=this.trackStartLines,b=this.config.lineTerminatorsPattern,g=0,C=[],$=[],R=[],_=[];Object.freeze(_);let L=!1,M=o(X=>{if(R.length===1&&X.tokenType.PUSH_MODE===void 0){let V=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(X);Q.push({offset:X.startOffset,line:X.startLine,column:X.startColumn,length:X.image.length,message:V})}else{R.pop();let V=Cn(R);C=this.patternIdxToConfig[V],$=this.charCodeToPatternIdxToConfig[V],g=C.length;let Pe=this.canModeBeOptimized[V]&&this.config.safeMode===!1;$&&Pe?L=!0:L=!1}},"pop_mode");function x(X){R.push(X),$=this.charCodeToPatternIdxToConfig[X],C=this.patternIdxToConfig[X],g=C.length,g=C.length;let V=this.canModeBeOptimized[X]&&this.config.safeMode===!1;$&&V?L=!0:L=!1}i(x,"push_mode"),o(x,"push_mode"),x.call(this,t);let F,W=this.config.recoveryEnabled;for(;A<I;){u=null,p=-1;let X=N.charCodeAt(A),V;if(L){let oe=vr(X),Le=$[oe];V=Le!==void 0?Le:_}else V=C;let Pe=V.length;for(r=0;r<Pe;r++){F=V[r];let oe=F.pattern;c=null;let Le=F.short;if(Le!==!1?X===Le&&(p=1,u=oe):F.isCustom===!0?(w=oe.exec(N,A,J,Se),w!==null?(u=w[0],p=u.length,w.payload!==void 0&&(c=w.payload)):u=null):(oe.lastIndex=A,p=this.matchLength(oe,e,A)),p!==-1){if(l=F.longerAlt,l!==void 0){u=e.substring(A,A+p);let De=l.length;for(a=0;a<De;a++){let ke=C[l[a]],He=ke.pattern;if(f=null,ke.isCustom===!0?(w=He.exec(N,A,J,Se),w!==null?(s=w[0],w.payload!==void 0&&(f=w.payload)):s=null):(He.lastIndex=A,s=this.match(He,e,A)),s&&s.length>u.length){u=s,p=s.length,c=f,F=ke;break}}}break}}if(p!==-1){if(d=F.group,d!==void 0&&(u=u!==null?u:e.substring(A,A+p),h=F.tokenTypeIdx,v=this.createTokenInstance(u,A,h,F.tokenType,ce,se,p),this.handlePayload(v,c),d===!1?k=this.addToken(J,k,v):Se[d].push(v)),O===!0&&F.canLineTerminator===!0){let oe=0,Le,De;b.lastIndex=0;do u=u!==null?u:e.substring(A,A+p),Le=b.test(u),Le===!0&&(De=b.lastIndex-1,oe++);while(Le===!0);oe!==0?(ce=ce+oe,se=p-De,this.updateTokenEndLineColumnLocation(v,d,De,oe,ce,se,p)):se=this.computeNewColumn(se,p)}else se=this.computeNewColumn(se,p);A=A+p,this.handleModes(F,M,x,v)}else{let oe=A,Le=ce,De=se,ke=W===!1;for(;ke===!1&&A<I;)for(A++,n=0;n<g;n++){let He=C[n],Ve=He.pattern,ne=He.short;if(ne!==!1?N.charCodeAt(A)===ne&&(ke=!0):He.isCustom===!0?ke=Ve.exec(N,A,J,Se)!==null:(Ve.lastIndex=A,ke=Ve.exec(e)!==null),ke===!0)break}if(T=A-oe,se=this.computeNewColumn(se,T),S=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(N,oe,T,Le,De,Cn(R)),Q.push({offset:oe,line:Le,column:De,length:T,message:S}),W===!1)break}}return this.hasCustom||(J.length=k),{tokens:J,groups:Se,errors:Q}}handleModes(e,t,r,n){if(e.pop===!0){let a=e.push;t(n),a!==void 0&&r.call(this,a)}else e.push!==void 0&&r.call(this,e.push)}updateTokenEndLineColumnLocation(e,t,r,n,a,s,l){let u,c;t!==void 0&&(u=r===l-1,c=u?-1:0,n===1&&u===!0||(e.endLine=a+c,e.endColumn=s-1+-c))}computeNewColumn(e,t){return e+t}createOffsetOnlyToken(e,t,r,n){return{image:e,startOffset:t,tokenTypeIdx:r,tokenType:n}}createStartOnlyToken(e,t,r,n,a,s){return{image:e,startOffset:t,startLine:a,startColumn:s,tokenTypeIdx:r,tokenType:n}}createFullToken(e,t,r,n,a,s,l){return{image:e,startOffset:t,endOffset:t+l-1,startLine:a,endLine:a,startColumn:s,endColumn:s+l-1,tokenTypeIdx:r,tokenType:n}}addTokenUsingPush(e,t,r){return e.push(r),t}addTokenUsingMemberAccess(e,t,r){return e[t]=r,t++,t}handlePayloadNoCustom(e,t){}handlePayloadWithCustom(e,t){t!==null&&(e.payload=t)}match(e,t,r){return e.test(t)===!0?t.substring(r,e.lastIndex):null}matchLength(e,t,r){return e.test(t)===!0?e.lastIndex-r:-1}};Qe.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.";Qe.NA=/NOT_APPLICABLE/;function Rn(e){return Vd(e)?e.LABEL:e.name}i(Rn,"tokenLabel2");o(Rn,"tokenLabel");function Vd(e){return ot(e.LABEL)&&e.LABEL!==""}i(Vd,"hasTokenLabel2");o(Vd,"hasTokenLabel");var KL="parent",zh="categories",jh="label",Uh="group",Kh="push_mode",Bh="pop_mode",qh="longer_alt",Wh="line_breaks",Vh="start_chars_hint";function Oa(e){return fE(e)}i(Oa,"createToken");o(Oa,"createToken");function fE(e){let t=e.pattern,r={};if(r.name=e.name,gr(t)||(r.PATTERN=t),K(e,KL))throw`The parent property is no longer supported.
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return K(e,zh)&&(r.CATEGORIES=e[zh]),Qa([r]),K(e,jh)&&(r.LABEL=e[jh]),K(e,Uh)&&(r.GROUP=e[Uh]),K(e,Bh)&&(r.POP_MODE=e[Bh]),K(e,Kh)&&(r.PUSH_MODE=e[Kh]),K(e,qh)&&(r.LONGER_ALT=e[qh]),K(e,Wh)&&(r.LINE_BREAKS=e[Wh]),K(e,Vh)&&(r.START_CHARS_HINT=e[Vh]),r}i(fE,"createTokenInternal");o(fE,"createTokenInternal");var Dr=Oa({name:"EOF",pattern:Qe.NA});Qa([Dr]);function qs(e,t,r,n,a,s,l,u){return{image:t,startOffset:r,endOffset:n,startLine:a,endLine:s,startColumn:l,endColumn:u,tokenTypeIdx:e.tokenTypeIdx,tokenType:e}}i(qs,"createTokenInstance");o(qs,"createTokenInstance");function Hd(e,t){return Za(e,t)}i(Hd,"tokenMatcher");o(Hd,"tokenMatcher");var Na={buildMismatchTokenMessage({expected:e,actual:t,previous:r,ruleName:n}){return`Expecting ${Vd(e)?`--> ${Rn(e)} <--`:`token of type --> ${e.name} <--`} but found --> '${t.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:e,ruleName:t}){return"Redundant input, expecting EOF but found: "+e.image},buildNoViableAltMessage({expectedPathsPerAlt:e,actual:t,previous:r,customUserDescription:n,ruleName:a}){let s="Expecting: ",u=`
but found: '`+Dt(t).image+"'";if(n)return s+n+u;{let c=ht(e,(h,v)=>h.concat(v),[]),f=z(c,h=>`[${z(h,v=>Rn(v)).join(", ")}]`),d=`one of these possible Token sequences:
${z(f,(h,v)=>`  ${v+1}. ${h}`).join(`
`)}`;return s+d+u}},buildEarlyExitMessage({expectedIterationPaths:e,actual:t,customUserDescription:r,ruleName:n}){let a="Expecting: ",l=`
but found: '`+Dt(t).image+"'";if(r)return a+r+l;{let c=`expecting at least one iteration which starts with one of these possible Token sequences::
  <${z(e,f=>`[${z(f,p=>Rn(p)).join(",")}]`).join(" ,")}>`;return a+c+l}}};Object.freeze(Na);var BL={buildRuleNotFoundError(e,t){return"Invalid grammar, reference to a rule which is not defined: ->"+t.nonTerminalName+`<-
inside top level rule: ->`+e.name+"<-"}},vn={buildDuplicateFoundError(e,t){function r(p){return p instanceof ve?p.terminalType.name:p instanceof tt?p.nonTerminalName:""}i(r,"getExtraProductionArgument2"),o(r,"getExtraProductionArgument");let n=e.name,a=Dt(t),s=a.idx,l=wt(a),u=r(a),c=s>0,f=`->${l}${c?s:""}<- ${u?`with argument: ->${u}<-`:""}
                  appears more than once (${t.length} times) in the top level rule: ->${n}<-.                  
                  For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES 
                  `;return f=f.replace(/[ \t]+/g," "),f=f.replace(/\s\s+/g,`
`),f},buildNamespaceConflictError(e){return`Namespace conflict found in grammar.
The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${e.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(e){let t=z(e.prefixPath,a=>Rn(a)).join(", "),r=e.alternation.idx===0?"":e.alternation.idx;return`Ambiguous alternatives: <${e.ambiguityIndices.join(" ,")}> due to common lookahead prefix
in <OR${r}> inside <${e.topLevelRule.name}> Rule,
<${t}> 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(e){let t=e.alternation.idx===0?"":e.alternation.idx,r=e.prefixPath.length===0,n=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(" ,")}> in <OR${t}> inside <${e.topLevelRule.name}> Rule,
`;if(r)n+=`These alternatives are all empty (match no tokens), making them indistinguishable.
Only the last alternative may be empty.
`;else{let a=z(e.prefixPath,s=>Rn(s)).join(", ");n+=`<${a}> may appears as a prefix path in all these alternatives.
`}return n+=`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
For Further details.`,n},buildEmptyRepetitionError(e){let t=wt(e.repetition);return e.repetition.idx!==0&&(t+=e.repetition.idx),`The repetition <${t}> within Rule <${e.topLevelRule.name}> can never consume any tokens.
This could lead to an infinite loop.`},buildTokenNameError(e){return"deprecated"},buildEmptyAlternationError(e){return`Ambiguous empty alternative: <${e.emptyChoiceIdx+1}> in <OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule.
Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(e){return`An Alternation cannot have more than 256 alternatives:
<OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule.
 has ${e.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(e){let t=e.topLevelRule.name,r=z(e.leftRecursionPath,s=>s.name),n=`${t} --> ${r.concat([t]).join(" --> ")}`;return`Left Recursion found in grammar.
rule: <${t}> 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(e){return"deprecated"},buildDuplicateRuleNameError(e){let t;return e.topLevelRule instanceof Ya?t=e.topLevelRule.name:t=e.topLevelRule,`Duplicate definition, rule: ->${t}<- is already defined in the grammar: ->${e.grammarName}<-`}};function pE(e,t){let r=new qL(e,t);return r.resolveRefs(),r.errors}i(pE,"resolveGrammar");o(pE,"resolveGrammar");var qL=class extends Xa{static{i(this,"GastRefResolverVisitor")}static{o(this,"GastRefResolverVisitor")}constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){q(Me(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let t=this.nameToTopRule[e.nonTerminalName];if(t)e.referencedRule=t;else{let r=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:r,type:rt.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}},WL=class extends ou{static{i(this,"AbstractNextPossibleTokensWalker")}static{o(this,"AbstractNextPossibleTokensWalker")}constructor(e,t){super(),this.topProd=e,this.path=t,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=We(this.path.ruleStack).reverse(),this.occurrenceStack=We(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,t=[]){this.found||super.walk(e,t)}walkProdRef(e,t,r){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let n=t.concat(r);this.updateExpectedNext(),this.walk(e.referencedRule,n)}}updateExpectedNext(){me(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},VL=class extends WL{static{i(this,"NextAfterTokenWalker")}static{o(this,"NextAfterTokenWalker")}constructor(e,t){super(e,t),this.path=t,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,t,r){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let n=t.concat(r),a=new lt({definition:n});this.possibleTokTypes=Ja(a),this.found=!0}}},uu=class extends ou{static{i(this,"AbstractNextTerminalAfterProductionWalker")}static{o(this,"AbstractNextTerminalAfterProductionWalker")}constructor(e,t){super(),this.topRule=e,this.occurrence=t,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},HL=class extends uu{static{i(this,"NextTerminalAfterManyWalker")}static{o(this,"NextTerminalAfterManyWalker")}walkMany(e,t,r){if(e.idx===this.occurrence){let n=Dt(t.concat(r));this.result.isEndOfRule=n===void 0,n instanceof ve&&(this.result.token=n.terminalType,this.result.occurrence=n.idx)}else super.walkMany(e,t,r)}},Hh=class extends uu{static{i(this,"NextTerminalAfterManySepWalker")}static{o(this,"NextTerminalAfterManySepWalker")}walkManySep(e,t,r){if(e.idx===this.occurrence){let n=Dt(t.concat(r));this.result.isEndOfRule=n===void 0,n instanceof ve&&(this.result.token=n.terminalType,this.result.occurrence=n.idx)}else super.walkManySep(e,t,r)}},YL=class extends uu{static{i(this,"NextTerminalAfterAtLeastOneWalker")}static{o(this,"NextTerminalAfterAtLeastOneWalker")}walkAtLeastOne(e,t,r){if(e.idx===this.occurrence){let n=Dt(t.concat(r));this.result.isEndOfRule=n===void 0,n instanceof ve&&(this.result.token=n.terminalType,this.result.occurrence=n.idx)}else super.walkAtLeastOne(e,t,r)}},Yh=class extends uu{static{i(this,"NextTerminalAfterAtLeastOneSepWalker")}static{o(this,"NextTerminalAfterAtLeastOneSepWalker")}walkAtLeastOneSep(e,t,r){if(e.idx===this.occurrence){let n=Dt(t.concat(r));this.result.isEndOfRule=n===void 0,n instanceof ve&&(this.result.token=n.terminalType,this.result.occurrence=n.idx)}else super.walkAtLeastOneSep(e,t,r)}};function pl(e,t,r=[]){r=We(r);let n=[],a=0;function s(u){return u.concat(Be(e,a+1))}i(s,"remainingPathWith"),o(s,"remainingPathWith");function l(u){let c=pl(s(u),t,r);return n.concat(c)}for(i(l,"getAlternativesForProd"),o(l,"getAlternativesForProd");r.length<t&&a<e.length;){let u=e[a];if(u instanceof lt)return l(u.definition);if(u instanceof tt)return l(u.definition);if(u instanceof qe)n=l(u.definition);else if(u instanceof yt){let c=u.definition.concat([new be({definition:u.definition})]);return l(c)}else if(u instanceof gt){let c=[new lt({definition:u.definition}),new be({definition:[new ve({terminalType:u.separator})].concat(u.definition)})];return l(c)}else if(u instanceof ut){let c=u.definition.concat([new be({definition:[new ve({terminalType:u.separator})].concat(u.definition)})]);n=l(c)}else if(u instanceof be){let c=u.definition.concat([new be({definition:u.definition})]);n=l(c)}else{if(u instanceof ct)return q(u.definition,c=>{me(c.definition)===!1&&(n=l(c.definition))}),n;if(u instanceof ve)r.push(u.terminalType);else throw Error("non exhaustive match")}a++}return n.push({partialPath:r,suffixDef:Be(e,a)}),n}i(pl,"possiblePathsFrom");o(pl,"possiblePathsFrom");function Yd(e,t,r,n){let a="EXIT_NONE_TERMINAL",s=[a],l="EXIT_ALTERNATIVE",u=!1,c=t.length,f=c-n-1,p=[],d=[];for(d.push({idx:-1,def:e,ruleStack:[],occurrenceStack:[]});!me(d);){let h=d.pop();if(h===l){u&&Cn(d).idx<=f&&d.pop();continue}let v=h.def,T=h.idx,S=h.ruleStack,w=h.occurrenceStack;if(me(v))continue;let N=v[0];if(N===a){let I={idx:T,def:Be(v),ruleStack:gs(S),occurrenceStack:gs(w)};d.push(I)}else if(N instanceof ve)if(T<c-1){let I=T+1,A=t[I];if(r(A,N.terminalType)){let k={idx:I,def:Be(v),ruleStack:S,occurrenceStack:w};d.push(k)}}else if(T===c-1)p.push({nextTokenType:N.terminalType,nextTokenOccurrence:N.idx,ruleStack:S,occurrenceStack:w}),u=!0;else throw Error("non exhaustive match");else if(N instanceof tt){let I=We(S);I.push(N.nonTerminalName);let A=We(w);A.push(N.idx);let k={idx:T,def:N.definition.concat(s,Be(v)),ruleStack:I,occurrenceStack:A};d.push(k)}else if(N instanceof qe){let I={idx:T,def:Be(v),ruleStack:S,occurrenceStack:w};d.push(I),d.push(l);let A={idx:T,def:N.definition.concat(Be(v)),ruleStack:S,occurrenceStack:w};d.push(A)}else if(N instanceof yt){let I=new be({definition:N.definition,idx:N.idx}),A=N.definition.concat([I],Be(v)),k={idx:T,def:A,ruleStack:S,occurrenceStack:w};d.push(k)}else if(N instanceof gt){let I=new ve({terminalType:N.separator}),A=new be({definition:[I].concat(N.definition),idx:N.idx}),k=N.definition.concat([A],Be(v)),j={idx:T,def:k,ruleStack:S,occurrenceStack:w};d.push(j)}else if(N instanceof ut){let I={idx:T,def:Be(v),ruleStack:S,occurrenceStack:w};d.push(I),d.push(l);let A=new ve({terminalType:N.separator}),k=new be({definition:[A].concat(N.definition),idx:N.idx}),j=N.definition.concat([k],Be(v)),J={idx:T,def:j,ruleStack:S,occurrenceStack:w};d.push(J)}else if(N instanceof be){let I={idx:T,def:Be(v),ruleStack:S,occurrenceStack:w};d.push(I),d.push(l);let A=new be({definition:N.definition,idx:N.idx}),k=N.definition.concat([A],Be(v)),j={idx:T,def:k,ruleStack:S,occurrenceStack:w};d.push(j)}else if(N instanceof ct)for(let I=N.definition.length-1;I>=0;I--){let A=N.definition[I],k={idx:T,def:A.definition.concat(Be(v)),ruleStack:S,occurrenceStack:w};d.push(k),d.push(l)}else if(N instanceof lt)d.push({idx:T,def:N.definition.concat(Be(v)),ruleStack:S,occurrenceStack:w});else if(N instanceof Ya)d.push(dE(N,T,S,w));else throw Error("non exhaustive match")}return p}i(Yd,"nextPossibleTokensAfter");o(Yd,"nextPossibleTokensAfter");function dE(e,t,r,n){let a=We(r);a.push(e.name);let s=We(n);return s.push(1),{idx:t,def:e.definition,ruleStack:a,occurrenceStack:s}}i(dE,"expandTopLevelRule");o(dE,"expandTopLevelRule");var Re;(function(e){e[e.OPTION=0]="OPTION",e[e.REPETITION=1]="REPETITION",e[e.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",e[e.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",e[e.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",e[e.ALTERNATION=5]="ALTERNATION"})(Re||(Re={}));function cu(e){if(e instanceof qe||e==="Option")return Re.OPTION;if(e instanceof be||e==="Repetition")return Re.REPETITION;if(e instanceof yt||e==="RepetitionMandatory")return Re.REPETITION_MANDATORY;if(e instanceof gt||e==="RepetitionMandatoryWithSeparator")return Re.REPETITION_MANDATORY_WITH_SEPARATOR;if(e instanceof ut||e==="RepetitionWithSeparator")return Re.REPETITION_WITH_SEPARATOR;if(e instanceof ct||e==="Alternation")return Re.ALTERNATION;throw Error("non exhaustive match")}i(cu,"getProdType");o(cu,"getProdType");function Sf(e){let{occurrence:t,rule:r,prodType:n,maxLookahead:a}=e,s=cu(n);return s===Re.ALTERNATION?Ws(t,r,a):Vs(t,r,s,a)}i(Sf,"getLookaheadPaths");o(Sf,"getLookaheadPaths");function mE(e,t,r,n,a,s){let l=Ws(e,t,r),u=Jd(l)?Ts:Za;return s(l,n,u,a)}i(mE,"buildLookaheadFuncForOr");o(mE,"buildLookaheadFuncForOr");function hE(e,t,r,n,a,s){let l=Vs(e,t,a,r),u=Jd(l)?Ts:Za;return s(l[0],u,n)}i(hE,"buildLookaheadFuncForOptionalProd");o(hE,"buildLookaheadFuncForOptionalProd");function yE(e,t,r,n){let a=e.length,s=Ot(e,l=>Ot(l,u=>u.length===1));if(t)return function(l){let u=z(l,c=>c.GATE);for(let c=0;c<a;c++){let f=e[c],p=f.length,d=u[c];if(!(d!==void 0&&d.call(this)===!1))e:for(let h=0;h<p;h++){let v=f[h],T=v.length;for(let S=0;S<T;S++){let w=this.LA(S+1);if(r(w,v[S])===!1)continue e}return c}}};if(s&&!n){let l=z(e,c=>kt(c)),u=ht(l,(c,f,p)=>(q(f,d=>{K(c,d.tokenTypeIdx)||(c[d.tokenTypeIdx]=p),q(d.categoryMatches,h=>{K(c,h)||(c[h]=p)})}),c),{});return function(){let c=this.LA(1);return u[c.tokenTypeIdx]}}else return function(){for(let l=0;l<a;l++){let u=e[l],c=u.length;e:for(let f=0;f<c;f++){let p=u[f],d=p.length;for(let h=0;h<d;h++){let v=this.LA(h+1);if(r(v,p[h])===!1)continue e}return l}}}}i(yE,"buildAlternativesLookAheadFunc");o(yE,"buildAlternativesLookAheadFunc");function gE(e,t,r){let n=Ot(e,s=>s.length===1),a=e.length;if(n&&!r){let s=kt(e);if(s.length===1&&me(s[0].categoryMatches)){let u=s[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===u}}else{let l=ht(s,(u,c,f)=>(u[c.tokenTypeIdx]=!0,q(c.categoryMatches,p=>{u[p]=!0}),u),[]);return function(){let u=this.LA(1);return l[u.tokenTypeIdx]===!0}}}else return function(){e:for(let s=0;s<a;s++){let l=e[s],u=l.length;for(let c=0;c<u;c++){let f=this.LA(c+1);if(t(f,l[c])===!1)continue e}return!0}return!1}}i(gE,"buildSingleAlternativeLookaheadFunction");o(gE,"buildSingleAlternativeLookaheadFunction");var XL=class extends ou{static{i(this,"RestDefinitionFinderWalker")}static{o(this,"RestDefinitionFinderWalker")}constructor(e,t,r){super(),this.topProd=e,this.targetOccurrence=t,this.targetProdType=r}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,t,r,n){return e.idx===this.targetOccurrence&&this.targetProdType===t?(this.restDef=r.concat(n),!0):!1}walkOption(e,t,r){this.checkIsTarget(e,Re.OPTION,t,r)||super.walkOption(e,t,r)}walkAtLeastOne(e,t,r){this.checkIsTarget(e,Re.REPETITION_MANDATORY,t,r)||super.walkOption(e,t,r)}walkAtLeastOneSep(e,t,r){this.checkIsTarget(e,Re.REPETITION_MANDATORY_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}walkMany(e,t,r){this.checkIsTarget(e,Re.REPETITION,t,r)||super.walkOption(e,t,r)}walkManySep(e,t,r){this.checkIsTarget(e,Re.REPETITION_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}},vE=class extends Xa{static{i(this,"InsideDefinitionFinderVisitor")}static{o(this,"InsideDefinitionFinderVisitor")}constructor(e,t,r){super(),this.targetOccurrence=e,this.targetProdType=t,this.targetRef=r,this.result=[]}checkIsTarget(e,t){e.idx===this.targetOccurrence&&this.targetProdType===t&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,Re.OPTION)}visitRepetition(e){this.checkIsTarget(e,Re.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,Re.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,Re.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,Re.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,Re.ALTERNATION)}};function wf(e){let t=new Array(e);for(let r=0;r<e;r++)t[r]=[];return t}i(wf,"initializeArrayOfArrays");o(wf,"initializeArrayOfArrays");function wo(e){let t=[""];for(let r=0;r<e.length;r++){let n=e[r],a=[];for(let s=0;s<t.length;s++){let l=t[s];a.push(l+"_"+n.tokenTypeIdx);for(let u=0;u<n.categoryMatches.length;u++){let c="_"+n.categoryMatches[u];a.push(l+c)}}t=a}return t}i(wo,"pathToHashKeys");o(wo,"pathToHashKeys");function TE(e,t,r){for(let n=0;n<e.length;n++){if(n===r)continue;let a=e[n];for(let s=0;s<t.length;s++){let l=t[s];if(a[l]===!0)return!1}}return!0}i(TE,"isUniquePrefixHash");o(TE,"isUniquePrefixHash");function Xd(e,t){let r=z(e,l=>pl([l],1)),n=wf(r.length),a=z(r,l=>{let u={};return q(l,c=>{let f=wo(c.partialPath);q(f,p=>{u[p]=!0})}),u}),s=r;for(let l=1;l<=t;l++){let u=s;s=wf(u.length);for(let c=0;c<u.length;c++){let f=u[c];for(let p=0;p<f.length;p++){let d=f[p].partialPath,h=f[p].suffixDef,v=wo(d);if(TE(a,v,c)||me(h)||d.length===t){let S=n[c];if(dl(S,d)===!1){S.push(d);for(let w=0;w<v.length;w++){let N=v[w];a[c][N]=!0}}}else{let S=pl(h,l+1,d);s[c]=s[c].concat(S),q(S,w=>{let N=wo(w.partialPath);q(N,I=>{a[c][I]=!0})})}}}}return n}i(Xd,"lookAheadSequenceFromAlternatives");o(Xd,"lookAheadSequenceFromAlternatives");function Ws(e,t,r,n){let a=new vE(e,Re.ALTERNATION,n);return t.accept(a),Xd(a.result,r)}i(Ws,"getLookaheadPathsForOr");o(Ws,"getLookaheadPathsForOr");function Vs(e,t,r,n){let a=new vE(e,r);t.accept(a);let s=a.result,u=new XL(t,e,r).startWalking(),c=new lt({definition:s}),f=new lt({definition:u});return Xd([c,f],n)}i(Vs,"getLookaheadPathsForOptionalProd");o(Vs,"getLookaheadPathsForOptionalProd");function dl(e,t){e:for(let r=0;r<e.length;r++){let n=e[r];if(n.length===t.length){for(let a=0;a<n.length;a++){let s=t[a],l=n[a];if((s===l||l.categoryMatchesMap[s.tokenTypeIdx]!==void 0)===!1)continue e}return!0}}return!1}i(dl,"containsPath");o(dl,"containsPath");function $E(e,t){return e.length<t.length&&Ot(e,(r,n)=>{let a=t[n];return r===a||a.categoryMatchesMap[r.tokenTypeIdx]})}i($E,"isStrictPrefixOfPath");o($E,"isStrictPrefixOfPath");function Jd(e){return Ot(e,t=>Ot(t,r=>Ot(r,n=>me(n.categoryMatches))))}i(Jd,"areTokenCategoriesNotUsed");o(Jd,"areTokenCategoriesNotUsed");function RE(e){let t=e.lookaheadStrategy.validate({rules:e.rules,tokenTypes:e.tokenTypes,grammarName:e.grammarName});return z(t,r=>Object.assign({type:rt.CUSTOM_LOOKAHEAD_VALIDATION},r))}i(RE,"validateLookahead");o(RE,"validateLookahead");function AE(e,t,r,n){let a=$t(e,c=>EE(c,r)),s=OE(e,t,r),l=$t(e,c=>IE(c,r)),u=$t(e,c=>bE(c,e,n,r));return a.concat(s,l,u)}i(AE,"validateGrammar");o(AE,"validateGrammar");function EE(e,t){let r=new JL;e.accept(r);let n=r.allProductions,a=fL(n,CE),s=xt(a,u=>u.length>1);return z(Me(s),u=>{let c=Dt(u),f=t.buildDuplicateFoundError(e,u),p=wt(c),d={message:f,type:rt.DUPLICATE_PRODUCTIONS,ruleName:e.name,dslName:p,occurrence:c.idx},h=Zd(c);return h&&(d.parameter=h),d})}i(EE,"validateDuplicateProductions");o(EE,"validateDuplicateProductions");function CE(e){return`${wt(e)}_#_${e.idx}_#_${Zd(e)}`}i(CE,"identifyProductionForDuplicates");o(CE,"identifyProductionForDuplicates");function Zd(e){return e instanceof ve?e.terminalType.name:e instanceof tt?e.nonTerminalName:""}i(Zd,"getExtraProductionArgument");o(Zd,"getExtraProductionArgument");var JL=class extends Xa{static{i(this,"OccurrenceValidationCollector")}static{o(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 bE(e,t,r,n){let a=[];if(ht(t,(l,u)=>u.name===e.name?l+1:l,0)>1){let l=n.buildDuplicateRuleNameError({topLevelRule:e,grammarName:r});a.push({message:l,type:rt.DUPLICATE_RULE_NAME,ruleName:e.name})}return a}i(bE,"validateRuleDoesNotAlreadyExist");o(bE,"validateRuleDoesNotAlreadyExist");function _E(e,t,r){let n=[],a;return at(t,e)||(a=`Invalid rule override, rule: ->${e}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:a,type:rt.INVALID_RULE_OVERRIDE,ruleName:e})),n}i(_E,"validateRuleIsOverridden");o(_E,"validateRuleIsOverridden");function Qd(e,t,r,n=[]){let a=[],s=os(t.definition);if(me(s))return[];{let l=e.name;at(s,e)&&a.push({message:r.buildLeftRecursionError({topLevelRule:e,leftRecursionPath:n}),type:rt.LEFT_RECURSION,ruleName:l});let c=iu(s,n.concat([e])),f=$t(c,p=>{let d=We(n);return d.push(p),Qd(e,p,r,d)});return a.concat(f)}}i(Qd,"validateNoLeftRecursion");o(Qd,"validateNoLeftRecursion");function os(e){let t=[];if(me(e))return t;let r=Dt(e);if(r instanceof tt)t.push(r.referencedRule);else if(r instanceof lt||r instanceof qe||r instanceof yt||r instanceof gt||r instanceof ut||r instanceof be)t=t.concat(os(r.definition));else if(r instanceof ct)t=kt(z(r.definition,s=>os(s.definition)));else if(!(r instanceof ve))throw Error("non exhaustive match");let n=vs(r),a=e.length>1;if(n&&a){let s=Be(e);return t.concat(os(s))}else return t}i(os,"getFirstNoneTerminal");o(os,"getFirstNoneTerminal");var em=class extends Xa{static{i(this,"OrCollector")}static{o(this,"OrCollector")}constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function SE(e,t){let r=new em;e.accept(r);let n=r.alternations;return $t(n,s=>{let l=gs(s.definition);return $t(l,(u,c)=>{let f=Yd([u],[],Za,1);return me(f)?[{message:t.buildEmptyAlternationError({topLevelRule:e,alternation:s,emptyChoiceIdx:c}),type:rt.NONE_LAST_EMPTY_ALT,ruleName:e.name,occurrence:s.idx,alternative:c+1}]:[]})})}i(SE,"validateEmptyOrAlternative");o(SE,"validateEmptyOrAlternative");function wE(e,t,r){let n=new em;e.accept(n);let a=n.alternations;return a=su(a,l=>l.ignoreAmbiguities===!0),$t(a,l=>{let u=l.idx,c=l.maxLookahead||t,f=Ws(u,e,c,l),p=PE(f,l,e,r),d=kE(f,l,e,r);return p.concat(d)})}i(wE,"validateAmbiguousAlternationAlternatives");o(wE,"validateAmbiguousAlternationAlternatives");var ZL=class extends Xa{static{i(this,"RepetitionCollector")}static{o(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 IE(e,t){let r=new em;e.accept(r);let n=r.alternations;return $t(n,s=>s.definition.length>255?[{message:t.buildTooManyAlternativesError({topLevelRule:e,alternation:s}),type:rt.TOO_MANY_ALTS,ruleName:e.name,occurrence:s.idx}]:[])}i(IE,"validateTooManyAlts");o(IE,"validateTooManyAlts");function NE(e,t,r){let n=[];return q(e,a=>{let s=new ZL;a.accept(s);let l=s.allProductions;q(l,u=>{let c=cu(u),f=u.maxLookahead||t,p=u.idx,h=Vs(p,a,c,f)[0];if(me(kt(h))){let v=r.buildEmptyRepetitionError({topLevelRule:a,repetition:u});n.push({message:v,type:rt.NO_NON_EMPTY_LOOKAHEAD,ruleName:a.name})}})}),n}i(NE,"validateSomeNonEmptyLookaheadPath");o(NE,"validateSomeNonEmptyLookaheadPath");function PE(e,t,r,n){let a=[],s=ht(e,(u,c,f)=>(t.definition[f].ignoreAmbiguities===!0||q(c,p=>{let d=[f];q(e,(h,v)=>{f!==v&&dl(h,p)&&t.definition[v].ignoreAmbiguities!==!0&&d.push(v)}),d.length>1&&!dl(a,p)&&(a.push(p),u.push({alts:d,path:p}))}),u),[]);return z(s,u=>{let c=z(u.alts,p=>p+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:c,prefixPath:u.path}),type:rt.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:t.idx,alternatives:u.alts}})}i(PE,"checkAlternativesAmbiguities");o(PE,"checkAlternativesAmbiguities");function kE(e,t,r,n){let a=ht(e,(l,u,c)=>{let f=z(u,p=>({idx:c,path:p}));return l.concat(f)},[]);return Ks($t(a,l=>{if(t.definition[l.idx].ignoreAmbiguities===!0)return[];let c=l.idx,f=l.path,p=Ct(a,h=>t.definition[h.idx].ignoreAmbiguities!==!0&&h.idx<c&&$E(h.path,f));return z(p,h=>{let v=[h.idx+1,c+1],T=t.idx===0?"":t.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:v,prefixPath:h.path}),type:rt.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:T,alternatives:v}})}))}i(kE,"checkPrefixAlternativesAmbiguities");o(kE,"checkPrefixAlternativesAmbiguities");function OE(e,t,r){let n=[],a=z(t,s=>s.name);return q(e,s=>{let l=s.name;if(at(a,l)){let u=r.buildNamespaceConflictError(s);n.push({message:u,type:rt.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:l})}}),n}i(OE,"checkTerminalAndNoneTerminalsNameSpace");o(OE,"checkTerminalAndNoneTerminalsNameSpace");function LE(e){let t=Md(e,{errMsgProvider:BL}),r={};return q(e.rules,n=>{r[n.name]=n}),pE(r,t.errMsgProvider)}i(LE,"resolveGrammar2");o(LE,"resolveGrammar");function DE(e){return e=Md(e,{errMsgProvider:vn}),AE(e.rules,e.tokenTypes,e.errMsgProvider,e.grammarName)}i(DE,"validateGrammar2");o(DE,"validateGrammar");var xE="MismatchedTokenException",ME="NoViableAltException",GE="EarlyExitException",FE="NotAllInputParsedException",zE=[xE,ME,GE,FE];Object.freeze(zE);function $s(e){return at(zE,e.name)}i($s,"isRecognitionException");o($s,"isRecognitionException");var fu=class extends Error{static{i(this,"RecognitionException")}static{o(this,"RecognitionException")}constructor(e,t){super(e),this.token=t,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},jE=class extends fu{static{i(this,"MismatchedTokenException")}static{o(this,"MismatchedTokenException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=xE}},QL=class extends fu{static{i(this,"NoViableAltException")}static{o(this,"NoViableAltException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=ME}},eD=class extends fu{static{i(this,"NotAllInputParsedException")}static{o(this,"NotAllInputParsedException")}constructor(e,t){super(e,t),this.name=FE}},tD=class extends fu{static{i(this,"EarlyExitException")}static{o(this,"EarlyExitException")}constructor(e,t,r){super(e,t),this.previousToken=r,this.name=GE}},Uu={},UE="InRuleRecoveryException",rD=class extends Error{static{i(this,"InRuleRecoveryException")}static{o(this,"InRuleRecoveryException")}constructor(e){super(e),this.name=UE}},nD=class{static{i(this,"Recoverable")}static{o(this,"Recoverable")}initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=K(e,"recoveryEnabled")?e.recoveryEnabled:Tr.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=KE)}getTokenToInsert(e){let t=qs(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,t,r,n){let a=this.findReSyncTokenType(),s=this.exportLexerState(),l=[],u=!1,c=this.LA(1),f=this.LA(1),p=o(()=>{let d=this.LA(0),h=this.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:c,previous:d,ruleName:this.getCurrRuleFullName()}),v=new jE(h,c,this.LA(0));v.resyncedTokens=gs(l),this.SAVE_ERROR(v)},"generateErrorMessage");for(;!u;)if(this.tokenMatcher(f,n)){p();return}else if(r.call(this)){p(),e.apply(this,t);return}else this.tokenMatcher(f,a)?u=!0:(f=this.SKIP_TOKEN(),this.addToResyncTokens(f,l));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,t,r){return!(r===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))}getFollowsForInRuleRecovery(e,t){let r=this.getCurrentGrammarPath(e,t);return this.getNextPossibleTokenTypes(r)}tryInRuleRecovery(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let r=this.SKIP_TOKEN();return this.consumeToken(),r}throw new rD("sad sad panda")}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,t){if(!this.canTokenTypeBeInsertedInRecovery(e)||me(t))return!1;let r=this.LA(1);return Ka(t,a=>this.tokenMatcher(r,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let t=this.getCurrFollowKey(),r=this.getFollowSetFromFollowKey(t);return at(r,e)}findReSyncTokenType(){let e=this.flattenFollowSet(),t=this.LA(1),r=2;for(;;){let n=Ka(e,a=>Hd(t,a));if(n!==void 0)return n;t=this.LA(r),r++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return Uu;let e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(r)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,t=this.RULE_OCCURRENCE_STACK;return z(e,(r,n)=>n===0?Uu:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:t[n],inRule:this.shortRuleNameToFullName(e[n-1])})}flattenFollowSet(){let e=z(this.buildFullFollowKeyStack(),t=>this.getFollowSetFromFollowKey(t));return kt(e)}getFollowSetFromFollowKey(e){if(e===Uu)return[Dr];let t=e.ruleName+e.idxInCallingRule+wA+e.inRule;return this.resyncFollows[t]}addToResyncTokens(e,t){return this.tokenMatcher(e,Dr)||t.push(e),t}reSyncTo(e){let t=[],r=this.LA(1);for(;this.tokenMatcher(r,e)===!1;)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,t);return gs(t)}attemptInRepetitionRecovery(e,t,r,n,a,s,l){}getCurrentGrammarPath(e,t){let r=this.getHumanReadableRuleStack(),n=We(this.RULE_OCCURRENCE_STACK);return{ruleStack:r,occurrenceStack:n,lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){return z(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};function KE(e,t,r,n,a,s,l){let u=this.getKeyForAutomaticLookahead(n,a),c=this.firstAfterRepMap[u];if(c===void 0){let h=this.getCurrRuleFullName(),v=this.getGAstProductions()[h];c=new s(v,a).startWalking(),this.firstAfterRepMap[u]=c}let f=c.token,p=c.occurrence,d=c.isEndOfRule;this.RULE_STACK.length===1&&d&&f===void 0&&(f=Dr,p=1),!(f===void 0||p===void 0)&&this.shouldInRepetitionRecoveryBeTried(f,p,l)&&this.tryInRepetitionRecovery(e,t,r,f)}i(KE,"attemptInRepetitionRecovery");o(KE,"attemptInRepetitionRecovery");var aD=4,jr=8,iD=8,BE=1<<jr,qE=2<<jr,If=3<<jr,Nf=4<<jr,Pf=5<<jr,Io=6<<jr;function No(e,t,r){return r|t|e}i(No,"getKeyForAutomaticLookahead");o(No,"getKeyForAutomaticLookahead");var JF=32-iD,tm=class{static{i(this,"LLkLookaheadStrategy")}static{o(this,"LLkLookaheadStrategy")}constructor(e){var t;this.maxLookahead=(t=e?.maxLookahead)!==null&&t!==void 0?t:Tr.maxLookahead}validate(e){let t=this.validateNoLeftRecursion(e.rules);if(me(t)){let r=this.validateEmptyOrAlternatives(e.rules),n=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),a=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...t,...r,...n,...a]}return t}validateNoLeftRecursion(e){return $t(e,t=>Qd(t,t,vn))}validateEmptyOrAlternatives(e){return $t(e,t=>SE(t,vn))}validateAmbiguousAlternationAlternatives(e,t){return $t(e,r=>wE(r,t,vn))}validateSomeNonEmptyLookaheadPath(e,t){return NE(e,t,vn)}buildLookaheadForAlternation(e){return mE(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,yE)}buildLookaheadForOptional(e){return hE(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,cu(e.prodType),gE)}},sD=class{static{i(this,"LooksAhead")}static{o(this,"LooksAhead")}initLooksAhead(e){this.dynamicTokensEnabled=K(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Tr.dynamicTokensEnabled,this.maxLookahead=K(e,"maxLookahead")?e.maxLookahead:Tr.maxLookahead,this.lookaheadStrategy=K(e,"lookaheadStrategy")?e.lookaheadStrategy:new tm({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){q(e,t=>{this.TRACE_INIT(`${t.name} Rule Lookahead`,()=>{let{alternation:r,repetition:n,option:a,repetitionMandatory:s,repetitionMandatoryWithSeparator:l,repetitionWithSeparator:u}=WE(t);q(r,c=>{let f=c.idx===0?"":c.idx;this.TRACE_INIT(`${wt(c)}${f}`,()=>{let p=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:c.idx,rule:t,maxLookahead:c.maxLookahead||this.maxLookahead,hasPredicates:c.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),d=No(this.fullRuleNameToShort[t.name],BE,c.idx);this.setLaFuncCache(d,p)})}),q(n,c=>{this.computeLookaheadFunc(t,c.idx,If,"Repetition",c.maxLookahead,wt(c))}),q(a,c=>{this.computeLookaheadFunc(t,c.idx,qE,"Option",c.maxLookahead,wt(c))}),q(s,c=>{this.computeLookaheadFunc(t,c.idx,Nf,"RepetitionMandatory",c.maxLookahead,wt(c))}),q(l,c=>{this.computeLookaheadFunc(t,c.idx,Io,"RepetitionMandatoryWithSeparator",c.maxLookahead,wt(c))}),q(u,c=>{this.computeLookaheadFunc(t,c.idx,Pf,"RepetitionWithSeparator",c.maxLookahead,wt(c))})})})}computeLookaheadFunc(e,t,r,n,a,s){this.TRACE_INIT(`${s}${t===0?"":t}`,()=>{let l=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:t,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:n}),u=No(this.fullRuleNameToShort[e.name],r,t);this.setLaFuncCache(u,l)})}getKeyForAutomaticLookahead(e,t){let r=this.getLastExplicitRuleShortName();return No(r,e,t)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,t){this.lookAheadFuncsCache.set(e,t)}},oD=class extends Xa{static{i(this,"DslMethodsCollectorVisitor")}static{o(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)}},Qs=new oD;function WE(e){Qs.reset(),e.accept(Qs);let t=Qs.dslMethods;return Qs.reset(),t}i(WE,"collectMethods");o(WE,"collectMethods");function kf(e,t){isNaN(e.startOffset)===!0?(e.startOffset=t.startOffset,e.endOffset=t.endOffset):e.endOffset<t.endOffset&&(e.endOffset=t.endOffset)}i(kf,"setNodeLocationOnlyOffset");o(kf,"setNodeLocationOnlyOffset");function Of(e,t){isNaN(e.startOffset)===!0?(e.startOffset=t.startOffset,e.startColumn=t.startColumn,e.startLine=t.startLine,e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine):e.endOffset<t.endOffset&&(e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine)}i(Of,"setNodeLocationFull");o(Of,"setNodeLocationFull");function VE(e,t,r){e.children[r]===void 0?e.children[r]=[t]:e.children[r].push(t)}i(VE,"addTerminalToCst");o(VE,"addTerminalToCst");function HE(e,t,r){e.children[t]===void 0?e.children[t]=[r]:e.children[t].push(r)}i(HE,"addNoneTerminalToCst");o(HE,"addNoneTerminalToCst");var lD="name";function rm(e,t){Object.defineProperty(e,lD,{enumerable:!1,configurable:!0,writable:!1,value:t})}i(rm,"defineNameProp");o(rm,"defineNameProp");function YE(e,t){let r=dt(e),n=r.length;for(let a=0;a<n;a++){let s=r[a],l=e[s],u=l.length;for(let c=0;c<u;c++){let f=l[c];f.tokenTypeIdx===void 0&&this[f.name](f.children,t)}}}i(YE,"defaultVisit");o(YE,"defaultVisit");function XE(e,t){let r=o(function(){},"derivedConstructor");rm(r,e+"BaseSemantics");let n={visit:o(function(a,s){if(re(a)&&(a=a[0]),!gr(a))return this[a.name](a.children,s)},"visit"),validateVisitor:o(function(){let a=ZE(this,t);if(!me(a)){let s=z(a,l=>l.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=t,r}i(XE,"createBaseSemanticVisitorConstructor");o(XE,"createBaseSemanticVisitorConstructor");function JE(e,t,r){let n=o(function(){},"derivedConstructor");rm(n,e+"BaseSemanticsWithDefaults");let a=Object.create(r.prototype);return q(t,s=>{a[s]=YE}),n.prototype=a,n.prototype.constructor=n,n}i(JE,"createBaseVisitorConstructorWithDefaults");o(JE,"createBaseVisitorConstructorWithDefaults");var Lf;(function(e){e[e.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",e[e.MISSING_METHOD=1]="MISSING_METHOD"})(Lf||(Lf={}));function ZE(e,t){return QE(e,t)}i(ZE,"validateVisitor");o(ZE,"validateVisitor");function QE(e,t){let r=Ct(t,a=>Er(e[a])===!1),n=z(r,a=>({msg:`Missing visitor method: <${a}> on ${e.constructor.name} CST Visitor.`,type:Lf.MISSING_METHOD,methodName:a}));return Ks(n)}i(QE,"validateMissingCstMethods");o(QE,"validateMissingCstMethods");var uD=class{static{i(this,"TreeBuilder")}static{o(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=K(e,"nodeLocationTracking")?e.nodeLocationTracking:Tr.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=Fe,this.cstFinallyStateUpdate=Fe,this.cstPostTerminal=Fe,this.cstPostNonTerminal=Fe,this.cstPostRule=Fe;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Of,this.setNodeLocationFromNode=Of,this.cstPostRule=Fe,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=Fe,this.setNodeLocationFromNode=Fe,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=kf,this.setNodeLocationFromNode=kf,this.cstPostRule=Fe,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=Fe,this.setNodeLocationFromNode=Fe,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=Fe,this.setNodeLocationFromNode=Fe,this.cstPostRule=Fe,this.setInitialNodeLocation=Fe;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 t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let t={name:e,children:Object.create(null)};this.setInitialNodeLocation(t),this.CST_STACK.push(t)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let t=this.LA(0),r=e.location;r.startOffset<=t.startOffset?(r.endOffset=t.endOffset,r.endLine=t.endLine,r.endColumn=t.endColumn):(r.startOffset=NaN,r.startLine=NaN,r.startColumn=NaN)}cstPostRuleOnlyOffset(e){let t=this.LA(0),r=e.location;r.startOffset<=t.startOffset?r.endOffset=t.endOffset:r.startOffset=NaN}cstPostTerminal(e,t){let r=this.CST_STACK[this.CST_STACK.length-1];VE(r,t,e),this.setNodeLocationFromToken(r.location,t)}cstPostNonTerminal(e,t){let r=this.CST_STACK[this.CST_STACK.length-1];HE(r,t,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(gr(this.baseCstVisitorConstructor)){let e=XE(this.className,dt(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(gr(this.baseCstVisitorWithDefaultsConstructor)){let e=JE(this.className,dt(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}},cD=class{static{i(this,"LexerAdapter")}static{o(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)):ml}LA(e){let t=this.currIdx+e;return t<0||this.tokVectorLength<=t?ml:this.tokVector[t]}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()}},fD=class{static{i(this,"RecognizerApi")}static{o(this,"RecognizerApi")}ACTION(e){return e.call(this)}consume(e,t,r){return this.consumeInternal(t,e,r)}subrule(e,t,r){return this.subruleInternal(t,e,r)}option(e,t){return this.optionInternal(t,e)}or(e,t){return this.orInternal(t,e)}many(e,t){return this.manyInternal(e,t)}atLeastOne(e,t){return this.atLeastOneInternal(e,t)}CONSUME(e,t){return this.consumeInternal(e,0,t)}CONSUME1(e,t){return this.consumeInternal(e,1,t)}CONSUME2(e,t){return this.consumeInternal(e,2,t)}CONSUME3(e,t){return this.consumeInternal(e,3,t)}CONSUME4(e,t){return this.consumeInternal(e,4,t)}CONSUME5(e,t){return this.consumeInternal(e,5,t)}CONSUME6(e,t){return this.consumeInternal(e,6,t)}CONSUME7(e,t){return this.consumeInternal(e,7,t)}CONSUME8(e,t){return this.consumeInternal(e,8,t)}CONSUME9(e,t){return this.consumeInternal(e,9,t)}SUBRULE(e,t){return this.subruleInternal(e,0,t)}SUBRULE1(e,t){return this.subruleInternal(e,1,t)}SUBRULE2(e,t){return this.subruleInternal(e,2,t)}SUBRULE3(e,t){return this.subruleInternal(e,3,t)}SUBRULE4(e,t){return this.subruleInternal(e,4,t)}SUBRULE5(e,t){return this.subruleInternal(e,5,t)}SUBRULE6(e,t){return this.subruleInternal(e,6,t)}SUBRULE7(e,t){return this.subruleInternal(e,7,t)}SUBRULE8(e,t){return this.subruleInternal(e,8,t)}SUBRULE9(e,t){return this.subruleInternal(e,9,t)}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,t,r=hl){if(at(this.definedRulesNames,e)){let s={message:vn.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:rt.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);let n=this.defineRule(e,t,r);return this[e]=n,n}OVERRIDE_RULE(e,t,r=hl){let n=_E(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(n);let a=this.defineRule(e,t,r);return this[e]=a,a}BACKTRACK(e,t){return function(){this.isBackTrackingStack.push(1);let r=this.saveRecogState();try{return e.apply(this,t),!0}catch(n){if($s(n))return!1;throw n}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return AA(Me(this.gastProductionsCache))}},pD=class{static{i(this,"RecognizerEngine")}static{o(this,"RecognizerEngine")}initRecognizerEngine(e,t){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Ts,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},K(t,"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(re(e)){if(me(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(re(e))this.tokensMap=ht(e,(a,s)=>(a[s.name]=s,a),{});else if(K(e,"modes")&&Ot(kt(Me(e.modes)),cE)){let a=kt(Me(e.modes)),s=Gd(a);this.tokensMap=ht(s,(l,u)=>(l[u.name]=u,l),{})}else if(At(e))this.tokensMap=We(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=Dr;let r=K(e,"modes")?kt(Me(e.modes)):Me(e),n=Ot(r,a=>me(a.categoryMatches));this.tokenMatcher=n?Ts:Za,Qa(Me(this.tokensMap))}defineRule(e,t,r){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 n=K(r,"resyncEnabled")?r.resyncEnabled:hl.resyncEnabled,a=K(r,"recoveryValueFunc")?r.recoveryValueFunc:hl.recoveryValueFunc,s=this.ruleShortNameIdx<<aD+jr;this.ruleShortNameIdx++,this.shortRuleNameToFull[s]=e,this.fullRuleNameToShort[e]=s;let l;return this.outputCst===!0?l=o(i(function(...f){try{this.ruleInvocationStateUpdate(s,e,this.subruleIdx),t.apply(this,f);let p=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(p),p}catch(p){return this.invokeRuleCatch(p,n,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry2"),"invokeRuleWithTry"):l=o(i(function(...f){try{return this.ruleInvocationStateUpdate(s,e,this.subruleIdx),t.apply(this,f)}catch(p){return this.invokeRuleCatch(p,n,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),"invokeRuleWithTryCst"),Object.assign(l,{ruleName:e,originalGrammarAction:t})}invokeRuleCatch(e,t,r){let n=this.RULE_STACK.length===1,a=t&&!this.isBackTracking()&&this.recoveryEnabled;if($s(e)){let s=e;if(a){let l=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(l))if(s.resyncedTokens=this.reSyncTo(l),this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];return u.recoveredNode=!0,u}else return r(e);else{if(this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];u.recoveredNode=!0,s.partialCstResult=u}throw s}}else{if(n)return this.moveToTerminatedState(),r(e);throw s}}else throw e}optionInternal(e,t){let r=this.getKeyForAutomaticLookahead(qE,t);return this.optionInternalLogic(e,t,r)}optionInternalLogic(e,t,r){let n=this.getLaFuncFromCache(r),a;if(typeof e!="function"){a=e.DEF;let s=e.GATE;if(s!==void 0){let l=n;n=o(()=>s.call(this)&&l.call(this),"lookAheadFunc")}}else a=e;if(n.call(this)===!0)return a.call(this)}atLeastOneInternal(e,t){let r=this.getKeyForAutomaticLookahead(Nf,e);return this.atLeastOneInternalLogic(e,t,r)}atLeastOneInternalLogic(e,t,r){let n=this.getLaFuncFromCache(r),a;if(typeof t!="function"){a=t.DEF;let s=t.GATE;if(s!==void 0){let l=n;n=o(()=>s.call(this)&&l.call(this),"lookAheadFunc")}}else a=t;if(n.call(this)===!0){let s=this.doSingleRepetition(a);for(;n.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,Re.REPETITION_MANDATORY,t.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],n,Nf,e,YL)}atLeastOneSepFirstInternal(e,t){let r=this.getKeyForAutomaticLookahead(Io,e);this.atLeastOneSepFirstInternalLogic(e,t,r)}atLeastOneSepFirstInternalLogic(e,t,r){let n=t.DEF,a=t.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){n.call(this);let l=o(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,l,n,Yh],l,Io,e,Yh)}else throw this.raiseEarlyExitException(e,Re.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG)}manyInternal(e,t){let r=this.getKeyForAutomaticLookahead(If,e);return this.manyInternalLogic(e,t,r)}manyInternalLogic(e,t,r){let n=this.getLaFuncFromCache(r),a;if(typeof t!="function"){a=t.DEF;let l=t.GATE;if(l!==void 0){let u=n;n=o(()=>l.call(this)&&u.call(this),"lookaheadFunction")}}else a=t;let s=!0;for(;n.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],n,If,e,HL,s)}manySepFirstInternal(e,t){let r=this.getKeyForAutomaticLookahead(Pf,e);this.manySepFirstInternalLogic(e,t,r)}manySepFirstInternalLogic(e,t,r){let n=t.DEF,a=t.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){n.call(this);let l=o(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,l,n,Hh],l,Pf,e,Hh)}}repetitionSepSecondInternal(e,t,r,n,a){for(;r();)this.CONSUME(t),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,r,n,a],r,Io,e,a)}doSingleRepetition(e){let t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){let r=this.getKeyForAutomaticLookahead(BE,t),n=re(e)?e:e.DEF,s=this.getLaFuncFromCache(r).call(this,n);if(s!==void 0)return n[s].ALT.call(this);this.raiseNoAltException(t,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),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new eD(t,e))}}subruleInternal(e,t,r){let n;try{let a=r!==void 0?r.ARGS:void 0;return this.subruleIdx=t,n=e.apply(this,a),this.cstPostNonTerminal(n,r!==void 0&&r.LABEL!==void 0?r.LABEL:e.ruleName),n}catch(a){throw this.subruleInternalError(a,r,e.ruleName)}}subruleInternalError(e,t,r){throw $s(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,t!==void 0&&t.LABEL!==void 0?t.LABEL:r),delete e.partialCstResult),e}consumeInternal(e,t,r){let n;try{let a=this.LA(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),n=a):this.consumeInternalError(e,a,r)}catch(a){n=this.consumeInternalRecovery(e,t,a)}return this.cstPostTerminal(r!==void 0&&r.LABEL!==void 0?r.LABEL:e.name,n),n}consumeInternalError(e,t,r){let n,a=this.LA(0);throw r!==void 0&&r.ERR_MSG?n=r.ERR_MSG:n=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new jE(n,t,a))}consumeInternalRecovery(e,t,r){if(this.recoveryEnabled&&r.name==="MismatchedTokenException"&&!this.isBackTracking()){let n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(a){throw a.name===UE?r:a}}else throw r}saveRecogState(){let e=this.errors,t=We(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,t,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t)}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),Dr)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}},dD=class{static{i(this,"ErrorHandler")}static{o(this,"ErrorHandler")}initErrorHandler(e){this._errors=[],this.errorMessageProvider=K(e,"errorMessageProvider")?e.errorMessageProvider:Tr.errorMessageProvider}SAVE_ERROR(e){if($s(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:We(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return We(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,t,r){let n=this.getCurrRuleFullName(),a=this.getGAstProductions()[n],l=Vs(e,a,t,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:r,ruleName:n});throw this.SAVE_ERROR(new tD(c,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){let r=this.getCurrRuleFullName(),n=this.getGAstProductions()[r],a=Ws(e,n,this.maxLookahead),s=[];for(let c=1;c<=this.maxLookahead;c++)s.push(this.LA(c));let l=this.LA(0),u=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:a,actual:s,previous:l,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new QL(u,this.LA(1),l))}},mD=class{static{i(this,"ContentAssist")}static{o(this,"ContentAssist")}initContentAssist(){}computeContentAssist(e,t){let r=this.gastProductionsCache[e];if(gr(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return Yd([r],t,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let t=Dt(e.ruleStack),n=this.getGAstProductions()[t];return new VL(n,e).startWalking()}},pu={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(pu);var Xh=!0,Jh=Math.pow(2,jr)-1,eC=Oa({name:"RECORDING_PHASE_TOKEN",pattern:Qe.NA});Qa([eC]);var tC=qs(eC,`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(tC);var hD={name:`This CSTNode indicates the Parser is in Recording Phase
	See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},yD=class{static{i(this,"GastRecorder")}static{o(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 t=e>0?e:"";this[`CONSUME${t}`]=function(r,n){return this.consumeInternalRecord(r,e,n)},this[`SUBRULE${t}`]=function(r,n){return this.subruleInternalRecord(r,e,n)},this[`OPTION${t}`]=function(r){return this.optionInternalRecord(r,e)},this[`OR${t}`]=function(r){return this.orInternalRecord(r,e)},this[`MANY${t}`]=function(r){this.manyInternalRecord(e,r)},this[`MANY_SEP${t}`]=function(r){this.manySepFirstInternalRecord(e,r)},this[`AT_LEAST_ONE${t}`]=function(r){this.atLeastOneInternalRecord(e,r)},this[`AT_LEAST_ONE_SEP${t}`]=function(r){this.atLeastOneSepFirstInternalRecord(e,r)}}this.consume=function(e,t,r){return this.consumeInternalRecord(t,e,r)},this.subrule=function(e,t,r){return this.subruleInternalRecord(t,e,r)},this.option=function(e,t){return this.optionInternalRecord(t,e)},this.or=function(e,t){return this.orInternalRecord(t,e)},this.many=function(e,t){this.manyInternalRecord(e,t)},this.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},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 t=0;t<10;t++){let r=t>0?t:"";delete e[`CONSUME${r}`],delete e[`SUBRULE${r}`],delete e[`OPTION${r}`],delete e[`OR${r}`],delete e[`MANY${r}`],delete e[`MANY_SEP${r}`],delete e[`AT_LEAST_ONE${r}`],delete e[`AT_LEAST_ONE_SEP${r}`]}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,t){return()=>!0}LA_RECORD(e){return ml}topLevelRuleRecord(e,t){try{let r=new Ya({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),t.call(this),this.recordingProdStack.pop(),r}catch(r){if(r.KNOWN_RECORDER_ERROR!==!0)try{r.message=r.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 r}throw r}}optionInternalRecord(e,t){return da.call(this,qe,e,t)}atLeastOneInternalRecord(e,t){da.call(this,yt,t,e)}atLeastOneSepFirstInternalRecord(e,t){da.call(this,gt,t,e,Xh)}manyInternalRecord(e,t){da.call(this,be,t,e)}manySepFirstInternalRecord(e,t){da.call(this,ut,t,e,Xh)}orInternalRecord(e,t){return rC.call(this,e,t)}subruleInternalRecord(e,t,r){if(Rs(t),!e||K(e,"ruleName")===!1){let l=new Error(`<SUBRULE${Df(t)}> 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 n=Cn(this.recordingProdStack),a=e.ruleName,s=new tt({idx:t,nonTerminalName:a,label:r?.LABEL,referencedRule:void 0});return n.definition.push(s),this.outputCst?hD:pu}consumeInternalRecord(e,t,r){if(Rs(t),!Wd(e)){let s=new Error(`<CONSUME${Df(t)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
 inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}let n=Cn(this.recordingProdStack),a=new ve({idx:t,terminalType:e,label:r?.LABEL});return n.definition.push(a),tC}};function da(e,t,r,n=!1){Rs(r);let a=Cn(this.recordingProdStack),s=Er(t)?t:t.DEF,l=new e({definition:[],idx:r});return n&&(l.separator=t.SEP),K(t,"MAX_LOOKAHEAD")&&(l.maxLookahead=t.MAX_LOOKAHEAD),this.recordingProdStack.push(l),s.call(this),a.definition.push(l),this.recordingProdStack.pop(),pu}i(da,"recordProd");o(da,"recordProd");function rC(e,t){Rs(t);let r=Cn(this.recordingProdStack),n=re(e)===!1,a=n===!1?e:e.DEF,s=new ct({definition:[],idx:t,ignoreAmbiguities:n&&e.IGNORE_AMBIGUITIES===!0});K(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD);let l=gA(a,u=>Er(u.GATE));return s.hasPredicates=l,r.definition.push(s),q(a,u=>{let c=new lt({definition:[]});s.definition.push(c),K(u,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=u.IGNORE_AMBIGUITIES:K(u,"GATE")&&(c.ignoreAmbiguities=!0),this.recordingProdStack.push(c),u.ALT.call(this),this.recordingProdStack.pop()}),pu}i(rC,"recordOrProd");o(rC,"recordOrProd");function Df(e){return e===0?"":`${e}`}i(Df,"getIdxSuffix");o(Df,"getIdxSuffix");function Rs(e){if(e<0||e>Jh){let t=new Error(`Invalid DSL Method idx value: <${e}>
	Idx value must be a none negative value smaller than ${Jh+1}`);throw t.KNOWN_RECORDER_ERROR=!0,t}}i(Rs,"assertMethodIdxIsValid");o(Rs,"assertMethodIdxIsValid");var gD=class{static{i(this,"PerformanceTracer")}static{o(this,"PerformanceTracer")}initPerformanceTracer(e){if(K(e,"traceInitPerf")){let t=e.traceInitPerf,r=typeof t=="number";this.traceInitMaxIdent=r?t:1/0,this.traceInitPerf=r?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=Tr.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;let r=new Array(this.traceInitIndent+1).join("	");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${r}--> <${e}>`);let{time:n,value:a}=zd(t),s=n>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&s(`${r}<-- <${e}> time: ${n}ms`),this.traceInitIndent--,a}else return t()}};function nC(e,t){t.forEach(r=>{let n=r.prototype;Object.getOwnPropertyNames(n).forEach(a=>{if(a==="constructor")return;let s=Object.getOwnPropertyDescriptor(n,a);s&&(s.get||s.set)?Object.defineProperty(e.prototype,a,s):e.prototype[a]=r.prototype[a]})})}i(nC,"applyMixins");o(nC,"applyMixins");var ml=qs(Dr,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(ml);var Tr=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Na,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),hl=Object.freeze({recoveryValueFunc:o(()=>{},"recoveryValueFunc"),resyncEnabled:!0}),rt;(function(e){e[e.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",e[e.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",e[e.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",e[e.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",e[e.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",e[e.LEFT_RECURSION=5]="LEFT_RECURSION",e[e.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",e[e.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",e[e.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",e[e.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",e[e.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",e[e.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",e[e.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",e[e.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(rt||(rt={}));function xf(e=void 0){return function(){return e}}i(xf,"EMPTY_ALT");o(xf,"EMPTY_ALT");var nm=class aC{static{i(this,"_Parser")}static{o(this,"Parser")}static performSelfAnalysis(t){throw Error("The **static** `performSelfAnalysis` method has been deprecated.	\nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let t;this.selfAnalysisDone=!0;let r=this.className;this.TRACE_INIT("toFastProps",()=>{jd(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),q(this.definedRulesNames,a=>{let l=this[a].originalGrammarAction,u;this.TRACE_INIT(`${a} Rule`,()=>{u=this.topLevelRuleRecord(a,l)}),this.gastProductionsCache[a]=u})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=LE({rules:Me(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(me(n)&&this.skipValidations===!1){let a=DE({rules:Me(this.gastProductionsCache),tokenTypes:Me(this.tokensMap),errMsgProvider:vn,grammarName:r}),s=RE({lookaheadStrategy:this.lookaheadStrategy,rules:Me(this.gastProductionsCache),tokenTypes:Me(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(a,s)}}),me(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let a=IA(Me(this.gastProductionsCache));this.resyncFollows=a}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var a,s;(s=(a=this.lookaheadStrategy).initialize)===null||s===void 0||s.call(a,{rules:Me(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Me(this.gastProductionsCache))})),!aC.DEFER_DEFINITION_ERRORS_HANDLING&&!me(this.definitionErrors))throw t=z(this.definitionErrors,a=>a.message),new Error(`Parser Definition Errors detected:
 ${t.join(`
-------------------------------
`)}`)})}constructor(t,r){this.definitionErrors=[],this.selfAnalysisDone=!1;let n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(t,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initContentAssist(),n.initGastRecorder(r),n.initPerformanceTracer(r),K(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=K(r,"skipValidations")?r.skipValidations:Tr.skipValidations}};nm.DEFER_DEFINITION_ERRORS_HANDLING=!1;nC(nm,[nD,sD,uD,cD,pD,fD,dD,mD,yD,gD]);var vD=class extends nm{static{i(this,"EmbeddedActionsParser")}static{o(this,"EmbeddedActionsParser")}constructor(e,t=Tr){let r=We(t);r.outputCst=!1,super(e,r)}};function iC(e,t){for(var r=-1,n=e==null?0:e.length,a=Array(n);++r<n;)a[r]=t(e[r],r,e);return a}i(iC,"arrayMap2");o(iC,"arrayMap");var sC=iC;function oC(){this.__data__=[],this.size=0}i(oC,"listCacheClear2");o(oC,"listCacheClear");var TD=oC;function lC(e,t){return e===t||e!==e&&t!==t}i(lC,"eq2");o(lC,"eq");var uC=lC;function cC(e,t){for(var r=e.length;r--;)if(uC(e[r][0],t))return r;return-1}i(cC,"assocIndexOf2");o(cC,"assocIndexOf");var du=cC,$D=Array.prototype,RD=$D.splice;function fC(e){var t=this.__data__,r=du(t,e);if(r<0)return!1;var n=t.length-1;return r==n?t.pop():RD.call(t,r,1),--this.size,!0}i(fC,"listCacheDelete2");o(fC,"listCacheDelete");var AD=fC;function pC(e){var t=this.__data__,r=du(t,e);return r<0?void 0:t[r][1]}i(pC,"listCacheGet2");o(pC,"listCacheGet");var ED=pC;function dC(e){return du(this.__data__,e)>-1}i(dC,"listCacheHas2");o(dC,"listCacheHas");var CD=dC;function mC(e,t){var r=this.__data__,n=du(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}i(mC,"listCacheSet2");o(mC,"listCacheSet");var bD=mC;function jn(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}i(jn,"ListCache2");o(jn,"ListCache");jn.prototype.clear=TD;jn.prototype.delete=AD;jn.prototype.get=ED;jn.prototype.has=CD;jn.prototype.set=bD;var mu=jn;function hC(){this.__data__=new mu,this.size=0}i(hC,"stackClear2");o(hC,"stackClear");var _D=hC;function yC(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}i(yC,"stackDelete2");o(yC,"stackDelete");var SD=yC;function gC(e){return this.__data__.get(e)}i(gC,"stackGet2");o(gC,"stackGet");var wD=gC;function vC(e){return this.__data__.has(e)}i(vC,"stackHas2");o(vC,"stackHas");var ID=vC,ND=typeof global=="object"&&global&&global.Object===Object&&global,TC=ND,PD=typeof self=="object"&&self&&self.Object===Object&&self,kD=TC||PD||Function("return this")(),Cr=kD,OD=Cr.Symbol,Jt=OD,$C=Object.prototype,LD=$C.hasOwnProperty,DD=$C.toString,bi=Jt?Jt.toStringTag:void 0;function RC(e){var t=LD.call(e,bi),r=e[bi];try{e[bi]=void 0;var n=!0}catch{}var a=DD.call(e);return n&&(t?e[bi]=r:delete e[bi]),a}i(RC,"getRawTag2");o(RC,"getRawTag");var xD=RC,MD=Object.prototype,GD=MD.toString;function AC(e){return GD.call(e)}i(AC,"objectToString2");o(AC,"objectToString");var FD=AC,zD="[object Null]",jD="[object Undefined]",Zh=Jt?Jt.toStringTag:void 0;function EC(e){return e==null?e===void 0?jD:zD:Zh&&Zh in Object(e)?xD(e):FD(e)}i(EC,"baseGetTag2");o(EC,"baseGetTag");var ei=EC;function CC(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}i(CC,"isObject2");o(CC,"isObject");var am=CC,UD="[object AsyncFunction]",KD="[object Function]",BD="[object GeneratorFunction]",qD="[object Proxy]";function bC(e){if(!am(e))return!1;var t=ei(e);return t==KD||t==BD||t==UD||t==qD}i(bC,"isFunction2");o(bC,"isFunction");var _C=bC,WD=Cr["__core-js_shared__"],Ku=WD,Qh=(function(){var e=/[^.]+$/.exec(Ku&&Ku.keys&&Ku.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})();function SC(e){return!!Qh&&Qh in e}i(SC,"isMasked2");o(SC,"isMasked");var VD=SC,HD=Function.prototype,YD=HD.toString;function wC(e){if(e!=null){try{return YD.call(e)}catch{}try{return e+""}catch{}}return""}i(wC,"toSource2");o(wC,"toSource");var Un=wC,XD=/[\\^$.*+?()[\]{}|]/g,JD=/^\[object .+?Constructor\]$/,ZD=Function.prototype,QD=Object.prototype,ex=ZD.toString,tx=QD.hasOwnProperty,rx=RegExp("^"+ex.call(tx).replace(XD,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function IC(e){if(!am(e)||VD(e))return!1;var t=_C(e)?rx:JD;return t.test(Un(e))}i(IC,"baseIsNative2");o(IC,"baseIsNative");var nx=IC;function NC(e,t){return e?.[t]}i(NC,"getValue2");o(NC,"getValue");var ax=NC;function PC(e,t){var r=ax(e,t);return nx(r)?r:void 0}i(PC,"getNative2");o(PC,"getNative");var ti=PC,ix=ti(Cr,"Map"),As=ix,sx=ti(Object,"create"),Es=sx;function kC(){this.__data__=Es?Es(null):{},this.size=0}i(kC,"hashClear2");o(kC,"hashClear");var ox=kC;function OC(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}i(OC,"hashDelete2");o(OC,"hashDelete");var lx=OC,ux="__lodash_hash_undefined__",cx=Object.prototype,fx=cx.hasOwnProperty;function LC(e){var t=this.__data__;if(Es){var r=t[e];return r===ux?void 0:r}return fx.call(t,e)?t[e]:void 0}i(LC,"hashGet2");o(LC,"hashGet");var px=LC,dx=Object.prototype,mx=dx.hasOwnProperty;function DC(e){var t=this.__data__;return Es?t[e]!==void 0:mx.call(t,e)}i(DC,"hashHas2");o(DC,"hashHas");var hx=DC,yx="__lodash_hash_undefined__";function xC(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Es&&t===void 0?yx:t,this}i(xC,"hashSet2");o(xC,"hashSet");var gx=xC;function Kn(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}i(Kn,"Hash2");o(Kn,"Hash");Kn.prototype.clear=ox;Kn.prototype.delete=lx;Kn.prototype.get=px;Kn.prototype.has=hx;Kn.prototype.set=gx;var ey=Kn;function MC(){this.size=0,this.__data__={hash:new ey,map:new(As||mu),string:new ey}}i(MC,"mapCacheClear2");o(MC,"mapCacheClear");var vx=MC;function GC(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}i(GC,"isKeyable2");o(GC,"isKeyable");var Tx=GC;function FC(e,t){var r=e.__data__;return Tx(t)?r[typeof t=="string"?"string":"hash"]:r.map}i(FC,"getMapData2");o(FC,"getMapData");var hu=FC;function zC(e){var t=hu(this,e).delete(e);return this.size-=t?1:0,t}i(zC,"mapCacheDelete2");o(zC,"mapCacheDelete");var $x=zC;function jC(e){return hu(this,e).get(e)}i(jC,"mapCacheGet2");o(jC,"mapCacheGet");var Rx=jC;function UC(e){return hu(this,e).has(e)}i(UC,"mapCacheHas2");o(UC,"mapCacheHas");var Ax=UC;function KC(e,t){var r=hu(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}i(KC,"mapCacheSet2");o(KC,"mapCacheSet");var Ex=KC;function Bn(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}i(Bn,"MapCache2");o(Bn,"MapCache");Bn.prototype.clear=vx;Bn.prototype.delete=$x;Bn.prototype.get=Rx;Bn.prototype.has=Ax;Bn.prototype.set=Ex;var yu=Bn,Cx=200;function BC(e,t){var r=this.__data__;if(r instanceof mu){var n=r.__data__;if(!As||n.length<Cx-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new yu(n)}return r.set(e,t),this.size=r.size,this}i(BC,"stackSet2");o(BC,"stackSet");var bx=BC;function qn(e){var t=this.__data__=new mu(e);this.size=t.size}i(qn,"Stack2");o(qn,"Stack");qn.prototype.clear=_D;qn.prototype.delete=SD;qn.prototype.get=wD;qn.prototype.has=ID;qn.prototype.set=bx;var Po=qn,_x="__lodash_hash_undefined__";function qC(e){return this.__data__.set(e,_x),this}i(qC,"setCacheAdd2");o(qC,"setCacheAdd");var Sx=qC;function WC(e){return this.__data__.has(e)}i(WC,"setCacheHas2");o(WC,"setCacheHas");var wx=WC;function Cs(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new yu;++t<r;)this.add(e[t])}i(Cs,"SetCache2");o(Cs,"SetCache");Cs.prototype.add=Cs.prototype.push=Sx;Cs.prototype.has=wx;var VC=Cs;function HC(e,t){for(var r=-1,n=e==null?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}i(HC,"arraySome2");o(HC,"arraySome");var Ix=HC;function YC(e,t){return e.has(t)}i(YC,"cacheHas2");o(YC,"cacheHas");var XC=YC,Nx=1,Px=2;function JC(e,t,r,n,a,s){var l=r&Nx,u=e.length,c=t.length;if(u!=c&&!(l&&c>u))return!1;var f=s.get(e),p=s.get(t);if(f&&p)return f==t&&p==e;var d=-1,h=!0,v=r&Px?new VC:void 0;for(s.set(e,t),s.set(t,e);++d<u;){var T=e[d],S=t[d];if(n)var w=l?n(S,T,d,t,e,s):n(T,S,d,e,t,s);if(w!==void 0){if(w)continue;h=!1;break}if(v){if(!Ix(t,function(N,I){if(!XC(v,I)&&(T===N||a(T,N,r,n,s)))return v.push(I)})){h=!1;break}}else if(!(T===S||a(T,S,r,n,s))){h=!1;break}}return s.delete(e),s.delete(t),h}i(JC,"equalArrays2");o(JC,"equalArrays");var ZC=JC,kx=Cr.Uint8Array,ty=kx;function QC(e){var t=-1,r=Array(e.size);return e.forEach(function(n,a){r[++t]=[a,n]}),r}i(QC,"mapToArray2");o(QC,"mapToArray");var Ox=QC;function eb(e){var t=-1,r=Array(e.size);return e.forEach(function(n){r[++t]=n}),r}i(eb,"setToArray2");o(eb,"setToArray");var im=eb,Lx=1,Dx=2,xx="[object Boolean]",Mx="[object Date]",Gx="[object Error]",Fx="[object Map]",zx="[object Number]",jx="[object RegExp]",Ux="[object Set]",Kx="[object String]",Bx="[object Symbol]",qx="[object ArrayBuffer]",Wx="[object DataView]",ry=Jt?Jt.prototype:void 0,Bu=ry?ry.valueOf:void 0;function tb(e,t,r,n,a,s,l){switch(r){case Wx:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case qx:return!(e.byteLength!=t.byteLength||!s(new ty(e),new ty(t)));case xx:case Mx:case zx:return uC(+e,+t);case Gx:return e.name==t.name&&e.message==t.message;case jx:case Kx:return e==t+"";case Fx:var u=Ox;case Ux:var c=n&Lx;if(u||(u=im),e.size!=t.size&&!c)return!1;var f=l.get(e);if(f)return f==t;n|=Dx,l.set(e,t);var p=ZC(u(e),u(t),n,a,s,l);return l.delete(e),p;case Bx:if(Bu)return Bu.call(e)==Bu.call(t)}return!1}i(tb,"equalByTag2");o(tb,"equalByTag");var Vx=tb;function rb(e,t){for(var r=-1,n=t.length,a=e.length;++r<n;)e[a+r]=t[r];return e}i(rb,"arrayPush2");o(rb,"arrayPush");var nb=rb,Hx=Array.isArray,nt=Hx;function ab(e,t,r){var n=t(e);return nt(e)?n:nb(n,r(e))}i(ab,"baseGetAllKeys2");o(ab,"baseGetAllKeys");var Yx=ab;function ib(e,t){for(var r=-1,n=e==null?0:e.length,a=0,s=[];++r<n;){var l=e[r];t(l,r,e)&&(s[a++]=l)}return s}i(ib,"arrayFilter2");o(ib,"arrayFilter");var sb=ib;function ob(){return[]}i(ob,"stubArray2");o(ob,"stubArray");var Xx=ob,Jx=Object.prototype,Zx=Jx.propertyIsEnumerable,ny=Object.getOwnPropertySymbols,Qx=ny?function(e){return e==null?[]:(e=Object(e),sb(ny(e),function(t){return Zx.call(e,t)}))}:Xx,eM=Qx;function lb(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}i(lb,"baseTimes2");o(lb,"baseTimes");var tM=lb;function ub(e){return e!=null&&typeof e=="object"}i(ub,"isObjectLike2");o(ub,"isObjectLike");var Ba=ub,rM="[object Arguments]";function cb(e){return Ba(e)&&ei(e)==rM}i(cb,"baseIsArguments2");o(cb,"baseIsArguments");var ay=cb,fb=Object.prototype,nM=fb.hasOwnProperty,aM=fb.propertyIsEnumerable,iM=ay((function(){return arguments})())?ay:function(e){return Ba(e)&&nM.call(e,"callee")&&!aM.call(e,"callee")},gu=iM;function pb(){return!1}i(pb,"stubFalse2");o(pb,"stubFalse");var sM=pb,db=typeof exports=="object"&&exports&&!exports.nodeType&&exports,iy=db&&typeof module=="object"&&module&&!module.nodeType&&module,oM=iy&&iy.exports===db,sy=oM?Cr.Buffer:void 0,lM=sy?sy.isBuffer:void 0,uM=lM||sM,yl=uM,cM=9007199254740991,fM=/^(?:0|[1-9]\d*)$/;function mb(e,t){var r=typeof e;return t=t??cM,!!t&&(r=="number"||r!="symbol"&&fM.test(e))&&e>-1&&e%1==0&&e<t}i(mb,"isIndex2");o(mb,"isIndex");var hb=mb,pM=9007199254740991;function yb(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=pM}i(yb,"isLength2");o(yb,"isLength");var sm=yb,dM="[object Arguments]",mM="[object Array]",hM="[object Boolean]",yM="[object Date]",gM="[object Error]",vM="[object Function]",TM="[object Map]",$M="[object Number]",RM="[object Object]",AM="[object RegExp]",EM="[object Set]",CM="[object String]",bM="[object WeakMap]",_M="[object ArrayBuffer]",SM="[object DataView]",wM="[object Float32Array]",IM="[object Float64Array]",NM="[object Int8Array]",PM="[object Int16Array]",kM="[object Int32Array]",OM="[object Uint8Array]",LM="[object Uint8ClampedArray]",DM="[object Uint16Array]",xM="[object Uint32Array]",ge={};ge[wM]=ge[IM]=ge[NM]=ge[PM]=ge[kM]=ge[OM]=ge[LM]=ge[DM]=ge[xM]=!0;ge[dM]=ge[mM]=ge[_M]=ge[hM]=ge[SM]=ge[yM]=ge[gM]=ge[vM]=ge[TM]=ge[$M]=ge[RM]=ge[AM]=ge[EM]=ge[CM]=ge[bM]=!1;function gb(e){return Ba(e)&&sm(e.length)&&!!ge[ei(e)]}i(gb,"baseIsTypedArray2");o(gb,"baseIsTypedArray");var MM=gb;function vb(e){return function(t){return e(t)}}i(vb,"baseUnary2");o(vb,"baseUnary");var GM=vb,Tb=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ls=Tb&&typeof module=="object"&&module&&!module.nodeType&&module,FM=ls&&ls.exports===Tb,qu=FM&&TC.process,zM=(function(){try{var e=ls&&ls.require&&ls.require("util").types;return e||qu&&qu.binding&&qu.binding("util")}catch{}})(),oy=zM,ly=oy&&oy.isTypedArray,jM=ly?GM(ly):MM,om=jM,UM=Object.prototype,KM=UM.hasOwnProperty;function $b(e,t){var r=nt(e),n=!r&&gu(e),a=!r&&!n&&yl(e),s=!r&&!n&&!a&&om(e),l=r||n||a||s,u=l?tM(e.length,String):[],c=u.length;for(var f in e)(t||KM.call(e,f))&&!(l&&(f=="length"||a&&(f=="offset"||f=="parent")||s&&(f=="buffer"||f=="byteLength"||f=="byteOffset")||hb(f,c)))&&u.push(f);return u}i($b,"arrayLikeKeys2");o($b,"arrayLikeKeys");var BM=$b,qM=Object.prototype;function Rb(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||qM;return e===r}i(Rb,"isPrototype2");o(Rb,"isPrototype");var Ab=Rb;function Eb(e,t){return function(r){return e(t(r))}}i(Eb,"overArg2");o(Eb,"overArg");var WM=Eb,VM=WM(Object.keys,Object),HM=VM,YM=Object.prototype,XM=YM.hasOwnProperty;function Cb(e){if(!Ab(e))return HM(e);var t=[];for(var r in Object(e))XM.call(e,r)&&r!="constructor"&&t.push(r);return t}i(Cb,"baseKeys2");o(Cb,"baseKeys");var bb=Cb;function _b(e){return e!=null&&sm(e.length)&&!_C(e)}i(_b,"isArrayLike2");o(_b,"isArrayLike");var vu=_b;function Sb(e){return vu(e)?BM(e):bb(e)}i(Sb,"keys2");o(Sb,"keys");var lm=Sb;function wb(e){return Yx(e,lm,eM)}i(wb,"getAllKeys2");o(wb,"getAllKeys");var uy=wb,JM=1,ZM=Object.prototype,QM=ZM.hasOwnProperty;function Ib(e,t,r,n,a,s){var l=r&JM,u=uy(e),c=u.length,f=uy(t),p=f.length;if(c!=p&&!l)return!1;for(var d=c;d--;){var h=u[d];if(!(l?h in t:QM.call(t,h)))return!1}var v=s.get(e),T=s.get(t);if(v&&T)return v==t&&T==e;var S=!0;s.set(e,t),s.set(t,e);for(var w=l;++d<c;){h=u[d];var N=e[h],I=t[h];if(n)var A=l?n(I,N,h,t,e,s):n(N,I,h,e,t,s);if(!(A===void 0?N===I||a(N,I,r,n,s):A)){S=!1;break}w||(w=h=="constructor")}if(S&&!w){var k=e.constructor,j=t.constructor;k!=j&&"constructor"in e&&"constructor"in t&&!(typeof k=="function"&&k instanceof k&&typeof j=="function"&&j instanceof j)&&(S=!1)}return s.delete(e),s.delete(t),S}i(Ib,"equalObjects2");o(Ib,"equalObjects");var e1=Ib,t1=ti(Cr,"DataView"),Mf=t1,r1=ti(Cr,"Promise"),Gf=r1,n1=ti(Cr,"Set"),La=n1,a1=ti(Cr,"WeakMap"),Ff=a1,cy="[object Map]",i1="[object Object]",fy="[object Promise]",py="[object Set]",dy="[object WeakMap]",my="[object DataView]",s1=Un(Mf),o1=Un(As),l1=Un(Gf),u1=Un(La),c1=Un(Ff),Qr=ei;(Mf&&Qr(new Mf(new ArrayBuffer(1)))!=my||As&&Qr(new As)!=cy||Gf&&Qr(Gf.resolve())!=fy||La&&Qr(new La)!=py||Ff&&Qr(new Ff)!=dy)&&(Qr=o(function(e){var t=ei(e),r=t==i1?e.constructor:void 0,n=r?Un(r):"";if(n)switch(n){case s1:return my;case o1:return cy;case l1:return fy;case u1:return py;case c1:return dy}return t},"getTag"));var zf=Qr,f1=1,hy="[object Arguments]",yy="[object Array]",eo="[object Object]",p1=Object.prototype,gy=p1.hasOwnProperty;function Nb(e,t,r,n,a,s){var l=nt(e),u=nt(t),c=l?yy:zf(e),f=u?yy:zf(t);c=c==hy?eo:c,f=f==hy?eo:f;var p=c==eo,d=f==eo,h=c==f;if(h&&yl(e)){if(!yl(t))return!1;l=!0,p=!1}if(h&&!p)return s||(s=new Po),l||om(e)?ZC(e,t,r,n,a,s):Vx(e,t,c,r,n,a,s);if(!(r&f1)){var v=p&&gy.call(e,"__wrapped__"),T=d&&gy.call(t,"__wrapped__");if(v||T){var S=v?e.value():e,w=T?t.value():t;return s||(s=new Po),a(S,w,r,n,s)}}return h?(s||(s=new Po),e1(e,t,r,n,a,s)):!1}i(Nb,"baseIsEqualDeep2");o(Nb,"baseIsEqualDeep");var d1=Nb;function um(e,t,r,n,a){return e===t?!0:e==null||t==null||!Ba(e)&&!Ba(t)?e!==e&&t!==t:d1(e,t,r,n,um,a)}i(um,"baseIsEqual2");o(um,"baseIsEqual");var Pb=um,m1=1,h1=2;function kb(e,t,r,n){var a=r.length,s=a,l=!n;if(e==null)return!s;for(e=Object(e);a--;){var u=r[a];if(l&&u[2]?u[1]!==e[u[0]]:!(u[0]in e))return!1}for(;++a<s;){u=r[a];var c=u[0],f=e[c],p=u[1];if(l&&u[2]){if(f===void 0&&!(c in e))return!1}else{var d=new Po;if(n)var h=n(f,p,c,e,t,d);if(!(h===void 0?Pb(p,f,m1|h1,n,d):h))return!1}}return!0}i(kb,"baseIsMatch2");o(kb,"baseIsMatch");var y1=kb;function Ob(e){return e===e&&!am(e)}i(Ob,"isStrictComparable2");o(Ob,"isStrictComparable");var Lb=Ob;function Db(e){for(var t=lm(e),r=t.length;r--;){var n=t[r],a=e[n];t[r]=[n,a,Lb(a)]}return t}i(Db,"getMatchData2");o(Db,"getMatchData");var g1=Db;function xb(e,t){return function(r){return r==null?!1:r[e]===t&&(t!==void 0||e in Object(r))}}i(xb,"matchesStrictComparable2");o(xb,"matchesStrictComparable");var Mb=xb;function Gb(e){var t=g1(e);return t.length==1&&t[0][2]?Mb(t[0][0],t[0][1]):function(r){return r===e||y1(r,e,t)}}i(Gb,"baseMatches2");o(Gb,"baseMatches");var v1=Gb,T1="[object Symbol]";function Fb(e){return typeof e=="symbol"||Ba(e)&&ei(e)==T1}i(Fb,"isSymbol2");o(Fb,"isSymbol");var Tu=Fb,$1=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,R1=/^\w*$/;function zb(e,t){if(nt(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||Tu(e)?!0:R1.test(e)||!$1.test(e)||t!=null&&e in Object(t)}i(zb,"isKey2");o(zb,"isKey");var cm=zb,A1="Expected a function";function $u(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(A1);var r=o(function(){var n=arguments,a=t?t.apply(this,n):n[0],s=r.cache;if(s.has(a))return s.get(a);var l=e.apply(this,n);return r.cache=s.set(a,l)||s,l},"memoized");return r.cache=new($u.Cache||yu),r}i($u,"memoize2");o($u,"memoize");$u.Cache=yu;var E1=$u,C1=500;function jb(e){var t=E1(e,function(n){return r.size===C1&&r.clear(),n}),r=t.cache;return t}i(jb,"memoizeCapped2");o(jb,"memoizeCapped");var b1=jb,_1=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,S1=/\\(\\)?/g,w1=b1(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(_1,function(r,n,a,s){t.push(a?s.replace(S1,"$1"):n||r)}),t}),I1=w1,N1=1/0,vy=Jt?Jt.prototype:void 0,Ty=vy?vy.toString:void 0;function fm(e){if(typeof e=="string")return e;if(nt(e))return sC(e,fm)+"";if(Tu(e))return Ty?Ty.call(e):"";var t=e+"";return t=="0"&&1/e==-N1?"-0":t}i(fm,"baseToString2");o(fm,"baseToString");var P1=fm;function Ub(e){return e==null?"":P1(e)}i(Ub,"toString3");o(Ub,"toString");var k1=Ub;function Kb(e,t){return nt(e)?e:cm(e,t)?[e]:I1(k1(e))}i(Kb,"castPath2");o(Kb,"castPath");var Bb=Kb,O1=1/0;function qb(e){if(typeof e=="string"||Tu(e))return e;var t=e+"";return t=="0"&&1/e==-O1?"-0":t}i(qb,"toKey2");o(qb,"toKey");var Ru=qb;function Wb(e,t){t=Bb(t,e);for(var r=0,n=t.length;e!=null&&r<n;)e=e[Ru(t[r++])];return r&&r==n?e:void 0}i(Wb,"baseGet2");o(Wb,"baseGet");var Vb=Wb;function Hb(e,t,r){var n=e==null?void 0:Vb(e,t);return n===void 0?r:n}i(Hb,"get2");o(Hb,"get");var L1=Hb;function Yb(e,t){return e!=null&&t in Object(e)}i(Yb,"baseHasIn2");o(Yb,"baseHasIn");var D1=Yb;function Xb(e,t,r){t=Bb(t,e);for(var n=-1,a=t.length,s=!1;++n<a;){var l=Ru(t[n]);if(!(s=e!=null&&r(e,l)))break;e=e[l]}return s||++n!=a?s:(a=e==null?0:e.length,!!a&&sm(a)&&hb(l,a)&&(nt(e)||gu(e)))}i(Xb,"hasPath2");o(Xb,"hasPath");var x1=Xb;function Jb(e,t){return e!=null&&x1(e,t,D1)}i(Jb,"hasIn2");o(Jb,"hasIn");var M1=Jb,G1=1,F1=2;function Zb(e,t){return cm(e)&&Lb(t)?Mb(Ru(e),t):function(r){var n=L1(r,e);return n===void 0&&n===t?M1(r,e):Pb(t,n,G1|F1)}}i(Zb,"baseMatchesProperty2");o(Zb,"baseMatchesProperty");var z1=Zb;function Qb(e){return e}i(Qb,"identity2");o(Qb,"identity");var pm=Qb;function e_(e){return function(t){return t?.[e]}}i(e_,"baseProperty2");o(e_,"baseProperty");var j1=e_;function t_(e){return function(t){return Vb(t,e)}}i(t_,"basePropertyDeep2");o(t_,"basePropertyDeep");var U1=t_;function r_(e){return cm(e)?j1(Ru(e)):U1(e)}i(r_,"property2");o(r_,"property");var K1=r_;function n_(e){return typeof e=="function"?e:e==null?pm:typeof e=="object"?nt(e)?z1(e[0],e[1]):v1(e):K1(e)}i(n_,"baseIteratee2");o(n_,"baseIteratee");var Au=n_;function a_(e){return function(t,r,n){for(var a=-1,s=Object(t),l=n(t),u=l.length;u--;){var c=l[e?u:++a];if(r(s[c],c,s)===!1)break}return t}}i(a_,"createBaseFor2");o(a_,"createBaseFor");var B1=a_,q1=B1(),W1=q1;function i_(e,t){return e&&W1(e,t,lm)}i(i_,"baseForOwn2");o(i_,"baseForOwn");var V1=i_;function s_(e,t){return function(r,n){if(r==null)return r;if(!vu(r))return e(r,n);for(var a=r.length,s=t?a:-1,l=Object(r);(t?s--:++s<a)&&n(l[s],s,l)!==!1;);return r}}i(s_,"createBaseEach2");o(s_,"createBaseEach");var H1=s_,Y1=H1(V1),Eu=Y1;function o_(e,t){var r=-1,n=vu(e)?Array(e.length):[];return Eu(e,function(a,s,l){n[++r]=t(a,s,l)}),n}i(o_,"baseMap2");o(o_,"baseMap");var X1=o_;function l_(e,t){var r=nt(e)?sC:X1;return r(e,Au(t,3))}i(l_,"map2");o(l_,"map");var fr=l_;function u_(e,t){var r=[];return Eu(e,function(n,a,s){t(n,a,s)&&r.push(n)}),r}i(u_,"baseFilter2");o(u_,"baseFilter");var J1=u_;function c_(e,t){var r=nt(e)?sb:J1;return r(e,Au(t,3))}i(c_,"filter2");o(c_,"filter");var Z1=c_;function _n(e,t,r){return`${e.name}_${t}_${r}`}i(_n,"buildATNKey");o(_n,"buildATNKey");var xr=1,Q1=2,f_=4,p_=5,Hs=7,eG=8,tG=9,rG=10,nG=11,d_=12,dm=class{static{i(this,"AbstractTransition")}static{o(this,"AbstractTransition")}constructor(e){this.target=e}isEpsilon(){return!1}},mm=class extends dm{static{i(this,"AtomTransition")}static{o(this,"AtomTransition")}constructor(e,t){super(e),this.tokenType=t}},m_=class extends dm{static{i(this,"EpsilonTransition")}static{o(this,"EpsilonTransition")}constructor(e){super(e)}isEpsilon(){return!0}},hm=class extends dm{static{i(this,"RuleTransition")}static{o(this,"RuleTransition")}constructor(e,t,r){super(e),this.rule=t,this.followState=r}isEpsilon(){return!0}};function h_(e){let t={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};y_(t,e);let r=e.length;for(let n=0;n<r;n++){let a=e[n],s=Ur(t,a,a);s!==void 0&&S_(t,a,s)}return t}i(h_,"createATN");o(h_,"createATN");function y_(e,t){let r=t.length;for(let n=0;n<r;n++){let a=t[n],s=Ge(e,a,void 0,{type:Q1}),l=Ge(e,a,void 0,{type:Hs});s.stop=l,e.ruleToStartState.set(a,s),e.ruleToStopState.set(a,l)}}i(y_,"createRuleStartAndStopATNStates");o(y_,"createRuleStartAndStopATNStates");function ym(e,t,r){return r instanceof ve?Cu(e,t,r.terminalType,r):r instanceof tt?__(e,t,r):r instanceof ct?R_(e,t,r):r instanceof qe?A_(e,t,r):r instanceof be?g_(e,t,r):r instanceof ut?v_(e,t,r):r instanceof yt?T_(e,t,r):r instanceof gt?$_(e,t,r):Ur(e,t,r)}i(ym,"atom");o(ym,"atom");function g_(e,t,r){let n=Ge(e,t,r,{type:p_});br(e,n);let a=Wn(e,t,n,r,Ur(e,t,r));return vm(e,t,r,a)}i(g_,"repetition");o(g_,"repetition");function v_(e,t,r){let n=Ge(e,t,r,{type:p_});br(e,n);let a=Wn(e,t,n,r,Ur(e,t,r)),s=Cu(e,t,r.separator,r);return vm(e,t,r,a,s)}i(v_,"repetitionSep");o(v_,"repetitionSep");function T_(e,t,r){let n=Ge(e,t,r,{type:f_});br(e,n);let a=Wn(e,t,n,r,Ur(e,t,r));return gm(e,t,r,a)}i(T_,"repetitionMandatory");o(T_,"repetitionMandatory");function $_(e,t,r){let n=Ge(e,t,r,{type:f_});br(e,n);let a=Wn(e,t,n,r,Ur(e,t,r)),s=Cu(e,t,r.separator,r);return gm(e,t,r,a,s)}i($_,"repetitionMandatorySep");o($_,"repetitionMandatorySep");function R_(e,t,r){let n=Ge(e,t,r,{type:xr});br(e,n);let a=fr(r.definition,l=>ym(e,t,l));return Wn(e,t,n,r,...a)}i(R_,"alternation");o(R_,"alternation");function A_(e,t,r){let n=Ge(e,t,r,{type:xr});br(e,n);let a=Wn(e,t,n,r,Ur(e,t,r));return E_(e,t,r,a)}i(A_,"option");o(A_,"option");function Ur(e,t,r){let n=Z1(fr(r.definition,a=>ym(e,t,a)),a=>a!==void 0);return n.length===1?n[0]:n.length===0?void 0:b_(e,n)}i(Ur,"block");o(Ur,"block");function gm(e,t,r,n,a){let s=n.left,l=n.right,u=Ge(e,t,r,{type:nG});br(e,u);let c=Ge(e,t,r,{type:d_});return s.loopback=u,c.loopback=u,e.decisionMap[_n(t,a?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=u,Ie(l,u),a===void 0?(Ie(u,s),Ie(u,c)):(Ie(u,c),Ie(u,a.left),Ie(a.right,s)),{left:s,right:c}}i(gm,"plus");o(gm,"plus");function vm(e,t,r,n,a){let s=n.left,l=n.right,u=Ge(e,t,r,{type:rG});br(e,u);let c=Ge(e,t,r,{type:d_}),f=Ge(e,t,r,{type:tG});return u.loopback=f,c.loopback=f,Ie(u,s),Ie(u,c),Ie(l,f),a!==void 0?(Ie(f,c),Ie(f,a.left),Ie(a.right,s)):Ie(f,u),e.decisionMap[_n(t,a?"RepetitionWithSeparator":"Repetition",r.idx)]=u,{left:u,right:c}}i(vm,"star");o(vm,"star");function E_(e,t,r,n){let a=n.left,s=n.right;return Ie(a,s),e.decisionMap[_n(t,"Option",r.idx)]=a,n}i(E_,"optional");o(E_,"optional");function br(e,t){return e.decisionStates.push(t),t.decision=e.decisionStates.length-1,t.decision}i(br,"defineDecisionState");o(br,"defineDecisionState");function Wn(e,t,r,n,...a){let s=Ge(e,t,n,{type:eG,start:r});r.end=s;for(let u of a)u!==void 0?(Ie(r,u.left),Ie(u.right,s)):Ie(r,s);let l={left:r,right:s};return e.decisionMap[_n(t,C_(n),n.idx)]=r,l}i(Wn,"makeAlts");o(Wn,"makeAlts");function C_(e){if(e instanceof ct)return"Alternation";if(e instanceof qe)return"Option";if(e instanceof be)return"Repetition";if(e instanceof ut)return"RepetitionWithSeparator";if(e instanceof yt)return"RepetitionMandatory";if(e instanceof gt)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}i(C_,"getProdType2");o(C_,"getProdType");function b_(e,t){let r=t.length;for(let s=0;s<r-1;s++){let l=t[s],u;l.left.transitions.length===1&&(u=l.left.transitions[0]);let c=u instanceof hm,f=u,p=t[s+1].left;l.left.type===xr&&l.right.type===xr&&u!==void 0&&(c&&f.followState===l.right||u.target===l.right)?(c?f.followState=p:u.target=p,w_(e,l.right)):Ie(l.right,p)}let n=t[0],a=t[r-1];return{left:n.left,right:a.right}}i(b_,"makeBlock");o(b_,"makeBlock");function Cu(e,t,r,n){let a=Ge(e,t,n,{type:xr}),s=Ge(e,t,n,{type:xr});return bu(a,new mm(s,r)),{left:a,right:s}}i(Cu,"tokenRef");o(Cu,"tokenRef");function __(e,t,r){let n=r.referencedRule,a=e.ruleToStartState.get(n),s=Ge(e,t,r,{type:xr}),l=Ge(e,t,r,{type:xr}),u=new hm(a,n,l);return bu(s,u),{left:s,right:l}}i(__,"ruleRef");o(__,"ruleRef");function S_(e,t,r){let n=e.ruleToStartState.get(t);Ie(n,r.left);let a=e.ruleToStopState.get(t);return Ie(r.right,a),{left:n,right:a}}i(S_,"buildRuleHandle");o(S_,"buildRuleHandle");function Ie(e,t){let r=new m_(t);bu(e,r)}i(Ie,"epsilon");o(Ie,"epsilon");function Ge(e,t,r,n){let a=Object.assign({atn:e,production:r,epsilonOnlyTransitions:!1,rule:t,transitions:[],nextTokenWithinRule:[],stateNumber:e.states.length},n);return e.states.push(a),a}i(Ge,"newState");o(Ge,"newState");function bu(e,t){e.transitions.length===0&&(e.epsilonOnlyTransitions=t.isEpsilon()),e.transitions.push(t)}i(bu,"addTransition");o(bu,"addTransition");function w_(e,t){e.states.splice(e.states.indexOf(t),1)}i(w_,"removeState");o(w_,"removeState");var gl={},jf=class{static{i(this,"ATNConfigSet")}static{o(this,"ATNConfigSet")}constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let t=Tm(e);t in this.map||(this.map[t]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return fr(this.configs,e=>e.alt)}get key(){let e="";for(let t in this.map)e+=t+":";return e}};function Tm(e,t=!0){return`${t?`a${e.alt}`:""}s${e.state.stateNumber}:${e.stack.map(r=>r.stateNumber.toString()).join("_")}`}i(Tm,"getATNConfigKey");o(Tm,"getATNConfigKey");function I_(e,t,r){for(var n=-1,a=e.length;++n<a;){var s=e[n],l=t(s);if(l!=null&&(u===void 0?l===l&&!Tu(l):r(l,u)))var u=l,c=s}return c}i(I_,"baseExtremum");o(I_,"baseExtremum");var aG=I_;function N_(e,t){return e<t}i(N_,"baseLt");o(N_,"baseLt");var iG=N_;function P_(e){return e&&e.length?aG(e,pm,iG):void 0}i(P_,"min");o(P_,"min");var sG=P_,$y=Jt?Jt.isConcatSpreadable:void 0;function k_(e){return nt(e)||gu(e)||!!($y&&e&&e[$y])}i(k_,"isFlattenable2");o(k_,"isFlattenable");var oG=k_;function $m(e,t,r,n,a){var s=-1,l=e.length;for(r||(r=oG),a||(a=[]);++s<l;){var u=e[s];t>0&&r(u)?t>1?$m(u,t-1,r,n,a):nb(a,u):n||(a[a.length]=u)}return a}i($m,"baseFlatten2");o($m,"baseFlatten");var O_=$m;function L_(e,t){return O_(fr(e,t),1)}i(L_,"flatMap2");o(L_,"flatMap");var lG=L_;function D_(e,t,r,n){for(var a=e.length,s=r+(n?1:-1);n?s--:++s<a;)if(t(e[s],s,e))return s;return-1}i(D_,"baseFindIndex2");o(D_,"baseFindIndex");var uG=D_;function x_(e){return e!==e}i(x_,"baseIsNaN2");o(x_,"baseIsNaN");var cG=x_;function M_(e,t,r){for(var n=r-1,a=e.length;++n<a;)if(e[n]===t)return n;return-1}i(M_,"strictIndexOf2");o(M_,"strictIndexOf");var fG=M_;function G_(e,t,r){return t===t?fG(e,t,r):uG(e,cG,r)}i(G_,"baseIndexOf2");o(G_,"baseIndexOf");var pG=G_;function F_(e,t){var r=e==null?0:e.length;return!!r&&pG(e,t,0)>-1}i(F_,"arrayIncludes2");o(F_,"arrayIncludes");var dG=F_;function z_(e,t,r){for(var n=-1,a=e==null?0:e.length;++n<a;)if(r(t,e[n]))return!0;return!1}i(z_,"arrayIncludesWith2");o(z_,"arrayIncludesWith");var mG=z_;function j_(){}i(j_,"noop2");o(j_,"noop");var hG=j_,yG=1/0,gG=La&&1/im(new La([,-0]))[1]==yG?function(e){return new La(e)}:hG,vG=gG,TG=200;function U_(e,t,r){var n=-1,a=dG,s=e.length,l=!0,u=[],c=u;if(r)l=!1,a=mG;else if(s>=TG){var f=t?null:vG(e);if(f)return im(f);l=!1,a=XC,c=new VC}else c=t?[]:u;e:for(;++n<s;){var p=e[n],d=t?t(p):p;if(p=r||p!==0?p:0,l&&d===d){for(var h=c.length;h--;)if(c[h]===d)continue e;t&&c.push(d),u.push(p)}else a(c,d,r)||(c!==u&&c.push(d),u.push(p))}return u}i(U_,"baseUniq2");o(U_,"baseUniq");var $G=U_;function K_(e,t){return e&&e.length?$G(e,Au(t,2)):[]}i(K_,"uniqBy");o(K_,"uniqBy");var RG=K_;function B_(e){var t=e==null?0:e.length;return t?O_(e,1):[]}i(B_,"flatten2");o(B_,"flatten");var AG=B_;function q_(e,t){for(var r=-1,n=e==null?0:e.length;++r<n&&t(e[r],r,e)!==!1;);return e}i(q_,"arrayEach2");o(q_,"arrayEach");var EG=q_;function W_(e){return typeof e=="function"?e:pm}i(W_,"castFunction2");o(W_,"castFunction");var CG=W_;function V_(e,t){var r=nt(e)?EG:Eu;return r(e,CG(t))}i(V_,"forEach2");o(V_,"forEach");var Wu=V_,bG="[object Map]",_G="[object Set]",SG=Object.prototype,wG=SG.hasOwnProperty;function H_(e){if(e==null)return!0;if(vu(e)&&(nt(e)||typeof e=="string"||typeof e.splice=="function"||yl(e)||om(e)||gu(e)))return!e.length;var t=zf(e);if(t==bG||t==_G)return!e.size;if(Ab(e))return!bb(e).length;for(var r in e)if(wG.call(e,r))return!1;return!0}i(H_,"isEmpty2");o(H_,"isEmpty");var IG=H_;function Y_(e,t,r,n){var a=-1,s=e==null?0:e.length;for(n&&s&&(r=e[++a]);++a<s;)r=t(r,e[a],a,e);return r}i(Y_,"arrayReduce2");o(Y_,"arrayReduce");var NG=Y_;function X_(e,t,r,n,a){return a(e,function(s,l,u){r=n?(n=!1,s):t(r,s,l,u)}),r}i(X_,"baseReduce2");o(X_,"baseReduce");var PG=X_;function J_(e,t,r){var n=nt(e)?NG:PG,a=arguments.length<3;return n(e,Au(t,4),r,a,Eu)}i(J_,"reduce2");o(J_,"reduce");var Ry=J_;function Z_(e,t){let r={};return n=>{let a=n.toString(),s=r[a];return s!==void 0||(s={atnStartState:e,decision:t,states:{}},r[a]=s),s}}i(Z_,"createDFACache");o(Z_,"createDFACache");var Q_=class{static{i(this,"PredicateSet")}static{o(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,t){this.predicates[e]=t}toString(){let e="",t=this.predicates.length;for(let r=0;r<t;r++)e+=this.predicates[r]===!0?"1":"0";return e}},Ay=new Q_,kG=class extends tm{static{i(this,"LLStarLookaheadStrategy")}static{o(this,"LLStarLookaheadStrategy")}constructor(e){var t;super(),this.logging=(t=e?.logging)!==null&&t!==void 0?t:(r=>console.log(r))}initialize(e){this.atn=h_(e.rules),this.dfas=eS(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:t,rule:r,hasPredicates:n,dynamicTokensEnabled:a}=e,s=this.dfas,l=this.logging,u=_n(r,"Alternation",t),f=this.atn.decisionMap[u].decision,p=fr(Sf({maxLookahead:1,occurrence:t,prodType:"Alternation",rule:r}),d=>fr(d,h=>h[0]));if(Uf(p,!1)&&!a){let d=Ry(p,(h,v,T)=>(Wu(v,S=>{S&&(h[S.tokenTypeIdx]=T,Wu(S.categoryMatches,w=>{h[w]=T}))}),h),{});return n?function(h){var v;let T=this.LA(1),S=d[T.tokenTypeIdx];if(h!==void 0&&S!==void 0){let w=(v=h[S])===null||v===void 0?void 0:v.GATE;if(w!==void 0&&w.call(this)===!1)return}return S}:function(){let h=this.LA(1);return d[h.tokenTypeIdx]}}else return n?function(d){let h=new Q_,v=d===void 0?0:d.length;for(let S=0;S<v;S++){let w=d?.[S].GATE;h.set(S,w===void 0||w.call(this))}let T=ko.call(this,s,f,h,l);return typeof T=="number"?T:void 0}:function(){let d=ko.call(this,s,f,Ay,l);return typeof d=="number"?d:void 0}}buildLookaheadForOptional(e){let{prodOccurrence:t,rule:r,prodType:n,dynamicTokensEnabled:a}=e,s=this.dfas,l=this.logging,u=_n(r,n,t),f=this.atn.decisionMap[u].decision,p=fr(Sf({maxLookahead:1,occurrence:t,prodType:n,rule:r}),d=>fr(d,h=>h[0]));if(Uf(p)&&p[0][0]&&!a){let d=p[0],h=AG(d);if(h.length===1&&IG(h[0].categoryMatches)){let T=h[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===T}}else{let v=Ry(h,(T,S)=>(S!==void 0&&(T[S.tokenTypeIdx]=!0,Wu(S.categoryMatches,w=>{T[w]=!0})),T),{});return function(){let T=this.LA(1);return v[T.tokenTypeIdx]===!0}}}return function(){let d=ko.call(this,s,f,Ay,l);return typeof d=="object"?!1:d===0}}};function Uf(e,t=!0){let r=new Set;for(let n of e){let a=new Set;for(let s of n){if(s===void 0){if(t)break;return!1}let l=[s.tokenTypeIdx].concat(s.categoryMatches);for(let u of l)if(r.has(u)){if(!a.has(u))return!1}else r.add(u),a.add(u)}}return!0}i(Uf,"isLL1Sequence");o(Uf,"isLL1Sequence");function eS(e){let t=e.decisionStates.length,r=Array(t);for(let n=0;n<t;n++)r[n]=Z_(e.decisionStates[n],n);return r}i(eS,"initATNSimulator");o(eS,"initATNSimulator");function ko(e,t,r,n){let a=e[t](r),s=a.start;if(s===void 0){let u=fS(a.atnStartState);s=Am(a,Rm(u)),a.start=s}return tS.apply(this,[a,s,r,n])}i(ko,"adaptivePredict");o(ko,"adaptivePredict");function tS(e,t,r,n){let a=t,s=1,l=[],u=this.LA(s++);for(;;){let c=oS(a,u);if(c===void 0&&(c=rS.apply(this,[e,a,u,s,r,n])),c===gl)return sS(l,a,u);if(c.isAcceptState===!0)return c.prediction;a=c,l.push(u),u=this.LA(s++)}}i(tS,"performLookahead");o(tS,"performLookahead");function rS(e,t,r,n,a,s){let l=lS(t.configs,r,a);if(l.size===0)return Kf(e,t,r,gl),gl;let u=Rm(l),c=cS(l,a);if(c!==void 0)u.isAcceptState=!0,u.prediction=c,u.configs.uniqueAlt=c;else if(hS(l)){let f=sG(l.alts);u.isAcceptState=!0,u.prediction=f,u.configs.uniqueAlt=f,nS.apply(this,[e,n,l.alts,s])}return u=Kf(e,t,r,u),u}i(rS,"computeLookaheadTarget");o(rS,"computeLookaheadTarget");function nS(e,t,r,n){let a=[];for(let f=1;f<=t;f++)a.push(this.LA(f).tokenType);let s=e.atnStartState,l=s.rule,u=s.production,c=aS({topLevelRule:l,ambiguityIndices:r,production:u,prefixPath:a});n(c)}i(nS,"reportLookaheadAmbiguity");o(nS,"reportLookaheadAmbiguity");function aS(e){let t=fr(e.prefixPath,a=>Rn(a)).join(", "),r=e.production.idx===0?"":e.production.idx,n=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(", ")}> in <${iS(e.production)}${r}> inside <${e.topLevelRule.name}> Rule,
<${t}> 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}i(aS,"buildAmbiguityError");o(aS,"buildAmbiguityError");function iS(e){if(e instanceof tt)return"SUBRULE";if(e instanceof qe)return"OPTION";if(e instanceof ct)return"OR";if(e instanceof yt)return"AT_LEAST_ONE";if(e instanceof gt)return"AT_LEAST_ONE_SEP";if(e instanceof ut)return"MANY_SEP";if(e instanceof be)return"MANY";if(e instanceof ve)return"CONSUME";throw Error("non exhaustive match")}i(iS,"getProductionDslName2");o(iS,"getProductionDslName");function sS(e,t,r){let n=lG(t.configs.elements,s=>s.state.transitions),a=RG(n.filter(s=>s instanceof mm).map(s=>s.tokenType),s=>s.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:a,tokenPath:e}}i(sS,"buildAdaptivePredictError");o(sS,"buildAdaptivePredictError");function oS(e,t){return e.edges[t.tokenTypeIdx]}i(oS,"getExistingTargetState");o(oS,"getExistingTargetState");function lS(e,t,r){let n=new jf,a=[];for(let l of e.elements){if(r.is(l.alt)===!1)continue;if(l.state.type===Hs){a.push(l);continue}let u=l.state.transitions.length;for(let c=0;c<u;c++){let f=l.state.transitions[c],p=uS(f,t);p!==void 0&&n.add({state:p,alt:l.alt,stack:l.stack})}}let s;if(a.length===0&&n.size===1&&(s=n),s===void 0){s=new jf;for(let l of n.elements)bs(l,s)}if(a.length>0&&!dS(s))for(let l of a)s.add(l);return s}i(lS,"computeReachSet");o(lS,"computeReachSet");function uS(e,t){if(e instanceof mm&&Hd(t,e.tokenType))return e.target}i(uS,"getReachableTarget");o(uS,"getReachableTarget");function cS(e,t){let r;for(let n of e.elements)if(t.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}i(cS,"getUniqueAlt");o(cS,"getUniqueAlt");function Rm(e){return{configs:e,edges:{},isAcceptState:!1,prediction:-1}}i(Rm,"newDFAState");o(Rm,"newDFAState");function Kf(e,t,r,n){return n=Am(e,n),t.edges[r.tokenTypeIdx]=n,n}i(Kf,"addDFAEdge");o(Kf,"addDFAEdge");function Am(e,t){if(t===gl)return t;let r=t.configs.key,n=e.states[r];return n!==void 0?n:(t.configs.finalize(),e.states[r]=t,t)}i(Am,"addDFAState");o(Am,"addDFAState");function fS(e){let t=new jf,r=e.transitions.length;for(let n=0;n<r;n++){let s={state:e.transitions[n].target,alt:n,stack:[]};bs(s,t)}return t}i(fS,"computeStartState");o(fS,"computeStartState");function bs(e,t){let r=e.state;if(r.type===Hs){if(e.stack.length>0){let a=[...e.stack],l={state:a.pop(),alt:e.alt,stack:a};bs(l,t)}else t.add(e);return}r.epsilonOnlyTransitions||t.add(e);let n=r.transitions.length;for(let a=0;a<n;a++){let s=r.transitions[a],l=pS(e,s);l!==void 0&&bs(l,t)}}i(bs,"closure");o(bs,"closure");function pS(e,t){if(t instanceof m_)return{state:t.target,alt:e.alt,stack:e.stack};if(t instanceof hm){let r=[...e.stack,t.followState];return{state:t.target,alt:e.alt,stack:r}}}i(pS,"getEpsilonTarget");o(pS,"getEpsilonTarget");function dS(e){for(let t of e.elements)if(t.state.type===Hs)return!0;return!1}i(dS,"hasConfigInRuleStopState");o(dS,"hasConfigInRuleStopState");function mS(e){for(let t of e.elements)if(t.state.type!==Hs)return!1;return!0}i(mS,"allConfigsInRuleStopStates");o(mS,"allConfigsInRuleStopStates");function hS(e){if(mS(e))return!0;let t=yS(e.elements);return gS(t)&&!vS(t)}i(hS,"hasConflictTerminatingPrediction");o(hS,"hasConflictTerminatingPrediction");function yS(e){let t=new Map;for(let r of e){let n=Tm(r,!1),a=t.get(n);a===void 0&&(a={},t.set(n,a)),a[r.alt]=!0}return t}i(yS,"getConflictingAltSets");o(yS,"getConflictingAltSets");function gS(e){for(let t of Array.from(e.values()))if(Object.keys(t).length>1)return!0;return!1}i(gS,"hasConflictingAltSet");o(gS,"hasConflictingAltSet");function vS(e){for(let t of Array.from(e.values()))if(Object.keys(t).length===1)return!0;return!1}i(vS,"hasStateAssociatedWithOneAlt");o(vS,"hasStateAssociatedWithOneAlt");ws();var TS=class{static{i(this,"CstNodeBuilder")}static{o(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new Cm(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let t=new _u;return t.grammarSource=e,t.root=this.rootNode,this.current.content.push(t),this.nodeStack.push(t),t}buildLeafNode(e,t){let r=new vl(e.startOffset,e.image.length,ps(e),e.tokenType,!t);return r.grammarSource=t,r.root=this.rootNode,this.current.content.push(r),r}removeNode(e){let t=e.container;if(t){let r=t.content.indexOf(e);r>=0&&t.content.splice(r,1)}}addHiddenNodes(e){let t=[];for(let a of e){let s=new vl(a.startOffset,a.image.length,ps(a),a.tokenType,!0);s.root=this.rootNode,t.push(s)}let r=this.current,n=!1;if(r.content.length>0){r.content.push(...t);return}for(;r.container;){let a=r.container.content.indexOf(r);if(a>0){r.container.content.splice(a,0,...t),n=!0;break}r=r.container}n||this.rootNode.content.unshift(...t)}construct(e){let t=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=t;let r=this.nodeStack.pop();r?.content.length===0&&this.removeNode(r)}},Em=class{static{i(this,"AbstractCstNode")}static{o(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)}},vl=class extends Em{static{i(this,"LeafCstNodeImpl")}static{o(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,t,r,n,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=n,this._length=t,this._range=r}},_u=class extends Em{static{i(this,"CompositeCstNodeImpl")}static{o(this,"CompositeCstNodeImpl")}constructor(){super(...arguments),this.content=new OG(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,t=this.lastNonHiddenNode;if(e&&t){if(this._rangeCache===void 0){let{range:r}=e,{range:n}=t;this._rangeCache={start:r.start,end:n.end.line<r.start.line?r.start:n.end}}return this._rangeCache}else return{start:ie.create(0,0),end:ie.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 t=this.content[e];if(!t.hidden)return t}return this.content[this.content.length-1]}},OG=class $S extends Array{static{i(this,"_CstNodeContainer")}static{o(this,"CstNodeContainer")}constructor(t){super(),this.parent=t,Object.setPrototypeOf(this,$S.prototype)}push(...t){return this.addParents(t),super.push(...t)}unshift(...t){return this.addParents(t),super.unshift(...t)}splice(t,r,...n){return this.addParents(n),super.splice(t,r,...n)}addParents(t){for(let r of t)r.container=this.parent}},Cm=class extends _u{static{i(this,"RootCstNodeImpl")}static{o(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??""}},Tl=Symbol("Datatype");function Oo(e){return e.$type===Tl}i(Oo,"isDataTypeNode");o(Oo,"isDataTypeNode");var Ey="\u200B",RS=o(e=>e.endsWith(Ey)?e:e+Ey,"withRuleSuffix"),bm=class{static{i(this,"AbstractLangiumParser")}static{o(this,"AbstractLangiumParser")}constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let t=this.lexer.definition,r=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new DG(t,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new bS(t,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,t){this.wrapper.wrapOr(e,t)}optional(e,t){this.wrapper.wrapOption(e,t)}many(e,t){this.wrapper.wrapMany(e,t)}atLeastOne(e,t){this.wrapper.wrapAtLeastOne(e,t)}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()}},AS=class extends bm{static{i(this,"LangiumParser")}static{o(this,"LangiumParser")}get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new TS,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,t){let r=this.computeRuleType(e),n;Fa(e)&&(n=e.name,this.registerPrecedenceMap(e));let a=this.wrapper.DEFINE_RULE(RS(e.name),this.startImplementation(r,n,t).bind(this));return this.allRules.set(e.name,a),et(e)&&e.entry&&(this.mainRule=a),a}registerPrecedenceMap(e){let t=e.name,r=new Map;for(let n=0;n<e.operators.precedences.length;n++){let a=e.operators.precedences[n];for(let s of a.operators)r.set(s.value,{precedence:n,rightAssoc:a.associativity==="right"})}this.operatorPrecedence.set(t,r)}computeRuleType(e){return Fa(e)?En(e):e.fragment?void 0:ks(e)?Tl:En(e)}parse(e,t={}){this.nodeBuilder.buildRootNode(e);let r=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=r.tokens;let n=t.rule?this.allRules.get(t.rule):this.mainRule;if(!n)throw new Error(t.rule?`No rule found with name '${t.rule}'`:"No main rule available.");let a=this.doParse(n);return this.nodeBuilder.addHiddenNodes(r.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,Ma(a,{deep:!0}),{value:a,lexerErrors:r.errors,lexerReport:r.report,parserErrors:this.wrapper.errors}}doParse(e){let t=this.wrapper.rule(e);if(this.stack.length>0&&(t=this.construct()),t===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 t}startImplementation(e,t,r){return n=>{let a=!this.isRecording()&&e!==void 0;if(a){let s={$type:e};this.stack.push(s),e===Tl?s.value="":t!==void 0&&(s.$infixName=t)}return r(n),a?this.construct():void 0}}extractHiddenTokens(e){let t=this.lexerResult.hidden;if(!t.length)return[];let r=e.startOffset;for(let n=0;n<t.length;n++)if(t[n].startOffset>r)return t.splice(0,n);return t.splice(0,t.length)}consume(e,t,r){let n=this.wrapper.wrapConsume(e,t);if(!this.isRecording()&&this.isValidToken(n)){let a=this.extractHiddenTokens(n);this.nodeBuilder.addHiddenNodes(a);let s=this.nodeBuilder.buildLeafNode(n,r),{assignment:l,crossRef:u}=this.getAssignment(r),c=this.current;if(l){let f=mr(r)?n.image:this.converter.convert(n.image,s);this.assign(l.operator,l.feature,f,s,u)}else if(Oo(c)){let f=n.image;mr(r)||(f=this.converter.convert(f,s).toString()),c.value+=f}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,t,r,n,a){let s;!this.isRecording()&&!r&&(s=this.nodeBuilder.buildCompositeNode(n));let l;try{l=this.wrapper.wrapSubrule(e,t,a)}finally{this.isRecording()||(l===void 0&&!r&&(l=this.construct()),l!==void 0&&s&&s.length>0&&this.performSubruleAssignment(l,n,s))}}performSubruleAssignment(e,t,r){let{assignment:n,crossRef:a}=this.getAssignment(t);if(n)this.assign(n.operator,n.feature,e,r,a);else if(!n){let s=this.current;if(Oo(s))s.value+=e.toString();else if(typeof e=="object"&&e){let u=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(u)}}}action(e,t){if(!this.isRecording()){let r=this.current;if(t.feature&&t.operator){r=this.construct(),this.nodeBuilder.removeNode(r.$cstNode),this.nodeBuilder.buildCompositeNode(t).content.push(r.$cstNode);let a={$type:e};this.stack.push(a),this.assign(t.operator,t.feature,r,r.$cstNode)}else r.$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)):Oo(e)?this.converter.convert(e.value,e.$cstNode):(Ep(this.astReflection,e),e)}constructInfix(e,t){let r=e.parts;if(!Array.isArray(r)||r.length===0)return;let n=e.operators;if(!Array.isArray(n)||r.length<2)return r[0];let a=0,s=-1;for(let T=0;T<n.length;T++){let S=n[T],w=t.get(S)??{precedence:1/0,rightAssoc:!1};w.precedence>s?(s=w.precedence,a=T):w.precedence===s&&(w.rightAssoc||(a=T))}let l=n.slice(0,a),u=n.slice(a+1),c=r.slice(0,a+1),f=r.slice(a+1),p={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:c,operators:l},d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:f,operators:u},h=this.constructInfix(p,t),v=this.constructInfix(d,t);return{$type:e.$type,$cstNode:e.$cstNode,left:h,operator:n[a],right:v}}getAssignment(e){if(!this.assignmentMap.has(e)){let t=In(e,dr);this.assignmentMap.set(e,{assignment:t,crossRef:t&&Pn(t.terminal)?t.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,t,r,n,a){let s=this.current,l;switch(a==="single"&&typeof r=="string"?l=this.linker.buildReference(s,t,n,r):a==="multi"&&typeof r=="string"?l=this.linker.buildMultiReference(s,t,n,r):l=r,e){case"=":{s[t]=l;break}case"?=":{s[t]=!0;break}case"+=":Array.isArray(s[t])||(s[t]=[]),s[t].push(l)}}assignWithoutOverride(e,t){for(let[n,a]of Object.entries(t)){let s=e[n];s===void 0?e[n]=a:Array.isArray(s)&&Array.isArray(a)&&(a.push(...s),e[n]=a)}let r=e.$cstNode;return r&&(r.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},ES=class{static{i(this,"AbstractParserErrorMessageProvider")}static{o(this,"AbstractParserErrorMessageProvider")}buildMismatchTokenMessage(e){return Na.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Na.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Na.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Na.buildEarlyExitMessage(e)}},_m=class extends ES{static{i(this,"LangiumParserErrorMessageProvider")}static{o(this,"LangiumParserErrorMessageProvider")}buildMismatchTokenMessage({expected:e,actual:t}){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 \`${t.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},CS=class extends bm{static{i(this,"LangiumCompletionParser")}static{o(this,"LangiumCompletionParser")}constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let t=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=t.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,t){let r=this.wrapper.DEFINE_RULE(RS(e.name),this.startImplementation(t).bind(this));return this.allRules.set(e.name,r),e.entry&&(this.mainRule=r),r}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return t=>{let r=this.keepStackSize();try{e(t)}finally{this.resetStackSize(r)}}}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,t,r){this.wrapper.wrapConsume(e,t),this.isRecording()||(this.lastElementStack=[...this.elementStack,r],this.nextTokenIndex=this.currIdx+1)}subrule(e,t,r,n,a){this.before(n),this.wrapper.wrapSubrule(e,t,a),this.after(n)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let t=this.elementStack.lastIndexOf(e);t>=0&&this.elementStack.splice(t)}}get currIdx(){return this.wrapper.currIdx}},LG={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new _m},bS=class extends vD{static{i(this,"ChevrotainWrapper")}static{o(this,"ChevrotainWrapper")}constructor(e,t){let r=t&&"maxLookahead"in t;super(e,{...LG,lookaheadStrategy:r?new tm({maxLookahead:t.maxLookahead}):new kG({logging:t.skipValidations?()=>{}:void 0}),...t})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,t,r){return this.RULE(e,t,r)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,t){return this.consume(e,t,void 0)}wrapSubrule(e,t,r){return this.subrule(e,t,{ARGS:[r]})}wrapOr(e,t){this.or(e,t)}wrapOption(e,t){this.option(e,t)}wrapMany(e,t){this.many(e,t)}wrapAtLeastOne(e,t){this.atLeastOne(e,t)}rule(e){return e.call(this,{})}},DG=class extends bS{static{i(this,"ProfilerWrapper")}static{o(this,"ProfilerWrapper")}constructor(e,t,r){super(e,t),this.task=r}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,t,r){this.task.startSubTask(this.ruleName(t));try{return super.subrule(e,t,r)}finally{this.task.stopSubTask(this.ruleName(t))}}};function Su(e,t,r){return _S({parser:t,tokens:r,ruleNames:new Map},e),t}i(Su,"createParser");o(Su,"createParser");function _S(e,t){let r=Ul(t,!1),n=ue(t.rules).filter(et).filter(s=>r.has(s));for(let s of n){let l={...e,consume:1,optional:1,subrule:1,many:1,or:1};e.parser.rule(s,Mr(l,s.definition))}let a=ue(t.rules).filter(Fa).filter(s=>r.has(s));for(let s of a)e.parser.rule(s,SS(e,s))}i(_S,"buildRules");o(_S,"buildRules");function SS(e,t){let r=t.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+t.call.rule.$refText);if(Et(r))throw new Error("Cannot use terminal rule in infix expression");let n=t.operators.precedences.flatMap(v=>v.operators),a={$type:"Group",elements:[]},s={$container:a,$type:"Assignment",feature:"parts",operator:"+=",terminal:t.call},l={$container:a,$type:"Group",elements:[],cardinality:"*"};a.elements.push(s,l);let c={$container:l,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},f={...s,$container:l};l.elements.push(c,f);let d=n.map(v=>e.tokens[v.value]).map((v,T)=>({ALT:o(()=>e.parser.consume(T,v,c),"ALT")})),h;return v=>{h??(h=wu(e,r)),e.parser.subrule(0,h,!1,s,v),e.parser.many(0,{DEF:o(()=>{e.parser.alternatives(0,d),e.parser.subrule(1,h,!1,f,v)},"DEF")})}}i(SS,"buildInfixRule");o(SS,"buildInfixRule");function Mr(e,t,r=!1){let n;if(mr(t))n=LS(e,t);else if(Or(t))n=wS(e,t);else if(dr(t))n=Mr(e,t.terminal);else if(Pn(t))n=Sm(e,t);else if(hr(t))n=IS(e,t);else if(Ol(t))n=PS(e,t);else if(Ml(t))n=kS(e,t);else if(kn(t))n=OS(e,t);else if(Np(t)){let a=e.consume++;n=o(()=>e.parser.consume(a,Dr,t),"method")}else throw new Fl(t.$cstNode,`Unexpected element type: ${t.$type}`);return wm(e,r?void 0:_s(t),n,t.cardinality)}i(Mr,"buildElement");o(Mr,"buildElement");function wS(e,t){let r=En(t);return()=>e.parser.action(r,t)}i(wS,"buildAction");o(wS,"buildAction");function IS(e,t){let r=t.rule.ref;if(Nn(r)){let n=e.subrule++,a=et(r)&&r.fragment,s=t.arguments.length>0?NS(r,t.arguments):()=>({}),l;return u=>{l??(l=wu(e,r)),e.parser.subrule(n,l,a,t,s(u))}}else if(Et(r)){let n=e.consume++,a=$l(e,r.name);return()=>e.parser.consume(n,a,t)}else if(r)Fr(r);else throw new Fl(t.$cstNode,`Undefined rule: ${t.rule.$refText}`)}i(IS,"buildRuleCall");o(IS,"buildRuleCall");function NS(e,t){if(t.some(n=>n.calledByName)){let n=t.map(a=>({parameterName:a.parameter?.ref?.name,predicate:It(a.value)}));return a=>{let s={};for(let{parameterName:l,predicate:u}of n)l&&(s[l]=u(a));return s}}else{let n=t.map(a=>It(a.value));return a=>{let s={};for(let l=0;l<n.length;l++)if(l<e.parameters.length){let u=e.parameters[l].name,c=n[l];s[u]=c(a)}return s}}}i(NS,"buildRuleCallPredicate");o(NS,"buildRuleCallPredicate");function It(e){if(Ip(e)){let t=It(e.left),r=It(e.right);return n=>t(n)||r(n)}else if(wp(e)){let t=It(e.left),r=It(e.right);return n=>t(n)&&r(n)}else if(Op(e)){let t=It(e.value);return r=>!t(r)}else if(Lp(e)){let t=e.parameter.ref.name;return r=>r!==void 0&&r[t]===!0}else if(_p(e)){let t=!!e.true;return()=>t}Fr(e)}i(It,"buildPredicate");o(It,"buildPredicate");function PS(e,t){if(t.elements.length===1)return Mr(e,t.elements[0]);{let r=[];for(let a of t.elements){let s={ALT:Mr(e,a,!0)},l=_s(a);l&&(s.GATE=It(l)),r.push(s)}let n=e.or++;return a=>e.parser.alternatives(n,r.map(s=>{let l={ALT:o(()=>s.ALT(a),"ALT")},u=s.GATE;return u&&(l.GATE=()=>u(a)),l}))}}i(PS,"buildAlternatives");o(PS,"buildAlternatives");function kS(e,t){if(t.elements.length===1)return Mr(e,t.elements[0]);let r=[];for(let u of t.elements){let c={ALT:Mr(e,u,!0)},f=_s(u);f&&(c.GATE=It(f)),r.push(c)}let n=e.or++,a=o((u,c)=>{let f=c.getRuleStack().join("-");return`uGroup_${u}_${f}`},"idFunc"),s=o(u=>e.parser.alternatives(n,r.map((c,f)=>{let p={ALT:o(()=>!0,"ALT")},d=e.parser;p.ALT=()=>{if(c.ALT(u),!d.isRecording()){let v=a(n,d);d.unorderedGroups.get(v)||d.unorderedGroups.set(v,[]);let T=d.unorderedGroups.get(v);typeof T?.[f]>"u"&&(T[f]=!0)}};let h=c.GATE;return h?p.GATE=()=>h(u):p.GATE=()=>!d.unorderedGroups.get(a(n,d))?.[f],p})),"alternatives"),l=wm(e,_s(t),s,"*");return u=>{l(u),e.parser.isRecording()||e.parser.unorderedGroups.delete(a(n,e.parser))}}i(kS,"buildUnorderedGroup");o(kS,"buildUnorderedGroup");function OS(e,t){let r=t.elements.map(n=>Mr(e,n));return n=>r.forEach(a=>a(n))}i(OS,"buildGroup");o(OS,"buildGroup");function _s(e){if(kn(e))return e.guardCondition}i(_s,"getGuardCondition");o(_s,"getGuardCondition");function Sm(e,t,r=t.terminal){if(r)if(hr(r)&&et(r.rule.ref)){let n=r.rule.ref,a=e.subrule++,s;return l=>{s??(s=wu(e,n)),e.parser.subrule(a,s,!1,t,l)}}else if(hr(r)&&Et(r.rule.ref)){let n=e.consume++,a=$l(e,r.rule.ref.name);return()=>e.parser.consume(n,a,t)}else if(mr(r)){let n=e.consume++,a=$l(e,r.value);return()=>e.parser.consume(n,a,t)}else throw new Error("Could not build cross reference parser");else{if(!t.type.ref)throw new Error("Could not resolve reference to type: "+t.type.$refText);let a=Wl(t.type.ref)?.terminal;if(!a)throw new Error("Could not find name assignment for type: "+En(t.type.ref));return Sm(e,t,a)}}i(Sm,"buildCrossReference");o(Sm,"buildCrossReference");function LS(e,t){let r=e.consume++,n=e.tokens[t.value];if(!n)throw new Error("Could not find token for keyword: "+t.value);return()=>e.parser.consume(r,n,t)}i(LS,"buildKeyword");o(LS,"buildKeyword");function wm(e,t,r,n){let a=t&&It(t);if(!n)if(a){let s=e.or++;return l=>e.parser.alternatives(s,[{ALT:o(()=>r(l),"ALT"),GATE:o(()=>a(l),"GATE")},{ALT:xf(),GATE:o(()=>!a(l),"GATE")}])}else return r;if(n==="*"){let s=e.many++;return l=>e.parser.many(s,{DEF:o(()=>r(l),"DEF"),GATE:a?()=>a(l):void 0})}else if(n==="+"){let s=e.many++;if(a){let l=e.or++;return u=>e.parser.alternatives(l,[{ALT:o(()=>e.parser.atLeastOne(s,{DEF:o(()=>r(u),"DEF")}),"ALT"),GATE:o(()=>a(u),"GATE")},{ALT:xf(),GATE:o(()=>!a(u),"GATE")}])}else return l=>e.parser.atLeastOne(s,{DEF:o(()=>r(l),"DEF")})}else if(n==="?"){let s=e.optional++;return l=>e.parser.optional(s,{DEF:o(()=>r(l),"DEF"),GATE:a?()=>a(l):void 0})}else Fr(n)}i(wm,"wrap");o(wm,"wrap");function wu(e,t){let r=DS(e,t),n=e.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}i(wu,"getRule");o(wu,"getRule");function DS(e,t){if(Nn(t))return t.name;if(e.ruleNames.has(t))return e.ruleNames.get(t);{let r=t,n=r.$container,a=t.$type;for(;!et(n);)(kn(n)||Ol(n)||Ml(n))&&(a=n.elements.indexOf(r).toString()+":"+a),r=n,n=n.$container;return a=n.name+":"+a,e.ruleNames.set(t,a),a}}i(DS,"getRuleName");o(DS,"getRuleName");function $l(e,t){let r=e.tokens[t];if(!r)throw new Error(`Token "${t}" not found."`);return r}i($l,"getToken");o($l,"getToken");function Im(e){let t=e.Grammar,r=e.parser.Lexer,n=new CS(e);return Su(t,n,r.definition),n.finalize(),n}i(Im,"createCompletionParser");o(Im,"createCompletionParser");function Nm(e){let t=Pm(e);return t.finalize(),t}i(Nm,"createLangiumParser");o(Nm,"createLangiumParser");function Pm(e){let t=e.Grammar,r=e.parser.Lexer,n=new AS(e);return Su(t,n,r.definition)}i(Pm,"prepareLangiumParser");o(Pm,"prepareLangiumParser");var Iu=class{static{i(this,"DefaultTokenBuilder")}static{o(this,"DefaultTokenBuilder")}constructor(){this.diagnostics=[]}buildTokens(e,t){let r=ue(Ul(e,!1)),n=this.buildTerminalTokens(r),a=this.buildKeywordTokens(r,n,t);return a.push(...n),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Et).filter(t=>!t.fragment).map(t=>this.buildTerminalToken(t)).toArray()}buildTerminalToken(e){let t=Ls(e),r=this.requiresCustomPattern(t)?this.regexPatternFunction(t):t,n={name:e.name,PATTERN:r};return typeof r=="function"&&(n.LINE_BREAKS=!0),e.hidden&&(n.GROUP=jl(t)?Qe.SKIPPED:"hidden"),n}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){let t=new RegExp(e,e.flags+"y");return(r,n)=>(t.lastIndex=n,t.exec(r))}buildKeywordTokens(e,t,r){return e.filter(Nn).flatMap(n=>Ar(n).filter(mr)).distinct(n=>n.value).toArray().sort((n,a)=>a.value.length-n.value.length).map(n=>this.buildKeywordToken(n,t,!!r?.caseInsensitive))}buildKeywordToken(e,t,r){let n=this.buildKeywordPattern(e,r),a={name:e.value,PATTERN:n,LONGER_ALT:this.findLongerAlt(e,t)};return typeof n=="function"&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,t){return t?new RegExp(Ha(e.value),"i"):e.value}findLongerAlt(e,t){return t.reduce((r,n)=>{let a=n?.PATTERN;return a?.source&&rd("^"+a.source+"$",e.value)&&r.push(n),r},[])}},km=class{static{i(this,"DefaultValueConverter")}static{o(this,"DefaultValueConverter")}convert(e,t){let r=t.grammarSource;if(Pn(r)&&(r=od(r)),hr(r)){let n=r.rule.ref;if(!n)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(n,e,t)}return e}runConverter(e,t,r){switch(e.name.toUpperCase()){case"INT":return qt.convertInt(t);case"STRING":return qt.convertString(t);case"ID":return qt.convertID(t)}switch(yd(e)?.toLowerCase()){case"number":return qt.convertNumber(t);case"boolean":return qt.convertBoolean(t);case"bigint":return qt.convertBigint(t);case"date":return qt.convertDate(t);default:return t}}},qt;(function(e){function t(f){let p="";for(let d=1;d<f.length-1;d++){let h=f.charAt(d);if(h==="\\"){let v=f.charAt(++d);p+=r(v)}else p+=h}return p}i(t,"convertString"),o(t,"convertString"),e.convertString=t;function r(f){switch(f){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 f}}i(r,"convertEscapeCharacter"),o(r,"convertEscapeCharacter");function n(f){return f.charAt(0)==="^"?f.substring(1):f}i(n,"convertID"),o(n,"convertID"),e.convertID=n;function a(f){return parseInt(f)}i(a,"convertInt"),o(a,"convertInt"),e.convertInt=a;function s(f){return BigInt(f)}i(s,"convertBigint"),o(s,"convertBigint"),e.convertBigint=s;function l(f){return new Date(f)}i(l,"convertDate"),o(l,"convertDate"),e.convertDate=l;function u(f){return Number(f)}i(u,"convertNumber"),o(u,"convertNumber"),e.convertNumber=u;function c(f){return f.toLowerCase()==="true"}i(c,"convertBoolean"),o(c,"convertBoolean"),e.convertBoolean=c})(qt||(qt={}));var de={};wl(de,yp(Nl(),1));function Nu(){return new Promise(e=>{typeof setImmediate>"u"?setTimeout(e,0):setImmediate(e)})}i(Nu,"delayNextTick");o(Nu,"delayNextTick");var Lo=0,xS=10;function Pu(){return Lo=performance.now(),new de.CancellationTokenSource}i(Pu,"startCancelableOperation");o(Pu,"startCancelableOperation");function Om(e){xS=e}i(Om,"setInterruptionPeriod");o(Om,"setInterruptionPeriod");var Ht=Symbol("OperationCancelled");function Vn(e){return e===Ht}i(Vn,"isOperationCancelled");o(Vn,"isOperationCancelled");async function ze(e){if(e===de.CancellationToken.None)return;let t=performance.now();if(t-Lo>=xS&&(Lo=t,await Nu(),Lo=performance.now()),e.isCancellationRequested)throw Ht}i(ze,"interruptAndCheck");o(ze,"interruptAndCheck");var $r=class{static{i(this,"Deferred")}static{o(this,"Deferred")}constructor(){this.promise=new Promise((e,t)=>{this.resolve=r=>(e(r),this),this.reject=r=>(t(r),this)})}},Cy=class Bf{static{i(this,"_FullTextDocument")}static{o(this,"FullTextDocument")}constructor(t,r,n,a){this._uri=t,this._languageId=r,this._version=n,this._content=a,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(t){if(t){let r=this.offsetAt(t.start),n=this.offsetAt(t.end);return this._content.substring(r,n)}return this._content}update(t,r){for(let n of t)if(Bf.isIncremental(n)){let a=Dm(n.range),s=this.offsetAt(a.start),l=this.offsetAt(a.end);this._content=this._content.substring(0,s)+n.text+this._content.substring(l,this._content.length);let u=Math.max(a.start.line,0),c=Math.max(a.end.line,0),f=this._lineOffsets,p=qf(n.text,!1,s);if(c-u===p.length)for(let h=0,v=p.length;h<v;h++)f[h+u+1]=p[h];else p.length<1e4?f.splice(u+1,c-u,...p):this._lineOffsets=f=f.slice(0,u+1).concat(p,f.slice(c+1));let d=n.text.length-(l-s);if(d!==0)for(let h=u+1+p.length,v=f.length;h<v;h++)f[h]=f[h]+d}else if(Bf.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=qf(this._content,!0)),this._lineOffsets}positionAt(t){t=Math.max(Math.min(t,this._content.length),0);let r=this.getLineOffsets(),n=0,a=r.length;if(a===0)return{line:0,character:t};for(;n<a;){let l=Math.floor((n+a)/2);r[l]>t?a=l:n=l+1}let s=n-1;return t=this.ensureBeforeEOL(t,r[s]),{line:s,character:t-r[s]}}offsetAt(t){let r=this.getLineOffsets();if(t.line>=r.length)return this._content.length;if(t.line<0)return 0;let n=r[t.line];if(t.character<=0)return n;let a=t.line+1<r.length?r[t.line+1]:this._content.length,s=Math.min(n+t.character,a);return this.ensureBeforeEOL(s,n)}ensureBeforeEOL(t,r){for(;t>r&&Lm(this._content.charCodeAt(t-1));)t--;return t}get lineCount(){return this.getLineOffsets().length}static isIncremental(t){let r=t;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(t){let r=t;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}},Rl;(function(e){function t(a,s,l,u){return new Cy(a,s,l,u)}i(t,"create"),o(t,"create"),e.create=t;function r(a,s,l){if(a instanceof Cy)return a.update(s,l),a;throw new Error("TextDocument.update: document must be created by TextDocument.create")}i(r,"update"),o(r,"update"),e.update=r;function n(a,s){let l=a.getText(),u=Al(s.map(MS),(p,d)=>{let h=p.range.start.line-d.range.start.line;return h===0?p.range.start.character-d.range.start.character:h}),c=0,f=[];for(let p of u){let d=a.offsetAt(p.range.start);if(d<c)throw new Error("Overlapping edit");d>c&&f.push(l.substring(c,d)),p.newText.length&&f.push(p.newText),c=a.offsetAt(p.range.end)}return f.push(l.substr(c)),f.join("")}i(n,"applyEdits"),o(n,"applyEdits"),e.applyEdits=n})(Rl||(Rl={}));function Al(e,t){if(e.length<=1)return e;let r=e.length/2|0,n=e.slice(0,r),a=e.slice(r);Al(n,t),Al(a,t);let s=0,l=0,u=0;for(;s<n.length&&l<a.length;)t(n[s],a[l])<=0?e[u++]=n[s++]:e[u++]=a[l++];for(;s<n.length;)e[u++]=n[s++];for(;l<a.length;)e[u++]=a[l++];return e}i(Al,"mergeSort");o(Al,"mergeSort");function qf(e,t,r=0){let n=t?[r]:[];for(let a=0;a<e.length;a++){let s=e.charCodeAt(a);Lm(s)&&(s===13&&a+1<e.length&&e.charCodeAt(a+1)===10&&a++,n.push(r+a+1))}return n}i(qf,"computeLineOffsets");o(qf,"computeLineOffsets");function Lm(e){return e===13||e===10}i(Lm,"isEOL");o(Lm,"isEOL");function Dm(e){let t=e.start,r=e.end;return t.line>r.line||t.line===r.line&&t.character>r.character?{start:r,end:t}:e}i(Dm,"getWellformedRange");o(Dm,"getWellformedRange");function MS(e){let t=Dm(e.range);return t!==e.range?{newText:e.newText,range:t}:e}i(MS,"getWellformedEdit");o(MS,"getWellformedEdit");var GS;(()=>{"use strict";var e={975:O=>{function b($){if(typeof $!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify($))}i(b,"e2"),o(b,"e");function g($,R){for(var _,L="",M=0,x=-1,F=0,W=0;W<=$.length;++W){if(W<$.length)_=$.charCodeAt(W);else{if(_===47)break;_=47}if(_===47){if(!(x===W-1||F===1))if(x!==W-1&&F===2){if(L.length<2||M!==2||L.charCodeAt(L.length-1)!==46||L.charCodeAt(L.length-2)!==46){if(L.length>2){var X=L.lastIndexOf("/");if(X!==L.length-1){X===-1?(L="",M=0):M=(L=L.slice(0,X)).length-1-L.lastIndexOf("/"),x=W,F=0;continue}}else if(L.length===2||L.length===1){L="",M=0,x=W,F=0;continue}}R&&(L.length>0?L+="/..":L="..",M=2)}else L.length>0?L+="/"+$.slice(x+1,W):L=$.slice(x+1,W),M=W-x-1;x=W,F=0}else _===46&&F!==-1?++F:F=-1}return L}i(g,"r2"),o(g,"r");var C={resolve:o(function(){for(var $,R="",_=!1,L=arguments.length-1;L>=-1&&!_;L--){var M;L>=0?M=arguments[L]:($===void 0&&($=process.cwd()),M=$),b(M),M.length!==0&&(R=M+"/"+R,_=M.charCodeAt(0)===47)}return R=g(R,!_),_?R.length>0?"/"+R:"/":R.length>0?R:"."},"resolve"),normalize:o(function($){if(b($),$.length===0)return".";var R=$.charCodeAt(0)===47,_=$.charCodeAt($.length-1)===47;return($=g($,!R)).length!==0||R||($="."),$.length>0&&_&&($+="/"),R?"/"+$:$},"normalize"),isAbsolute:o(function($){return b($),$.length>0&&$.charCodeAt(0)===47},"isAbsolute"),join:o(function(){if(arguments.length===0)return".";for(var $,R=0;R<arguments.length;++R){var _=arguments[R];b(_),_.length>0&&($===void 0?$=_:$+="/"+_)}return $===void 0?".":C.normalize($)},"join"),relative:o(function($,R){if(b($),b(R),$===R||($=C.resolve($))===(R=C.resolve(R)))return"";for(var _=1;_<$.length&&$.charCodeAt(_)===47;++_);for(var L=$.length,M=L-_,x=1;x<R.length&&R.charCodeAt(x)===47;++x);for(var F=R.length-x,W=M<F?M:F,X=-1,V=0;V<=W;++V){if(V===W){if(F>W){if(R.charCodeAt(x+V)===47)return R.slice(x+V+1);if(V===0)return R.slice(x+V)}else M>W&&($.charCodeAt(_+V)===47?X=V:V===0&&(X=0));break}var Pe=$.charCodeAt(_+V);if(Pe!==R.charCodeAt(x+V))break;Pe===47&&(X=V)}var oe="";for(V=_+X+1;V<=L;++V)V!==L&&$.charCodeAt(V)!==47||(oe.length===0?oe+="..":oe+="/..");return oe.length>0?oe+R.slice(x+X):(x+=X,R.charCodeAt(x)===47&&++x,R.slice(x))},"relative"),_makeLong:o(function($){return $},"_makeLong"),dirname:o(function($){if(b($),$.length===0)return".";for(var R=$.charCodeAt(0),_=R===47,L=-1,M=!0,x=$.length-1;x>=1;--x)if((R=$.charCodeAt(x))===47){if(!M){L=x;break}}else M=!1;return L===-1?_?"/":".":_&&L===1?"//":$.slice(0,L)},"dirname"),basename:o(function($,R){if(R!==void 0&&typeof R!="string")throw new TypeError('"ext" argument must be a string');b($);var _,L=0,M=-1,x=!0;if(R!==void 0&&R.length>0&&R.length<=$.length){if(R.length===$.length&&R===$)return"";var F=R.length-1,W=-1;for(_=$.length-1;_>=0;--_){var X=$.charCodeAt(_);if(X===47){if(!x){L=_+1;break}}else W===-1&&(x=!1,W=_+1),F>=0&&(X===R.charCodeAt(F)?--F==-1&&(M=_):(F=-1,M=W))}return L===M?M=W:M===-1&&(M=$.length),$.slice(L,M)}for(_=$.length-1;_>=0;--_)if($.charCodeAt(_)===47){if(!x){L=_+1;break}}else M===-1&&(x=!1,M=_+1);return M===-1?"":$.slice(L,M)},"basename"),extname:o(function($){b($);for(var R=-1,_=0,L=-1,M=!0,x=0,F=$.length-1;F>=0;--F){var W=$.charCodeAt(F);if(W!==47)L===-1&&(M=!1,L=F+1),W===46?R===-1?R=F:x!==1&&(x=1):R!==-1&&(x=-1);else if(!M){_=F+1;break}}return R===-1||L===-1||x===0||x===1&&R===L-1&&R===_+1?"":$.slice(R,L)},"extname"),format:o(function($){if($===null||typeof $!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof $);return(function(R,_){var L=_.dir||_.root,M=_.base||(_.name||"")+(_.ext||"");return L?L===_.root?L+M:L+"/"+M:M})(0,$)},"format"),parse:o(function($){b($);var R={root:"",dir:"",base:"",ext:"",name:""};if($.length===0)return R;var _,L=$.charCodeAt(0),M=L===47;M?(R.root="/",_=1):_=0;for(var x=-1,F=0,W=-1,X=!0,V=$.length-1,Pe=0;V>=_;--V)if((L=$.charCodeAt(V))!==47)W===-1&&(X=!1,W=V+1),L===46?x===-1?x=V:Pe!==1&&(Pe=1):x!==-1&&(Pe=-1);else if(!X){F=V+1;break}return x===-1||W===-1||Pe===0||Pe===1&&x===W-1&&x===F+1?W!==-1&&(R.base=R.name=F===0&&M?$.slice(1,W):$.slice(F,W)):(F===0&&M?(R.name=$.slice(1,x),R.base=$.slice(1,W)):(R.name=$.slice(F,x),R.base=$.slice(F,W)),R.ext=$.slice(x,W)),F>0?R.dir=$.slice(0,F-1):M&&(R.dir="/"),R},"parse"),sep:"/",delimiter:":",win32:null,posix:null};C.posix=C,O.exports=C}},t={};function r(O){var b=t[O];if(b!==void 0)return b.exports;var g=t[O]={exports:{}};return e[O](g,g.exports,r),g.exports}i(r,"r"),o(r,"r"),r.d=(O,b)=>{for(var g in b)r.o(b,g)&&!r.o(O,g)&&Object.defineProperty(O,g,{enumerable:!0,get:b[g]})},r.o=(O,b)=>Object.prototype.hasOwnProperty.call(O,b),r.r=O=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(O,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(O,"__esModule",{value:!0})};var n={};let a;r.r(n),r.d(n,{URI:o(()=>h,"URI"),Utils:o(()=>Se,"Utils")}),typeof process=="object"?a=process.platform==="win32":typeof navigator=="object"&&(a=navigator.userAgent.indexOf("Windows")>=0);let s=/^\w[\w\d+.-]*$/,l=/^\//,u=/^\/\//;function c(O,b){if(!O.scheme&&b)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${O.authority}", path: "${O.path}", query: "${O.query}", fragment: "${O.fragment}"}`);if(O.scheme&&!s.test(O.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(O.path){if(O.authority){if(!l.test(O.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(u.test(O.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}i(c,"a"),o(c,"a");let f="",p="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class h{static{i(this,"l")}static{o(this,"l")}static isUri(b){return b instanceof h||!!b&&typeof b.authority=="string"&&typeof b.fragment=="string"&&typeof b.path=="string"&&typeof b.query=="string"&&typeof b.scheme=="string"&&typeof b.fsPath=="string"&&typeof b.with=="function"&&typeof b.toString=="function"}scheme;authority;path;query;fragment;constructor(b,g,C,$,R,_=!1){typeof b=="object"?(this.scheme=b.scheme||f,this.authority=b.authority||f,this.path=b.path||f,this.query=b.query||f,this.fragment=b.fragment||f):(this.scheme=(function(L,M){return L||M?L:"file"})(b,_),this.authority=g||f,this.path=(function(L,M){switch(L){case"https":case"http":case"file":M?M[0]!==p&&(M=p+M):M=p}return M})(this.scheme,C||f),this.query=$||f,this.fragment=R||f,c(this,_))}get fsPath(){return I(this,!1)}with(b){if(!b)return this;let{scheme:g,authority:C,path:$,query:R,fragment:_}=b;return g===void 0?g=this.scheme:g===null&&(g=f),C===void 0?C=this.authority:C===null&&(C=f),$===void 0?$=this.path:$===null&&($=f),R===void 0?R=this.query:R===null&&(R=f),_===void 0?_=this.fragment:_===null&&(_=f),g===this.scheme&&C===this.authority&&$===this.path&&R===this.query&&_===this.fragment?this:new T(g,C,$,R,_)}static parse(b,g=!1){let C=d.exec(b);return C?new T(C[2]||f,J(C[4]||f),J(C[5]||f),J(C[7]||f),J(C[9]||f),g):new T(f,f,f,f,f)}static file(b){let g=f;if(a&&(b=b.replace(/\\/g,p)),b[0]===p&&b[1]===p){let C=b.indexOf(p,2);C===-1?(g=b.substring(2),b=p):(g=b.substring(2,C),b=b.substring(C)||p)}return new T("file",g,b,f,f)}static from(b){let g=new T(b.scheme,b.authority,b.path,b.query,b.fragment);return c(g,!0),g}toString(b=!1){return A(this,b)}toJSON(){return this}static revive(b){if(b){if(b instanceof h)return b;{let g=new T(b);return g._formatted=b.external,g._fsPath=b._sep===v?b.fsPath:null,g}}return b}}let v=a?1:void 0;class T extends h{static{i(this,"d")}static{o(this,"d")}_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=I(this,!1)),this._fsPath}toString(b=!1){return b?A(this,!0):(this._formatted||(this._formatted=A(this,!1)),this._formatted)}toJSON(){let b={$mid:1};return this._fsPath&&(b.fsPath=this._fsPath,b._sep=v),this._formatted&&(b.external=this._formatted),this.path&&(b.path=this.path),this.scheme&&(b.scheme=this.scheme),this.authority&&(b.authority=this.authority),this.query&&(b.query=this.query),this.fragment&&(b.fragment=this.fragment),b}}let S={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 w(O,b,g){let C,$=-1;for(let R=0;R<O.length;R++){let _=O.charCodeAt(R);if(_>=97&&_<=122||_>=65&&_<=90||_>=48&&_<=57||_===45||_===46||_===95||_===126||b&&_===47||g&&_===91||g&&_===93||g&&_===58)$!==-1&&(C+=encodeURIComponent(O.substring($,R)),$=-1),C!==void 0&&(C+=O.charAt(R));else{C===void 0&&(C=O.substr(0,R));let L=S[_];L!==void 0?($!==-1&&(C+=encodeURIComponent(O.substring($,R)),$=-1),C+=L):$===-1&&($=R)}}return $!==-1&&(C+=encodeURIComponent(O.substring($))),C!==void 0?C:O}i(w,"m"),o(w,"m");function N(O){let b;for(let g=0;g<O.length;g++){let C=O.charCodeAt(g);C===35||C===63?(b===void 0&&(b=O.substr(0,g)),b+=S[C]):b!==void 0&&(b+=O[g])}return b!==void 0?b:O}i(N,"y"),o(N,"y");function I(O,b){let g;return g=O.authority&&O.path.length>1&&O.scheme==="file"?`//${O.authority}${O.path}`:O.path.charCodeAt(0)===47&&(O.path.charCodeAt(1)>=65&&O.path.charCodeAt(1)<=90||O.path.charCodeAt(1)>=97&&O.path.charCodeAt(1)<=122)&&O.path.charCodeAt(2)===58?b?O.path.substr(1):O.path[1].toLowerCase()+O.path.substr(2):O.path,a&&(g=g.replace(/\//g,"\\")),g}i(I,"v"),o(I,"v");function A(O,b){let g=b?N:w,C="",{scheme:$,authority:R,path:_,query:L,fragment:M}=O;if($&&(C+=$,C+=":"),(R||$==="file")&&(C+=p,C+=p),R){let x=R.indexOf("@");if(x!==-1){let F=R.substr(0,x);R=R.substr(x+1),x=F.lastIndexOf(":"),x===-1?C+=g(F,!1,!1):(C+=g(F.substr(0,x),!1,!1),C+=":",C+=g(F.substr(x+1),!1,!0)),C+="@"}R=R.toLowerCase(),x=R.lastIndexOf(":"),x===-1?C+=g(R,!1,!0):(C+=g(R.substr(0,x),!1,!0),C+=R.substr(x))}if(_){if(_.length>=3&&_.charCodeAt(0)===47&&_.charCodeAt(2)===58){let x=_.charCodeAt(1);x>=65&&x<=90&&(_=`/${String.fromCharCode(x+32)}:${_.substr(3)}`)}else if(_.length>=2&&_.charCodeAt(1)===58){let x=_.charCodeAt(0);x>=65&&x<=90&&(_=`${String.fromCharCode(x+32)}:${_.substr(2)}`)}C+=g(_,!0,!1)}return L&&(C+="?",C+=g(L,!1,!1)),M&&(C+="#",C+=b?M:w(M,!1,!1)),C}i(A,"b"),o(A,"b");function k(O){try{return decodeURIComponent(O)}catch{return O.length>3?O.substr(0,3)+k(O.substr(3)):O}}i(k,"C"),o(k,"C");let j=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function J(O){return O.match(j)?O.replace(j,(b=>k(b))):O}i(J,"w"),o(J,"w");var Q=r(975);let ce=Q.posix||Q,se="/";var Se;(function(O){O.joinPath=function(b,...g){return b.with({path:ce.join(b.path,...g)})},O.resolvePath=function(b,...g){let C=b.path,$=!1;C[0]!==se&&(C=se+C,$=!0);let R=ce.resolve(C,...g);return $&&R[0]===se&&!b.authority&&(R=R.substring(1)),b.with({path:R})},O.dirname=function(b){if(b.path.length===0||b.path===se)return b;let g=ce.dirname(b.path);return g.length===1&&g.charCodeAt(0)===46&&(g=""),b.with({path:g})},O.basename=function(b){return ce.basename(b.path)},O.extname=function(b){return ce.extname(b.path)}})(Se||(Se={})),GS=n})();var{URI:pt,Utils:_i}=GS,Ze;(function(e){e.basename=_i.basename,e.dirname=_i.dirname,e.extname=_i.extname,e.joinPath=_i.joinPath,e.resolvePath=_i.resolvePath;let t=typeof process=="object"&&process?.platform==="win32";function r(l,u){return l?.toString()===u?.toString()}i(r,"equals"),o(r,"equals"),e.equals=r;function n(l,u){let c=typeof l=="string"?pt.parse(l).path:l.path,f=typeof u=="string"?pt.parse(u).path:u.path,p=c.split("/").filter(S=>S.length>0),d=f.split("/").filter(S=>S.length>0);if(t){let S=/^[A-Z]:$/;if(p[0]&&S.test(p[0])&&(p[0]=p[0].toLowerCase()),d[0]&&S.test(d[0])&&(d[0]=d[0].toLowerCase()),p[0]!==d[0])return f.substring(1)}let h=0;for(;h<p.length&&p[h]===d[h];h++);let v="../".repeat(p.length-h),T=d.slice(h).join("/");return v+T}i(n,"relative"),o(n,"relative"),e.relative=n;function a(l){return pt.parse(l.toString()).toString()}i(a,"normalize"),o(a,"normalize"),e.normalize=a;function s(l,u){let c=typeof l=="string"?l:l.path,f=typeof u=="string"?u:u.path;return f.charAt(f.length-1)==="/"&&(f=f.slice(0,-1)),c.charAt(c.length-1)==="/"&&(c=c.slice(0,-1)),f===c?!0:f.length<c.length||f.charAt(c.length)!=="/"?!1:f.startsWith(c)}i(s,"contains"),o(s,"contains"),e.contains=s})(Ze||(Ze={}));var xm=class{static{i(this,"UriTrie")}static{o(this,"UriTrie")}constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return Ze.normalize(e)}clear(){this.root.children.clear()}insert(e,t){let r=this.getNode(this.normalizeUri(e),!0);r.element=t}delete(e){let t=this.getNode(this.normalizeUri(e),!1);t?.parent&&t.parent.children.delete(t.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 t=this.normalizeUri(e),r=this.getNode(t,!1);if(r)return{name:r.name,uri:Ze.joinPath(pt.parse(t),r.name).toString(),element:r.element}}findChildren(e){let t=this.normalizeUri(e),r=this.getNode(t,!1);return r?Array.from(r.children.values()).map(n=>({name:n.name,uri:Ze.joinPath(pt.parse(t),n.name).toString(),element:n.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let t=this.getNode(Ze.normalize(e),!1);return t?this.collectValues(t):[]}getNode(e,t){let r=e.split("/");e.charAt(e.length-1)==="/"&&r.pop();let n=this.root;for(let a of r){let s=n.children.get(a);if(!s)if(t)s={name:a,children:new Map,parent:n},n.children.set(a,s);else return;n=s}return n}collectValues(e){let t=[];e.element&&t.push(e.element);for(let r of e.children.values())t.push(...this.collectValues(r));return t}},Z;(function(e){e[e.Changed=0]="Changed",e[e.Parsed=1]="Parsed",e[e.IndexedContent=2]="IndexedContent",e[e.ComputedScopes=3]="ComputedScopes",e[e.Linked=4]="Linked",e[e.IndexedReferences=5]="IndexedReferences",e[e.Validated=6]="Validated"})(Z||(Z={}));var FS=class{static{i(this,"DefaultLangiumDocumentFactory")}static{o(this,"DefaultLangiumDocumentFactory")}constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,t=de.CancellationToken.None){let r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,t)}fromTextDocument(e,t,r){return t=t??pt.parse(e.uri),de.CancellationToken.is(r)?this.createAsync(t,e,r):this.create(t,e,r)}fromString(e,t,r){return de.CancellationToken.is(r)?this.createAsync(t,e,r):this.create(t,e,r)}fromModel(e,t){return this.create(t,{$model:e})}create(e,t,r){if(typeof t=="string"){let n=this.parse(e,t,r);return this.createLangiumDocument(n,e,void 0,t)}else if("$model"in t){let n={value:t.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(n,e)}else{let n=this.parse(e,t.getText(),r);return this.createLangiumDocument(n,e,t)}}async createAsync(e,t,r){if(typeof t=="string"){let n=await this.parseAsync(e,t,r);return this.createLangiumDocument(n,e,void 0,t)}else{let n=await this.parseAsync(e,t.getText(),r);return this.createLangiumDocument(n,e,t)}}createLangiumDocument(e,t,r,n){let a;if(r)a={parseResult:e,uri:t,state:Z.Parsed,references:[],textDocument:r};else{let s=this.createTextDocumentGetter(t,n);a={parseResult:e,uri:t,state:Z.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=a,a}async update(e,t){let r=e.parseResult.value.$cstNode?.root.fullText,n=this.textDocuments?.get(e.uri.toString()),a=n?n.getText():await this.fileSystemProvider.readFile(e.uri);if(n)Object.defineProperty(e,"textDocument",{value:n});else{let s=this.createTextDocumentGetter(e.uri,a);Object.defineProperty(e,"textDocument",{get:s})}return r!==a&&(e.parseResult=await this.parseAsync(e.uri,a,t),e.parseResult.value.$document=e),e.state=Z.Parsed,e}parse(e,t,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(t,r)}parseAsync(e,t,r){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(t,r)}createTextDocumentGetter(e,t){let r=this.serviceRegistry,n;return()=>n??(n=Rl.create(e.toString(),r.getServices(e).LanguageMetaData.languageId,0,t??""))}},zS=class{static{i(this,"DefaultLangiumDocuments")}static{o(this,"DefaultLangiumDocuments")}constructor(e){this.documentTrie=new xm,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return ue(this.documentTrie.all())}addDocument(e){let t=e.uri.toString();if(this.documentTrie.has(t))throw new Error(`A document with the URI '${t}' is already present.`);this.documentTrie.insert(t,e)}getDocument(e){let t=e.toString();return this.documentTrie.find(t)}getDocuments(e){let t=e.toString();return this.documentTrie.findAll(t)}async getOrCreateDocument(e,t){let r=this.getDocument(e);return r||(r=await this.langiumDocumentFactory.fromUri(e,t),this.addDocument(r),r)}createDocument(e,t,r){if(r)return this.langiumDocumentFactory.fromString(t,e,r).then(n=>(this.addDocument(n),n));{let n=this.langiumDocumentFactory.fromString(t,e);return this.addDocument(n),n}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let t=e.toString(),r=this.documentTrie.find(t);return r&&this.documentBuilder().resetToState(r,Z.Changed),r}deleteDocument(e){let t=e.toString(),r=this.documentTrie.find(t);return r&&(r.state=Z.Changed,this.documentTrie.delete(t)),r}deleteDocuments(e){let t=e.toString(),r=this.documentTrie.findAll(t);for(let n of r)n.state=Z.Changed;return this.documentTrie.delete(t),r}},en=Symbol("RefResolving"),jS=class{static{i(this,"DefaultLinker")}static{o(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,t=de.CancellationToken.None){if(this.profiler?.isActive("linking")){let r=this.profiler.createTask("linking",this.languageId);r.start();try{for(let n of Pt(e.parseResult.value))await ze(t),Ga(n).forEach(a=>{let s=`${n.$type}:${a.property}`;r.startSubTask(s);try{this.doLink(a,e)}finally{r.stopSubTask(s)}})}finally{r.stop()}}else for(let r of Pt(e.parseResult.value))await ze(t),Ga(r).forEach(n=>this.doLink(n,e))}doLink(e,t){let r=e.reference;if("_ref"in r&&r._ref===void 0){r._ref=en;try{let n=this.getCandidate(e);if(an(n))r._ref=n;else{r._nodeDescription=n;let a=this.loadAstNode(n);r._ref=a??this.createLinkingError(e,n)}}catch(n){console.error(`An error occurred while resolving reference to '${r.$refText}':`,n);let a=n.message??String(n);r._ref={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${a}`}}t.references.push(r)}else if("_items"in r&&r._items===void 0){r._items=en;try{let n=this.getCandidates(e),a=[];if(an(n))r._linkingError=n;else for(let s of n){let l=this.loadAstNode(s);l&&a.push({ref:l,$nodeDescription:s})}r._items=a}catch(n){r._linkingError={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${n}`},r._items=[]}t.references.push(r)}}unlink(e){for(let t of e.references)"_ref"in t?(t._ref=void 0,delete t._nodeDescription):"_items"in t&&(t._items=void 0,delete t._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let r=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(n=>`${n.documentUri}#${n.path}`).toArray();return r.length>0?r:this.createLinkingError(e)}buildReference(e,t,r,n){let a=this,s={$refNode:r,$refText:n,_ref:void 0,get ref(){if(Oe(this._ref))return this._ref;if($p(this._nodeDescription)){let l=a.loadAstNode(this._nodeDescription);this._ref=l??a.createLinkingError({reference:s,container:e,property:t},this._nodeDescription)}else if(this._ref===void 0){this._ref=en;let l=Pa(e).$document,u=a.getLinkedNode({reference:s,container:e,property:t});if(u.error&&l&&l.state<Z.ComputedScopes)return this._ref=void 0;this._ref=u.node??u.error,this._nodeDescription=u.descr,l?.references.push(this)}else this._ref===en&&a.throwCyclicReferenceError(e,t,n);return Oe(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return an(this._ref)?this._ref:void 0}};return s}buildMultiReference(e,t,r,n){let a=this,s={$refNode:r,$refText:n,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(this._items===void 0){this._items=en;let l=Pa(e).$document,u=a.getCandidates({reference:s,container:e,property:t}),c=[];if(an(u))this._linkingError=u;else for(let f of u){let p=a.loadAstNode(f);p&&c.push({ref:p,$nodeDescription:f})}this._items=c,l?.references.push(this)}else this._items===en&&a.throwCyclicReferenceError(e,t,n);return Array.isArray(this._items)?this._items:[]},get error(){if(this._linkingError)return this._linkingError;if(!(this.items.length>0))return this._linkingError=a.createLinkingError({reference:s,container:e,property:t})}};return s}throwCyclicReferenceError(e,t,r){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${t} (symbol '${r}')`)}getLinkedNode(e){try{let t=this.getCandidate(e);if(an(t))return{error:t};let r=this.loadAstNode(t);return r?{node:r,descr:t}:{descr:t,error:this.createLinkingError(e,t)}}catch(t){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,t);let r=t.message??String(t);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${r}`}}}}loadAstNode(e){if(e.node)return e.node;let t=this.langiumDocuments().getDocument(e.documentUri);if(t)return this.astNodeLocator.getAstNode(t.parseResult.value,e.path)}createLinkingError(e,t){let r=Pa(e.container).$document;r&&r.state<Z.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${r.uri}).`);let n=this.reflection.getReferenceType(e);return{info:e,message:`Could not resolve reference to ${n} named '${e.reference.$refText}'.`,targetDescription:t}}};function Mm(e){return typeof e.name=="string"}i(Mm,"isNamed");o(Mm,"isNamed");var US=class{static{i(this,"DefaultNameProvider")}static{o(this,"DefaultNameProvider")}getName(e){if(Mm(e))return e.name}getNameNode(e){return Kl(e.$cstNode,"name")}},KS=class{static{i(this,"DefaultReferences")}static{o(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=Pt(e.Grammar).some(t=>Pn(t)&&t.isMulti)}findDeclarations(e){if(e){let t=fd(e),r=e.astNode;if(t&&r){let n=r[t.feature];if(Je(n)||Yt(n))return zo(n);if(Array.isArray(n)){for(let a of n)if((Je(a)||Yt(a))&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return zo(a)}}if(r){let n=this.nameProvider.getNameNode(r);if(n&&(n===e||Bp(e,n)))return this.getSelfNodes(r)}}return[]}getSelfNodes(e){if(this.hasMultiReference){let t=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),r=this.getNodeFromReferenceDescription(t.head());if(r){for(let n of Ga(r))if(Yt(n.reference)&&n.reference.items.some(a=>a.ref===e))return n.reference.items.map(a=>a.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;let t=this.documents.getDocument(e.sourceUri);if(t)return this.nodeLocator.getAstNode(t.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let t=this.findDeclarations(e),r=[];for(let n of t){let a=this.nameProvider.getNameNode(n)??n.$cstNode;a&&r.push(a)}return r}findReferences(e,t){let r=[];t.includeDeclaration&&r.push(...this.getSelfReferences(e));let n=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return t.documentUri&&(n=n.filter(a=>Ze.equals(a.sourceUri,t.documentUri))),r.push(...n),ue(r)}getSelfReferences(e){let t=this.getSelfNodes(e),r=[];for(let n of t){let a=this.nameProvider.getNameNode(n);if(a){let s=Nt(n),l=this.nodeLocator.getAstNodePath(n);r.push({sourceUri:s.uri,sourcePath:l,targetUri:s.uri,targetPath:l,segment:ja(a),local:!0})}}return r}},Rr=class{static{i(this,"MultiMap")}static{o(this,"MultiMap")}constructor(e){if(this.map=new Map,e)for(let[t,r]of e)this.add(t,r)}get size(){return fs.sum(ue(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,t){if(t===void 0)return this.map.delete(e);{let r=this.map.get(e);if(r){let n=r.indexOf(t);if(n>=0)return r.length===1?this.map.delete(e):r.splice(n,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){let t=this.map.get(e);return t?ue(t):Da}has(e,t){if(t===void 0)return this.map.has(e);{let r=this.map.get(e);return r?r.indexOf(t)>=0:!1}}add(e,t){return this.map.has(e)?this.map.get(e).push(t):this.map.set(e,[t]),this}addAll(e,t){return this.map.has(e)?this.map.get(e).push(...t):this.map.set(e,Array.from(t)),this}forEach(e){this.map.forEach((t,r)=>t.forEach(n=>e(n,r,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return ue(this.map.entries()).flatMap(([e,t])=>t.map(r=>[e,r]))}keys(){return ue(this.map.keys())}values(){return ue(this.map.values()).flat()}entriesGroupedByKey(){return ue(this.map.entries())}},El=class{static{i(this,"BiMap")}static{o(this,"BiMap")}get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[t,r]of e)this.set(t,r)}clear(){this.map.clear(),this.inverse.clear()}set(e,t){return this.map.set(e,t),this.inverse.set(t,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let t=this.map.get(e);return t!==void 0?(this.map.delete(e),this.inverse.delete(t),!0):!1}},BS=class{static{i(this,"DefaultScopeComputation")}static{o(this,"DefaultScopeComputation")}constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,t=de.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,t)}async collectExportedSymbolsForNode(e,t,r=Ns,n=de.CancellationToken.None){let a=[];this.addExportedSymbol(e,a,t);for(let s of r(e))await ze(n),this.addExportedSymbol(s,a,t);return a}addExportedSymbol(e,t,r){let n=this.nameProvider.getName(e);n&&t.push(this.descriptions.createDescription(e,n,r))}async collectLocalSymbols(e,t=de.CancellationToken.None){let r=e.parseResult.value,n=new Rr;for(let a of Ar(r))await ze(t),this.addLocalSymbol(a,e,n);return n}addLocalSymbol(e,t,r){let n=e.$container;if(n){let a=this.nameProvider.getName(e);a&&r.add(n,this.descriptions.createDescription(e,a,t))}}},Wf=class{static{i(this,"StreamScope")}static{o(this,"StreamScope")}constructor(e,t,r){this.elements=e,this.outerScope=t,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.caseInsensitive?this.elements.find(n=>n.name.toLowerCase()===t):this.elements.find(n=>n.name===e);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.caseInsensitive?this.elements.filter(n=>n.name.toLowerCase()===t):this.elements.filter(n=>n.name===e);return(this.concatOuterScope||r.isEmpty())&&this.outerScope?r.concat(this.outerScope.getElements(e)):r}},xG=class{static{i(this,"MapScope")}static{o(this,"MapScope")}constructor(e,t,r){this.elements=new Map,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0;for(let n of e){let a=this.caseInsensitive?n.name.toLowerCase():n.name;this.elements.set(a,n)}this.outerScope=t}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t),n=r?[r]:[];return(this.concatOuterScope||n.length>0)&&this.outerScope?ue(n).concat(this.outerScope.getElements(e)):ue(n)}getAllElements(){let e=ue(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},qS=class{static{i(this,"MultiMapScope")}static{o(this,"MultiMapScope")}constructor(e,t,r){this.elements=new Rr,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0;for(let n of e){let a=this.caseInsensitive?n.name.toLowerCase():n.name;this.elements.add(a,n)}this.outerScope=t}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t)[0];if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t);return(this.concatOuterScope||r.length===0)&&this.outerScope?ue(r).concat(this.outerScope.getElements(e)):ue(r)}getAllElements(){let e=ue(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},MG={getElement(){},getElements(){return Da},getAllElements(){return Da}},ku=class{static{i(this,"DisposableCache")}static{o(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")}},Gm=class extends ku{static{i(this,"SimpleCache")}static{o(this,"SimpleCache")}constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,t){this.throwIfDisposed(),this.cache.set(e,t)}get(e,t){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(t){let r=t();return this.cache.set(e,r),r}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},Ou=class extends ku{static{i(this,"ContextCache")}static{o(this,"ContextCache")}constructor(e){super(),this.cache=new Map,this.converter=e??(t=>t)}has(e,t){return this.throwIfDisposed(),this.cacheForContext(e).has(t)}set(e,t,r){this.throwIfDisposed(),this.cacheForContext(e).set(t,r)}get(e,t,r){this.throwIfDisposed();let n=this.cacheForContext(e);if(n.has(t))return n.get(t);if(r){let a=r();return n.set(t,a),a}else return}delete(e,t){return this.throwIfDisposed(),this.cacheForContext(e).delete(t)}clear(e){if(this.throwIfDisposed(),e){let t=this.converter(e);this.cache.delete(t)}else this.cache.clear()}cacheForContext(e){let t=this.converter(e),r=this.cache.get(t);return r||(r=new Map,this.cache.set(t,r)),r}},WS=class extends Ou{static{i(this,"DocumentCache")}static{o(this,"DocumentCache")}constructor(e,t){super(r=>r.toString()),t?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(t,r=>{this.clear(r.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((r,n)=>{for(let a of n)this.clear(a)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((r,n)=>{let a=r.concat(n);for(let s of a)this.clear(s)}))}},Fm=class extends Gm{static{i(this,"WorkspaceCache")}static{o(this,"WorkspaceCache")}constructor(e,t){super(),t?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(t,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((r,n)=>{n.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}},VS=class{static{i(this,"DefaultScopeProvider")}static{o(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 Fm(e.shared)}getScope(e){let t=[],r=this.reflection.getReferenceType(e),n=Nt(e.container).localSymbols;if(n){let s=e.container;do n.has(s)&&t.push(n.getStream(s).filter(l=>this.reflection.isSubtype(l.type,r))),s=s.$container;while(s)}let a=this.getGlobalScope(r,e);for(let s=t.length-1;s>=0;s--)a=this.createScope(t[s],a);return a}createScope(e,t,r){return new Wf(ue(e),t,r)}createScopeForNodes(e,t,r){let n=ue(e).map(a=>{let s=this.nameProvider.getName(a);if(s)return this.descriptions.createDescription(a,s)}).nonNullable();return new Wf(n,t,r)}getGlobalScope(e,t){return this.globalScopeCache.get(e,()=>new qS(this.indexManager.allElements(e)))}};function zm(e){return typeof e.$comment=="string"}i(zm,"isAstNodeWithComment");o(zm,"isAstNodeWithComment");function Vf(e){return typeof e=="object"&&!!e&&("$ref"in e||"$error"in e)}i(Vf,"isIntermediateReference");o(Vf,"isIntermediateReference");var HS=class{static{i(this,"DefaultJsonSerializer")}static{o(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,t){let r=t??{},n=t?.replacer,a=o((l,u)=>this.replacer(l,u,r),"defaultReplacer"),s=n?(l,u)=>n(l,u,a):a;try{return this.currentDocument=Nt(e),JSON.stringify(e,s,t?.space)}finally{this.currentDocument=void 0}}deserialize(e,t){let r=t??{},n=JSON.parse(e);return this.linkNode(n,n,r),n}replacer(e,t,{refText:r,sourceText:n,textRegions:a,comments:s,uriConverter:l}){if(!this.ignoreProperties.has(e))if(Je(t)){let u=t.ref,c=r?t.$refText:void 0;if(u){let f=Nt(u),p="";this.currentDocument&&this.currentDocument!==f&&(l?p=l(f.uri,u):p=f.uri.toString());let d=this.astNodeLocator.getAstNodePath(u);return{$ref:`${p}#${d}`,$refText:c}}else return{$error:t.error?.message??"Could not resolve reference",$refText:c}}else if(Yt(t)){let u=r?t.$refText:void 0,c=[];for(let f of t.items){let p=f.ref,d=Nt(f.ref),h="";this.currentDocument&&this.currentDocument!==d&&(l?h=l(d.uri,p):h=d.uri.toString());let v=this.astNodeLocator.getAstNodePath(p);c.push(`${h}#${v}`)}return{$refs:c,$refText:u}}else if(Oe(t)){let u;if(a&&(u=this.addAstNodeRegionWithAssignmentsTo({...t}),(!e||t.$document)&&u?.$textRegion&&(u.$textRegion.documentURI=this.currentDocument?.uri.toString())),n&&!e&&(u??(u={...t}),u.$sourceText=t.$cstNode?.text),s){u??(u={...t});let c=this.commentProvider.getComment(t);c&&(u.$comment=c.replace(/\r/g,""))}return u??t}else return t}addAstNodeRegionWithAssignmentsTo(e){let t=o(r=>({offset:r.offset,end:r.end,length:r.length,range:r.range}),"createDocumentSegment");if(e.$cstNode){let r=e.$textRegion=t(e.$cstNode),n=r.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{let s=ud(e.$cstNode,a).map(t);s.length!==0&&(n[a]=s)}),e}}linkNode(e,t,r,n,a,s){for(let[u,c]of Object.entries(e))if(Array.isArray(c))for(let f=0;f<c.length;f++){let p=c[f];Vf(p)?c[f]=this.reviveReference(e,u,t,p,r):Oe(p)&&this.linkNode(p,t,r,e,u,f)}else Vf(c)?e[u]=this.reviveReference(e,u,t,c,r):Oe(c)&&this.linkNode(c,t,r,e,u);let l=e;l.$container=n,l.$containerProperty=a,l.$containerIndex=s}reviveReference(e,t,r,n,a){let s=n.$refText,l=n.$error,u;if(n.$ref){let c=this.getRefNode(r,n.$ref,a.uriConverter);if(Oe(c))return s||(s=this.nameProvider.getName(c)),{$refText:s??"",ref:c};l=c}else if(n.$refs){let c=[];for(let f of n.$refs){let p=this.getRefNode(r,f,a.uriConverter);Oe(p)&&c.push({ref:p})}if(c.length===0)u={$refText:s??"",items:c},l??(l="Could not resolve multi-reference");else return{$refText:s??"",items:c}}if(l)return u??(u={$refText:s??"",ref:void 0}),u.error={info:{container:e,property:t,reference:u},message:l},u}getRefNode(e,t,r){try{let n=t.indexOf("#");if(n===0){let u=this.astNodeLocator.getAstNode(e,t.substring(1));return u||"Could not resolve path: "+t}if(n<0){let u=r?r(t):pt.parse(t),c=this.langiumDocuments.getDocument(u);return c?c.parseResult.value:"Could not find document for URI: "+t}let a=r?r(t.substring(0,n)):pt.parse(t.substring(0,n)),s=this.langiumDocuments.getDocument(a);if(!s)return"Could not find document for URI: "+t;if(n===t.length-1)return s.parseResult.value;let l=this.astNodeLocator.getAstNode(s.parseResult.value,t.substring(n+1));return l||"Could not resolve URI: "+t}catch(n){return String(n)}}},YS=class{static{i(this,"DefaultServiceRegistry")}static{o(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 t=e.LanguageMetaData;for(let r of t.fileExtensions)this.fileExtensionMap.has(r)&&console.warn(`The file extension ${r} is used by multiple languages. It is now assigned to '${t.languageId}'.`),this.fileExtensionMap.set(r,e);if(t.fileNames)for(let r of t.fileNames)this.fileNameMap.has(r)&&console.warn(`The file name ${r} is used by multiple languages. It is now assigned to '${t.languageId}'.`),this.fileNameMap.set(r,e);this.languageIdMap.set(t.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 t=this.textDocuments?.get(e)?.languageId;if(t!==void 0){let s=this.languageIdMap.get(t);if(s)return s}let r=Ze.extname(e),n=Ze.basename(e),a=this.fileNameMap.get(n)??this.fileExtensionMap.get(r);if(!a)throw t?new Error(`The service registry contains no services for the extension '${r}' for language '${t}'.`):new Error(`The service registry contains no services for the extension '${r}'.`);return a}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}};function Tn(e){return{code:e}}i(Tn,"diagnosticData");o(Tn,"diagnosticData");var Cl;(function(e){e.defaults=["fast","slow","built-in"],e.all=e.defaults})(Cl||(Cl={}));var XS=class{static{i(this,"ValidationRegistry")}static{o(this,"ValidationRegistry")}constructor(e){this.entries=new Rr,this.knownCategories=new Set(Cl.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,t=this,r="fast"){if(r==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");this.knownCategories.add(r);for(let[n,a]of Object.entries(e)){let s=a;if(Array.isArray(s))for(let l of s){let u={check:this.wrapValidationException(l,t),category:r};this.addEntry(n,u)}else if(typeof s=="function"){let l={check:this.wrapValidationException(s,t),category:r};this.addEntry(n,l)}else Fr(s)}}wrapValidationException(e,t){return async(r,n,a)=>{await this.handleException(()=>e.call(t,r,n,a),"An error occurred during validation",n,r)}}async handleException(e,t,r,n){try{await e()}catch(a){if(Vn(a))throw a;console.error(`${t}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);let s=a instanceof Error?a.message:String(a);r("error",`${t}: ${s}`,{node:n})}}addEntry(e,t){if(e==="AstNode"){this.entries.add("AstNode",t);return}for(let r of this.reflection.getAllSubTypes(e))this.entries.add(r,t)}getChecks(e,t){let r=ue(this.entries.get(e)).concat(this.entries.get("AstNode"));return t&&(r=r.filter(n=>t.includes(n.category))),r.map(n=>n.check)}registerBeforeDocument(e,t=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",t))}registerAfterDocument(e,t=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",t))}wrapPreparationException(e,t,r){return async(n,a,s,l)=>{await this.handleException(()=>e.call(r,n,a,s,l),t,a,n)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}},JS=Object.freeze({validateNode:!0,validateChildren:!0}),ZS=class{static{i(this,"DefaultDocumentValidator")}static{o(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,t={},r=de.CancellationToken.None){let n=e.parseResult,a=[];if(await ze(r),(!t.categories||t.categories.includes("built-in"))&&(this.processLexingErrors(n,a,t),t.stopAfterLexingErrors&&a.some(s=>s.data?.code===Tt.LexingError)||(this.processParsingErrors(n,a,t),t.stopAfterParsingErrors&&a.some(s=>s.data?.code===Tt.ParsingError))||(this.processLinkingErrors(e,a,t),t.stopAfterLinkingErrors&&a.some(s=>s.data?.code===Tt.LinkingError))))return a;try{a.push(...await this.validateAst(n.value,t,r))}catch(s){if(Vn(s))throw s;console.error("An error occurred during validation:",s)}return await ze(r),a}processLexingErrors(e,t,r){let n=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(let a of n){let s=a.severity??"error",l={severity:us(s),range:{start:{line:a.line-1,character:a.column-1},end:{line:a.line-1,character:a.column+a.length-1}},message:a.message,data:Um(s),source:this.getSource()};t.push(l)}}processParsingErrors(e,t,r){for(let n of e.parserErrors){let a;if(isNaN(n.token.startOffset)){if("previousToken"in n){let s=n.previousToken;if(isNaN(s.startOffset)){let l={line:0,character:0};a={start:l,end:l}}else{let l={line:s.endLine-1,character:s.endColumn};a={start:l,end:l}}}}else a=ps(n.token);if(a){let s={severity:us("error"),range:a,message:n.message,data:Tn(Tt.ParsingError),source:this.getSource()};t.push(s)}}}processLinkingErrors(e,t,r){for(let n of e.references){let a=n.error;if(a){let s={node:a.info.container,range:n.$refNode?.range,property:a.info.property,index:a.info.index,data:{code:Tt.LinkingError,containerType:a.info.container.$type,property:a.info.property,refText:a.info.reference.$refText}};t.push(this.toDiagnostic("error",a.message,s))}}}async validateAst(e,t,r=de.CancellationToken.None){let n=[],a=o((s,l,u)=>{n.push(this.toDiagnostic(s,l,u))},"acceptor");return await this.validateAstBefore(e,t,a,r),await this.validateAstNodes(e,t,a,r),await this.validateAstAfter(e,t,a,r),n}async validateAstBefore(e,t,r,n=de.CancellationToken.None){let a=this.validationRegistry.checksBefore;for(let s of a)await ze(n),await s(e,r,t.categories??[],n)}async validateAstNodes(e,t,r,n=de.CancellationToken.None){if(this.profiler?.isActive("validating")){let a=this.profiler.createTask("validating",this.languageId);a.start();try{let s=Pt(e).iterator();for(let l of s){a.startSubTask(l.$type);let u=this.validateSingleNodeOptions(l,t);if(u.validateNode)try{let c=this.validationRegistry.getChecks(l.$type,t.categories);for(let f of c)await f(l,r,n)}finally{a.stopSubTask(l.$type)}u.validateChildren||s.prune()}}finally{a.stop()}}else{let a=Pt(e).iterator();for(let s of a){await ze(n);let l=this.validateSingleNodeOptions(s,t);if(l.validateNode){let u=this.validationRegistry.getChecks(s.$type,t.categories);for(let c of u)await c(s,r,n)}l.validateChildren||a.prune()}}}validateSingleNodeOptions(e,t){return JS}async validateAstAfter(e,t,r,n=de.CancellationToken.None){let a=this.validationRegistry.checksAfter;for(let s of a)await ze(n),await s(e,r,t.categories??[],n)}toDiagnostic(e,t,r){return{message:t,range:jm(r),severity:us(e),code:r.code,codeDescription:r.codeDescription,tags:r.tags,relatedInformation:r.relatedInformation,data:r.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};function jm(e){if(e.range)return e.range;let t;return typeof e.property=="string"?t=Kl(e.node.$cstNode,e.property,e.index):typeof e.keyword=="string"&&(t=cd(e.node.$cstNode,e.keyword,e.index)),t??(t=e.node.$cstNode),t?t.range:{start:{line:0,character:0},end:{line:0,character:0}}}i(jm,"getDiagnosticRange");o(jm,"getDiagnosticRange");function us(e){switch(e){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+e)}}i(us,"toDiagnosticSeverity");o(us,"toDiagnosticSeverity");function Um(e){switch(e){case"error":return Tn(Tt.LexingError);case"warning":return Tn(Tt.LexingWarning);case"info":return Tn(Tt.LexingInfo);case"hint":return Tn(Tt.LexingHint);default:throw new Error("Invalid diagnostic severity: "+e)}}i(Um,"toDiagnosticData");o(Um,"toDiagnosticData");var Tt;(function(e){e.LexingError="lexing-error",e.LexingWarning="lexing-warning",e.LexingInfo="lexing-info",e.LexingHint="lexing-hint",e.ParsingError="parsing-error",e.LinkingError="linking-error"})(Tt||(Tt={}));var QS=class{static{i(this,"DefaultAstNodeDescriptionProvider")}static{o(this,"DefaultAstNodeDescriptionProvider")}constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,t,r){let n=r??Nt(e);t??(t=this.nameProvider.getName(e));let a=this.astNodeLocator.getAstNodePath(e);if(!t)throw new Error(`Node at path ${a} has no name.`);let s,l=o(()=>s??(s=ja(this.nameProvider.getNameNode(e)??e.$cstNode)),"nameSegmentGetter");return{node:e,name:t,get nameSegment(){return l()},selectionSegment:ja(e.$cstNode),type:e.$type,documentUri:n.uri,path:a}}},ew=class{static{i(this,"DefaultReferenceDescriptionProvider")}static{o(this,"DefaultReferenceDescriptionProvider")}constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,t=de.CancellationToken.None){let r=[],n=e.parseResult.value;for(let a of Pt(n))await ze(t),Ga(a).forEach(s=>{s.reference.error||r.push(...this.createInfoDescriptions(s))});return r}createInfoDescriptions(e){let t=e.reference;if(t.error||!t.$refNode)return[];let r=[];Je(t)&&t.$nodeDescription?r=[t.$nodeDescription]:Yt(t)&&(r=t.items.map(u=>u.$nodeDescription).filter(u=>u!==void 0));let n=Nt(e.container).uri,a=this.nodeLocator.getAstNodePath(e.container),s=[],l=ja(t.$refNode);for(let u of r)s.push({sourceUri:n,sourcePath:a,targetUri:u.documentUri,targetPath:u.path,segment:l,local:Ze.equals(u.documentUri,n)});return s}},tw=class{static{i(this,"DefaultAstNodeLocator")}static{o(this,"DefaultAstNodeLocator")}constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let t=this.getAstNodePath(e.$container),r=this.getPathSegment(e);return t+this.segmentSeparator+r}return""}getPathSegment({$containerProperty:e,$containerIndex:t}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return t!==void 0?e+this.indexSeparator+t:e}getAstNode(e,t){return t.split(this.segmentSeparator).reduce((n,a)=>{if(!n||a.length===0)return n;let s=a.indexOf(this.indexSeparator);if(s>0){let l=a.substring(0,s),u=parseInt(a.substring(s+1));return n[l]?.[u]}return n[a]},e)}},Lu={};wl(Lu,yp(Wa(),1));var rw=class{static{i(this,"DefaultConfigurationProvider")}static{o(this,"DefaultConfigurationProvider")}constructor(e){this._ready=new $r,this.onConfigurationSectionUpdateEmitter=new Lu.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 t=this.serviceRegistry.all;e.register({section:t.map(r=>this.toSectionName(r.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let t=this.serviceRegistry.all.map(n=>({section:this.toSectionName(n.LanguageMetaData.languageId)})),r=await e.fetchConfiguration(t);t.forEach((n,a)=>{this.updateSectionConfiguration(n.section,r[a])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([t,r])=>{this.updateSectionConfiguration(t,r),this.onConfigurationSectionUpdateEmitter.fire({section:t,configuration:r})})}updateSectionConfiguration(e,t){this.settings[e]=t}async getConfiguration(e,t){await this.ready;let r=this.toSectionName(e);if(this.settings[r])return this.settings[r][t]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}},to=yp(pI(),1),An;(function(e){function t(r){return{dispose:o(async()=>await r(),"dispose")}}i(t,"create"),o(t,"create"),e.create=t})(An||(An={}));var nw=class{static{i(this,"DefaultDocumentBuilder")}static{o(this,"DefaultDocumentBuilder")}constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Rr,this.documentPhaseListeners=new Rr,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=Z.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,t={},r=de.CancellationToken.None){for(let n of e){let a=n.uri.toString();if(n.state===Z.Validated){if(typeof t.validation=="boolean"&&t.validation)this.resetToState(n,Z.IndexedReferences);else if(typeof t.validation=="object"){let s=this.findMissingValidationCategories(n,t);s.length>0&&(this.buildState.set(a,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(a)?.result}),n.state=Z.IndexedReferences)}}else this.buildState.delete(a)}this.currentState=Z.Changed,await this.emitUpdate(e.map(n=>n.uri),[]),await this.buildDocuments(e,t,r)}async update(e,t,r=de.CancellationToken.None){this.currentState=Z.Changed;let n=[];for(let u of t){let c=this.langiumDocuments.deleteDocuments(u);for(let f of c)n.push(f.uri),this.cleanUpDeleted(f)}let a=(await Promise.all(e.map(u=>this.findChangedUris(u)))).flat();for(let u of a){let c=this.langiumDocuments.getDocument(u);c===void 0&&(c=this.langiumDocumentFactory.fromModel({$type:"INVALID"},u),c.state=Z.Changed,this.langiumDocuments.addDocument(c)),this.resetToState(c,Z.Changed)}let s=ue(a).concat(n).map(u=>u.toString()).toSet();this.langiumDocuments.all.filter(u=>!s.has(u.uri.toString())&&this.shouldRelink(u,s)).forEach(u=>this.resetToState(u,Z.ComputedScopes)),await this.emitUpdate(a,n),await ze(r);let l=this.sortDocuments(this.langiumDocuments.all.filter(u=>u.state<Z.Validated||!this.buildState.get(u.uri.toString())?.completed||this.resultsAreIncomplete(u,this.updateBuildOptions)).toArray());await this.buildDocuments(l,this.updateBuildOptions,r)}resultsAreIncomplete(e,t){return this.findMissingValidationCategories(e,t).length>=1}findMissingValidationCategories(e,t){let r=this.buildState.get(e.uri.toString()),n=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),a=r?.result?.validationChecks?new Set(r?.result?.validationChecks):r?.completed?n:new Set,s=t===void 0||t.validation===!0?n:typeof t.validation=="object"?t.validation.categories??n:[];return ue(s).filter(l=>!a.has(l)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{let r=await this.fileSystemProvider.stat(e);if(r.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(r))return[e]}catch{}return[]}async emitUpdate(e,t){await Promise.all(this.updateListeners.map(r=>r(e,t)))}sortDocuments(e){let t=0,r=e.length-1;for(;t<r;){for(;t<e.length&&this.hasTextDocument(e[t]);)t++;for(;r>=0&&!this.hasTextDocument(e[r]);)r--;t<r&&([e[t],e[r]]=[e[r],e[t]])}return e}hasTextDocument(e){return!!this.textDocuments?.get(e.uri)}shouldRelink(e,t){return e.references.some(r=>r.error!==void 0)?!0:this.indexManager.isAffected(e,t)}onUpdate(e){return this.updateListeners.push(e),An.create(()=>{let t=this.updateListeners.indexOf(e);t>=0&&this.updateListeners.splice(t,1)})}resetToState(e,t){switch(t){case Z.Changed:case Z.Parsed:this.indexManager.removeContent(e.uri);case Z.IndexedContent:e.localSymbols=void 0;case Z.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case Z.Linked:this.indexManager.removeReferences(e.uri);case Z.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case Z.Validated:}e.state>t&&(e.state=t)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=Z.Changed}async buildDocuments(e,t,r){this.prepareBuild(e,t),await this.runCancelable(e,Z.Parsed,r,s=>this.langiumDocumentFactory.update(s,r)),await this.runCancelable(e,Z.IndexedContent,r,s=>this.indexManager.updateContent(s,r)),await this.runCancelable(e,Z.ComputedScopes,r,async s=>{let l=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await l.collectLocalSymbols(s,r)});let n=e.filter(s=>this.shouldLink(s));await this.runCancelable(n,Z.Linked,r,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,r)),await this.runCancelable(n,Z.IndexedReferences,r,s=>this.indexManager.updateReferences(s,r));let a=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(a,Z.Validated,r,async s=>{await this.validate(s,r),this.markAsCompleted(s)})}markAsCompleted(e){let t=this.buildState.get(e.uri.toString());t&&(t.completed=!0)}prepareBuild(e,t){for(let r of e){let n=r.uri.toString(),a=this.buildState.get(n);(!a||a.completed)&&this.buildState.set(n,{completed:!1,options:t,result:a?.result})}}async runCancelable(e,t,r,n){for(let s of e)s.state<t&&(await ze(r),await n(s),s.state=t,await this.notifyDocumentPhase(s,t,r));let a=e.filter(s=>s.state===t);await this.notifyBuildPhase(a,t,r),this.currentState=t}onBuildPhase(e,t){return this.buildPhaseListeners.add(e,t),An.create(()=>{this.buildPhaseListeners.delete(e,t)})}onDocumentPhase(e,t){return this.documentPhaseListeners.add(e,t),An.create(()=>{this.documentPhaseListeners.delete(e,t)})}waitUntil(e,t,r){let n;return t&&"path"in t?n=t:r=t,r??(r=de.CancellationToken.None),n?this.awaitDocumentState(e,n,r):this.awaitBuilderState(e,r)}awaitDocumentState(e,t,r){let n=this.langiumDocuments.getDocument(t);if(n){if(n.state>=e)return Promise.resolve(t);if(r.isCancellationRequested)return Promise.reject(Ht);if(this.currentState>=e&&e>n.state)return Promise.reject(new to.ResponseError(to.LSPErrorCodes.RequestFailed,`Document state of ${t.toString()} is ${Z[n.state]}, requiring ${Z[e]}, but workspace state is already ${Z[this.currentState]}. Returning undefined.`))}else return Promise.reject(new to.ResponseError(to.LSPErrorCodes.ServerCancelled,`No document found for URI: ${t.toString()}`));return new Promise((a,s)=>{let l=this.onDocumentPhase(e,c=>{Ze.equals(c.uri,t)&&(l.dispose(),u.dispose(),a(c.uri))}),u=r.onCancellationRequested(()=>{l.dispose(),u.dispose(),s(Ht)})})}awaitBuilderState(e,t){return this.currentState>=e?Promise.resolve():t.isCancellationRequested?Promise.reject(Ht):new Promise((r,n)=>{let a=this.onBuildPhase(e,()=>{a.dispose(),s.dispose(),r()}),s=t.onCancellationRequested(()=>{a.dispose(),s.dispose(),n(Ht)})})}async notifyDocumentPhase(e,t,r){let a=this.documentPhaseListeners.get(t).slice();for(let s of a)try{await ze(r),await s(e,r)}catch(l){if(!Vn(l))throw l}}async notifyBuildPhase(e,t,r){if(e.length===0)return;let a=this.buildPhaseListeners.get(t).slice();for(let s of a)await ze(r),await s(e,r)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,t){let r=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,n=this.getBuildOptions(e),a=typeof n.validation=="object"?{...n.validation}:{};a.categories=this.findMissingValidationCategories(e,n);let s=await r.validateDocument(e,a,t);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;let l=this.buildState.get(e.uri.toString());l&&(l.result??(l.result={}),l.result.validationChecks?l.result.validationChecks=ue(l.result.validationChecks).concat(a.categories).distinct().toArray():l.result.validationChecks=[...a.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}},aw=class{static{i(this,"DefaultIndexManager")}static{o(this,"DefaultIndexManager")}constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Ou,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,t){let r=Nt(e).uri,n=[];return this.referenceIndex.forEach(a=>{a.forEach(s=>{Ze.equals(s.targetUri,r)&&s.targetPath===t&&n.push(s)})}),ue(n)}allElements(e,t){let r=ue(this.symbolIndex.keys());return t&&(r=r.filter(n=>!t||t.has(n))),r.map(n=>this.getFileDescriptions(n,e)).flat()}getFileDescriptions(e,t){return t?this.symbolByTypeIndex.get(e,t,()=>(this.symbolIndex.get(e)??[]).filter(a=>this.astReflection.isSubtype(a.type,t))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let t=e.toString();this.symbolIndex.delete(t),this.symbolByTypeIndex.clear(t)}removeReferences(e){let t=e.toString();this.referenceIndex.delete(t)}async updateContent(e,t=de.CancellationToken.None){let n=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,t),a=e.uri.toString();this.symbolIndex.set(a,n),this.symbolByTypeIndex.clear(a)}async updateReferences(e,t=de.CancellationToken.None){let n=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,t);this.referenceIndex.set(e.uri.toString(),n)}isAffected(e,t){let r=this.referenceIndex.get(e.uri.toString());return r?r.some(n=>!n.local&&t.has(n.targetUri.toString())):!1}},iw=class{static{i(this,"DefaultWorkspaceManager")}static{o(this,"DefaultWorkspaceManager")}constructor(e){this.initialBuildOptions={},this._ready=new $r,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(t=>this.initializeWorkspace(this.folders??[],t))}async initializeWorkspace(e,t=de.CancellationToken.None){let r=await this.performStartup(e);await ze(t),await this.documentBuilder.build(r,this.initialBuildOptions,t)}async performStartup(e){let t=[],r=o(s=>{t.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)},"collector");await this.loadAdditionalDocuments(e,r);let n=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,n)));let a=ue(n).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(a,r),this._ready.resolve(),t}async loadWorkspaceDocuments(e,t){await Promise.all(e.map(async r=>{let n=await this.langiumDocuments.getOrCreateDocument(r);t(n)}))}loadAdditionalDocuments(e,t){return Promise.resolve()}getRootFolder(e){return pt.parse(e.uri)}async traverseFolder(e,t){try{let r=await this.fileSystemProvider.readDirectory(e);await Promise.all(r.map(async n=>{this.shouldIncludeEntry(n)&&(n.isDirectory?await this.traverseFolder(n.uri,t):n.isFile&&t.push(n.uri))}))}catch(r){console.error("Failure to read directory content of "+e.toString(!0),r)}}async searchFolder(e){let t=[];return await this.traverseFolder(e,t),t}shouldIncludeEntry(e){let t=Ze.basename(e.uri);return t.startsWith(".")?!1:e.isDirectory?t!=="node_modules"&&t!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}},sw=class{static{i(this,"DefaultLexerErrorMessageProvider")}static{o(this,"DefaultLexerErrorMessageProvider")}buildUnexpectedCharactersMessage(e,t,r,n,a){return _f.buildUnexpectedCharactersMessage(e,t,r,n,a)}buildUnableToPopLexerModeMessage(e){return _f.buildUnableToPopLexerModeMessage(e)}},Km={mode:"full"},Bm=class{static{i(this,"DefaultLexer")}static{o(this,"DefaultLexer")}constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let t=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(t);let r=bl(t)?Object.values(t):t,n=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new Qe(r,{positionTracking:"full",skipValidations:n,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,t=Km){let r=this.chevrotainLexer.tokenize(e);return{tokens:r.tokens,errors:r.errors,hidden:r.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(bl(e))return e;let t=xu(e)?Object.values(e.modes).flat():e,r={};return t.forEach(n=>r[n.name]=n),r}};function Du(e){return Array.isArray(e)&&(e.length===0||"name"in e[0])}i(Du,"isTokenTypeArray");o(Du,"isTokenTypeArray");function xu(e){return e&&"modes"in e&&"defaultMode"in e}i(xu,"isIMultiModeLexerDefinition");o(xu,"isIMultiModeLexerDefinition");function bl(e){return!Du(e)&&!xu(e)}i(bl,"isTokenTypeDictionary");o(bl,"isTokenTypeDictionary");ws();function qm(e,t,r){let n,a;typeof e=="string"?(a=t,n=r):(a=e.range.start,n=t),a||(a=ie.create(0,0));let s=Vm(e),l=Mu(n),u=ow({lines:s,position:a,options:l});return cw({index:0,tokens:u,position:a})}i(qm,"parseJSDoc");o(qm,"parseJSDoc");function Wm(e,t){let r=Mu(t),n=Vm(e);if(n.length===0)return!1;let a=n[0],s=n[n.length-1],l=r.start,u=r.end;return!!l?.exec(a)&&!!u?.exec(s)}i(Wm,"isJSDoc");o(Wm,"isJSDoc");function Vm(e){let t="";return typeof e=="string"?t=e:t=e.text,t.split(uv)}i(Vm,"getLines");o(Vm,"getLines");var by=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,GG=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function ow(e){let t=[],r=e.position.line,n=e.position.character;for(let a=0;a<e.lines.length;a++){let s=a===0,l=a===e.lines.length-1,u=e.lines[a],c=0;if(s&&e.options.start){let p=e.options.start?.exec(u);p&&(c=p.index+p[0].length)}else{let p=e.options.line?.exec(u);p&&(c=p.index+p[0].length)}if(l){let p=e.options.end?.exec(u);p&&(u=u.substring(0,p.index))}if(u=u.substring(0,uw(u)),_l(u,c)>=u.length){if(t.length>0){let p=ie.create(r,n);t.push({type:"break",content:"",range:ee.create(p,p)})}}else{by.lastIndex=c;let p=by.exec(u);if(p){let d=p[0],h=p[1],v=ie.create(r,n+c),T=ie.create(r,n+c+d.length);t.push({type:"tag",content:h,range:ee.create(v,T)}),c+=d.length,c=_l(u,c)}if(c<u.length){let d=u.substring(c),h=Array.from(d.matchAll(GG));t.push(...lw(h,d,r,n+c))}}r++,n=0}return t.length>0&&t[t.length-1].type==="break"?t.slice(0,-1):t}i(ow,"tokenize");o(ow,"tokenize");function lw(e,t,r,n){let a=[];if(e.length===0){let s=ie.create(r,n),l=ie.create(r,n+t.length);a.push({type:"text",content:t,range:ee.create(s,l)})}else{let s=0;for(let u of e){let c=u.index,f=t.substring(s,c);f.length>0&&a.push({type:"text",content:t.substring(s,c),range:ee.create(ie.create(r,s+n),ie.create(r,c+n))});let p=f.length+1,d=u[1];if(a.push({type:"inline-tag",content:d,range:ee.create(ie.create(r,s+p+n),ie.create(r,s+p+d.length+n))}),p+=d.length,u.length===4){p+=u[2].length;let h=u[3];a.push({type:"text",content:h,range:ee.create(ie.create(r,s+p+n),ie.create(r,s+p+h.length+n))})}else a.push({type:"text",content:"",range:ee.create(ie.create(r,s+p+n),ie.create(r,s+p+n))});s=c+u[0].length}let l=t.substring(s);l.length>0&&a.push({type:"text",content:l,range:ee.create(ie.create(r,s+n),ie.create(r,s+n+l.length))})}return a}i(lw,"buildInlineTokens");o(lw,"buildInlineTokens");var FG=/\S/,zG=/\s*$/;function _l(e,t){let r=e.substring(t).match(FG);return r?t+r.index:e.length}i(_l,"skipWhitespace");o(_l,"skipWhitespace");function uw(e){let t=e.match(zG);if(t&&typeof t.index=="number")return t.index}i(uw,"lastCharacter");o(uw,"lastCharacter");function cw(e){let t=ie.create(e.position.line,e.position.character);if(e.tokens.length===0)return new _y([],ee.create(t,t));let r=[];for(;e.index<e.tokens.length;){let s=fw(e,r[r.length-1]);s&&r.push(s)}let n=r[0]?.range.start??t,a=r[r.length-1]?.range.end??t;return new _y(r,ee.create(n,a))}i(cw,"parseJSDocComment");o(cw,"parseJSDocComment");function fw(e,t){let r=e.tokens[e.index];if(r.type==="tag")return Ym(e,!1);if(r.type==="text"||r.type==="inline-tag")return Hm(e);pw(r,t),e.index++}i(fw,"parseJSDocElement");o(fw,"parseJSDocElement");function pw(e,t){if(t){let r=new yw("",e.range);"inlines"in t?t.inlines.push(r):t.content.inlines.push(r)}}i(pw,"appendEmptyLine");o(pw,"appendEmptyLine");function Hm(e){let t=e.tokens[e.index],r=t,n=t,a=[];for(;t&&t.type!=="break"&&t.type!=="tag";)a.push(dw(e)),n=t,t=e.tokens[e.index];return new Hf(a,ee.create(r.range.start,n.range.end))}i(Hm,"parseJSDocText");o(Hm,"parseJSDocText");function dw(e){return e.tokens[e.index].type==="inline-tag"?Ym(e,!0):Xm(e)}i(dw,"parseJSDocInline");o(dw,"parseJSDocInline");function Ym(e,t){let r=e.tokens[e.index++],n=r.content.substring(1);if(e.tokens[e.index]?.type==="text")if(t){let s=Xm(e);return new Vu(n,new Hf([s],s.range),t,ee.create(r.range.start,s.range.end))}else{let s=Hm(e);return new Vu(n,s,t,ee.create(r.range.start,s.range.end))}else{let s=r.range;return new Vu(n,new Hf([],s),t,s)}}i(Ym,"parseJSDocTag");o(Ym,"parseJSDocTag");function Xm(e){let t=e.tokens[e.index++];return new yw(t.content,t.range)}i(Xm,"parseJSDocLine");o(Xm,"parseJSDocLine");function Mu(e){if(!e)return Mu({start:"/**",end:"*/",line:"*"});let{start:t,end:r,line:n}=e;return{start:Do(t,!0),end:Do(r,!1),line:Do(n,!0)}}i(Mu,"normalizeOptions");o(Mu,"normalizeOptions");function Do(e,t){if(typeof e=="string"||typeof e=="object"){let r=typeof e=="string"?Ha(e):e.source;return t?new RegExp(`^\\s*${r}`):new RegExp(`\\s*${r}\\s*$`)}else return e}i(Do,"normalizeOption");o(Do,"normalizeOption");var _y=class{static{i(this,"JSDocCommentImpl")}static{o(this,"JSDocCommentImpl")}constructor(e,t){this.elements=e,this.range=t}getTag(e){return this.getAllTags().find(t=>t.name===e)}getTags(e){return this.getAllTags().filter(t=>t.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let t of this.elements)if(e.length===0)e=t.toString();else{let r=t.toString();e+=Yf(e)+r}return e.trim()}toMarkdown(e){let t="";for(let r of this.elements)if(t.length===0)t=r.toMarkdown(e);else{let n=r.toMarkdown(e);t+=Yf(t)+n}return t.trim()}},Vu=class{static{i(this,"JSDocTagImpl")}static{o(this,"JSDocTagImpl")}constructor(e,t,r,n){this.name=e,this.content=t,this.inline=r,this.range=n}toString(){let e=`@${this.name}`,t=this.content.toString();return this.content.inlines.length===1?e=`${e} ${t}`:this.content.inlines.length>1&&(e=`${e}
${t}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let t=this.content.toMarkdown(e);if(this.inline){let a=mw(this.name,t,e??{});if(typeof a=="string")return a}let r="";e?.tag==="italic"||e?.tag===void 0?r="*":e?.tag==="bold"?r="**":e?.tag==="bold-italic"&&(r="***");let n=`${r}@${this.name}${r}`;return this.content.inlines.length===1?n=`${n} \u2014 ${t}`:this.content.inlines.length>1&&(n=`${n}
${t}`),this.inline?`{${n}}`:n}};function mw(e,t,r){if(e==="linkplain"||e==="linkcode"||e==="link"){let n=t.indexOf(" "),a=t;if(n>0){let l=_l(t,n);a=t.substring(l),t=t.substring(0,n)}return(e==="linkcode"||e==="link"&&r.link==="code")&&(a=`\`${a}\``),r.renderLink?.(t,a)??hw(t,a)}}i(mw,"renderInlineTag");o(mw,"renderInlineTag");function hw(e,t){try{return pt.parse(e,!0),`[${t}](${e})`}catch{return e}}i(hw,"renderLinkDefault");o(hw,"renderLinkDefault");var Hf=class{static{i(this,"JSDocTextImpl")}static{o(this,"JSDocTextImpl")}constructor(e,t){this.inlines=e,this.range=t}toString(){let e="";for(let t=0;t<this.inlines.length;t++){let r=this.inlines[t],n=this.inlines[t+1];e+=r.toString(),n&&n.range.start.line>r.range.start.line&&(e+=`
`)}return e}toMarkdown(e){let t="";for(let r=0;r<this.inlines.length;r++){let n=this.inlines[r],a=this.inlines[r+1];t+=n.toMarkdown(e),a&&a.range.start.line>n.range.start.line&&(t+=`
`)}return t}},yw=class{static{i(this,"JSDocLineImpl")}static{o(this,"JSDocLineImpl")}constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}};function Yf(e){return e.endsWith(`
`)?`
`:`

`}i(Yf,"fillNewlines");o(Yf,"fillNewlines");var gw=class{static{i(this,"JSDocDocumentationProvider")}static{o(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let t=this.commentProvider.getComment(e);if(t&&Wm(t))return qm(t).toMarkdown({renderLink:o((n,a)=>this.documentationLinkRenderer(e,n,a),"renderLink"),renderTag:o(n=>this.documentationTagRenderer(e,n),"renderTag")})}documentationLinkRenderer(e,t,r){let n=this.findNameInLocalSymbols(e,t)??this.findNameInGlobalScope(e,t);if(n&&n.nameSegment){let a=n.nameSegment.range.start.line+1,s=n.nameSegment.range.start.character+1,l=n.documentUri.with({fragment:`L${a},${s}`});return`[${r}](${l.toString()})`}else return}documentationTagRenderer(e,t){}findNameInLocalSymbols(e,t){let n=Nt(e).localSymbols;if(!n)return;let a=e;do{let l=n.getStream(a).find(u=>u.name===t);if(l)return l;a=a.$container}while(a)}findNameInGlobalScope(e,t){return this.indexManager.allElements().find(n=>n.name===t)}},vw=class{static{i(this,"DefaultCommentProvider")}static{o(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return zm(e)?e.$comment:Hp(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}},Tw=class{static{i(this,"DefaultAsyncParser")}static{o(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}},jG=class{static{i(this,"AbstractThreadedAsyncParser")}static{o(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 t=this.queue.shift();t&&(e.lock(),t.resolve(e))}}),this.workerPool.push(e)}}async parse(e,t){let r=await this.acquireParserWorker(t),n=new $r,a,s=t.onCancellationRequested(()=>{a=setTimeout(()=>{this.terminateWorker(r)},this.terminationDelay)});return r.parse(e).then(l=>{let u=this.hydrator.hydrate(l);n.resolve(u)}).catch(l=>{n.reject(l)}).finally(()=>{s.dispose(),clearTimeout(a)}),n.promise}terminateWorker(e){e.terminate();let t=this.workerPool.indexOf(e);t>=0&&this.workerPool.splice(t,1)}async acquireParserWorker(e){this.initializeWorkers();for(let r of this.workerPool)if(r.ready)return r.lock(),r;let t=new $r;return e.onCancellationRequested(()=>{let r=this.queue.indexOf(t);r>=0&&this.queue.splice(r,1),t.reject(Ht)}),this.queue.push(t),t.promise}},UG=class{static{i(this,"ParserWorker")}static{o(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,t,r,n){this.onReadyEmitter=new Lu.Emitter,this.deferred=new $r,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=n,t(a=>{let s=a;this.deferred.resolve(s),this.unlock()}),r(a=>{this.deferred.reject(a),this.unlock()})}terminate(){this.deferred.reject(Ht),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 $r,this.sendMessage(e),this.deferred.promise}},$w=class{static{i(this,"DefaultWorkspaceLock")}static{o(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new de.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let t=Pu();return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,r=de.CancellationToken.None){let n=new $r,a={action:t,deferred:n,cancellationToken:r};return e.push(a),this.performNextOperation(),n.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:t,deferred:r,cancellationToken:n})=>{try{let a=await Promise.resolve().then(()=>t(n));r.resolve(a)}catch(a){Vn(a)?r.resolve(void 0):r.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}},Rw=class{static{i(this,"DefaultHydrator")}static{o(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new El,this.tokenTypeIdMap=new El,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(t=>({...t,message:t.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let t=new Map,r=new Map;for(let n of Pt(e))t.set(n,{});if(e.$cstNode)for(let n of za(e.$cstNode))r.set(n,{});return{astNodes:t,cstNodes:r}}dehydrateAstNode(e,t){let r=t.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(r.$cstNode=this.dehydrateCstNode(e.$cstNode,t));for(let[n,a]of Object.entries(e))if(!n.startsWith("$"))if(Array.isArray(a)){let s=[];r[n]=s;for(let l of a)Oe(l)?s.push(this.dehydrateAstNode(l,t)):Je(l)?s.push(this.dehydrateReference(l,t)):s.push(l)}else Oe(a)?r[n]=this.dehydrateAstNode(a,t):Je(a)?r[n]=this.dehydrateReference(a,t):a!==void 0&&(r[n]=a);return r}dehydrateReference(e,t){let r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=t.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,t){let r=t.cstNodes.get(e);return Pl(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=t.astNodes.get(e.astNode),pr(e)?r.content=e.content.map(n=>this.dehydrateCstNode(n,t)):wn(e)&&(r.tokenType=e.tokenType.name,r.offset=e.offset,r.length=e.length,r.startLine=e.range.start.line,r.startColumn=e.range.start.character,r.endLine=e.range.end.line,r.endColumn=e.range.end.character),r}hydrate(e){let t=e.value,r=this.createHydrationContext(t);return"$cstNode"in t&&this.hydrateCstNode(t.$cstNode,r),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(t,r)}}createHydrationContext(e){let t=new Map,r=new Map;for(let a of Pt(e))t.set(a,{});let n;if(e.$cstNode)for(let a of za(e.$cstNode)){let s;"fullText"in a?(s=new Cm(a.fullText),n=s):"content"in a?s=new _u:"tokenType"in a&&(s=this.hydrateCstLeafNode(a)),s&&(r.set(a,s),s.root=n)}return{astNodes:t,cstNodes:r}}hydrateAstNode(e,t){let r=t.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode&&(r.$cstNode=t.cstNodes.get(e.$cstNode));for(let[n,a]of Object.entries(e))if(!n.startsWith("$"))if(Array.isArray(a)){let s=[];r[n]=s;for(let l of a)Oe(l)?s.push(this.setParent(this.hydrateAstNode(l,t),r)):Je(l)?s.push(this.hydrateReference(l,r,n,t)):s.push(l)}else Oe(a)?r[n]=this.setParent(this.hydrateAstNode(a,t),r):Je(a)?r[n]=this.hydrateReference(a,r,n,t):a!==void 0&&(r[n]=a);return r}setParent(e,t){return e.$container=t,e}hydrateReference(e,t,r,n){return this.linker.buildReference(t,r,n.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,t,r=0){let n=t.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(n.grammarSource=this.getGrammarElement(e.grammarSource)),n.astNode=t.astNodes.get(e.astNode),pr(n))for(let a of e.content){let s=this.hydrateCstNode(a,t,r++);n.content.push(s)}return n}hydrateCstLeafNode(e){let t=this.getTokenType(e.tokenType),r=e.offset,n=e.length,a=e.startLine,s=e.startColumn,l=e.endLine,u=e.endColumn,c=e.hidden;return new vl(r,n,{start:{line:a,character:s},end:{line:l,character:u}},t,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 t of Pt(this.grammar))kl(t)&&this.grammarElementIdMap.set(t,e++)}};function Jm(e){return{documentation:{CommentProvider:o(t=>new vw(t),"CommentProvider"),DocumentationProvider:o(t=>new gw(t),"DocumentationProvider")},parser:{AsyncParser:o(t=>new Tw(t),"AsyncParser"),GrammarConfig:o(t=>vd(t),"GrammarConfig"),LangiumParser:o(t=>Nm(t),"LangiumParser"),CompletionParser:o(t=>Im(t),"CompletionParser"),ValueConverter:o(()=>new km,"ValueConverter"),TokenBuilder:o(()=>new Iu,"TokenBuilder"),Lexer:o(t=>new Bm(t),"Lexer"),ParserErrorMessageProvider:o(()=>new _m,"ParserErrorMessageProvider"),LexerErrorMessageProvider:o(()=>new sw,"LexerErrorMessageProvider")},workspace:{AstNodeLocator:o(()=>new tw,"AstNodeLocator"),AstNodeDescriptionProvider:o(t=>new QS(t),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:o(t=>new ew(t),"ReferenceDescriptionProvider")},references:{Linker:o(t=>new jS(t),"Linker"),NameProvider:o(()=>new US,"NameProvider"),ScopeProvider:o(t=>new VS(t),"ScopeProvider"),ScopeComputation:o(t=>new BS(t),"ScopeComputation"),References:o(t=>new KS(t),"References")},serializer:{Hydrator:o(t=>new Rw(t),"Hydrator"),JsonSerializer:o(t=>new HS(t),"JsonSerializer")},validation:{DocumentValidator:o(t=>new ZS(t),"DocumentValidator"),ValidationRegistry:o(t=>new XS(t),"ValidationRegistry")},shared:o(()=>e.shared,"shared")}}i(Jm,"createDefaultCoreModule");o(Jm,"createDefaultCoreModule");function Zm(e){return{ServiceRegistry:o(t=>new YS(t),"ServiceRegistry"),workspace:{LangiumDocuments:o(t=>new zS(t),"LangiumDocuments"),LangiumDocumentFactory:o(t=>new FS(t),"LangiumDocumentFactory"),DocumentBuilder:o(t=>new nw(t),"DocumentBuilder"),IndexManager:o(t=>new aw(t),"IndexManager"),WorkspaceManager:o(t=>new iw(t),"WorkspaceManager"),FileSystemProvider:o(t=>e.fileSystemProvider(t),"FileSystemProvider"),WorkspaceLock:o(()=>new $w,"WorkspaceLock"),ConfigurationProvider:o(t=>new rw(t),"ConfigurationProvider")},profilers:{}}}i(Zm,"createDefaultSharedCoreModule");o(Zm,"createDefaultSharedCoreModule");var Xf;(function(e){e.merge=(t,r)=>qa(qa({},t),r)})(Xf||(Xf={}));function Sl(e,t,r,n,a,s,l,u,c){let f=[e,t,r,n,a,s,l,u,c].reduce(qa,{});return eh(f)}i(Sl,"inject");o(Sl,"inject");var Aw=Symbol("isProxy");function Qm(e){if(e&&e[Aw])for(let t of Object.values(e))Qm(t);return e}i(Qm,"eagerLoad");o(Qm,"eagerLoad");function eh(e,t){let r=new Proxy({},{deleteProperty:o(()=>!1,"deleteProperty"),set:o(()=>{throw new Error("Cannot set property on injected service container")},"set"),get:o((n,a)=>a===Aw?!0:Jf(n,a,e,t||r),"get"),getOwnPropertyDescriptor:o((n,a)=>(Jf(n,a,e,t||r),Object.getOwnPropertyDescriptor(n,a)),"getOwnPropertyDescriptor"),has:o((n,a)=>a in e,"has"),ownKeys:o(()=>[...Object.getOwnPropertyNames(e)],"ownKeys")});return r}i(eh,"_inject");o(eh,"_inject");var Sy=Symbol();function Jf(e,t,r,n){if(t in e){if(e[t]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+e[t]);if(e[t]===Sy)throw new Error('Cycle detected. Please make "'+String(t)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return e[t]}else if(t in r){let a=r[t];e[t]=Sy;try{e[t]=typeof a=="function"?a(n):eh(a,n)}catch(s){throw e[t]=s instanceof Error?s:void 0,s}return e[t]}else return}i(Jf,"_resolve");o(Jf,"_resolve");function qa(e,t){if(t){for(let[r,n]of Object.entries(t))if(n!=null)if(typeof n=="object"){let a=e[r];typeof a=="object"&&a!==null?e[r]=qa(a,n):e[r]=qa({},n)}else e[r]=n}return e}i(qa,"_merge");o(qa,"_merge");var Zf={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]},$n;(function(e){e.REGULAR="indentation-sensitive",e.IGNORE_INDENTATION="ignore-indentation"})($n||($n={}));var Ew=class extends Iu{static{i(this,"IndentationAwareTokenBuilder")}static{o(this,"IndentationAwareTokenBuilder")}constructor(e=Zf){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...Zf,...e},this.indentTokenType=Oa({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=Oa({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,t){let r=super.buildTokens(e,t);if(!Du(r))throw new Error("Invalid tokens built by default builder");let{indentTokenName:n,dedentTokenName:a,whitespaceTokenName:s,ignoreIndentationDelimiters:l}=this.options,u,c,f,p=[];for(let d of r){for(let[h,v]of l)d.name===h?d.PUSH_MODE=$n.IGNORE_INDENTATION:d.name===v&&(d.POP_MODE=!0);d.name===a?u=d:d.name===n?c=d:d.name===s?f=d:p.push(d)}if(!u||!c||!f)throw new Error("Some indentation/whitespace tokens not found!");return l.length>0?{modes:{[$n.REGULAR]:[u,c,...p,f],[$n.IGNORE_INDENTATION]:[...p,f]},defaultMode:$n.REGULAR}:[u,c,f,...p]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,t){return t===0||`\r
`.includes(e[t-1])}matchWhitespace(e,t,r,n){this.whitespaceRegExp.lastIndex=t;let a=this.whitespaceRegExp.exec(e);return{currIndentLevel:a?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:a}}createIndentationTokenInstance(e,t,r,n){let a=this.getLineNumber(t,n);return qs(e,r,n,n+r.length,a,a,1,r.length)}getLineNumber(e,t){return e.substring(0,t).split(/\r\n|\r|\n/).length}indentMatcher(e,t,r,n){if(!this.isStartOfLine(e,t))return null;let{currIndentLevel:a,prevIndentLevel:s,match:l}=this.matchWhitespace(e,t,r,n);return a<=s?null:(this.indentationStack.push(a),l)}dedentMatcher(e,t,r,n){if(!this.isStartOfLine(e,t))return null;let{currIndentLevel:a,prevIndentLevel:s,match:l}=this.matchWhitespace(e,t,r,n);if(a>=s)return null;let u=this.indentationStack.lastIndexOf(a);if(u===-1)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${a} at offset: ${t}. Current indentation stack: ${this.indentationStack}`,offset:t,length:l?.[0]?.length??0,line:this.getLineNumber(e,t),column:1}),null;let c=this.indentationStack.length-u-1,f=e.substring(0,t).match(/[\r\n]+$/)?.[0].length??1;for(let p=0;p<c;p++){let d=this.createIndentationTokenInstance(this.dedentTokenType,e,"",t-(f-1));r.push(d),this.indentationStack.pop()}return null}buildTerminalToken(e){let t=super.buildTerminalToken(e),{indentTokenName:r,dedentTokenName:n,whitespaceTokenName:a}=this.options;return t.name===r?this.indentTokenType:t.name===n?this.dedentTokenType:t.name===a?Oa({name:a,pattern:this.whitespaceRegExp,group:Qe.SKIPPED}):t}flushRemainingDedents(e){let t=[];for(;this.indentationStack.length>1;)t.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],t}},KG=class extends Bm{static{i(this,"IndentationAwareLexer")}static{o(this,"IndentationAwareLexer")}constructor(e){if(super(e),e.parser.TokenBuilder instanceof Ew)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,t=Km){let r=super.tokenize(e),n=r.report;t?.mode==="full"&&r.tokens.push(...n.remainingDedents),n.remainingDedents=[];let{indentTokenType:a,dedentTokenType:s}=this.indentationTokenBuilder,l=a.tokenTypeIdx,u=s.tokenTypeIdx,c=[],f=r.tokens.length-1;for(let p=0;p<f;p++){let d=r.tokens[p],h=r.tokens[p+1];if(d.tokenTypeIdx===l&&h.tokenTypeIdx===u){p++;continue}c.push(d)}return f>=0&&c.push(r.tokens[f]),r.tokens=c,r}},th={};Gr(th,{AstUtils:i(()=>Ap,"AstUtils"),BiMap:i(()=>El,"BiMap"),Cancellation:i(()=>de,"Cancellation"),ContextCache:i(()=>Ou,"ContextCache"),CstUtils:i(()=>Tp,"CstUtils"),DONE_RESULT:i(()=>Xe,"DONE_RESULT"),Deferred:i(()=>$r,"Deferred"),Disposable:i(()=>An,"Disposable"),DisposableCache:i(()=>ku,"DisposableCache"),DocumentCache:i(()=>WS,"DocumentCache"),EMPTY_STREAM:i(()=>Da,"EMPTY_STREAM"),ErrorWithLocation:i(()=>Fl,"ErrorWithLocation"),GrammarUtils:i(()=>Zp,"GrammarUtils"),MultiMap:i(()=>Rr,"MultiMap"),OperationCancelled:i(()=>Ht,"OperationCancelled"),Reduction:i(()=>fs,"Reduction"),RegExpUtils:i(()=>ed,"RegExpUtils"),SimpleCache:i(()=>Gm,"SimpleCache"),StreamImpl:i(()=>Vt,"StreamImpl"),TreeStreamImpl:i(()=>xa,"TreeStreamImpl"),URI:i(()=>pt,"URI"),UriTrie:i(()=>xm,"UriTrie"),UriUtils:i(()=>Ze,"UriUtils"),WorkspaceCache:i(()=>Fm,"WorkspaceCache"),assertCondition:i(()=>Qp,"assertCondition"),assertUnreachable:i(()=>Fr,"assertUnreachable"),delayNextTick:i(()=>Nu,"delayNextTick"),interruptAndCheck:i(()=>ze,"interruptAndCheck"),isOperationCancelled:i(()=>Vn,"isOperationCancelled"),loadGrammarFromJson:i(()=>je,"loadGrammarFromJson"),setInterruptionPeriod:i(()=>Om,"setInterruptionPeriod"),startCancelableOperation:i(()=>Pu,"startCancelableOperation"),stream:i(()=>ue,"stream")});wl(th,Lu);var Cw=class{static{i(this,"EmptyFileSystemProvider")}static{o(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[]}},bw={fileSystemProvider:o(()=>new Cw,"fileSystemProvider")},BG={Grammar:o(()=>{},"Grammar"),LanguageMetaData:o(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},qG={AstReflection:o(()=>new Kp,"AstReflection")};function _w(){let e=Sl(Zm(bw),qG),t=Sl(Jm({shared:e}),BG);return e.ServiceRegistry.register(t),t}i(_w,"createMinimalGrammarServices");o(_w,"createMinimalGrammarServices");function je(e){let t=_w(),r=t.serializer.JsonSerializer.deserialize(e);return t.shared.workspace.LangiumDocumentFactory.fromModel(r,pt.parse(`memory:/${r.name??"grammar"}.langium`)),r}i(je,"loadGrammarFromJson");o(je,"loadGrammarFromJson");wl(Dg,th);var WG=class{static{i(this,"DefaultLangiumProfiler")}static{o(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 Rr}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(t=>this.activeCategories.add(t)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(t=>this.activeCategories.delete(t)):this.activeCategories.clear()}createTask(e,t){if(!this.isActive(e))throw new Error(`Category "${e}" is not active.`);return console.log(`Creating profiling task for '${e}.${t}'.`),new Sw(r=>this.records.add(e,this.dumpRecord(e,r)),t)}dumpRecord(e,t){console.info(`Task ${e}.${t.identifier} executed in ${t.duration.toFixed(2)}ms and ended at ${t.date.toISOString()}`);let r=[];for(let s of t.entries.keys()){let l=t.entries.get(s),u=l.reduce((c,f)=>c+f);r.push({name:`${t.identifier}.${s}`,count:l.length,duration:u})}let n=t.duration-r.map(s=>s.duration).reduce((s,l)=>s+l,0);r.push({name:t.identifier,count:1,duration:n}),r.sort((s,l)=>l.duration-s.duration);function a(s){return Math.round(100*s)/100}return i(a,"Round"),o(a,"Round"),console.table(r.map(s=>({Element:s.name,Count:s.count,"Self %":a(100*s.duration/t.duration),"Time (ms)":a(s.duration)}))),t}getRecords(...e){return e.length===0?this.records.values():this.records.entries().filter(t=>e.some(r=>r===t[0])).flatMap(t=>t[1])}},Sw=class{static{i(this,"ProfilingTask")}static{o(this,"ProfilingTask")}constructor(e,t){this.stack=[],this.entries=new Rr,this.addRecord=e,this.identifier=t}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(t=>t.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 t=this.stack.pop();if(!t)throw new Error(`Task "${this.identifier}.${e}" was not started.`);if(t.id!==e)throw new Error(`Sub-Task "${t.id}" is not already stopped.`);let r=performance.now()-t.start;this.stack.at(-1)!==void 0&&(this.stack[this.stack.length-1].content+=r);let n=r-t.content;this.entries.add(e,n)}},Qf;(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:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[^\[\]\r\n]+)\]/}})(Qf||(Qf={}));var ep;(e=>{e.Terminals={DOMAIN_NAME:/complex|complicated|clear|chaotic|confusion/,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]*/}})(ep||(ep={}));var tp;(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]*/}})(tp||(tp={}));var rp;(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])?/}})(rp||(rp={}));var np;(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]*/}})(np||(np={}));var ap;(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]*/}})(ap||(ap={}));var ip;(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]*/}})(ip||(ip={}));var sp;(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]*/}})(sp||(sp={}));var op;(e=>{e.Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ABNF_RULENAME:/[A-Za-z][A-Za-z0-9-]*/,ABNF_STRING:/"[^"]*"/,ABNF_NUMVAL:/%[xXdDbB][0-9A-Fa-f]+(?:-[0-9A-Fa-f]+|\.[0-9A-Fa-f]+)*/,ABNF_REPEAT:/[0-9]*\*[0-9]*/,ABNF_EXACT_REPEAT:/[0-9]+/,ABNF_WHITESPACE:/[\t \r\n]+/,ABNF_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,ABNF_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,ABNF_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ABNF_COMMENT:/;[^\n\r]*/}})(op||(op={}));var lp;(e=>{e.Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,EBNF_ID:/[A-Z_a-z][\w-]*/,EBNF_STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,EBNF_SPECIAL_SEQUENCE:/\?(?=[^?;]*[^?\s;][^?;]*\?)[^?;]*\?/,EBNF_WHITESPACE:/[\t \r\n]+/,EBNF_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,EBNF_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,EBNF_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,EBNF_BLOCK_COMMENT:/\/\*[\s\S]*?\*\//,EBNF_ISO_COMMENT:/\(\*[\s\S]*?\*\)/}})(lp||(lp={}));var up;(e=>{e.Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,RR_ID:/[A-Z_a-z][\w-]*/,RR_STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,RR_WHITESPACE:/[\t \r\n]+/,RR_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,RR_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,RR_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,RR_BLOCK_COMMENT:/\/\*[\s\S]*?\*\//}})(up||(up={}));var cp;(e=>{e.Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,PEG_ID:/[A-Z_a-z][\w-]*/,PEG_STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,PEG_WHITESPACE:/[\t \r\n]+/,PEG_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,PEG_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,PEG_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,PEG_LINE_COMMENT:/#[^\n\r]*/}})(cp||(cp={}));var fp;(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:/"[^"]*"|'[^']*'/}})(fp||(fp={}));var pp;(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]*|)/,CLASS_ANNOTATION:/[ \t]+:::[ \t]*[A-Za-z_][\w-]*/,ICON_ANNOTATION:/[ \t]+icon\([\w-]*(?::[\w-]+)?\)/,DESC_ANNOTATION:/[ \t]+##[^\n\r]*/,INDENTATION:/[ \t]{1,}/,QUOTED_NAME:/"[^"]*"|'[^']*'/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,BARE_NAME:/(?!:::|icon\(|##)[^ \t\n\r"'](?:(?![ \t]+:::[ \t]*[A-Za-z_]|[ \t]+icon\(|[ \t]+##)[^\n\r])*/}})(pp||(pp={}));var dp;(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]*/}})(dp||(dp={}));var ZF={...Qf.Terminals,...ep.Terminals,...tp.Terminals,...rp.Terminals,...np.Terminals,...ap.Terminals,...ip.Terminals,...sp.Terminals,...op.Terminals,...lp.Terminals,...up.Terminals,...cp.Terminals,...pp.Terminals,...fp.Terminals,...dp.Terminals},wy={$type:"AbnfAlternation",alternatives:"alternatives"},Iy={$type:"AbnfConcatenation",elements:"elements"},Hu={$type:"AbnfElement",primary:"primary",repeat:"repeat"},Ny={$type:"AbnfGroup",element:"element"},Py={$type:"AbnfNumVal",value:"value"},ky={$type:"AbnfOptionalGroup",element:"element"},ra={$type:"AbnfPrimary"},Yu={$type:"AbnfRule",definition:"definition",name:"name"},Oy={$type:"AbnfRuleName",name:"name"},Ly={$type:"AbnfStringLiteral",value:"value"},ro={$type:"Accelerator",name:"name",x:"x",y:"y"},Xu={$type:"Alignment",direction:"direction",members:"members"},no={$type:"Anchor",evolution:"evolution",name:"name",visibility:"visibility"},Si={$type:"Annotation",number:"number",text:"text",x:"x",y:"y"},Ju={$type:"Annotations",x:"x",y:"y"},Kt={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",alignments:"alignments",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function VG(e){return Ne.isInstance(e,Kt.$type)}i(VG,"isArchitecture");o(VG,"isArchitecture");var ao={$type:"Axis",label:"label",name:"name"},xo={$type:"Branch",name:"name",order:"order"};function HG(e){return Ne.isInstance(e,xo.$type)}i(HG,"isBranch");o(HG,"isBranch");var Dy={$type:"Checkout",branch:"branch"},io={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},Zu={$type:"ClassDefStatement",className:"className",styleText:"styleText"},ma={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function YG(e){return Ne.isInstance(e,ma.$type)}i(YG,"isCommit");o(YG,"isCommit");var so={$type:"Common",accDescr:"accDescr",accTitle:"accTitle",title:"title"},Br={$type:"Component",decorator:"decorator",evolution:"evolution",inertia:"inertia",label:"label",name:"name",visibility:"visibility"},oo={$type:"Curve",entries:"entries",label:"label",name:"name"},tn={$type:"Cynefin",accDescr:"accDescr",accTitle:"accTitle",domains:"domains",title:"title",transitions:"transitions"};function XG(e){return Ne.isInstance(e,tn.$type)}i(XG,"isCynefin");o(XG,"isCynefin");var lo={$type:"Deaccelerator",name:"name",x:"x",y:"y"},xy={$type:"Decorator",strategy:"strategy"},na={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},Mo={$type:"DomainBlock",domain:"domain",items:"items"};function JG(e){return Ne.isInstance(e,Mo.$type)}i(JG,"isDomainBlock");o(JG,"isDomainBlock");var mp={$type:"DomainItem",label:"label"};function ZG(e){return Ne.isInstance(e,mp.$type)}i(ZG,"isDomainItem");o(ZG,"isDomainItem");var My={$type:"EbnfChoice",alternatives:"alternatives"},Gy={$type:"EbnfExceptionPostfix",except:"except"},Fy={$type:"EbnfGroup",element:"element"},zy={$type:"EbnfNonTerminal",name:"name"},jy={$type:"EbnfOneOrMorePostfix",operator:"operator"},Uy={$type:"EbnfOptional",element:"element"},Ky={$type:"EbnfOptionalPostfix",operator:"operator"},wi={$type:"EbnfPostfix"},qr={$type:"EbnfPrimary"},By={$type:"EbnfRepetition",element:"element"},Qu={$type:"EbnfRule",definition:"definition",name:"name"},qy={$type:"EbnfSequence",elements:"elements"},Wy={$type:"EbnfSpecial",text:"text"},ec={$type:"EbnfTerm",base:"base",postfixes:"postfixes"},Vy={$type:"EbnfTerminal",value:"value"},Hy={$type:"EbnfZeroOrMorePostfix",operator:"operator"},jt={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},aa={$type:"EmDataEntity",dataBlockValue:"dataBlockValue",dataType:"dataType",name:"name"},Wr={$type:"EmFrame"},Ii={$type:"EmGwt",givenStatements:"givenStatements",sourceFrame:"sourceFrame",thenStatements:"thenStatements",whenStatements:"whenStatements"},Yy={$type:"EmGwtStatement",entityIdentifier:"entityIdentifier"},tc={$type:"EmModelEntity",name:"name"};function QG(e){return e==="rmo"||e==="readmodel"||e==="ui"||e==="cmd"||e==="command"||e==="evt"||e==="event"||e==="pcr"||e==="processor"}i(QG,"isEmModelEntityType");o(QG,"isEmModelEntityType");var uo={$type:"EmNoteEntity",dataBlockValue:"dataBlockValue",dataType:"dataType",sourceFrame:"sourceFrame"},lr={$type:"EmResetFrame",dataInlineValue:"dataInlineValue",dataReference:"dataReference",dataType:"dataType",entityIdentifier:"entityIdentifier",modelEntityType:"modelEntityType",name:"name",sourceFrames:"sourceFrames"};function eF(e){return Ne.isInstance(e,lr.$type)}i(eF,"isEmResetFrame");o(eF,"isEmResetFrame");var Sr={$type:"EmTimeFrame",dataInlineValue:"dataInlineValue",dataReference:"dataReference",dataType:"dataType",entityIdentifier:"entityIdentifier",modelEntityType:"modelEntityType",name:"name",sourceFrames:"sourceFrames"},rc={$type:"Entry",axis:"axis",value:"value"},ar={$type:"EventModel",accDescr:"accDescr",accTitle:"accTitle",dataEntities:"dataEntities",frames:"frames",gwtEntities:"gwtEntities",modelEntities:"modelEntities",noteEntities:"noteEntities",title:"title"},Xy={$type:"Evolution",stages:"stages"},co={$type:"EvolutionStage",boundary:"boundary",name:"name",secondName:"secondName"},nc={$type:"Evolve",component:"component",target:"target"},rn={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function tF(e){return Ne.isInstance(e,rn.$type)}i(tF,"isGitGraph");o(tF,"isGitGraph");var Ni={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},Vi={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function rF(e){return Ne.isInstance(e,Vi.$type)}i(rF,"isInfo");o(rF,"isInfo");var Pi={$type:"Item",classSelector:"classSelector",name:"name"},ac={$type:"Junction",id:"id",in:"in"},ki={$type:"Label",negX:"negX",negY:"negY",offsetX:"offsetX",offsetY:"offsetY"},fo={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},Vr={$type:"Link",arrow:"arrow",from:"from",fromPort:"fromPort",linkLabel:"linkLabel",to:"to",toPort:"toPort"},ha={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function nF(e){return Ne.isInstance(e,ha.$type)}i(nF,"isMerge");o(nF,"isMerge");var po={$type:"Note",evolution:"evolution",text:"text",visibility:"visibility"},ic={$type:"Option",name:"name",value:"value"},ya={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function aF(e){return Ne.isInstance(e,ya.$type)}i(aF,"isPacket");o(aF,"isPacket");var ga={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function iF(e){return Ne.isInstance(e,ga.$type)}i(iF,"isPacketBlock");o(iF,"isPacketBlock");var Jy={$type:"PegAny",dot:"dot"},Zy={$type:"PegGroup",element:"element"},Qy={$type:"PegIdentifier",name:"name"},eg={$type:"PegLiteral",value:"value"},tg={$type:"PegOrderedChoice",alternatives:"alternatives"},sc={$type:"PegPrefix",operator:"operator",suffix:"suffix"},Oi={$type:"PegPrimary"},oc={$type:"PegRule",definition:"definition",name:"name"},rg={$type:"PegSequence",elements:"elements"},lc={$type:"PegSuffix",operator:"operator",primary:"primary"},nn={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function sF(e){return Ne.isInstance(e,nn.$type)}i(sF,"isPie");o(sF,"isPie");var Go={$type:"PieSection",label:"label",value:"value"};function oF(e){return Ne.isInstance(e,Go.$type)}i(oF,"isPieSection");o(oF,"isPieSection");var uc={$type:"Pipeline",components:"components",parent:"parent"},mo={$type:"PipelineComponent",evolution:"evolution",label:"label",name:"name"},Hr={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},va={$type:"Railroad",accDescr:"accDescr",accTitle:"accTitle",rules:"rules",title:"title"};function lF(e){return Ne.isInstance(e,va.$type)}i(lF,"isRailroad");o(lF,"isRailroad");var Ta={$type:"RailroadAbnf",accDescr:"accDescr",accTitle:"accTitle",rules:"rules",title:"title"};function uF(e){return Ne.isInstance(e,Ta.$type)}i(uF,"isRailroadAbnf");o(uF,"isRailroadAbnf");var ng={$type:"RailroadChoiceExpr",alternatives:"alternatives"},$a={$type:"RailroadEbnf",accDescr:"accDescr",accTitle:"accTitle",rules:"rules",title:"title"};function cF(e){return Ne.isInstance(e,$a.$type)}i(cF,"isRailroadEbnf");o(cF,"isRailroadEbnf");var ir={$type:"RailroadExpression"},ag={$type:"RailroadNonTerminalExpr",name:"name"},ig={$type:"RailroadOneOrMoreExpr",element:"element"},sg={$type:"RailroadOptionalExpr",element:"element"},Ra={$type:"RailroadPeg",accDescr:"accDescr",accTitle:"accTitle",rules:"rules",title:"title"};function fF(e){return Ne.isInstance(e,Ra.$type)}i(fF,"isRailroadPeg");o(fF,"isRailroadPeg");var cc={$type:"RailroadRule",definition:"definition",name:"name"},og={$type:"RailroadSequenceExpr",elements:"elements"},lg={$type:"RailroadSpecialExpr",text:"text"},ug={$type:"RailroadTerminalExpr",value:"value"},cg={$type:"RailroadZeroOrMoreExpr",element:"element"},fc={$type:"Section",classSelector:"classSelector",name:"name"},ia={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},pc={$type:"Size",height:"height",width:"width"},sa={$type:"Statement"},Hi={$type:"Transition",from:"from",label:"label",to:"to"};function pF(e){return Ne.isInstance(e,Hi.$type)}i(pF,"isTransition");o(pF,"isTransition");var Aa={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function dF(e){return Ne.isInstance(e,Aa.$type)}i(dF,"isTreemap");o(dF,"isTreemap");var dc={$type:"TreemapRow",indent:"indent",item:"item"},oa={$type:"TreeNode",classAnnotation:"classAnnotation",descAnnotation:"descAnnotation",iconAnnotation:"iconAnnotation",indent:"indent",name:"name"},Li={$type:"TreeView",accDescr:"accDescr",accTitle:"accTitle",nodes:"nodes",title:"title"},Ke={$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 mF(e){return Ne.isInstance(e,Ke.$type)}i(mF,"isWardley");o(mF,"isWardley");var ww=class extends Rp{static{i(this,"MermaidAstReflection")}constructor(){super(...arguments),this.types={AbnfAlternation:{name:wy.$type,properties:{alternatives:{name:wy.alternatives,defaultValue:[]}},superTypes:[]},AbnfConcatenation:{name:Iy.$type,properties:{elements:{name:Iy.elements,defaultValue:[]}},superTypes:[]},AbnfElement:{name:Hu.$type,properties:{primary:{name:Hu.primary},repeat:{name:Hu.repeat}},superTypes:[]},AbnfGroup:{name:Ny.$type,properties:{element:{name:Ny.element}},superTypes:[ra.$type]},AbnfNumVal:{name:Py.$type,properties:{value:{name:Py.value}},superTypes:[ra.$type]},AbnfOptionalGroup:{name:ky.$type,properties:{element:{name:ky.element}},superTypes:[ra.$type]},AbnfPrimary:{name:ra.$type,properties:{},superTypes:[]},AbnfRule:{name:Yu.$type,properties:{definition:{name:Yu.definition},name:{name:Yu.name}},superTypes:[]},AbnfRuleName:{name:Oy.$type,properties:{name:{name:Oy.name}},superTypes:[ra.$type]},AbnfStringLiteral:{name:Ly.$type,properties:{value:{name:Ly.value}},superTypes:[ra.$type]},Accelerator:{name:ro.$type,properties:{name:{name:ro.name},x:{name:ro.x},y:{name:ro.y}},superTypes:[]},Alignment:{name:Xu.$type,properties:{direction:{name:Xu.direction},members:{name:Xu.members,defaultValue:[]}},superTypes:[]},Anchor:{name:no.$type,properties:{evolution:{name:no.evolution},name:{name:no.name},visibility:{name:no.visibility}},superTypes:[]},Annotation:{name:Si.$type,properties:{number:{name:Si.number},text:{name:Si.text},x:{name:Si.x},y:{name:Si.y}},superTypes:[]},Annotations:{name:Ju.$type,properties:{x:{name:Ju.x},y:{name:Ju.y}},superTypes:[]},Architecture:{name:Kt.$type,properties:{accDescr:{name:Kt.accDescr},accTitle:{name:Kt.accTitle},alignments:{name:Kt.alignments,defaultValue:[]},edges:{name:Kt.edges,defaultValue:[]},groups:{name:Kt.groups,defaultValue:[]},junctions:{name:Kt.junctions,defaultValue:[]},services:{name:Kt.services,defaultValue:[]},title:{name:Kt.title}},superTypes:[]},Axis:{name:ao.$type,properties:{label:{name:ao.label},name:{name:ao.name}},superTypes:[]},Branch:{name:xo.$type,properties:{name:{name:xo.name},order:{name:xo.order}},superTypes:[sa.$type]},Checkout:{name:Dy.$type,properties:{branch:{name:Dy.branch}},superTypes:[sa.$type]},CherryPicking:{name:io.$type,properties:{id:{name:io.id},parent:{name:io.parent},tags:{name:io.tags,defaultValue:[]}},superTypes:[sa.$type]},ClassDefStatement:{name:Zu.$type,properties:{className:{name:Zu.className},styleText:{name:Zu.styleText}},superTypes:[]},Commit:{name:ma.$type,properties:{id:{name:ma.id},message:{name:ma.message},tags:{name:ma.tags,defaultValue:[]},type:{name:ma.type}},superTypes:[sa.$type]},Common:{name:so.$type,properties:{accDescr:{name:so.accDescr},accTitle:{name:so.accTitle},title:{name:so.title}},superTypes:[]},Component:{name:Br.$type,properties:{decorator:{name:Br.decorator},evolution:{name:Br.evolution},inertia:{name:Br.inertia,defaultValue:!1},label:{name:Br.label},name:{name:Br.name},visibility:{name:Br.visibility}},superTypes:[]},Curve:{name:oo.$type,properties:{entries:{name:oo.entries,defaultValue:[]},label:{name:oo.label},name:{name:oo.name}},superTypes:[]},Cynefin:{name:tn.$type,properties:{accDescr:{name:tn.accDescr},accTitle:{name:tn.accTitle},domains:{name:tn.domains,defaultValue:[]},title:{name:tn.title},transitions:{name:tn.transitions,defaultValue:[]}},superTypes:[]},Deaccelerator:{name:lo.$type,properties:{name:{name:lo.name},x:{name:lo.x},y:{name:lo.y}},superTypes:[]},Decorator:{name:xy.$type,properties:{strategy:{name:xy.strategy}},superTypes:[]},Direction:{name:na.$type,properties:{accDescr:{name:na.accDescr},accTitle:{name:na.accTitle},dir:{name:na.dir},statements:{name:na.statements,defaultValue:[]},title:{name:na.title}},superTypes:[rn.$type]},DomainBlock:{name:Mo.$type,properties:{domain:{name:Mo.domain},items:{name:Mo.items,defaultValue:[]}},superTypes:[]},DomainItem:{name:mp.$type,properties:{label:{name:mp.label}},superTypes:[]},EbnfChoice:{name:My.$type,properties:{alternatives:{name:My.alternatives,defaultValue:[]}},superTypes:[]},EbnfExceptionPostfix:{name:Gy.$type,properties:{except:{name:Gy.except}},superTypes:[wi.$type]},EbnfGroup:{name:Fy.$type,properties:{element:{name:Fy.element}},superTypes:[qr.$type]},EbnfNonTerminal:{name:zy.$type,properties:{name:{name:zy.name}},superTypes:[qr.$type]},EbnfOneOrMorePostfix:{name:jy.$type,properties:{operator:{name:jy.operator}},superTypes:[wi.$type]},EbnfOptional:{name:Uy.$type,properties:{element:{name:Uy.element}},superTypes:[qr.$type]},EbnfOptionalPostfix:{name:Ky.$type,properties:{operator:{name:Ky.operator}},superTypes:[wi.$type]},EbnfPostfix:{name:wi.$type,properties:{},superTypes:[]},EbnfPrimary:{name:qr.$type,properties:{},superTypes:[]},EbnfRepetition:{name:By.$type,properties:{element:{name:By.element}},superTypes:[qr.$type]},EbnfRule:{name:Qu.$type,properties:{definition:{name:Qu.definition},name:{name:Qu.name}},superTypes:[]},EbnfSequence:{name:qy.$type,properties:{elements:{name:qy.elements,defaultValue:[]}},superTypes:[]},EbnfSpecial:{name:Wy.$type,properties:{text:{name:Wy.text}},superTypes:[qr.$type]},EbnfTerm:{name:ec.$type,properties:{base:{name:ec.base},postfixes:{name:ec.postfixes,defaultValue:[]}},superTypes:[]},EbnfTerminal:{name:Vy.$type,properties:{value:{name:Vy.value}},superTypes:[qr.$type]},EbnfZeroOrMorePostfix:{name:Hy.$type,properties:{operator:{name:Hy.operator}},superTypes:[wi.$type]},Edge:{name:jt.$type,properties:{lhsDir:{name:jt.lhsDir},lhsGroup:{name:jt.lhsGroup,defaultValue:!1},lhsId:{name:jt.lhsId},lhsInto:{name:jt.lhsInto,defaultValue:!1},rhsDir:{name:jt.rhsDir},rhsGroup:{name:jt.rhsGroup,defaultValue:!1},rhsId:{name:jt.rhsId},rhsInto:{name:jt.rhsInto,defaultValue:!1},title:{name:jt.title}},superTypes:[]},EmDataEntity:{name:aa.$type,properties:{dataBlockValue:{name:aa.dataBlockValue},dataType:{name:aa.dataType},name:{name:aa.name}},superTypes:[]},EmFrame:{name:Wr.$type,properties:{},superTypes:[]},EmGwt:{name:Ii.$type,properties:{givenStatements:{name:Ii.givenStatements,defaultValue:[]},sourceFrame:{name:Ii.sourceFrame,referenceType:Wr.$type},thenStatements:{name:Ii.thenStatements,defaultValue:[]},whenStatements:{name:Ii.whenStatements,defaultValue:[]}},superTypes:[]},EmGwtStatement:{name:Yy.$type,properties:{entityIdentifier:{name:Yy.entityIdentifier,referenceType:tc.$type}},superTypes:[]},EmModelEntity:{name:tc.$type,properties:{name:{name:tc.name}},superTypes:[]},EmNoteEntity:{name:uo.$type,properties:{dataBlockValue:{name:uo.dataBlockValue},dataType:{name:uo.dataType},sourceFrame:{name:uo.sourceFrame,referenceType:Wr.$type}},superTypes:[]},EmResetFrame:{name:lr.$type,properties:{dataInlineValue:{name:lr.dataInlineValue},dataReference:{name:lr.dataReference,referenceType:aa.$type},dataType:{name:lr.dataType},entityIdentifier:{name:lr.entityIdentifier},modelEntityType:{name:lr.modelEntityType},name:{name:lr.name},sourceFrames:{name:lr.sourceFrames,defaultValue:[],referenceType:Wr.$type}},superTypes:[Wr.$type]},EmTimeFrame:{name:Sr.$type,properties:{dataInlineValue:{name:Sr.dataInlineValue},dataReference:{name:Sr.dataReference,referenceType:aa.$type},dataType:{name:Sr.dataType},entityIdentifier:{name:Sr.entityIdentifier},modelEntityType:{name:Sr.modelEntityType},name:{name:Sr.name},sourceFrames:{name:Sr.sourceFrames,defaultValue:[],referenceType:Wr.$type}},superTypes:[Wr.$type]},Entry:{name:rc.$type,properties:{axis:{name:rc.axis,referenceType:ao.$type},value:{name:rc.value}},superTypes:[]},EventModel:{name:ar.$type,properties:{accDescr:{name:ar.accDescr},accTitle:{name:ar.accTitle},dataEntities:{name:ar.dataEntities,defaultValue:[]},frames:{name:ar.frames,defaultValue:[]},gwtEntities:{name:ar.gwtEntities,defaultValue:[]},modelEntities:{name:ar.modelEntities,defaultValue:[]},noteEntities:{name:ar.noteEntities,defaultValue:[]},title:{name:ar.title}},superTypes:[]},Evolution:{name:Xy.$type,properties:{stages:{name:Xy.stages,defaultValue:[]}},superTypes:[]},EvolutionStage:{name:co.$type,properties:{boundary:{name:co.boundary},name:{name:co.name},secondName:{name:co.secondName}},superTypes:[]},Evolve:{name:nc.$type,properties:{component:{name:nc.component},target:{name:nc.target}},superTypes:[]},GitGraph:{name:rn.$type,properties:{accDescr:{name:rn.accDescr},accTitle:{name:rn.accTitle},statements:{name:rn.statements,defaultValue:[]},title:{name:rn.title}},superTypes:[]},Group:{name:Ni.$type,properties:{icon:{name:Ni.icon},id:{name:Ni.id},in:{name:Ni.in},title:{name:Ni.title}},superTypes:[]},Info:{name:Vi.$type,properties:{accDescr:{name:Vi.accDescr},accTitle:{name:Vi.accTitle},title:{name:Vi.title}},superTypes:[]},Item:{name:Pi.$type,properties:{classSelector:{name:Pi.classSelector},name:{name:Pi.name}},superTypes:[]},Junction:{name:ac.$type,properties:{id:{name:ac.id},in:{name:ac.in}},superTypes:[]},Label:{name:ki.$type,properties:{negX:{name:ki.negX,defaultValue:!1},negY:{name:ki.negY,defaultValue:!1},offsetX:{name:ki.offsetX},offsetY:{name:ki.offsetY}},superTypes:[]},Leaf:{name:fo.$type,properties:{classSelector:{name:fo.classSelector},name:{name:fo.name},value:{name:fo.value}},superTypes:[Pi.$type]},Link:{name:Vr.$type,properties:{arrow:{name:Vr.arrow},from:{name:Vr.from},fromPort:{name:Vr.fromPort},linkLabel:{name:Vr.linkLabel},to:{name:Vr.to},toPort:{name:Vr.toPort}},superTypes:[]},Merge:{name:ha.$type,properties:{branch:{name:ha.branch},id:{name:ha.id},tags:{name:ha.tags,defaultValue:[]},type:{name:ha.type}},superTypes:[sa.$type]},Note:{name:po.$type,properties:{evolution:{name:po.evolution},text:{name:po.text},visibility:{name:po.visibility}},superTypes:[]},Option:{name:ic.$type,properties:{name:{name:ic.name},value:{name:ic.value,defaultValue:!1}},superTypes:[]},Packet:{name:ya.$type,properties:{accDescr:{name:ya.accDescr},accTitle:{name:ya.accTitle},blocks:{name:ya.blocks,defaultValue:[]},title:{name:ya.title}},superTypes:[]},PacketBlock:{name:ga.$type,properties:{bits:{name:ga.bits},end:{name:ga.end},label:{name:ga.label},start:{name:ga.start}},superTypes:[]},PegAny:{name:Jy.$type,properties:{dot:{name:Jy.dot}},superTypes:[Oi.$type]},PegGroup:{name:Zy.$type,properties:{element:{name:Zy.element}},superTypes:[Oi.$type]},PegIdentifier:{name:Qy.$type,properties:{name:{name:Qy.name}},superTypes:[Oi.$type]},PegLiteral:{name:eg.$type,properties:{value:{name:eg.value}},superTypes:[Oi.$type]},PegOrderedChoice:{name:tg.$type,properties:{alternatives:{name:tg.alternatives,defaultValue:[]}},superTypes:[]},PegPrefix:{name:sc.$type,properties:{operator:{name:sc.operator},suffix:{name:sc.suffix}},superTypes:[]},PegPrimary:{name:Oi.$type,properties:{},superTypes:[]},PegRule:{name:oc.$type,properties:{definition:{name:oc.definition},name:{name:oc.name}},superTypes:[]},PegSequence:{name:rg.$type,properties:{elements:{name:rg.elements,defaultValue:[]}},superTypes:[]},PegSuffix:{name:lc.$type,properties:{operator:{name:lc.operator},primary:{name:lc.primary}},superTypes:[]},Pie:{name:nn.$type,properties:{accDescr:{name:nn.accDescr},accTitle:{name:nn.accTitle},sections:{name:nn.sections,defaultValue:[]},showData:{name:nn.showData,defaultValue:!1},title:{name:nn.title}},superTypes:[]},PieSection:{name:Go.$type,properties:{label:{name:Go.label},value:{name:Go.value}},superTypes:[]},Pipeline:{name:uc.$type,properties:{components:{name:uc.components,defaultValue:[]},parent:{name:uc.parent}},superTypes:[]},PipelineComponent:{name:mo.$type,properties:{evolution:{name:mo.evolution},label:{name:mo.label},name:{name:mo.name}},superTypes:[]},Radar:{name:Hr.$type,properties:{accDescr:{name:Hr.accDescr},accTitle:{name:Hr.accTitle},axes:{name:Hr.axes,defaultValue:[]},curves:{name:Hr.curves,defaultValue:[]},options:{name:Hr.options,defaultValue:[]},title:{name:Hr.title}},superTypes:[]},Railroad:{name:va.$type,properties:{accDescr:{name:va.accDescr},accTitle:{name:va.accTitle},rules:{name:va.rules,defaultValue:[]},title:{name:va.title}},superTypes:[]},RailroadAbnf:{name:Ta.$type,properties:{accDescr:{name:Ta.accDescr},accTitle:{name:Ta.accTitle},rules:{name:Ta.rules,defaultValue:[]},title:{name:Ta.title}},superTypes:[]},RailroadChoiceExpr:{name:ng.$type,properties:{alternatives:{name:ng.alternatives,defaultValue:[]}},superTypes:[ir.$type]},RailroadEbnf:{name:$a.$type,properties:{accDescr:{name:$a.accDescr},accTitle:{name:$a.accTitle},rules:{name:$a.rules,defaultValue:[]},title:{name:$a.title}},superTypes:[]},RailroadExpression:{name:ir.$type,properties:{},superTypes:[]},RailroadNonTerminalExpr:{name:ag.$type,properties:{name:{name:ag.name}},superTypes:[ir.$type]},RailroadOneOrMoreExpr:{name:ig.$type,properties:{element:{name:ig.element}},superTypes:[ir.$type]},RailroadOptionalExpr:{name:sg.$type,properties:{element:{name:sg.element}},superTypes:[ir.$type]},RailroadPeg:{name:Ra.$type,properties:{accDescr:{name:Ra.accDescr},accTitle:{name:Ra.accTitle},rules:{name:Ra.rules,defaultValue:[]},title:{name:Ra.title}},superTypes:[]},RailroadRule:{name:cc.$type,properties:{definition:{name:cc.definition},name:{name:cc.name}},superTypes:[]},RailroadSequenceExpr:{name:og.$type,properties:{elements:{name:og.elements,defaultValue:[]}},superTypes:[ir.$type]},RailroadSpecialExpr:{name:lg.$type,properties:{text:{name:lg.text}},superTypes:[ir.$type]},RailroadTerminalExpr:{name:ug.$type,properties:{value:{name:ug.value}},superTypes:[ir.$type]},RailroadZeroOrMoreExpr:{name:cg.$type,properties:{element:{name:cg.element}},superTypes:[ir.$type]},Section:{name:fc.$type,properties:{classSelector:{name:fc.classSelector},name:{name:fc.name}},superTypes:[Pi.$type]},Service:{name:ia.$type,properties:{icon:{name:ia.icon},iconText:{name:ia.iconText},id:{name:ia.id},in:{name:ia.in},title:{name:ia.title}},superTypes:[]},Size:{name:pc.$type,properties:{height:{name:pc.height},width:{name:pc.width}},superTypes:[]},Statement:{name:sa.$type,properties:{},superTypes:[]},Transition:{name:Hi.$type,properties:{from:{name:Hi.from},label:{name:Hi.label},to:{name:Hi.to}},superTypes:[]},TreeNode:{name:oa.$type,properties:{classAnnotation:{name:oa.classAnnotation},descAnnotation:{name:oa.descAnnotation},iconAnnotation:{name:oa.iconAnnotation},indent:{name:oa.indent},name:{name:oa.name}},superTypes:[]},TreeView:{name:Li.$type,properties:{accDescr:{name:Li.accDescr},accTitle:{name:Li.accTitle},nodes:{name:Li.nodes,defaultValue:[]},title:{name:Li.title}},superTypes:[]},Treemap:{name:Aa.$type,properties:{accDescr:{name:Aa.accDescr},accTitle:{name:Aa.accTitle},title:{name:Aa.title},TreemapRows:{name:Aa.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:dc.$type,properties:{indent:{name:dc.indent},item:{name:dc.item}},superTypes:[]},Wardley:{name:Ke.$type,properties:{accDescr:{name:Ke.accDescr},accelerators:{name:Ke.accelerators,defaultValue:[]},accTitle:{name:Ke.accTitle},anchors:{name:Ke.anchors,defaultValue:[]},annotation:{name:Ke.annotation,defaultValue:[]},annotations:{name:Ke.annotations,defaultValue:[]},components:{name:Ke.components,defaultValue:[]},deaccelerators:{name:Ke.deaccelerators,defaultValue:[]},evolution:{name:Ke.evolution},evolves:{name:Ke.evolves,defaultValue:[]},links:{name:Ke.links,defaultValue:[]},notes:{name:Ke.notes,defaultValue:[]},pipelines:{name:Ke.pipelines,defaultValue:[]},size:{name:Ke.size},title:{name:Ke.title}},superTypes:[]}}}static{o(this,"MermaidAstReflection")}},Ne=new ww,fg,hF=o(()=>fg??(fg=je(`{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"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":[]}},{"$type":"Assignment","feature":"alignments","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"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@10"},"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@10"},"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@12"},"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@30"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"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@23"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"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@23"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"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@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"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@23"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Alignment","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"align"},{"$type":"Assignment","feature":"direction","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"row"},{"$type":"Keyword","value":"column"}]}},{"$type":"Assignment","feature":"members","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"members","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"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@24"},"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@16"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"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@19"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@20"},"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":"/\\\\[(?:\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'|[^\\\\[\\\\]\\\\r\\\\n]+)\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"ArchitectureGrammarGrammar"),pg,yF=o(()=>pg??(pg=je(`{"$type":"Grammar","isDeclared":true,"name":"CynefinGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Cynefin","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"cynefin-beta"},{"$type":"Keyword","value":"cynefin-beta:"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"domains","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"transitions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"DomainBlock","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"domain","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Assignment","feature":"items","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"DomainItem","definition":{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Transition","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":"-->"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"DOMAIN_NAME","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"complex"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"complicated"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"clear"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"chaotic"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"confusion"},"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":[]}`)),"CynefinGrammarGrammar"),dg,gF=o(()=>dg??(dg=je('{"$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"),mg,vF=o(()=>mg??(mg=je(`{"$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"),hg,TF=o(()=>hg??(hg=je(`{"$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"),yg,$F=o(()=>yg??(yg=je(`{"$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"),gg,RF=o(()=>gg??(gg=je(`{"$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"),vg,AF=o(()=>vg??(vg=je(`{"$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"),Tg,EF=o(()=>Tg??(Tg=je('{"$type":"Grammar","isDeclared":true,"name":"RailroadAbnfGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_RULENAME","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Za-z][A-Za-z0-9-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_NUMVAL","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/%[xXdDbB][0-9A-Fa-f]+(?:-[0-9A-Fa-f]+|\\\\.[0-9A-Fa-f]+)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_REPEAT","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[0-9]*\\\\*[0-9]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_EXACT_REPEAT","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_COMMENT","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"RailroadAbnf","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-abnf-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","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":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Keyword","value":"="},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfAlternation","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfConcatenation","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},"cardinality":"+"},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfElement","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"repeat","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"repeat","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"primary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfPrimary","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfStringLiteral","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfNumVal","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfRuleName","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfGroup","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfOptionalGroup","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"RailroadAbnf","attributes":[{"$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"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfAlternation","attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@3"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfConcatenation","attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@4"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfElement","attributes":[{"$type":"TypeAttribute","name":"repeat","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"primary","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfPrimary","attributes":[],"superTypes":[]},{"$type":"Interface","name":"AbnfStringLiteral","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"AbnfNumVal","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"AbnfRuleName","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"AbnfGroup","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"AbnfOptionalGroup","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]}],"imports":[],"types":[]}')),"RailroadAbnfGrammarGrammar"),$g,CF=o(()=>$g??($g=je(`{"$type":"Grammar","isDeclared":true,"name":"RailroadEbnfGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EBNF_ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Z_a-z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EBNF_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EBNF_SPECIAL_SEQUENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\?(?=[^?;]*[^?\\\\s;][^?;]*\\\\?)[^?;]*\\\\?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_BLOCK_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_ISO_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\(\\\\*[\\\\s\\\\S]*?\\\\*\\\\)/","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"RailroadEbnf","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-ebnf-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","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":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"="},{"$type":"Keyword","value":"::="}]},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfChoice","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfSequence","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":",","cardinality":"?"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfTerm","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"base","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"postfixes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfPrimary","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfTerminal","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfNonTerminal","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfSpecial","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfGroup","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfOptional","returnType":{"$ref":"#/interfaces@11"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfRepetition","returnType":{"$ref":"#/interfaces@12"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfPostfix","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfOptionalPostfix","returnType":{"$ref":"#/interfaces@13"},"definition":{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"?"}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfZeroOrMorePostfix","returnType":{"$ref":"#/interfaces@14"},"definition":{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"*"}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfOneOrMorePostfix","returnType":{"$ref":"#/interfaces@15"},"definition":{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"+"}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfExceptionPostfix","returnType":{"$ref":"#/interfaces@16"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"except","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"RailroadEbnf","attributes":[{"$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"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfChoice","attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@3"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfSequence","attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@4"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfTerm","attributes":[{"$type":"TypeAttribute","name":"base","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false},{"$type":"TypeAttribute","name":"postfixes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@6"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfPrimary","attributes":[],"superTypes":[]},{"$type":"Interface","name":"EbnfPostfix","attributes":[],"superTypes":[]},{"$type":"Interface","name":"EbnfTerminal","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfNonTerminal","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfSpecial","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"text","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfGroup","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"EbnfOptional","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"EbnfRepetition","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"EbnfOptionalPostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"operator","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfZeroOrMorePostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"operator","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfOneOrMorePostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"operator","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfExceptionPostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"except","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false}]}],"imports":[],"types":[]}`)),"RailroadEbnfGrammarGrammar"),Rg,bF=o(()=>Rg??(Rg=je(`{"$type":"Grammar","isDeclared":true,"name":"RailroadGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"RR_ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Z_a-z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"RR_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"RR_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_BLOCK_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"Railroad","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","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":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Keyword","value":"="},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadExpression","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadSequenceExpr","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"sequence"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadChoiceExpr","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"choice"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadOptionalExpr","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"optional"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadOneOrMoreExpr","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"oneOrMore"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadZeroOrMoreExpr","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"zeroOrMore"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadTerminalExpr","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"terminal"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadNonTerminalExpr","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"nonterminal"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadSpecialExpr","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"special"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"Railroad","attributes":[{"$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"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"RailroadRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"RailroadExpression","attributes":[],"superTypes":[]},{"$type":"Interface","name":"RailroadSequenceExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}}},"isOptional":false}]},{"$type":"Interface","name":"RailroadChoiceExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}}},"isOptional":false}]},{"$type":"Interface","name":"RailroadOptionalExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"RailroadOneOrMoreExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"RailroadZeroOrMoreExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"RailroadTerminalExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"RailroadNonTerminalExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"RailroadSpecialExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"text","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]}],"imports":[],"types":[]}`)),"RailroadGrammarGrammar"),Ag,_F=o(()=>Ag??(Ag=je(`{"$type":"Grammar","isDeclared":true,"name":"RailroadPegGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PEG_ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Z_a-z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PEG_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/#[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"RailroadPeg","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-peg-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","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":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Keyword","value":"<-"},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegOrderedChoice","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegSequence","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"+"},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegPrefix","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"&"}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"!"}}],"cardinality":"?"},{"$type":"Assignment","feature":"suffix","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegSuffix","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"primary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"?"}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"*"}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"+"}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegPrimary","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegLiteral","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegIdentifier","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegGroup","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegAny","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Assignment","feature":"dot","operator":"=","terminal":{"$type":"Keyword","value":"."}},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"RailroadPeg","attributes":[{"$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"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegOrderedChoice","attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@3"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegSequence","attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@4"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegPrefix","attributes":[{"$type":"TypeAttribute","name":"operator","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"suffix","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegSuffix","attributes":[{"$type":"TypeAttribute","name":"primary","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@6"}},"isOptional":false},{"$type":"TypeAttribute","name":"operator","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"PegPrimary","attributes":[],"superTypes":[]},{"$type":"Interface","name":"PegLiteral","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"PegIdentifier","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"PegGroup","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"PegAny","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"dot","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]}],"imports":[],"types":[]}`)),"RailroadPegGrammarGrammar"),Eg,SF=o(()=>Eg??(Eg=je(`{"$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"),Cg,wF=o(()=>Cg??(Cg=je(`{"$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@14"},"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":"CLASS_ANNOTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+:::[ \\\\t]*[A-Za-z_][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ICON_ANNOTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+icon\\\\([\\\\w-]*(?::[\\\\w-]+)?\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"DESC_ANNOTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+##[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"QUOTED_NAME","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","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":"TerminalRule","name":"BARE_NAME","definition":{"$type":"RegexToken","regex":"/(?!:::|icon\\\\(|##)[^ \\\\t\\\\n\\\\r\\"'](?:(?![ \\\\t]+:::[ \\\\t]*[A-Za-z_]|[ \\\\t]+icon\\\\(|[ \\\\t]+##)[^\\\\n\\\\r])*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"classAnnotation","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"iconAnnotation","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"descAnnotation","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@14"}}},"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 *\\n * Supports both quoted labels (\\"my file\\") and bare labels (index.js).\\n * Annotations (:::class, icon(), ## description) are parsed directly into\\n * AST fields by the grammar. Value conversion for stripping quotes, extracting\\n * class names, icon names, and description text happens in valueConverter.ts.\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treeView keyword, allowing for empty lines and comments before the\\n * treeView declaration.\\n */"}`)),"TreeViewGrammarGrammar"),bg,IF=o(()=>bg??(bg=je(`{"$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"),NF={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},PF={languageId:"cynefin",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},kF={languageId:"eventmodeling",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},OF={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},LF={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},DF={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},xF={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},MF={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},GF={languageId:"railroadAbnf",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},FF={languageId:"railroadEbnf",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},zF={languageId:"railroad",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},jF={languageId:"railroadPeg",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},UF={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},KF={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},BF={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},QF={AstReflection:o(()=>new ww,"AstReflection")},ez={Grammar:o(()=>hF(),"Grammar"),LanguageMetaData:o(()=>NF,"LanguageMetaData"),parser:{}},tz={Grammar:o(()=>yF(),"Grammar"),LanguageMetaData:o(()=>PF,"LanguageMetaData"),parser:{}},rz={Grammar:o(()=>gF(),"Grammar"),LanguageMetaData:o(()=>kF,"LanguageMetaData"),parser:{}},nz={Grammar:o(()=>vF(),"Grammar"),LanguageMetaData:o(()=>OF,"LanguageMetaData"),parser:{}},az={Grammar:o(()=>TF(),"Grammar"),LanguageMetaData:o(()=>LF,"LanguageMetaData"),parser:{}},iz={Grammar:o(()=>$F(),"Grammar"),LanguageMetaData:o(()=>DF,"LanguageMetaData"),parser:{}},sz={Grammar:o(()=>RF(),"Grammar"),LanguageMetaData:o(()=>xF,"LanguageMetaData"),parser:{}},oz={Grammar:o(()=>AF(),"Grammar"),LanguageMetaData:o(()=>MF,"LanguageMetaData"),parser:{}},lz={Grammar:o(()=>EF(),"Grammar"),LanguageMetaData:o(()=>GF,"LanguageMetaData"),parser:{}},uz={Grammar:o(()=>CF(),"Grammar"),LanguageMetaData:o(()=>FF,"LanguageMetaData"),parser:{}},cz={Grammar:o(()=>bF(),"Grammar"),LanguageMetaData:o(()=>zF,"LanguageMetaData"),parser:{}},fz={Grammar:o(()=>_F(),"Grammar"),LanguageMetaData:o(()=>jF,"LanguageMetaData"),parser:{}},pz={Grammar:o(()=>SF(),"Grammar"),LanguageMetaData:o(()=>UF,"LanguageMetaData"),parser:{}},dz={Grammar:o(()=>wF(),"Grammar"),LanguageMetaData:o(()=>KF,"LanguageMetaData"),parser:{}},mz={Grammar:o(()=>IF(),"Grammar"),LanguageMetaData:o(()=>BF,"LanguageMetaData"),parser:{}},qF=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,WF=/accTitle[\t ]*:([^\n\r]*)/,VF=/title([\t ][^\n\r]*|)/,HF={ACC_DESCR:qF,ACC_TITLE:WF,TITLE:VF},YF=class extends km{static{i(this,"AbstractMermaidValueConverter")}static{o(this,"AbstractMermaidValueConverter")}runConverter(e,t,r){let n=this.runCommonConverter(e,t,r);return n===void 0&&(n=this.runCustomConverter(e,t,r)),n===void 0?super.runConverter(e,t,r):n}runCommonConverter(e,t,r){let n=HF[e.name];if(n===void 0)return;let a=n.exec(t);if(a!==null){if(a[1]!==void 0)return a[1].trim().replace(/[\t ]{2,}/gm," ");if(a[2]!==void 0)return a[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,`
`)}}},hz=class extends YF{static{i(this,"CommonValueConverter")}static{o(this,"CommonValueConverter")}runCustomConverter(e,t,r){}},XF=class extends Iu{static{i(this,"AbstractMermaidTokenBuilder")}static{o(this,"AbstractMermaidTokenBuilder")}constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,r){let n=super.buildKeywordTokens(e,t,r);return n.forEach(a=>{this.keywords.has(a.name)&&a.PATTERN!==void 0&&(a.PATTERN=new RegExp(a.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}},yz=class extends XF{static{i(this,"CommonTokenBuilder")}static{o(this,"CommonTokenBuilder")}};export{o as a,Jm as b,Zm as c,Sl as d,bw as e,eF as f,QF as g,ez as h,tz as i,rz as j,nz as k,az as l,iz as m,sz as n,oz as o,lz as p,uz as q,cz as r,fz as s,pz as t,dz as u,mz as v,YF as w,hz as x,XF as y};
/*! 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
   *)
*/