@nowline/embed 0.8.4 → 0.8.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,101 +1,77 @@
1
- /*! @nowline/embed 0.8.4 sha=72b4173 built=2026-06-19T19:15:06Z */
2
- "use strict";var nowline=(()=>{var KP=Object.create;var Ac=Object.defineProperty;var ZP=Object.getOwnPropertyDescriptor;var JP=Object.getOwnPropertyNames;var QP=Object.getPrototypeOf,eO=Object.prototype.hasOwnProperty;var tO=(t,e,r)=>e in t?Ac(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var u0=(t,e)=>()=>(t&&(e=t(t=0)),e);var fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),rn=(t,e)=>{for(var r in e)Ac(t,r,{get:e[r],enumerable:!0})},pf=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of JP(e))!eO.call(t,i)&&i!==r&&Ac(t,i,{get:()=>e[i],enumerable:!(n=ZP(e,i))||n.enumerable});return t},Ie=(t,e,r)=>(pf(t,e,"default"),r&&pf(r,e,"default")),Em=(t,e,r)=>(r=t!=null?KP(QP(t)):{},pf(e||!t||!t.__esModule?Ac(r,"default",{value:t,enumerable:!0}):r,t)),hf=t=>pf(Ac({},"__esModule",{value:!0}),t);var de=(t,e,r)=>tO(t,typeof e!="symbol"?e+"":e,r);var rp={};rn(rp,{AnnotatedTextEdit:()=>Hn,ChangeAnnotation:()=>Po,ChangeAnnotationIdentifier:()=>Lt,CodeAction:()=>My,CodeActionContext:()=>$y,CodeActionKind:()=>Dy,CodeActionTriggerKind:()=>Al,CodeDescription:()=>dy,CodeLens:()=>Fy,Color:()=>Yd,ColorInformation:()=>sy,ColorPresentation:()=>ay,Command:()=>Oo,CompletionItem:()=>wy,CompletionItemKind:()=>yy,CompletionItemLabelDetails:()=>vy,CompletionItemTag:()=>Ty,CompletionList:()=>Ry,CreateFile:()=>sa,DeleteFile:()=>ca,Diagnostic:()=>vl,DiagnosticRelatedInformation:()=>Kd,DiagnosticSeverity:()=>uy,DiagnosticTag:()=>fy,DocumentHighlight:()=>ky,DocumentHighlightKind:()=>Sy,DocumentLink:()=>By,DocumentSymbol:()=>Ly,DocumentUri:()=>ny,EOL:()=>x2,FoldingRange:()=>ly,FoldingRangeKind:()=>cy,FormattingOptions:()=>Uy,Hover:()=>by,InlayHint:()=>Yy,InlayHintKind:()=>ep,InlayHintLabelPart:()=>tp,InlineCompletionContext:()=>tx,InlineCompletionItem:()=>Zy,InlineCompletionList:()=>Jy,InlineCompletionTriggerKind:()=>Qy,InlineValueContext:()=>Vy,InlineValueEvaluatableExpression:()=>Wy,InlineValueText:()=>jy,InlineValueVariableLookup:()=>qy,InsertReplaceEdit:()=>_y,InsertTextFormat:()=>xy,InsertTextMode:()=>Ey,Location:()=>El,LocationLink:()=>oy,MarkedString:()=>bl,MarkupContent:()=>la,MarkupKind:()=>Qd,OptionalVersionedTextDocumentIdentifier:()=>Rl,ParameterInformation:()=>Ay,Position:()=>Se,Range:()=>Ee,RenameFile:()=>aa,SelectedCompletionInfo:()=>ex,SelectionRange:()=>Gy,SemanticTokenModifiers:()=>Hy,SemanticTokenTypes:()=>Xy,SemanticTokens:()=>zy,SignatureInformation:()=>Iy,StringValue:()=>Ky,SymbolInformation:()=>Py,SymbolKind:()=>Ny,SymbolTag:()=>Cy,TextDocument:()=>nx,TextDocumentEdit:()=>wl,TextDocumentIdentifier:()=>hy,TextDocumentItem:()=>gy,TextEdit:()=>fn,URI:()=>Vd,VersionedTextDocumentIdentifier:()=>my,WorkspaceChange:()=>py,WorkspaceEdit:()=>Zd,WorkspaceFolder:()=>rx,WorkspaceSymbol:()=>Oy,integer:()=>iy,uinteger:()=>_l});var ny,Vd,iy,_l,Se,Ee,El,oy,Yd,sy,ay,cy,ly,Kd,uy,fy,dy,vl,Oo,fn,Po,Lt,Hn,wl,sa,aa,ca,Zd,oa,Jd,py,hy,my,Rl,gy,Qd,la,yy,xy,Ty,_y,Ey,vy,wy,Ry,bl,by,Ay,Iy,Sy,ky,Ny,Cy,Py,Oy,Ly,Dy,Al,$y,My,Fy,Uy,By,Gy,Xy,Hy,zy,jy,qy,Wy,Vy,ep,tp,Yy,Ky,Zy,Jy,Qy,ex,tx,rx,x2,nx,ix,R,ua=u0(()=>{"use strict";(function(t){function e(r){return typeof r=="string"}t.is=e})(ny||(ny={}));(function(t){function e(r){return typeof r=="string"}t.is=e})(Vd||(Vd={}));(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(iy||(iy={}));(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(_l||(_l={}));(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=_l.MAX_VALUE),i===Number.MAX_VALUE&&(i=_l.MAX_VALUE),{line:n,character:i}}t.create=e;function r(n){let i=n;return R.objectLiteral(i)&&R.uinteger(i.line)&&R.uinteger(i.character)}t.is=r})(Se||(Se={}));(function(t){function e(n,i,o,s){if(R.uinteger(n)&&R.uinteger(i)&&R.uinteger(o)&&R.uinteger(s))return{start:Se.create(n,i),end:Se.create(o,s)};if(Se.is(n)&&Se.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${o}, ${s}]`)}t.create=e;function r(n){let i=n;return R.objectLiteral(i)&&Se.is(i.start)&&Se.is(i.end)}t.is=r})(Ee||(Ee={}));(function(t){function e(n,i){return{uri:n,range:i}}t.create=e;function r(n){let i=n;return R.objectLiteral(i)&&Ee.is(i.range)&&(R.string(i.uri)||R.undefined(i.uri))}t.is=r})(El||(El={}));(function(t){function e(n,i,o,s){return{targetUri:n,targetRange:i,targetSelectionRange:o,originSelectionRange:s}}t.create=e;function r(n){let i=n;return R.objectLiteral(i)&&Ee.is(i.targetRange)&&R.string(i.targetUri)&&Ee.is(i.targetSelectionRange)&&(Ee.is(i.originSelectionRange)||R.undefined(i.originSelectionRange))}t.is=r})(oy||(oy={}));(function(t){function e(n,i,o,s){return{red:n,green:i,blue:o,alpha:s}}t.create=e;function r(n){let i=n;return R.objectLiteral(i)&&R.numberRange(i.red,0,1)&&R.numberRange(i.green,0,1)&&R.numberRange(i.blue,0,1)&&R.numberRange(i.alpha,0,1)}t.is=r})(Yd||(Yd={}));(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){let i=n;return R.objectLiteral(i)&&Ee.is(i.range)&&Yd.is(i.color)}t.is=r})(sy||(sy={}));(function(t){function e(n,i,o){return{label:n,textEdit:i,additionalTextEdits:o}}t.create=e;function r(n){let i=n;return R.objectLiteral(i)&&R.string(i.label)&&(R.undefined(i.textEdit)||fn.is(i))&&(R.undefined(i.additionalTextEdits)||R.typedArray(i.additionalTextEdits,fn.is))}t.is=r})(ay||(ay={}));(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(cy||(cy={}));(function(t){function e(n,i,o,s,a,c){let l={startLine:n,endLine:i};return R.defined(o)&&(l.startCharacter=o),R.defined(s)&&(l.endCharacter=s),R.defined(a)&&(l.kind=a),R.defined(c)&&(l.collapsedText=c),l}t.create=e;function r(n){let i=n;return R.objectLiteral(i)&&R.uinteger(i.startLine)&&R.uinteger(i.startLine)&&(R.undefined(i.startCharacter)||R.uinteger(i.startCharacter))&&(R.undefined(i.endCharacter)||R.uinteger(i.endCharacter))&&(R.undefined(i.kind)||R.string(i.kind))}t.is=r})(ly||(ly={}));(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return R.defined(i)&&El.is(i.location)&&R.string(i.message)}t.is=r})(Kd||(Kd={}));(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(uy||(uy={}));(function(t){t.Unnecessary=1,t.Deprecated=2})(fy||(fy={}));(function(t){function e(r){let n=r;return R.objectLiteral(n)&&R.string(n.href)}t.is=e})(dy||(dy={}));(function(t){function e(n,i,o,s,a,c){let l={range:n,message:i};return R.defined(o)&&(l.severity=o),R.defined(s)&&(l.code=s),R.defined(a)&&(l.source=a),R.defined(c)&&(l.relatedInformation=c),l}t.create=e;function r(n){var i;let o=n;return R.defined(o)&&Ee.is(o.range)&&R.string(o.message)&&(R.number(o.severity)||R.undefined(o.severity))&&(R.integer(o.code)||R.string(o.code)||R.undefined(o.code))&&(R.undefined(o.codeDescription)||R.string((i=o.codeDescription)===null||i===void 0?void 0:i.href))&&(R.string(o.source)||R.undefined(o.source))&&(R.undefined(o.relatedInformation)||R.typedArray(o.relatedInformation,Kd.is))}t.is=r})(vl||(vl={}));(function(t){function e(n,i,...o){let s={title:n,command:i};return R.defined(o)&&o.length>0&&(s.arguments=o),s}t.create=e;function r(n){let i=n;return R.defined(i)&&R.string(i.title)&&R.string(i.command)}t.is=r})(Oo||(Oo={}));(function(t){function e(o,s){return{range:o,newText:s}}t.replace=e;function r(o,s){return{range:{start:o,end:o},newText:s}}t.insert=r;function n(o){return{range:o,newText:""}}t.del=n;function i(o){let s=o;return R.objectLiteral(s)&&R.string(s.newText)&&Ee.is(s.range)}t.is=i})(fn||(fn={}));(function(t){function e(n,i,o){let s={label:n};return i!==void 0&&(s.needsConfirmation=i),o!==void 0&&(s.description=o),s}t.create=e;function r(n){let i=n;return R.objectLiteral(i)&&R.string(i.label)&&(R.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(R.string(i.description)||i.description===void 0)}t.is=r})(Po||(Po={}));(function(t){function e(r){let n=r;return R.string(n)}t.is=e})(Lt||(Lt={}));(function(t){function e(o,s,a){return{range:o,newText:s,annotationId:a}}t.replace=e;function r(o,s,a){return{range:{start:o,end:o},newText:s,annotationId:a}}t.insert=r;function n(o,s){return{range:o,newText:"",annotationId:s}}t.del=n;function i(o){let s=o;return fn.is(s)&&(Po.is(s.annotationId)||Lt.is(s.annotationId))}t.is=i})(Hn||(Hn={}));(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return R.defined(i)&&Rl.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})(wl||(wl={}));(function(t){function e(n,i,o){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),o!==void 0&&(s.annotationId=o),s}t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&R.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||R.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||R.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Lt.is(i.annotationId))}t.is=r})(sa||(sa={}));(function(t){function e(n,i,o,s){let a={kind:"rename",oldUri:n,newUri:i};return o!==void 0&&(o.overwrite!==void 0||o.ignoreIfExists!==void 0)&&(a.options=o),s!==void 0&&(a.annotationId=s),a}t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&R.string(i.oldUri)&&R.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||R.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||R.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Lt.is(i.annotationId))}t.is=r})(aa||(aa={}));(function(t){function e(n,i,o){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),o!==void 0&&(s.annotationId=o),s}t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&R.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||R.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||R.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Lt.is(i.annotationId))}t.is=r})(ca||(ca={}));(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>R.string(i.kind)?sa.is(i)||aa.is(i)||ca.is(i):wl.is(i)))}t.is=e})(Zd||(Zd={}));oa=class{constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,o;if(n===void 0?i=fn.insert(e,r):Lt.is(n)?(o=n,i=Hn.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(n),i=Hn.insert(e,r,o)),this.edits.push(i),o!==void 0)return o}replace(e,r,n){let i,o;if(n===void 0?i=fn.replace(e,r):Lt.is(n)?(o=n,i=Hn.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(n),i=Hn.replace(e,r,o)),this.edits.push(i),o!==void 0)return o}delete(e,r){let n,i;if(r===void 0?n=fn.del(e):Lt.is(r)?(i=r,n=Hn.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=Hn.del(e,i)),this.edits.push(n),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}},Jd=class{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,r){let n;if(Lt.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}},py=class{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new Jd(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(wl.is(r)){let n=new oa(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{let n=new oa(e.changes[r]);this._textEditChanges[r]=n})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(Rl.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let r={uri:e.uri,version:e.version},n=this._textEditChanges[r.uri];if(!n){let i=[],o={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(o),n=new oa(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new oa(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new Jd,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Po.is(r)||Lt.is(r)?i=r:n=r;let o,s;if(i===void 0?o=sa.create(e,n):(s=Lt.is(i)?i:this._changeAnnotations.manage(i),o=sa.create(e,n,s)),this._workspaceEdit.documentChanges.push(o),s!==void 0)return s}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let o;Po.is(n)||Lt.is(n)?o=n:i=n;let s,a;if(o===void 0?s=aa.create(e,r,i):(a=Lt.is(o)?o:this._changeAnnotations.manage(o),s=aa.create(e,r,i,a)),this._workspaceEdit.documentChanges.push(s),a!==void 0)return a}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Po.is(r)||Lt.is(r)?i=r:n=r;let o,s;if(i===void 0?o=ca.create(e,n):(s=Lt.is(i)?i:this._changeAnnotations.manage(i),o=ca.create(e,n,s)),this._workspaceEdit.documentChanges.push(o),s!==void 0)return s}};(function(t){function e(n){return{uri:n}}t.create=e;function r(n){let i=n;return R.defined(i)&&R.string(i.uri)}t.is=r})(hy||(hy={}));(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return R.defined(i)&&R.string(i.uri)&&R.integer(i.version)}t.is=r})(my||(my={}));(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return R.defined(i)&&R.string(i.uri)&&(i.version===null||R.integer(i.version))}t.is=r})(Rl||(Rl={}));(function(t){function e(n,i,o,s){return{uri:n,languageId:i,version:o,text:s}}t.create=e;function r(n){let i=n;return R.defined(i)&&R.string(i.uri)&&R.string(i.languageId)&&R.integer(i.version)&&R.string(i.text)}t.is=r})(gy||(gy={}));(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){let n=r;return n===t.PlainText||n===t.Markdown}t.is=e})(Qd||(Qd={}));(function(t){function e(r){let n=r;return R.objectLiteral(r)&&Qd.is(n.kind)&&R.string(n.value)}t.is=e})(la||(la={}));(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(yy||(yy={}));(function(t){t.PlainText=1,t.Snippet=2})(xy||(xy={}));(function(t){t.Deprecated=1})(Ty||(Ty={}));(function(t){function e(n,i,o){return{newText:n,insert:i,replace:o}}t.create=e;function r(n){let i=n;return i&&R.string(i.newText)&&Ee.is(i.insert)&&Ee.is(i.replace)}t.is=r})(_y||(_y={}));(function(t){t.asIs=1,t.adjustIndentation=2})(Ey||(Ey={}));(function(t){function e(r){let n=r;return n&&(R.string(n.detail)||n.detail===void 0)&&(R.string(n.description)||n.description===void 0)}t.is=e})(vy||(vy={}));(function(t){function e(r){return{label:r}}t.create=e})(wy||(wy={}));(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(Ry||(Ry={}));(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function r(n){let i=n;return R.string(i)||R.objectLiteral(i)&&R.string(i.language)&&R.string(i.value)}t.is=r})(bl||(bl={}));(function(t){function e(r){let n=r;return!!n&&R.objectLiteral(n)&&(la.is(n.contents)||bl.is(n.contents)||R.typedArray(n.contents,bl.is))&&(r.range===void 0||Ee.is(r.range))}t.is=e})(by||(by={}));(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(Ay||(Ay={}));(function(t){function e(r,n,...i){let o={label:r};return R.defined(n)&&(o.documentation=n),R.defined(i)?o.parameters=i:o.parameters=[],o}t.create=e})(Iy||(Iy={}));(function(t){t.Text=1,t.Read=2,t.Write=3})(Sy||(Sy={}));(function(t){function e(r,n){let i={range:r};return R.number(n)&&(i.kind=n),i}t.create=e})(ky||(ky={}));(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(Ny||(Ny={}));(function(t){t.Deprecated=1})(Cy||(Cy={}));(function(t){function e(r,n,i,o,s){let a={name:r,kind:n,location:{uri:o,range:i}};return s&&(a.containerName=s),a}t.create=e})(Py||(Py={}));(function(t){function e(r,n,i,o){return o!==void 0?{name:r,kind:n,location:{uri:i,range:o}}:{name:r,kind:n,location:{uri:i}}}t.create=e})(Oy||(Oy={}));(function(t){function e(n,i,o,s,a,c){let l={name:n,detail:i,kind:o,range:s,selectionRange:a};return c!==void 0&&(l.children=c),l}t.create=e;function r(n){let i=n;return i&&R.string(i.name)&&R.number(i.kind)&&Ee.is(i.range)&&Ee.is(i.selectionRange)&&(i.detail===void 0||R.string(i.detail))&&(i.deprecated===void 0||R.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=r})(Ly||(Ly={}));(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(Dy||(Dy={}));(function(t){t.Invoked=1,t.Automatic=2})(Al||(Al={}));(function(t){function e(n,i,o){let s={diagnostics:n};return i!=null&&(s.only=i),o!=null&&(s.triggerKind=o),s}t.create=e;function r(n){let i=n;return R.defined(i)&&R.typedArray(i.diagnostics,vl.is)&&(i.only===void 0||R.typedArray(i.only,R.string))&&(i.triggerKind===void 0||i.triggerKind===Al.Invoked||i.triggerKind===Al.Automatic)}t.is=r})($y||($y={}));(function(t){function e(n,i,o){let s={title:n},a=!0;return typeof i=="string"?(a=!1,s.kind=i):Oo.is(i)?s.command=i:s.edit=i,a&&o!==void 0&&(s.kind=o),s}t.create=e;function r(n){let i=n;return i&&R.string(i.title)&&(i.diagnostics===void 0||R.typedArray(i.diagnostics,vl.is))&&(i.kind===void 0||R.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Oo.is(i.command))&&(i.isPreferred===void 0||R.boolean(i.isPreferred))&&(i.edit===void 0||Zd.is(i.edit))}t.is=r})(My||(My={}));(function(t){function e(n,i){let o={range:n};return R.defined(i)&&(o.data=i),o}t.create=e;function r(n){let i=n;return R.defined(i)&&Ee.is(i.range)&&(R.undefined(i.command)||Oo.is(i.command))}t.is=r})(Fy||(Fy={}));(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}t.create=e;function r(n){let i=n;return R.defined(i)&&R.uinteger(i.tabSize)&&R.boolean(i.insertSpaces)}t.is=r})(Uy||(Uy={}));(function(t){function e(n,i,o){return{range:n,target:i,data:o}}t.create=e;function r(n){let i=n;return R.defined(i)&&Ee.is(i.range)&&(R.undefined(i.target)||R.string(i.target))}t.is=r})(By||(By={}));(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return R.objectLiteral(i)&&Ee.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})(Gy||(Gy={}));(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(Xy||(Xy={}));(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(Hy||(Hy={}));(function(t){function e(r){let n=r;return R.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}t.is=e})(zy||(zy={}));(function(t){function e(n,i){return{range:n,text:i}}t.create=e;function r(n){let i=n;return i!=null&&Ee.is(i.range)&&R.string(i.text)}t.is=r})(jy||(jy={}));(function(t){function e(n,i,o){return{range:n,variableName:i,caseSensitiveLookup:o}}t.create=e;function r(n){let i=n;return i!=null&&Ee.is(i.range)&&R.boolean(i.caseSensitiveLookup)&&(R.string(i.variableName)||i.variableName===void 0)}t.is=r})(qy||(qy={}));(function(t){function e(n,i){return{range:n,expression:i}}t.create=e;function r(n){let i=n;return i!=null&&Ee.is(i.range)&&(R.string(i.expression)||i.expression===void 0)}t.is=r})(Wy||(Wy={}));(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){let i=n;return R.defined(i)&&Ee.is(n.stoppedLocation)}t.is=r})(Vy||(Vy={}));(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(ep||(ep={}));(function(t){function e(n){return{value:n}}t.create=e;function r(n){let i=n;return R.objectLiteral(i)&&(i.tooltip===void 0||R.string(i.tooltip)||la.is(i.tooltip))&&(i.location===void 0||El.is(i.location))&&(i.command===void 0||Oo.is(i.command))}t.is=r})(tp||(tp={}));(function(t){function e(n,i,o){let s={position:n,label:i};return o!==void 0&&(s.kind=o),s}t.create=e;function r(n){let i=n;return R.objectLiteral(i)&&Se.is(i.position)&&(R.string(i.label)||R.typedArray(i.label,tp.is))&&(i.kind===void 0||ep.is(i.kind))&&i.textEdits===void 0||R.typedArray(i.textEdits,fn.is)&&(i.tooltip===void 0||R.string(i.tooltip)||la.is(i.tooltip))&&(i.paddingLeft===void 0||R.boolean(i.paddingLeft))&&(i.paddingRight===void 0||R.boolean(i.paddingRight))}t.is=r})(Yy||(Yy={}));(function(t){function e(r){return{kind:"snippet",value:r}}t.createSnippet=e})(Ky||(Ky={}));(function(t){function e(r,n,i,o){return{insertText:r,filterText:n,range:i,command:o}}t.create=e})(Zy||(Zy={}));(function(t){function e(r){return{items:r}}t.create=e})(Jy||(Jy={}));(function(t){t.Invoked=0,t.Automatic=1})(Qy||(Qy={}));(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(ex||(ex={}));(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(tx||(tx={}));(function(t){function e(r){let n=r;return R.objectLiteral(n)&&Vd.is(n.uri)&&R.string(n.name)}t.is=e})(rx||(rx={}));x2=[`
1
+ /*! @nowline/embed 0.8.5 sha=64645c3 built=2026-06-20T15:29:49Z */
2
+ "use strict";var nowline=(()=>{var ZP=Object.create;var za=Object.defineProperty;var JP=Object.getOwnPropertyDescriptor;var QP=Object.getOwnPropertyNames;var eC=Object.getPrototypeOf,tC=Object.prototype.hasOwnProperty;var rC=(t,e,r)=>e in t?za(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var J_=(t,e,r)=>()=>{if(r)throw r[0];try{return t&&(e=t(t=0)),e}catch(n){throw r=[n],n}};var he=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(r){throw e=0,r}},eu=(t,e)=>{for(var r in e)za(t,r,{get:e[r],enumerable:!0})},Q_=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of QP(e))!tC.call(t,i)&&i!==r&&za(t,i,{get:()=>e[i],enumerable:!(n=JP(e,i))||n.enumerable});return t};var Rh=(t,e,r)=>(r=t!=null?ZP(eC(t)):{},Q_(e||!t||!t.__esModule?za(r,"default",{value:t,enumerable:!0}):r,t)),tu=t=>Q_(za({},"__esModule",{value:!0}),t);var R=(t,e,r)=>rC(t,typeof e!="symbol"?e+"":e,r);var Hf={};eu(Hf,{AnnotatedTextEdit:()=>An,ApplyKind:()=>hg,ChangeAnnotation:()=>gi,ChangeAnnotationIdentifier:()=>Rt,CodeAction:()=>Ng,CodeActionContext:()=>kg,CodeActionKind:()=>Ig,CodeActionTag:()=>Uf,CodeActionTriggerKind:()=>Hc,CodeDescription:()=>rg,CodeLens:()=>Pg,Color:()=>Lf,ColorInformation:()=>Km,ColorPresentation:()=>Zm,Command:()=>uo,CompletionItem:()=>gg,CompletionItemKind:()=>lg,CompletionItemLabelDetails:()=>mg,CompletionItemTag:()=>fg,CompletionList:()=>yg,CreateFile:()=>Ss,DeleteFile:()=>Is,Diagnostic:()=>Uc,DiagnosticRelatedInformation:()=>Df,DiagnosticSeverity:()=>eg,DiagnosticTag:()=>tg,DocumentHighlight:()=>vg,DocumentHighlightKind:()=>Eg,DocumentLink:()=>Og,DocumentSymbol:()=>Ag,DocumentUri:()=>qm,EOL:()=>J$,FoldingRange:()=>Qm,FoldingRangeKind:()=>Jm,FormattingOptions:()=>Cg,Hover:()=>xg,InlayHint:()=>Xg,InlayHintKind:()=>Bf,InlayHintLabelPart:()=>Gf,InlineCompletionContext:()=>qg,InlineCompletionItem:()=>Hg,InlineCompletionList:()=>jg,InlineCompletionTriggerKind:()=>zg,InlineValueContext:()=>Gg,InlineValueEvaluatableExpression:()=>Bg,InlineValueText:()=>Fg,InlineValueVariableLookup:()=>Ug,InsertReplaceEdit:()=>dg,InsertTextFormat:()=>ug,InsertTextMode:()=>pg,LanguageKind:()=>ag,Location:()=>Fc,LocationLink:()=>Ym,MarkedString:()=>Xc,MarkupContent:()=>yi,MarkupKind:()=>Ff,OptionalVersionedTextDocumentIdentifier:()=>Gc,ParameterInformation:()=>Tg,Position:()=>Ie,Range:()=>xe,RenameFile:()=>As,SelectedCompletionInfo:()=>Wg,SelectionRange:()=>Lg,SemanticTokenModifiers:()=>Mg,SemanticTokenTypes:()=>Dg,SemanticTokens:()=>$g,SignatureInformation:()=>_g,SnippetTextEdit:()=>ng,StringValue:()=>Xf,SymbolInformation:()=>Rg,SymbolKind:()=>bg,SymbolTag:()=>wg,TextDocument:()=>Yg,TextDocumentEdit:()=>Bc,TextDocumentIdentifier:()=>og,TextDocumentItem:()=>cg,TextEdit:()=>tn,URI:()=>Of,VersionedTextDocumentIdentifier:()=>sg,WorkspaceChange:()=>ig,WorkspaceEdit:()=>Mf,WorkspaceFolder:()=>Vg,WorkspaceSymbol:()=>Sg,integer:()=>Vm,uinteger:()=>$c});var qm,Of,Vm,$c,Ie,xe,Fc,Ym,Lf,Km,Zm,Jm,Qm,Df,eg,tg,rg,Uc,uo,tn,gi,Rt,An,Bc,Ss,As,Is,Mf,Rs,ng,$f,ig,og,sg,Gc,ag,cg,Ff,yi,lg,ug,fg,dg,pg,hg,mg,gg,yg,Xc,xg,Tg,_g,Eg,vg,bg,wg,Rg,Sg,Ag,Ig,Hc,kg,Uf,Ng,Pg,Cg,Og,Lg,Dg,Mg,$g,Fg,Ug,Bg,Gg,Bf,Gf,Xg,Xf,Hg,jg,zg,Wg,qg,Vg,J$,Yg,Kg,b,ks=J_(()=>{"use strict";(function(t){function e(r){return typeof r=="string"}t.is=e})(qm||(qm={}));(function(t){function e(r){return typeof r=="string"}t.is=e})(Of||(Of={}));(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(Vm||(Vm={}));(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})($c||($c={}));(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=$c.MAX_VALUE),i===Number.MAX_VALUE&&(i=$c.MAX_VALUE),{line:n,character:i}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.uinteger(i.line)&&b.uinteger(i.character)}t.is=r})(Ie||(Ie={}));(function(t){function e(n,i,o,s){if(b.uinteger(n)&&b.uinteger(i)&&b.uinteger(o)&&b.uinteger(s))return{start:Ie.create(n,i),end:Ie.create(o,s)};if(Ie.is(n)&&Ie.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${o}, ${s}]`)}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&Ie.is(i.start)&&Ie.is(i.end)}t.is=r})(xe||(xe={}));(function(t){function e(n,i){return{uri:n,range:i}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&xe.is(i.range)&&(b.string(i.uri)||b.undefined(i.uri))}t.is=r})(Fc||(Fc={}));(function(t){function e(n,i,o,s){return{targetUri:n,targetRange:i,targetSelectionRange:o,originSelectionRange:s}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&xe.is(i.targetRange)&&b.string(i.targetUri)&&xe.is(i.targetSelectionRange)&&(xe.is(i.originSelectionRange)||b.undefined(i.originSelectionRange))}t.is=r})(Ym||(Ym={}));(function(t){function e(n,i,o,s){return{red:n,green:i,blue:o,alpha:s}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.numberRange(i.red,0,1)&&b.numberRange(i.green,0,1)&&b.numberRange(i.blue,0,1)&&b.numberRange(i.alpha,0,1)}t.is=r})(Lf||(Lf={}));(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&xe.is(i.range)&&Lf.is(i.color)}t.is=r})(Km||(Km={}));(function(t){function e(n,i,o){return{label:n,textEdit:i,additionalTextEdits:o}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.string(i.label)&&(b.undefined(i.textEdit)||tn.is(i))&&(b.undefined(i.additionalTextEdits)||b.typedArray(i.additionalTextEdits,tn.is))}t.is=r})(Zm||(Zm={}));(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(Jm||(Jm={}));(function(t){function e(n,i,o,s,a,c){let l={startLine:n,endLine:i};return b.defined(o)&&(l.startCharacter=o),b.defined(s)&&(l.endCharacter=s),b.defined(a)&&(l.kind=a),b.defined(c)&&(l.collapsedText=c),l}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.uinteger(i.startLine)&&b.uinteger(i.startLine)&&(b.undefined(i.startCharacter)||b.uinteger(i.startCharacter))&&(b.undefined(i.endCharacter)||b.uinteger(i.endCharacter))&&(b.undefined(i.kind)||b.string(i.kind))}t.is=r})(Qm||(Qm={}));(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&Fc.is(i.location)&&b.string(i.message)}t.is=r})(Df||(Df={}));(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(eg||(eg={}));(function(t){t.Unnecessary=1,t.Deprecated=2})(tg||(tg={}));(function(t){function e(r){let n=r;return b.objectLiteral(n)&&b.string(n.href)}t.is=e})(rg||(rg={}));(function(t){function e(o,s,a,c,l,u){let f={range:o,message:s};return b.defined(a)&&(f.severity=a),b.defined(c)&&(f.code=c),b.defined(l)&&(f.source=l),b.defined(u)&&(f.relatedInformation=u),f}t.create=e;function r(o){var s;let a=o;return b.defined(a)&&xe.is(a.range)&&(b.string(a.message)||yi.is(a.message))&&(b.number(a.severity)||b.undefined(a.severity))&&(b.integer(a.code)||b.string(a.code)||b.undefined(a.code))&&(b.undefined(a.codeDescription)||b.string((s=a.codeDescription)===null||s===void 0?void 0:s.href))&&(b.string(a.source)||b.undefined(a.source))&&(b.undefined(a.relatedInformation)||b.typedArray(a.relatedInformation,Df.is))}t.is=r;function n(o){return b.string(o.message)}t.is3_17=n;function i(o){if(b.string(o.message))return o.message;if(yi.is(o.message))return o.message.value;throw new Error(`Unknown message type ${typeof o.message}`)}t.getMessageString=i})(Uc||(Uc={}));(function(t){function e(n,i,...o){let s={title:n,command:i};return b.defined(o)&&o.length>0&&(s.arguments=o),s}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.title)&&(i.tooltip===void 0||b.string(i.tooltip))&&b.string(i.command)}t.is=r})(uo||(uo={}));(function(t){function e(o,s){return{range:o,newText:s}}t.replace=e;function r(o,s){return{range:{start:o,end:o},newText:s}}t.insert=r;function n(o){return{range:o,newText:""}}t.del=n;function i(o){let s=o;return b.objectLiteral(s)&&b.string(s.newText)&&xe.is(s.range)}t.is=i})(tn||(tn={}));(function(t){function e(n,i,o){let s={label:n};return i!==void 0&&(s.needsConfirmation=i),o!==void 0&&(s.description=o),s}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.string(i.label)&&(b.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(b.string(i.description)||i.description===void 0)}t.is=r})(gi||(gi={}));(function(t){function e(r){let n=r;return b.string(n)}t.is=e})(Rt||(Rt={}));(function(t){function e(o,s,a){return{range:o,newText:s,annotationId:a}}t.replace=e;function r(o,s,a){return{range:{start:o,end:o},newText:s,annotationId:a}}t.insert=r;function n(o,s){return{range:o,newText:"",annotationId:s}}t.del=n;function i(o){let s=o;return tn.is(s)&&(gi.is(s.annotationId)||Rt.is(s.annotationId))}t.is=i})(An||(An={}));(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&Gc.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})(Bc||(Bc={}));(function(t){function e(n,i,o){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),o!==void 0&&(s.annotationId=o),s}t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&b.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||b.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||b.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Rt.is(i.annotationId))}t.is=r})(Ss||(Ss={}));(function(t){function e(n,i,o,s){let a={kind:"rename",oldUri:n,newUri:i};return o!==void 0&&(o.overwrite!==void 0||o.ignoreIfExists!==void 0)&&(a.options=o),s!==void 0&&(a.annotationId=s),a}t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&b.string(i.oldUri)&&b.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||b.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||b.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Rt.is(i.annotationId))}t.is=r})(As||(As={}));(function(t){function e(n,i,o){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),o!==void 0&&(s.annotationId=o),s}t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&b.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||b.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||b.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Rt.is(i.annotationId))}t.is=r})(Is||(Is={}));(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>b.string(i.kind)?Ss.is(i)||As.is(i)||Is.is(i):Bc.is(i)))}t.is=e})(Mf||(Mf={}));Rs=class{constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,o;if(n===void 0?i=tn.insert(e,r):Rt.is(n)?(o=n,i=An.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(n),i=An.insert(e,r,o)),this.edits.push(i),o!==void 0)return o}replace(e,r,n){let i,o;if(n===void 0?i=tn.replace(e,r):Rt.is(n)?(o=n,i=An.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(n),i=An.replace(e,r,o)),this.edits.push(i),o!==void 0)return o}delete(e,r){let n,i;if(r===void 0?n=tn.del(e):Rt.is(r)?(i=r,n=An.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=An.del(e,i)),this.edits.push(n),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}};(function(t){function e(r){let n=r;return b.objectLiteral(n)&&xe.is(n.range)&&Xf.isSnippet(n.snippet)&&(n.annotationId===void 0||gi.is(n.annotationId)||Rt.is(n.annotationId))}t.is=e})(ng||(ng={}));$f=class{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,r){let n;if(Rt.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}},ig=class{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new $f(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(Bc.is(r)){let n=new Rs(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{let n=new Rs(e.changes[r]);this._textEditChanges[r]=n})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(Gc.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let r={uri:e.uri,version:e.version},n=this._textEditChanges[r.uri];if(!n){let i=[],o={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(o),n=new Rs(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new Rs(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new $f,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;gi.is(r)||Rt.is(r)?i=r:n=r;let o,s;if(i===void 0?o=Ss.create(e,n):(s=Rt.is(i)?i:this._changeAnnotations.manage(i),o=Ss.create(e,n,s)),this._workspaceEdit.documentChanges.push(o),s!==void 0)return s}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let o;gi.is(n)||Rt.is(n)?o=n:i=n;let s,a;if(o===void 0?s=As.create(e,r,i):(a=Rt.is(o)?o:this._changeAnnotations.manage(o),s=As.create(e,r,i,a)),this._workspaceEdit.documentChanges.push(s),a!==void 0)return a}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;gi.is(r)||Rt.is(r)?i=r:n=r;let o,s;if(i===void 0?o=Is.create(e,n):(s=Rt.is(i)?i:this._changeAnnotations.manage(i),o=Is.create(e,n,s)),this._workspaceEdit.documentChanges.push(o),s!==void 0)return s}};(function(t){function e(n){return{uri:n}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)}t.is=r})(og||(og={}));(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)&&b.integer(i.version)}t.is=r})(sg||(sg={}));(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)&&(i.version===null||b.integer(i.version))}t.is=r})(Gc||(Gc={}));(function(t){t.ABAP="abap",t.WindowsBat="bat",t.BibTeX="bibtex",t.Clojure="clojure",t.Coffeescript="coffeescript",t.C="c",t.CPP="cpp",t.CSharp="csharp",t.CSS="css",t.D="d",t.Delphi="pascal",t.Diff="diff",t.Dart="dart",t.Dockerfile="dockerfile",t.Elixir="elixir",t.Erlang="erlang",t.FSharp="fsharp",t.GitCommit="git-commit",t.GitRebase="git-rebase",t.Go="go",t.Groovy="groovy",t.Handlebars="handlebars",t.Haskell="haskell",t.HTML="html",t.Ini="ini",t.Java="java",t.JavaScript="javascript",t.JavaScriptReact="javascriptreact",t.JSON="json",t.LaTeX="latex",t.Less="less",t.Lua="lua",t.Makefile="makefile",t.Markdown="markdown",t.ObjectiveC="objective-c",t.ObjectiveCPP="objective-cpp",t.Pascal="pascal",t.Perl="perl",t.Perl6="perl6",t.PHP="php",t.Plaintext="plaintext",t.Powershell="powershell",t.Pug="jade",t.Python="python",t.R="r",t.Razor="razor",t.Ruby="ruby",t.Rust="rust",t.SCSS="scss",t.SASS="sass",t.Scala="scala",t.ShaderLab="shaderlab",t.ShellScript="shellscript",t.SQL="sql",t.Swift="swift",t.TypeScript="typescript",t.TypeScriptReact="typescriptreact",t.TeX="tex",t.VisualBasic="vb",t.XML="xml",t.XSL="xsl",t.YAML="yaml"})(ag||(ag={}));(function(t){function e(n,i,o,s){return{uri:n,languageId:i,version:o,text:s}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)&&b.string(i.languageId)&&b.integer(i.version)&&b.string(i.text)}t.is=r})(cg||(cg={}));(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){let n=r;return n===t.PlainText||n===t.Markdown}t.is=e})(Ff||(Ff={}));(function(t){function e(r){let n=r;return b.objectLiteral(r)&&Ff.is(n.kind)&&b.string(n.value)}t.is=e})(yi||(yi={}));(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(lg||(lg={}));(function(t){t.PlainText=1,t.Snippet=2})(ug||(ug={}));(function(t){t.Deprecated=1})(fg||(fg={}));(function(t){function e(n,i,o){return{newText:n,insert:i,replace:o}}t.create=e;function r(n){let i=n;return i&&b.string(i.newText)&&xe.is(i.insert)&&xe.is(i.replace)}t.is=r})(dg||(dg={}));(function(t){t.asIs=1,t.adjustIndentation=2})(pg||(pg={}));(function(t){t.Replace=1,t.Merge=2})(hg||(hg={}));(function(t){function e(r){let n=r;return n&&(b.string(n.detail)||n.detail===void 0)&&(b.string(n.description)||n.description===void 0)}t.is=e})(mg||(mg={}));(function(t){function e(r){return{label:r}}t.create=e})(gg||(gg={}));(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(yg||(yg={}));(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function r(n){let i=n;return b.string(i)||b.objectLiteral(i)&&b.string(i.language)&&b.string(i.value)}t.is=r})(Xc||(Xc={}));(function(t){function e(r){let n=r;return!!n&&b.objectLiteral(n)&&(yi.is(n.contents)||Xc.is(n.contents)||b.typedArray(n.contents,Xc.is))&&(r.range===void 0||xe.is(r.range))}t.is=e})(xg||(xg={}));(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(Tg||(Tg={}));(function(t){function e(r,n,...i){let o={label:r};return b.defined(n)&&(o.documentation=n),b.defined(i)?o.parameters=i:o.parameters=[],o}t.create=e})(_g||(_g={}));(function(t){t.Text=1,t.Read=2,t.Write=3})(Eg||(Eg={}));(function(t){function e(r,n){let i={range:r};return b.number(n)&&(i.kind=n),i}t.create=e})(vg||(vg={}));(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(bg||(bg={}));(function(t){t.Deprecated=1})(wg||(wg={}));(function(t){function e(r,n,i,o,s){let a={name:r,kind:n,location:{uri:o,range:i}};return s&&(a.containerName=s),a}t.create=e})(Rg||(Rg={}));(function(t){function e(r,n,i,o){return o!==void 0?{name:r,kind:n,location:{uri:i,range:o}}:{name:r,kind:n,location:{uri:i}}}t.create=e})(Sg||(Sg={}));(function(t){function e(n,i,o,s,a,c){let l={name:n,detail:i,kind:o,range:s,selectionRange:a};return c!==void 0&&(l.children=c),l}t.create=e;function r(n){let i=n;return i&&b.string(i.name)&&b.number(i.kind)&&xe.is(i.range)&&xe.is(i.selectionRange)&&(i.detail===void 0||b.string(i.detail))&&(i.deprecated===void 0||b.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=r})(Ag||(Ag={}));(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorMove="refactor.move",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll",t.Notebook="notebook"})(Ig||(Ig={}));(function(t){t.Invoked=1,t.Automatic=2})(Hc||(Hc={}));(function(t){function e(n,i,o){let s={diagnostics:n};return i!=null&&(s.only=i),o!=null&&(s.triggerKind=o),s}t.create=e;function r(n){let i=n;return b.defined(i)&&b.typedArray(i.diagnostics,Uc.is)&&(i.only===void 0||b.typedArray(i.only,b.string))&&(i.triggerKind===void 0||i.triggerKind===Hc.Invoked||i.triggerKind===Hc.Automatic)}t.is=r})(kg||(kg={}));(function(t){t.LLMGenerated=1;function e(r){return b.defined(r)&&r===t.LLMGenerated}t.is=e})(Uf||(Uf={}));(function(t){function e(n,i,o){let s={title:n},a=!0;return typeof i=="string"?(a=!1,s.kind=i):uo.is(i)?s.command=i:s.edit=i,a&&o!==void 0&&(s.kind=o),s}t.create=e;function r(n){let i=n;return i&&b.string(i.title)&&(i.diagnostics===void 0||b.typedArray(i.diagnostics,Uc.is))&&(i.kind===void 0||b.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||uo.is(i.command))&&(i.isPreferred===void 0||b.boolean(i.isPreferred))&&(i.edit===void 0||Mf.is(i.edit))&&(i.tags===void 0||b.typedArray(i.tags,Uf.is))}t.is=r})(Ng||(Ng={}));(function(t){function e(n,i){let o={range:n};return b.defined(i)&&(o.data=i),o}t.create=e;function r(n){let i=n;return b.defined(i)&&xe.is(i.range)&&(b.undefined(i.command)||uo.is(i.command))}t.is=r})(Pg||(Pg={}));(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.uinteger(i.tabSize)&&b.boolean(i.insertSpaces)}t.is=r})(Cg||(Cg={}));(function(t){function e(n,i,o){return{range:n,target:i,data:o}}t.create=e;function r(n){let i=n;return b.defined(i)&&xe.is(i.range)&&(b.undefined(i.target)||b.string(i.target))}t.is=r})(Og||(Og={}));(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&xe.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})(Lg||(Lg={}));(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator",t.label="label"})(Dg||(Dg={}));(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(Mg||(Mg={}));(function(t){function e(r){let n=r;return b.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}t.is=e})($g||($g={}));(function(t){function e(n,i){return{range:n,text:i}}t.create=e;function r(n){let i=n;return i!=null&&xe.is(i.range)&&b.string(i.text)}t.is=r})(Fg||(Fg={}));(function(t){function e(n,i,o){return{range:n,variableName:i,caseSensitiveLookup:o}}t.create=e;function r(n){let i=n;return i!=null&&xe.is(i.range)&&b.boolean(i.caseSensitiveLookup)&&(b.string(i.variableName)||i.variableName===void 0)}t.is=r})(Ug||(Ug={}));(function(t){function e(n,i){return{range:n,expression:i}}t.create=e;function r(n){let i=n;return i!=null&&xe.is(i.range)&&(b.string(i.expression)||i.expression===void 0)}t.is=r})(Bg||(Bg={}));(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&xe.is(n.stoppedLocation)}t.is=r})(Gg||(Gg={}));(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(Bf||(Bf={}));(function(t){function e(n){return{value:n}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&(i.tooltip===void 0||b.string(i.tooltip)||yi.is(i.tooltip))&&(i.location===void 0||Fc.is(i.location))&&(i.command===void 0||uo.is(i.command))}t.is=r})(Gf||(Gf={}));(function(t){function e(n,i,o){let s={position:n,label:i};return o!==void 0&&(s.kind=o),s}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&Ie.is(i.position)&&(b.string(i.label)||b.typedArray(i.label,Gf.is))&&(i.kind===void 0||Bf.is(i.kind))&&i.textEdits===void 0||b.typedArray(i.textEdits,tn.is)&&(i.tooltip===void 0||b.string(i.tooltip)||yi.is(i.tooltip))&&(i.paddingLeft===void 0||b.boolean(i.paddingLeft))&&(i.paddingRight===void 0||b.boolean(i.paddingRight))}t.is=r})(Xg||(Xg={}));(function(t){function e(n){return{kind:"snippet",value:n}}t.createSnippet=e;function r(n){let i=n;return b.objectLiteral(i)&&i.kind==="snippet"&&b.string(i.value)}t.isSnippet=r})(Xf||(Xf={}));(function(t){function e(r,n,i,o){return{insertText:r,filterText:n,range:i,command:o}}t.create=e})(Hg||(Hg={}));(function(t){function e(r){return{items:r}}t.create=e})(jg||(jg={}));(function(t){t.Invoked=1,t.Automatic=2})(zg||(zg={}));(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(Wg||(Wg={}));(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(qg||(qg={}));(function(t){function e(r){let n=r;return b.objectLiteral(n)&&Of.is(n.uri)&&b.string(n.name)}t.is=e})(Vg||(Vg={}));J$=[`
3
3
  `,`\r
4
- `,"\r"];(function(t){function e(o,s,a,c){return new ix(o,s,a,c)}t.create=e;function r(o){let s=o;return!!(R.defined(s)&&R.string(s.uri)&&(R.undefined(s.languageId)||R.string(s.languageId))&&R.uinteger(s.lineCount)&&R.func(s.getText)&&R.func(s.positionAt)&&R.func(s.offsetAt))}t.is=r;function n(o,s){let a=o.getText(),c=i(s,(u,f)=>{let d=u.range.start.line-f.range.start.line;return d===0?u.range.start.character-f.range.start.character:d}),l=a.length;for(let u=c.length-1;u>=0;u--){let f=c[u],d=o.offsetAt(f.range.start),p=o.offsetAt(f.range.end);if(p<=l)a=a.substring(0,d)+f.newText+a.substring(p,a.length);else throw new Error("Overlapping edit");l=d}return a}t.applyEdits=n;function i(o,s){if(o.length<=1)return o;let a=o.length/2|0,c=o.slice(0,a),l=o.slice(a);i(c,s),i(l,s);let u=0,f=0,d=0;for(;u<c.length&&f<l.length;)s(c[u],l[f])<=0?o[d++]=c[u++]:o[d++]=l[f++];for(;u<c.length;)o[d++]=c[u++];for(;f<l.length;)o[d++]=l[f++];return o}})(nx||(nx={}));ix=class{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){this._content=e.text,this._version=r,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],r=this._content,n=!0;for(let i=0;i<r.length;i++){n&&(e.push(i),n=!1);let o=r.charAt(i);n=o==="\r"||o===`
4
+ `,"\r"];(function(t){function e(o,s,a,c){return new Kg(o,s,a,c)}t.create=e;function r(o){let s=o;return!!(b.defined(s)&&b.string(s.uri)&&(b.undefined(s.languageId)||b.string(s.languageId))&&b.uinteger(s.lineCount)&&b.func(s.getText)&&b.func(s.positionAt)&&b.func(s.offsetAt))}t.is=r;function n(o,s){let a=o.getText(),c=i(s,(u,f)=>{let d=u.range.start.line-f.range.start.line;return d===0?u.range.start.character-f.range.start.character:d}),l=a.length;for(let u=c.length-1;u>=0;u--){let f=c[u],d=o.offsetAt(f.range.start),p=o.offsetAt(f.range.end);if(p<=l)a=a.substring(0,d)+f.newText+a.substring(p,a.length);else throw new Error("Overlapping edit");l=d}return a}t.applyEdits=n;function i(o,s){if(o.length<=1)return o;let a=o.length/2|0,c=o.slice(0,a),l=o.slice(a);i(c,s),i(l,s);let u=0,f=0,d=0;for(;u<c.length&&f<l.length;)s(c[u],l[f])<=0?o[d++]=c[u++]:o[d++]=l[f++];for(;u<c.length;)o[d++]=c[u++];for(;f<l.length;)o[d++]=l[f++];return o}})(Yg||(Yg={}));Kg=class{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){this._content=e.text,this._version=r,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],r=this._content,n=!0;for(let i=0;i<r.length;i++){n&&(e.push(i),n=!1);let o=r.charAt(i);n=o==="\r"||o===`
5
5
  `,o==="\r"&&i+1<r.length&&r.charAt(i+1)===`
6
- `&&i++}n&&r.length>0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return Se.create(0,e);for(;n<i;){let s=Math.floor((n+i)/2);r[s]>e?i=s:n=s+1}let o=n-1;return Se.create(o,e-r[o])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1<r.length?r[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,i),n)}get lineCount(){return this.getLineOffsets().length}};(function(t){let e=Object.prototype.toString;function r(p){return typeof p<"u"}t.defined=r;function n(p){return typeof p>"u"}t.undefined=n;function i(p){return p===!0||p===!1}t.boolean=i;function o(p){return e.call(p)==="[object String]"}t.string=o;function s(p){return e.call(p)==="[object Number]"}t.number=s;function a(p,m,y){return e.call(p)==="[object Number]"&&m<=p&&p<=y}t.numberRange=a;function c(p){return e.call(p)==="[object Number]"&&-2147483648<=p&&p<=2147483647}t.integer=c;function l(p){return e.call(p)==="[object Number]"&&0<=p&&p<=2147483647}t.uinteger=l;function u(p){return e.call(p)==="[object Function]"}t.func=u;function f(p){return p!==null&&typeof p=="object"}t.objectLiteral=f;function d(p,m){return Array.isArray(p)&&p.every(m)}t.typedArray=d})(R||(R={}))});var mx=fe(hx=>{"use strict";Object.defineProperty(hx,"__esModule",{value:!0});var dx;function px(){if(dx===void 0)throw new Error("No runtime abstraction layer installed");return dx}(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");dx=r}t.install=e})(px||(px={}));hx.default=px});var db=fe(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.stringArray=Ft.array=Ft.func=Ft.error=Ft.number=Ft.string=Ft.boolean=void 0;function N2(t){return t===!0||t===!1}Ft.boolean=N2;function ub(t){return typeof t=="string"||t instanceof String}Ft.string=ub;function C2(t){return typeof t=="number"||t instanceof Number}Ft.number=C2;function P2(t){return t instanceof Error}Ft.error=P2;function O2(t){return typeof t=="function"}Ft.func=O2;function fb(t){return Array.isArray(t)}Ft.array=fb;function L2(t){return fb(t)&&t.every(e=>ub(e))}Ft.stringArray=L2});var yx=fe(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.Emitter=pa.Event=void 0;var D2=mx(),pb;(function(t){let e={dispose(){}};t.None=function(){return e}})(pb||(pa.Event=pb={}));var gx=class{add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,r)})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,o=this._callbacks.length;i<o;i++)if(this._callbacks[i]===e)if(this._contexts[i]===r){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else n=!0;if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let r=[],n=this._callbacks.slice(0),i=this._contexts.slice(0);for(let o=0,s=n.length;o<s;o++)try{r.push(n[o].apply(i[o],e))}catch(a){(0,D2.default)().console.error(a)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},ap=class t{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,r,n)=>{this._callbacks||(this._callbacks=new gx),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};pa.Emitter=ap;ap._noop=function(){}});var hb=fe(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.CancellationTokenSource=ha.CancellationToken=void 0;var $2=mx(),M2=db(),xx=yx(),cp;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:xx.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:xx.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||M2.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}t.is=e})(cp||(ha.CancellationToken=cp={}));var F2=Object.freeze(function(t,e){let r=(0,$2.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),lp=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?F2:(this._emitter||(this._emitter=new xx.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},Tx=class{get token(){return this._token||(this._token=new lp),this._token}cancel(){this._token?this._token.cancel():this._token=cp.Cancelled}dispose(){this._token?this._token instanceof lp&&this._token.dispose():this._token=cp.None}};ha.CancellationTokenSource=Tx});var Ea=fe(Bt=>{"use strict";Object.defineProperty(Bt,"__esModule",{value:!0});Bt.stringArray=Bt.array=Bt.func=Bt.error=Bt.number=Bt.string=Bt.boolean=void 0;function G2(t){return t===!0||t===!1}Bt.boolean=G2;function Ab(t){return typeof t=="string"||t instanceof String}Bt.string=Ab;function X2(t){return typeof t=="number"||t instanceof Number}Bt.number=X2;function H2(t){return t instanceof Error}Bt.error=H2;function z2(t){return typeof t=="function"}Bt.func=z2;function Ib(t){return Array.isArray(t)}Bt.array=Ib;function j2(t){return Ib(t)&&t.every(e=>Ab(e))}Bt.stringArray=j2});var Vx=fe(ee=>{"use strict";Object.defineProperty(ee,"__esModule",{value:!0});ee.Message=ee.NotificationType9=ee.NotificationType8=ee.NotificationType7=ee.NotificationType6=ee.NotificationType5=ee.NotificationType4=ee.NotificationType3=ee.NotificationType2=ee.NotificationType1=ee.NotificationType0=ee.NotificationType=ee.RequestType9=ee.RequestType8=ee.RequestType7=ee.RequestType6=ee.RequestType5=ee.RequestType4=ee.RequestType3=ee.RequestType2=ee.RequestType1=ee.RequestType=ee.RequestType0=ee.AbstractMessageSignature=ee.ParameterStructures=ee.ResponseError=ee.ErrorCodes=void 0;var Ho=Ea(),Rx;(function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3})(Rx||(ee.ErrorCodes=Rx={}));var bx=class t extends Error{constructor(e,r,n){super(r),this.code=Ho.number(e)?e:Rx.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,t.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};ee.ResponseError=bx;var nr=class t{constructor(e){this.kind=e}static is(e){return e===t.auto||e===t.byName||e===t.byPosition}toString(){return this.kind}};ee.ParameterStructures=nr;nr.auto=new nr("auto");nr.byPosition=new nr("byPosition");nr.byName=new nr("byName");var it=class{constructor(e,r){this.method=e,this.numberOfParams=r}get parameterStructures(){return nr.auto}};ee.AbstractMessageSignature=it;var Ax=class extends it{constructor(e){super(e,0)}};ee.RequestType0=Ax;var Ix=class extends it{constructor(e,r=nr.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.RequestType=Ix;var Sx=class extends it{constructor(e,r=nr.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.RequestType1=Sx;var kx=class extends it{constructor(e){super(e,2)}};ee.RequestType2=kx;var Nx=class extends it{constructor(e){super(e,3)}};ee.RequestType3=Nx;var Cx=class extends it{constructor(e){super(e,4)}};ee.RequestType4=Cx;var Px=class extends it{constructor(e){super(e,5)}};ee.RequestType5=Px;var Ox=class extends it{constructor(e){super(e,6)}};ee.RequestType6=Ox;var Lx=class extends it{constructor(e){super(e,7)}};ee.RequestType7=Lx;var Dx=class extends it{constructor(e){super(e,8)}};ee.RequestType8=Dx;var $x=class extends it{constructor(e){super(e,9)}};ee.RequestType9=$x;var Mx=class extends it{constructor(e,r=nr.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.NotificationType=Mx;var Fx=class extends it{constructor(e){super(e,0)}};ee.NotificationType0=Fx;var Ux=class extends it{constructor(e,r=nr.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.NotificationType1=Ux;var Bx=class extends it{constructor(e){super(e,2)}};ee.NotificationType2=Bx;var Gx=class extends it{constructor(e){super(e,3)}};ee.NotificationType3=Gx;var Xx=class extends it{constructor(e){super(e,4)}};ee.NotificationType4=Xx;var Hx=class extends it{constructor(e){super(e,5)}};ee.NotificationType5=Hx;var zx=class extends it{constructor(e){super(e,6)}};ee.NotificationType6=zx;var jx=class extends it{constructor(e){super(e,7)}};ee.NotificationType7=jx;var qx=class extends it{constructor(e){super(e,8)}};ee.NotificationType8=qx;var Wx=class extends it{constructor(e){super(e,9)}};ee.NotificationType9=Wx;var Sb;(function(t){function e(i){let o=i;return o&&Ho.string(o.method)&&(Ho.string(o.id)||Ho.number(o.id))}t.isRequest=e;function r(i){let o=i;return o&&Ho.string(o.method)&&i.id===void 0}t.isNotification=r;function n(i){let o=i;return o&&(o.result!==void 0||!!o.error)&&(Ho.string(o.id)||Ho.number(o.id)||o.id===null)}t.isResponse=n})(Sb||(ee.Message=Sb={}))});var Kx=fe(Oi=>{"use strict";var kb;Object.defineProperty(Oi,"__esModule",{value:!0});Oi.LRUCache=Oi.LinkedMap=Oi.Touch=void 0;var Gt;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(Gt||(Oi.Touch=Gt={}));var gp=class{constructor(){this[kb]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,r=Gt.None){let n=this._map.get(e);if(n)return r!==Gt.None&&this.touch(n,r),n.value}set(e,r,n=Gt.None){let i=this._map.get(e);if(i)i.value=r,n!==Gt.None&&this.touch(i,n);else{switch(i={key:e,value:r,next:void 0,previous:void 0},n){case Gt.None:this.addItemLast(i);break;case Gt.First:this.addItemFirst(i);break;case Gt.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let r=this._map.get(e);if(r)return this._map.delete(e),this.removeItem(r),this._size--,r.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,r){let n=this._state,i=this._head;for(;i;){if(r?e.bind(r)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.key,done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}values(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.value,done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}entries(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:[r.key,r.value],done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}[(kb=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let r=this._head,n=this.size;for(;r&&n>e;)this._map.delete(r.key),r=r.next,n--;this._head=r,this._size=n,r&&(r.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let r=e.next,n=e.previous;if(!r||!n)throw new Error("Invalid list");r.previous=n,n.next=r}e.next=void 0,e.previous=void 0,this._state++}touch(e,r){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(r!==Gt.First&&r!==Gt.Last)){if(r===Gt.First){if(e===this._head)return;let n=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(n.previous=i,i.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(r===Gt.Last){if(e===this._tail)return;let n=e.next,i=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=i,i.next=n),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((r,n)=>{e.push([n,r])}),e}fromJSON(e){this.clear();for(let[r,n]of e)this.set(r,n)}};Oi.LinkedMap=gp;var Yx=class extends gp{constructor(e,r=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,r),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,r=Gt.AsNew){return super.get(e,r)}peek(e){return super.get(e,Gt.None)}set(e,r){return super.set(e,r,Gt.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};Oi.LRUCache=Yx});var Cb=fe(yp=>{"use strict";Object.defineProperty(yp,"__esModule",{value:!0});yp.Disposable=void 0;var Nb;(function(t){function e(r){return{dispose:r}}t.create=e})(Nb||(yp.Disposable=Nb={}))});var Li=fe(Qx=>{"use strict";Object.defineProperty(Qx,"__esModule",{value:!0});var Zx;function Jx(){if(Zx===void 0)throw new Error("No runtime abstraction layer installed");return Zx}(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");Zx=r}t.install=e})(Jx||(Jx={}));Qx.default=Jx});var wa=fe(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.Emitter=va.Event=void 0;var q2=Li(),Pb;(function(t){let e={dispose(){}};t.None=function(){return e}})(Pb||(va.Event=Pb={}));var eT=class{add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,r)})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,o=this._callbacks.length;i<o;i++)if(this._callbacks[i]===e)if(this._contexts[i]===r){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else n=!0;if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let r=[],n=this._callbacks.slice(0),i=this._contexts.slice(0);for(let o=0,s=n.length;o<s;o++)try{r.push(n[o].apply(i[o],e))}catch(a){(0,q2.default)().console.error(a)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},xp=class t{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,r,n)=>{this._callbacks||(this._callbacks=new eT),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};va.Emitter=xp;xp._noop=function(){}});var Ep=fe(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.CancellationTokenSource=Ra.CancellationToken=void 0;var W2=Li(),V2=Ea(),tT=wa(),Tp;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:tT.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:tT.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||V2.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}t.is=e})(Tp||(Ra.CancellationToken=Tp={}));var Y2=Object.freeze(function(t,e){let r=(0,W2.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),_p=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?Y2:(this._emitter||(this._emitter=new tT.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},rT=class{get token(){return this._token||(this._token=new _p),this._token}cancel(){this._token?this._token.cancel():this._token=Tp.Cancelled}dispose(){this._token?this._token instanceof _p&&this._token.dispose():this._token=Tp.None}};Ra.CancellationTokenSource=rT});var Ob=fe(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.SharedArrayReceiverStrategy=ba.SharedArraySenderStrategy=void 0;var K2=Ep(),Kl;(function(t){t.Continue=0,t.Cancelled=1})(Kl||(Kl={}));var nT=class{constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let r=new SharedArrayBuffer(4),n=new Int32Array(r,0,1);n[0]=Kl.Continue,this.buffers.set(e.id,r),e.$cancellationData=r}async sendCancellation(e,r){let n=this.buffers.get(r);if(n===void 0)return;let i=new Int32Array(n,0,1);Atomics.store(i,0,Kl.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};ba.SharedArraySenderStrategy=nT;var iT=class{constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===Kl.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},oT=class{constructor(e){this.token=new iT(e)}cancel(){}dispose(){}},sT=class{constructor(){this.kind="request"}createCancellationTokenSource(e){let r=e.$cancellationData;return r===void 0?new K2.CancellationTokenSource:new oT(r)}};ba.SharedArrayReceiverStrategy=sT});var cT=fe(vp=>{"use strict";Object.defineProperty(vp,"__esModule",{value:!0});vp.Semaphore=void 0;var Z2=Li(),aT=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((r,n)=>{this._waiting.push({thunk:e,resolve:r,reject:n}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,Z2.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let r=e.thunk();r instanceof Promise?r.then(n=>{this._active--,e.resolve(n),this.runNext()},n=>{this._active--,e.reject(n),this.runNext()}):(this._active--,e.resolve(r),this.runNext())}catch(r){this._active--,e.reject(r),this.runNext()}}};vp.Semaphore=aT});var Db=fe(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.ReadableStreamMessageReader=Di.AbstractMessageReader=Di.MessageReader=void 0;var uT=Li(),Aa=Ea(),lT=wa(),J2=cT(),Lb;(function(t){function e(r){let n=r;return n&&Aa.func(n.listen)&&Aa.func(n.dispose)&&Aa.func(n.onError)&&Aa.func(n.onClose)&&Aa.func(n.onPartialMessage)}t.is=e})(Lb||(Di.MessageReader=Lb={}));var wp=class{constructor(){this.errorEmitter=new lT.Emitter,this.closeEmitter=new lT.Emitter,this.partialMessageEmitter=new lT.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${Aa.string(e.message)?e.message:"unknown"}`)}};Di.AbstractMessageReader=wp;var fT;(function(t){function e(r){let n,i,o,s=new Map,a,c=new Map;if(r===void 0||typeof r=="string")n=r??"utf-8";else{if(n=r.charset??"utf-8",r.contentDecoder!==void 0&&(o=r.contentDecoder,s.set(o.name,o)),r.contentDecoders!==void 0)for(let l of r.contentDecoders)s.set(l.name,l);if(r.contentTypeDecoder!==void 0&&(a=r.contentTypeDecoder,c.set(a.name,a)),r.contentTypeDecoders!==void 0)for(let l of r.contentTypeDecoders)c.set(l.name,l)}return a===void 0&&(a=(0,uT.default)().applicationJson.decoder,c.set(a.name,a)),{charset:n,contentDecoder:o,contentDecoders:s,contentTypeDecoder:a,contentTypeDecoders:c}}t.fromOptions=e})(fT||(fT={}));var dT=class extends wp{constructor(e,r){super(),this.readable=e,this.options=fT.fromOptions(r),this.buffer=(0,uT.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new J2.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let r=this.readable.onData(n=>{this.onData(n)});return this.readable.onError(n=>this.fireError(n)),this.readable.onClose(()=>this.fireClose()),r}onData(e){try{for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let n=this.buffer.tryReadHeaders(!0);if(!n)return;let i=n.get("content-length");if(!i){this.fireError(new Error(`Header must provide a Content-Length property.
7
- ${JSON.stringify(Object.fromEntries(n))}`));return}let o=parseInt(i);if(isNaN(o)){this.fireError(new Error(`Content-Length value must be a number. Got ${i}`));return}this.nextMessageLength=o}let r=this.buffer.tryReadBody(this.nextMessageLength);if(r===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let n=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(r):r,i=await this.options.contentTypeDecoder.decode(n,this.options);this.callback(i)}).catch(n=>{this.fireError(n)})}}catch(r){this.fireError(r)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,uT.default)().timer.setTimeout((e,r)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:r}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};Di.ReadableStreamMessageReader=dT});var Bb=fe($i=>{"use strict";Object.defineProperty($i,"__esModule",{value:!0});$i.WriteableStreamMessageWriter=$i.AbstractMessageWriter=$i.MessageWriter=void 0;var $b=Li(),Zl=Ea(),Q2=cT(),Mb=wa(),eU="Content-Length: ",Fb=`\r
8
- `,Ub;(function(t){function e(r){let n=r;return n&&Zl.func(n.dispose)&&Zl.func(n.onClose)&&Zl.func(n.onError)&&Zl.func(n.write)}t.is=e})(Ub||($i.MessageWriter=Ub={}));var Rp=class{constructor(){this.errorEmitter=new Mb.Emitter,this.closeEmitter=new Mb.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,r,n){this.errorEmitter.fire([this.asError(e),r,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${Zl.string(e.message)?e.message:"unknown"}`)}};$i.AbstractMessageWriter=Rp;var pT;(function(t){function e(r){return r===void 0||typeof r=="string"?{charset:r??"utf-8",contentTypeEncoder:(0,$b.default)().applicationJson.encoder}:{charset:r.charset??"utf-8",contentEncoder:r.contentEncoder,contentTypeEncoder:r.contentTypeEncoder??(0,$b.default)().applicationJson.encoder}}t.fromOptions=e})(pT||(pT={}));var hT=class extends Rp{constructor(e,r){super(),this.writable=e,this.options=pT.fromOptions(r),this.errorCount=0,this.writeSemaphore=new Q2.Semaphore(1),this.writable.onError(n=>this.fireError(n)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(n=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(n):n).then(n=>{let i=[];return i.push(eU,n.byteLength.toString(),Fb),i.push(Fb),this.doWrite(e,i,n)},n=>{throw this.fireError(n),n}))}async doWrite(e,r,n){try{return await this.writable.write(r.join(""),"ascii"),this.writable.write(n)}catch(i){return this.handleError(i,e),Promise.reject(i)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){this.writable.end()}};$i.WriteableStreamMessageWriter=hT});var Gb=fe(bp=>{"use strict";Object.defineProperty(bp,"__esModule",{value:!0});bp.AbstractMessageBuffer=void 0;var tU=13,rU=10,nU=`\r
9
- `,mT=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let r=typeof e=="string"?this.fromString(e,this._encoding):e;this._chunks.push(r),this._totalLength+=r.byteLength}tryReadHeaders(e=!1){if(this._chunks.length===0)return;let r=0,n=0,i=0,o=0;e:for(;n<this._chunks.length;){let l=this._chunks[n];for(i=0;i<l.length;){switch(l[i]){case tU:switch(r){case 0:r=1;break;case 2:r=3;break;default:r=0}break;case rU:switch(r){case 1:r=2;break;case 3:r=4,i++;break e;default:r=0}break;default:r=0}i++}o+=l.byteLength,n++}if(r!==4)return;let s=this._read(o+i),a=new Map,c=this.toString(s,"ascii").split(nU);if(c.length<2)return a;for(let l=0;l<c.length-2;l++){let u=c[l],f=u.indexOf(":");if(f===-1)throw new Error(`Message header must separate key and value using ':'
10
- ${u}`);let d=u.substr(0,f),p=u.substr(f+1).trim();a.set(e?d.toLowerCase():d,p)}return a}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(e===0)return this.emptyBuffer();if(e>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let o=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(o)}if(this._chunks[0].byteLength>e){let o=this._chunks[0],s=this.asNative(o,e);return this._chunks[0]=o.slice(e),this._totalLength-=e,s}let r=this.allocNative(e),n=0,i=0;for(;e>0;){let o=this._chunks[i];if(o.byteLength>e){let s=o.slice(0,e);r.set(s,n),n+=e,this._chunks[i]=o.slice(e),this._totalLength-=e,e-=e}else r.set(o,n),n+=o.byteLength,this._chunks.shift(),this._totalLength-=o.byteLength,e-=o.byteLength}return r}};bp.AbstractMessageBuffer=mT});var qb=fe(he=>{"use strict";Object.defineProperty(he,"__esModule",{value:!0});he.createMessageConnection=he.ConnectionOptions=he.MessageStrategy=he.CancellationStrategy=he.CancellationSenderStrategy=he.CancellationReceiverStrategy=he.RequestCancellationReceiverStrategy=he.IdCancellationReceiverStrategy=he.ConnectionStrategy=he.ConnectionError=he.ConnectionErrors=he.LogTraceNotification=he.SetTraceNotification=he.TraceFormat=he.TraceValues=he.Trace=he.NullLogger=he.ProgressType=he.ProgressToken=void 0;var Xb=Li(),mt=Ea(),ce=Vx(),Hb=Kx(),Jl=wa(),gT=Ep(),tu;(function(t){t.type=new ce.NotificationType("$/cancelRequest")})(tu||(tu={}));var yT;(function(t){function e(r){return typeof r=="string"||typeof r=="number"}t.is=e})(yT||(he.ProgressToken=yT={}));var Ql;(function(t){t.type=new ce.NotificationType("$/progress")})(Ql||(Ql={}));var xT=class{constructor(){}};he.ProgressType=xT;var TT;(function(t){function e(r){return mt.func(r)}t.is=e})(TT||(TT={}));he.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var Me;(function(t){t[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose"})(Me||(he.Trace=Me={}));var zb;(function(t){t.Off="off",t.Messages="messages",t.Compact="compact",t.Verbose="verbose"})(zb||(he.TraceValues=zb={}));(function(t){function e(n){if(!mt.string(n))return t.Off;switch(n=n.toLowerCase(),n){case"off":return t.Off;case"messages":return t.Messages;case"compact":return t.Compact;case"verbose":return t.Verbose;default:return t.Off}}t.fromString=e;function r(n){switch(n){case t.Off:return"off";case t.Messages:return"messages";case t.Compact:return"compact";case t.Verbose:return"verbose";default:return"off"}}t.toString=r})(Me||(he.Trace=Me={}));var hr;(function(t){t.Text="text",t.JSON="json"})(hr||(he.TraceFormat=hr={}));(function(t){function e(r){return mt.string(r)?(r=r.toLowerCase(),r==="json"?t.JSON:t.Text):t.Text}t.fromString=e})(hr||(he.TraceFormat=hr={}));var _T;(function(t){t.type=new ce.NotificationType("$/setTrace")})(_T||(he.SetTraceNotification=_T={}));var Ap;(function(t){t.type=new ce.NotificationType("$/logTrace")})(Ap||(he.LogTraceNotification=Ap={}));var eu;(function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"})(eu||(he.ConnectionErrors=eu={}));var Ia=class t extends Error{constructor(e,r){super(r),this.code=e,Object.setPrototypeOf(this,t.prototype)}};he.ConnectionError=Ia;var ET;(function(t){function e(r){let n=r;return n&&mt.func(n.cancelUndispatched)}t.is=e})(ET||(he.ConnectionStrategy=ET={}));var Ip;(function(t){function e(r){let n=r;return n&&(n.kind===void 0||n.kind==="id")&&mt.func(n.createCancellationTokenSource)&&(n.dispose===void 0||mt.func(n.dispose))}t.is=e})(Ip||(he.IdCancellationReceiverStrategy=Ip={}));var vT;(function(t){function e(r){let n=r;return n&&n.kind==="request"&&mt.func(n.createCancellationTokenSource)&&(n.dispose===void 0||mt.func(n.dispose))}t.is=e})(vT||(he.RequestCancellationReceiverStrategy=vT={}));var Sp;(function(t){t.Message=Object.freeze({createCancellationTokenSource(r){return new gT.CancellationTokenSource}});function e(r){return Ip.is(r)||vT.is(r)}t.is=e})(Sp||(he.CancellationReceiverStrategy=Sp={}));var kp;(function(t){t.Message=Object.freeze({sendCancellation(r,n){return r.sendNotification(tu.type,{id:n})},cleanup(r){}});function e(r){let n=r;return n&&mt.func(n.sendCancellation)&&mt.func(n.cleanup)}t.is=e})(kp||(he.CancellationSenderStrategy=kp={}));var Np;(function(t){t.Message=Object.freeze({receiver:Sp.Message,sender:kp.Message});function e(r){let n=r;return n&&Sp.is(n.receiver)&&kp.is(n.sender)}t.is=e})(Np||(he.CancellationStrategy=Np={}));var Cp;(function(t){function e(r){let n=r;return n&&mt.func(n.handleMessage)}t.is=e})(Cp||(he.MessageStrategy=Cp={}));var jb;(function(t){function e(r){let n=r;return n&&(Np.is(n.cancellationStrategy)||ET.is(n.connectionStrategy)||Cp.is(n.messageStrategy))}t.is=e})(jb||(he.ConnectionOptions=jb={}));var zr;(function(t){t[t.New=1]="New",t[t.Listening=2]="Listening",t[t.Closed=3]="Closed",t[t.Disposed=4]="Disposed"})(zr||(zr={}));function iU(t,e,r,n){let i=r!==void 0?r:he.NullLogger,o=0,s=0,a=0,c="2.0",l,u=new Map,f,d=new Map,p=new Map,m,y=new Hb.LinkedMap,_=new Map,E=new Set,T=new Map,v=Me.Off,S=hr.Text,D,N=zr.New,M=new Jl.Emitter,B=new Jl.Emitter,G=new Jl.Emitter,oe=new Jl.Emitter,L=new Jl.Emitter,w=n&&n.cancellationStrategy?n.cancellationStrategy:Np.Message;function O(x){if(x===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+x.toString()}function $(x){return x===null?"res-unknown-"+(++a).toString():"res-"+x.toString()}function b(){return"not-"+(++s).toString()}function A(x,P){ce.Message.isRequest(P)?x.set(O(P.id),P):ce.Message.isResponse(P)?x.set($(P.id),P):x.set(b(),P)}function I(x){}function F(){return N===zr.Listening}function z(){return N===zr.Closed}function U(){return N===zr.Disposed}function W(){(N===zr.New||N===zr.Listening)&&(N=zr.Closed,B.fire(void 0))}function Z(x){M.fire([x,void 0,void 0])}function pe(x){M.fire(x)}t.onClose(W),t.onError(Z),e.onClose(W),e.onError(pe);function V(){m||y.size===0||(m=(0,Xb.default)().timer.setImmediate(()=>{m=void 0,De()}))}function te(x){ce.Message.isRequest(x)?Xe(x):ce.Message.isNotification(x)?J(x):ce.Message.isResponse(x)?q(x):re(x)}function De(){if(y.size===0)return;let x=y.shift();try{let P=n?.messageStrategy;Cp.is(P)?P.handleMessage(x,te):te(x)}finally{V()}}let Ne=x=>{try{if(ce.Message.isNotification(x)&&x.method===tu.type.method){let P=x.params.id,j=O(P),Y=y.get(j);if(ce.Message.isRequest(Y)){let Ce=n?.connectionStrategy,je=Ce&&Ce.cancelUndispatched?Ce.cancelUndispatched(Y,I):void 0;if(je&&(je.error!==void 0||je.result!==void 0)){y.delete(j),T.delete(P),je.id=Y.id,ve(je,x.method,Date.now()),e.write(je).catch(()=>i.error("Sending response for canceled message failed."));return}}let $e=T.get(P);if($e!==void 0){$e.cancel(),X(x);return}else E.add(P)}A(y,x)}finally{V()}};function Xe(x){if(U())return;function P(ge,Ue,Ae){let Ke={jsonrpc:c,id:x.id};ge instanceof ce.ResponseError?Ke.error=ge.toJson():Ke.result=ge===void 0?null:ge,ve(Ke,Ue,Ae),e.write(Ke).catch(()=>i.error("Sending response failed."))}function j(ge,Ue,Ae){let Ke={jsonrpc:c,id:x.id,error:ge.toJson()};ve(Ke,Ue,Ae),e.write(Ke).catch(()=>i.error("Sending response failed."))}function Y(ge,Ue,Ae){ge===void 0&&(ge=null);let Ke={jsonrpc:c,id:x.id,result:ge};ve(Ke,Ue,Ae),e.write(Ke).catch(()=>i.error("Sending response failed."))}Tt(x);let $e=u.get(x.method),Ce,je;$e&&(Ce=$e.type,je=$e.handler);let Ye=Date.now();if(je||l){let ge=x.id??String(Date.now()),Ue=Ip.is(w.receiver)?w.receiver.createCancellationTokenSource(ge):w.receiver.createCancellationTokenSource(x);x.id!==null&&E.has(x.id)&&Ue.cancel(),x.id!==null&&T.set(ge,Ue);try{let Ae;if(je)if(x.params===void 0){if(Ce!==void 0&&Ce.numberOfParams!==0){j(new ce.ResponseError(ce.ErrorCodes.InvalidParams,`Request ${x.method} defines ${Ce.numberOfParams} params but received none.`),x.method,Ye);return}Ae=je(Ue.token)}else if(Array.isArray(x.params)){if(Ce!==void 0&&Ce.parameterStructures===ce.ParameterStructures.byName){j(new ce.ResponseError(ce.ErrorCodes.InvalidParams,`Request ${x.method} defines parameters by name but received parameters by position`),x.method,Ye);return}Ae=je(...x.params,Ue.token)}else{if(Ce!==void 0&&Ce.parameterStructures===ce.ParameterStructures.byPosition){j(new ce.ResponseError(ce.ErrorCodes.InvalidParams,`Request ${x.method} defines parameters by position but received parameters by name`),x.method,Ye);return}Ae=je(x.params,Ue.token)}else l&&(Ae=l(x.method,x.params,Ue.token));let Ke=Ae;Ae?Ke.then?Ke.then(st=>{T.delete(ge),P(st,x.method,Ye)},st=>{T.delete(ge),st instanceof ce.ResponseError?j(st,x.method,Ye):st&&mt.string(st.message)?j(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${x.method} failed with message: ${st.message}`),x.method,Ye):j(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${x.method} failed unexpectedly without providing any details.`),x.method,Ye)}):(T.delete(ge),P(Ae,x.method,Ye)):(T.delete(ge),Y(Ae,x.method,Ye))}catch(Ae){T.delete(ge),Ae instanceof ce.ResponseError?P(Ae,x.method,Ye):Ae&&mt.string(Ae.message)?j(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${x.method} failed with message: ${Ae.message}`),x.method,Ye):j(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${x.method} failed unexpectedly without providing any details.`),x.method,Ye)}}else j(new ce.ResponseError(ce.ErrorCodes.MethodNotFound,`Unhandled method ${x.method}`),x.method,Ye)}function q(x){if(!U())if(x.id===null)x.error?i.error(`Received response message without id: Error is:
11
- ${JSON.stringify(x.error,void 0,4)}`):i.error("Received response message without id. No further error information provided.");else{let P=x.id,j=_.get(P);if(Cr(x,j),j!==void 0){_.delete(P);try{if(x.error){let Y=x.error;j.reject(new ce.ResponseError(Y.code,Y.message,Y.data))}else if(x.result!==void 0)j.resolve(x.result);else throw new Error("Should never happen.")}catch(Y){Y.message?i.error(`Response handler '${j.method}' failed with message: ${Y.message}`):i.error(`Response handler '${j.method}' failed unexpectedly.`)}}}}function J(x){if(U())return;let P,j;if(x.method===tu.type.method){let Y=x.params.id;E.delete(Y),X(x);return}else{let Y=d.get(x.method);Y&&(j=Y.handler,P=Y.type)}if(j||f)try{if(X(x),j)if(x.params===void 0)P!==void 0&&P.numberOfParams!==0&&P.parameterStructures!==ce.ParameterStructures.byName&&i.error(`Notification ${x.method} defines ${P.numberOfParams} params but received none.`),j();else if(Array.isArray(x.params)){let Y=x.params;x.method===Ql.type.method&&Y.length===2&&yT.is(Y[0])?j({token:Y[0],value:Y[1]}):(P!==void 0&&(P.parameterStructures===ce.ParameterStructures.byName&&i.error(`Notification ${x.method} defines parameters by name but received parameters by position`),P.numberOfParams!==x.params.length&&i.error(`Notification ${x.method} defines ${P.numberOfParams} params but received ${Y.length} arguments`)),j(...Y))}else P!==void 0&&P.parameterStructures===ce.ParameterStructures.byPosition&&i.error(`Notification ${x.method} defines parameters by position but received parameters by name`),j(x.params);else f&&f(x.method,x.params)}catch(Y){Y.message?i.error(`Notification handler '${x.method}' failed with message: ${Y.message}`):i.error(`Notification handler '${x.method}' failed unexpectedly.`)}else G.fire(x)}function re(x){if(!x){i.error("Received empty message.");return}i.error(`Received message which is neither a response nor a notification message:
12
- ${JSON.stringify(x,null,4)}`);let P=x;if(mt.string(P.id)||mt.number(P.id)){let j=P.id,Y=_.get(j);Y&&Y.reject(new Error("The received response has neither a result nor an error property."))}}function C(x){if(x!=null)switch(v){case Me.Verbose:return JSON.stringify(x,null,4);case Me.Compact:return JSON.stringify(x);default:return}}function be(x){if(!(v===Me.Off||!D))if(S===hr.Text){let P;(v===Me.Verbose||v===Me.Compact)&&x.params&&(P=`Params: ${C(x.params)}
13
-
14
- `),D.log(`Sending request '${x.method} - (${x.id})'.`,P)}else Tr("send-request",x)}function me(x){if(!(v===Me.Off||!D))if(S===hr.Text){let P;(v===Me.Verbose||v===Me.Compact)&&(x.params?P=`Params: ${C(x.params)}
15
-
16
- `:P=`No parameters provided.
17
-
18
- `),D.log(`Sending notification '${x.method}'.`,P)}else Tr("send-notification",x)}function ve(x,P,j){if(!(v===Me.Off||!D))if(S===hr.Text){let Y;(v===Me.Verbose||v===Me.Compact)&&(x.error&&x.error.data?Y=`Error data: ${C(x.error.data)}
19
-
20
- `:x.result?Y=`Result: ${C(x.result)}
21
-
22
- `:x.error===void 0&&(Y=`No result returned.
23
-
24
- `)),D.log(`Sending response '${P} - (${x.id})'. Processing request took ${Date.now()-j}ms`,Y)}else Tr("send-response",x)}function Tt(x){if(!(v===Me.Off||!D))if(S===hr.Text){let P;(v===Me.Verbose||v===Me.Compact)&&x.params&&(P=`Params: ${C(x.params)}
25
-
26
- `),D.log(`Received request '${x.method} - (${x.id})'.`,P)}else Tr("receive-request",x)}function X(x){if(!(v===Me.Off||!D||x.method===Ap.type.method))if(S===hr.Text){let P;(v===Me.Verbose||v===Me.Compact)&&(x.params?P=`Params: ${C(x.params)}
27
-
28
- `:P=`No parameters provided.
29
-
30
- `),D.log(`Received notification '${x.method}'.`,P)}else Tr("receive-notification",x)}function Cr(x,P){if(!(v===Me.Off||!D))if(S===hr.Text){let j;if((v===Me.Verbose||v===Me.Compact)&&(x.error&&x.error.data?j=`Error data: ${C(x.error.data)}
31
-
32
- `:x.result?j=`Result: ${C(x.result)}
33
-
34
- `:x.error===void 0&&(j=`No result returned.
35
-
36
- `)),P){let Y=x.error?` Request failed: ${x.error.message} (${x.error.code}).`:"";D.log(`Received response '${P.method} - (${x.id})' in ${Date.now()-P.timerStart}ms.${Y}`,j)}else D.log(`Received response ${x.id} without active response promise.`,j)}else Tr("receive-response",x)}function Tr(x,P){if(!D||v===Me.Off)return;let j={isLSPMessage:!0,type:x,message:P,timestamp:Date.now()};D.log(j)}function Pr(){if(z())throw new Ia(eu.Closed,"Connection is closed.");if(U())throw new Ia(eu.Disposed,"Connection is disposed.")}function ds(){if(F())throw new Ia(eu.AlreadyListening,"Connection is already listening")}function _e(){if(!F())throw new Error("Call listen() first.")}function Or(x){return x===void 0?null:x}function Qi(x){if(x!==null)return x}function bn(x){return x!=null&&!Array.isArray(x)&&typeof x=="object"}function _r(x,P){switch(x){case ce.ParameterStructures.auto:return bn(P)?Qi(P):[Or(P)];case ce.ParameterStructures.byName:if(!bn(P))throw new Error("Received parameters by name but param is not an object literal.");return Qi(P);case ce.ParameterStructures.byPosition:return[Or(P)];default:throw new Error(`Unknown parameter structure ${x.toString()}`)}}function Ht(x,P){let j,Y=x.numberOfParams;switch(Y){case 0:j=void 0;break;case 1:j=_r(x.parameterStructures,P[0]);break;default:j=[];for(let $e=0;$e<P.length&&$e<Y;$e++)j.push(Or(P[$e]));if(P.length<Y)for(let $e=P.length;$e<Y;$e++)j.push(null);break}return j}let bt={sendNotification:(x,...P)=>{Pr();let j,Y;if(mt.string(x)){j=x;let Ce=P[0],je=0,Ye=ce.ParameterStructures.auto;ce.ParameterStructures.is(Ce)&&(je=1,Ye=Ce);let ge=P.length,Ue=ge-je;switch(Ue){case 0:Y=void 0;break;case 1:Y=_r(Ye,P[je]);break;default:if(Ye===ce.ParameterStructures.byName)throw new Error(`Received ${Ue} parameters for 'by Name' notification parameter structure.`);Y=P.slice(je,ge).map(Ae=>Or(Ae));break}}else{let Ce=P;j=x.method,Y=Ht(x,Ce)}let $e={jsonrpc:c,method:j,params:Y};return me($e),e.write($e).catch(Ce=>{throw i.error("Sending notification failed."),Ce})},onNotification:(x,P)=>{Pr();let j;return mt.func(x)?f=x:P&&(mt.string(x)?(j=x,d.set(x,{type:void 0,handler:P})):(j=x.method,d.set(x.method,{type:x,handler:P}))),{dispose:()=>{j!==void 0?d.delete(j):f=void 0}}},onProgress:(x,P,j)=>{if(p.has(P))throw new Error(`Progress handler for token ${P} already registered`);return p.set(P,j),{dispose:()=>{p.delete(P)}}},sendProgress:(x,P,j)=>bt.sendNotification(Ql.type,{token:P,value:j}),onUnhandledProgress:oe.event,sendRequest:(x,...P)=>{Pr(),_e();let j,Y,$e;if(mt.string(x)){j=x;let ge=P[0],Ue=P[P.length-1],Ae=0,Ke=ce.ParameterStructures.auto;ce.ParameterStructures.is(ge)&&(Ae=1,Ke=ge);let st=P.length;gT.CancellationToken.is(Ue)&&(st=st-1,$e=Ue);let Jt=st-Ae;switch(Jt){case 0:Y=void 0;break;case 1:Y=_r(Ke,P[Ae]);break;default:if(Ke===ce.ParameterStructures.byName)throw new Error(`Received ${Jt} parameters for 'by Name' request parameter structure.`);Y=P.slice(Ae,st).map(ps=>Or(ps));break}}else{let ge=P;j=x.method,Y=Ht(x,ge);let Ue=x.numberOfParams;$e=gT.CancellationToken.is(ge[Ue])?ge[Ue]:void 0}let Ce=o++,je;$e&&(je=$e.onCancellationRequested(()=>{let ge=w.sender.sendCancellation(bt,Ce);return ge===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${Ce}`),Promise.resolve()):ge.catch(()=>{i.log(`Sending cancellation messages for id ${Ce} failed`)})}));let Ye={jsonrpc:c,id:Ce,method:j,params:Y};return be(Ye),typeof w.sender.enableCancellation=="function"&&w.sender.enableCancellation(Ye),new Promise(async(ge,Ue)=>{let Ae=Jt=>{ge(Jt),w.sender.cleanup(Ce),je?.dispose()},Ke=Jt=>{Ue(Jt),w.sender.cleanup(Ce),je?.dispose()},st={method:j,timerStart:Date.now(),resolve:Ae,reject:Ke};try{await e.write(Ye),_.set(Ce,st)}catch(Jt){throw i.error("Sending request failed."),st.reject(new ce.ResponseError(ce.ErrorCodes.MessageWriteError,Jt.message?Jt.message:"Unknown reason")),Jt}})},onRequest:(x,P)=>{Pr();let j=null;return TT.is(x)?(j=void 0,l=x):mt.string(x)?(j=null,P!==void 0&&(j=x,u.set(x,{handler:P,type:void 0}))):P!==void 0&&(j=x.method,u.set(x.method,{type:x,handler:P})),{dispose:()=>{j!==null&&(j!==void 0?u.delete(j):l=void 0)}}},hasPendingResponse:()=>_.size>0,trace:async(x,P,j)=>{let Y=!1,$e=hr.Text;j!==void 0&&(mt.boolean(j)?Y=j:(Y=j.sendNotification||!1,$e=j.traceFormat||hr.Text)),v=x,S=$e,v===Me.Off?D=void 0:D=P,Y&&!z()&&!U()&&await bt.sendNotification(_T.type,{value:Me.toString(x)})},onError:M.event,onClose:B.event,onUnhandledNotification:G.event,onDispose:L.event,end:()=>{e.end()},dispose:()=>{if(U())return;N=zr.Disposed,L.fire(void 0);let x=new ce.ResponseError(ce.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let P of _.values())P.reject(x);_=new Map,T=new Map,E=new Set,y=new Hb.LinkedMap,mt.func(e.dispose)&&e.dispose(),mt.func(t.dispose)&&t.dispose()},listen:()=>{Pr(),ds(),N=zr.Listening,t.listen(Ne)},inspect:()=>{(0,Xb.default)().console.log("inspect")}};return bt.onNotification(Ap.type,x=>{if(v===Me.Off||!D)return;let P=v===Me.Verbose||v===Me.Compact;D.log(x.message,P?x.verbose:void 0)}),bt.onNotification(Ql.type,x=>{let P=p.get(x.token);P?P(x.value):oe.fire(x)}),bt}he.createMessageConnection=iU});var Pp=fe(k=>{"use strict";Object.defineProperty(k,"__esModule",{value:!0});k.ProgressType=k.ProgressToken=k.createMessageConnection=k.NullLogger=k.ConnectionOptions=k.ConnectionStrategy=k.AbstractMessageBuffer=k.WriteableStreamMessageWriter=k.AbstractMessageWriter=k.MessageWriter=k.ReadableStreamMessageReader=k.AbstractMessageReader=k.MessageReader=k.SharedArrayReceiverStrategy=k.SharedArraySenderStrategy=k.CancellationToken=k.CancellationTokenSource=k.Emitter=k.Event=k.Disposable=k.LRUCache=k.Touch=k.LinkedMap=k.ParameterStructures=k.NotificationType9=k.NotificationType8=k.NotificationType7=k.NotificationType6=k.NotificationType5=k.NotificationType4=k.NotificationType3=k.NotificationType2=k.NotificationType1=k.NotificationType0=k.NotificationType=k.ErrorCodes=k.ResponseError=k.RequestType9=k.RequestType8=k.RequestType7=k.RequestType6=k.RequestType5=k.RequestType4=k.RequestType3=k.RequestType2=k.RequestType1=k.RequestType0=k.RequestType=k.Message=k.RAL=void 0;k.MessageStrategy=k.CancellationStrategy=k.CancellationSenderStrategy=k.CancellationReceiverStrategy=k.ConnectionError=k.ConnectionErrors=k.LogTraceNotification=k.SetTraceNotification=k.TraceFormat=k.TraceValues=k.Trace=void 0;var et=Vx();Object.defineProperty(k,"Message",{enumerable:!0,get:function(){return et.Message}});Object.defineProperty(k,"RequestType",{enumerable:!0,get:function(){return et.RequestType}});Object.defineProperty(k,"RequestType0",{enumerable:!0,get:function(){return et.RequestType0}});Object.defineProperty(k,"RequestType1",{enumerable:!0,get:function(){return et.RequestType1}});Object.defineProperty(k,"RequestType2",{enumerable:!0,get:function(){return et.RequestType2}});Object.defineProperty(k,"RequestType3",{enumerable:!0,get:function(){return et.RequestType3}});Object.defineProperty(k,"RequestType4",{enumerable:!0,get:function(){return et.RequestType4}});Object.defineProperty(k,"RequestType5",{enumerable:!0,get:function(){return et.RequestType5}});Object.defineProperty(k,"RequestType6",{enumerable:!0,get:function(){return et.RequestType6}});Object.defineProperty(k,"RequestType7",{enumerable:!0,get:function(){return et.RequestType7}});Object.defineProperty(k,"RequestType8",{enumerable:!0,get:function(){return et.RequestType8}});Object.defineProperty(k,"RequestType9",{enumerable:!0,get:function(){return et.RequestType9}});Object.defineProperty(k,"ResponseError",{enumerable:!0,get:function(){return et.ResponseError}});Object.defineProperty(k,"ErrorCodes",{enumerable:!0,get:function(){return et.ErrorCodes}});Object.defineProperty(k,"NotificationType",{enumerable:!0,get:function(){return et.NotificationType}});Object.defineProperty(k,"NotificationType0",{enumerable:!0,get:function(){return et.NotificationType0}});Object.defineProperty(k,"NotificationType1",{enumerable:!0,get:function(){return et.NotificationType1}});Object.defineProperty(k,"NotificationType2",{enumerable:!0,get:function(){return et.NotificationType2}});Object.defineProperty(k,"NotificationType3",{enumerable:!0,get:function(){return et.NotificationType3}});Object.defineProperty(k,"NotificationType4",{enumerable:!0,get:function(){return et.NotificationType4}});Object.defineProperty(k,"NotificationType5",{enumerable:!0,get:function(){return et.NotificationType5}});Object.defineProperty(k,"NotificationType6",{enumerable:!0,get:function(){return et.NotificationType6}});Object.defineProperty(k,"NotificationType7",{enumerable:!0,get:function(){return et.NotificationType7}});Object.defineProperty(k,"NotificationType8",{enumerable:!0,get:function(){return et.NotificationType8}});Object.defineProperty(k,"NotificationType9",{enumerable:!0,get:function(){return et.NotificationType9}});Object.defineProperty(k,"ParameterStructures",{enumerable:!0,get:function(){return et.ParameterStructures}});var wT=Kx();Object.defineProperty(k,"LinkedMap",{enumerable:!0,get:function(){return wT.LinkedMap}});Object.defineProperty(k,"LRUCache",{enumerable:!0,get:function(){return wT.LRUCache}});Object.defineProperty(k,"Touch",{enumerable:!0,get:function(){return wT.Touch}});var oU=Cb();Object.defineProperty(k,"Disposable",{enumerable:!0,get:function(){return oU.Disposable}});var Wb=wa();Object.defineProperty(k,"Event",{enumerable:!0,get:function(){return Wb.Event}});Object.defineProperty(k,"Emitter",{enumerable:!0,get:function(){return Wb.Emitter}});var Vb=Ep();Object.defineProperty(k,"CancellationTokenSource",{enumerable:!0,get:function(){return Vb.CancellationTokenSource}});Object.defineProperty(k,"CancellationToken",{enumerable:!0,get:function(){return Vb.CancellationToken}});var Yb=Ob();Object.defineProperty(k,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return Yb.SharedArraySenderStrategy}});Object.defineProperty(k,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return Yb.SharedArrayReceiverStrategy}});var RT=Db();Object.defineProperty(k,"MessageReader",{enumerable:!0,get:function(){return RT.MessageReader}});Object.defineProperty(k,"AbstractMessageReader",{enumerable:!0,get:function(){return RT.AbstractMessageReader}});Object.defineProperty(k,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return RT.ReadableStreamMessageReader}});var bT=Bb();Object.defineProperty(k,"MessageWriter",{enumerable:!0,get:function(){return bT.MessageWriter}});Object.defineProperty(k,"AbstractMessageWriter",{enumerable:!0,get:function(){return bT.AbstractMessageWriter}});Object.defineProperty(k,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return bT.WriteableStreamMessageWriter}});var sU=Gb();Object.defineProperty(k,"AbstractMessageBuffer",{enumerable:!0,get:function(){return sU.AbstractMessageBuffer}});var Dt=qb();Object.defineProperty(k,"ConnectionStrategy",{enumerable:!0,get:function(){return Dt.ConnectionStrategy}});Object.defineProperty(k,"ConnectionOptions",{enumerable:!0,get:function(){return Dt.ConnectionOptions}});Object.defineProperty(k,"NullLogger",{enumerable:!0,get:function(){return Dt.NullLogger}});Object.defineProperty(k,"createMessageConnection",{enumerable:!0,get:function(){return Dt.createMessageConnection}});Object.defineProperty(k,"ProgressToken",{enumerable:!0,get:function(){return Dt.ProgressToken}});Object.defineProperty(k,"ProgressType",{enumerable:!0,get:function(){return Dt.ProgressType}});Object.defineProperty(k,"Trace",{enumerable:!0,get:function(){return Dt.Trace}});Object.defineProperty(k,"TraceValues",{enumerable:!0,get:function(){return Dt.TraceValues}});Object.defineProperty(k,"TraceFormat",{enumerable:!0,get:function(){return Dt.TraceFormat}});Object.defineProperty(k,"SetTraceNotification",{enumerable:!0,get:function(){return Dt.SetTraceNotification}});Object.defineProperty(k,"LogTraceNotification",{enumerable:!0,get:function(){return Dt.LogTraceNotification}});Object.defineProperty(k,"ConnectionErrors",{enumerable:!0,get:function(){return Dt.ConnectionErrors}});Object.defineProperty(k,"ConnectionError",{enumerable:!0,get:function(){return Dt.ConnectionError}});Object.defineProperty(k,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return Dt.CancellationReceiverStrategy}});Object.defineProperty(k,"CancellationSenderStrategy",{enumerable:!0,get:function(){return Dt.CancellationSenderStrategy}});Object.defineProperty(k,"CancellationStrategy",{enumerable:!0,get:function(){return Dt.CancellationStrategy}});Object.defineProperty(k,"MessageStrategy",{enumerable:!0,get:function(){return Dt.MessageStrategy}});var aU=Li();k.RAL=aU.default});var Zb=fe(kT=>{"use strict";Object.defineProperty(kT,"__esModule",{value:!0});var mn=Pp(),Op=class t extends mn.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return t.emptyBuffer}fromString(e,r){return new TextEncoder().encode(e)}toString(e,r){return r==="ascii"?this.asciiDecoder.decode(e):new TextDecoder(r).decode(e)}asNative(e,r){return r===void 0?e:e.slice(0,r)}allocNative(e){return new Uint8Array(e)}};Op.emptyBuffer=new Uint8Array(0);var AT=class{constructor(e){this.socket=e,this._onData=new mn.Emitter,this._messageListener=r=>{r.data.arrayBuffer().then(i=>{this._onData.fire(new Uint8Array(i))},()=>{(0,mn.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),mn.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),mn.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),mn.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}},IT=class{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),mn.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),mn.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),mn.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,r){if(typeof e=="string"){if(r!==void 0&&r!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${r}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}},cU=new TextEncoder,Kb=Object.freeze({messageBuffer:Object.freeze({create:t=>new Op(t)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(t,e)=>{if(e.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${e.charset}`);return Promise.resolve(cU.encode(JSON.stringify(t,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(t,e)=>{if(!(t instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(e.charset).decode(t)))}})}),stream:Object.freeze({asReadableStream:t=>new AT(t),asWritableStream:t=>new IT(t)}),console,timer:Object.freeze({setTimeout(t,e,...r){let n=setTimeout(t,e,...r);return{dispose:()=>clearTimeout(n)}},setImmediate(t,...e){let r=setTimeout(t,0,...e);return{dispose:()=>clearTimeout(r)}},setInterval(t,e,...r){let n=setInterval(t,e,...r);return{dispose:()=>clearInterval(n)}}})});function ST(){return Kb}(function(t){function e(){mn.RAL.install(Kb)}t.install=e})(ST||(ST={}));kT.default=ST});var zo=fe(mr=>{"use strict";var lU=mr&&mr.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),uU=mr&&mr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&lU(e,t,r)};Object.defineProperty(mr,"__esModule",{value:!0});mr.createMessageConnection=mr.BrowserMessageWriter=mr.BrowserMessageReader=void 0;var fU=Zb();fU.default.install();var Sa=Pp();uU(Pp(),mr);var NT=class extends Sa.AbstractMessageReader{constructor(e){super(),this._onData=new Sa.Emitter,this._messageListener=r=>{this._onData.fire(r.data)},e.addEventListener("error",r=>this.fireError(r)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}};mr.BrowserMessageReader=NT;var CT=class extends Sa.AbstractMessageWriter{constructor(e){super(),this.port=e,this.errorCount=0,e.addEventListener("error",r=>this.fireError(r))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(r){return this.handleError(r,e),Promise.reject(r)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){}};mr.BrowserMessageWriter=CT;function dU(t,e,r,n){return r===void 0&&(r=Sa.NullLogger),Sa.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,Sa.createMessageConnection)(t,e,r,n)}mr.createMessageConnection=dU});var PT=fe((NJ,Jb)=>{"use strict";Jb.exports=zo()});var ft=fe(ir=>{"use strict";Object.defineProperty(ir,"__esModule",{value:!0});ir.ProtocolNotificationType=ir.ProtocolNotificationType0=ir.ProtocolRequestType=ir.ProtocolRequestType0=ir.RegistrationType=ir.MessageDirection=void 0;var ka=zo(),Qb;(function(t){t.clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both"})(Qb||(ir.MessageDirection=Qb={}));var OT=class{constructor(e){this.method=e}};ir.RegistrationType=OT;var LT=class extends ka.RequestType0{constructor(e){super(e)}};ir.ProtocolRequestType0=LT;var DT=class extends ka.RequestType{constructor(e){super(e,ka.ParameterStructures.byName)}};ir.ProtocolRequestType=DT;var $T=class extends ka.NotificationType0{constructor(e){super(e)}};ir.ProtocolNotificationType0=$T;var MT=class extends ka.NotificationType{constructor(e){super(e,ka.ParameterStructures.byName)}};ir.ProtocolNotificationType=MT});var Lp=fe(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});Rt.objectLiteral=Rt.typedArray=Rt.stringArray=Rt.array=Rt.func=Rt.error=Rt.number=Rt.string=Rt.boolean=void 0;function pU(t){return t===!0||t===!1}Rt.boolean=pU;function eA(t){return typeof t=="string"||t instanceof String}Rt.string=eA;function hU(t){return typeof t=="number"||t instanceof Number}Rt.number=hU;function mU(t){return t instanceof Error}Rt.error=mU;function gU(t){return typeof t=="function"}Rt.func=gU;function tA(t){return Array.isArray(t)}Rt.array=tA;function yU(t){return tA(t)&&t.every(e=>eA(e))}Rt.stringArray=yU;function xU(t,e){return Array.isArray(t)&&t.every(e)}Rt.typedArray=xU;function TU(t){return t!==null&&typeof t=="object"}Rt.objectLiteral=TU});var iA=fe(Dp=>{"use strict";Object.defineProperty(Dp,"__esModule",{value:!0});Dp.ImplementationRequest=void 0;var rA=ft(),nA;(function(t){t.method="textDocument/implementation",t.messageDirection=rA.MessageDirection.clientToServer,t.type=new rA.ProtocolRequestType(t.method)})(nA||(Dp.ImplementationRequest=nA={}))});var aA=fe($p=>{"use strict";Object.defineProperty($p,"__esModule",{value:!0});$p.TypeDefinitionRequest=void 0;var oA=ft(),sA;(function(t){t.method="textDocument/typeDefinition",t.messageDirection=oA.MessageDirection.clientToServer,t.type=new oA.ProtocolRequestType(t.method)})(sA||($p.TypeDefinitionRequest=sA={}))});var uA=fe(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.DidChangeWorkspaceFoldersNotification=Na.WorkspaceFoldersRequest=void 0;var Mp=ft(),cA;(function(t){t.method="workspace/workspaceFolders",t.messageDirection=Mp.MessageDirection.serverToClient,t.type=new Mp.ProtocolRequestType0(t.method)})(cA||(Na.WorkspaceFoldersRequest=cA={}));var lA;(function(t){t.method="workspace/didChangeWorkspaceFolders",t.messageDirection=Mp.MessageDirection.clientToServer,t.type=new Mp.ProtocolNotificationType(t.method)})(lA||(Na.DidChangeWorkspaceFoldersNotification=lA={}))});var pA=fe(Fp=>{"use strict";Object.defineProperty(Fp,"__esModule",{value:!0});Fp.ConfigurationRequest=void 0;var fA=ft(),dA;(function(t){t.method="workspace/configuration",t.messageDirection=fA.MessageDirection.serverToClient,t.type=new fA.ProtocolRequestType(t.method)})(dA||(Fp.ConfigurationRequest=dA={}))});var gA=fe(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.ColorPresentationRequest=Ca.DocumentColorRequest=void 0;var Up=ft(),hA;(function(t){t.method="textDocument/documentColor",t.messageDirection=Up.MessageDirection.clientToServer,t.type=new Up.ProtocolRequestType(t.method)})(hA||(Ca.DocumentColorRequest=hA={}));var mA;(function(t){t.method="textDocument/colorPresentation",t.messageDirection=Up.MessageDirection.clientToServer,t.type=new Up.ProtocolRequestType(t.method)})(mA||(Ca.ColorPresentationRequest=mA={}))});var TA=fe(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.FoldingRangeRefreshRequest=Pa.FoldingRangeRequest=void 0;var Bp=ft(),yA;(function(t){t.method="textDocument/foldingRange",t.messageDirection=Bp.MessageDirection.clientToServer,t.type=new Bp.ProtocolRequestType(t.method)})(yA||(Pa.FoldingRangeRequest=yA={}));var xA;(function(t){t.method="workspace/foldingRange/refresh",t.messageDirection=Bp.MessageDirection.serverToClient,t.type=new Bp.ProtocolRequestType0(t.method)})(xA||(Pa.FoldingRangeRefreshRequest=xA={}))});var vA=fe(Gp=>{"use strict";Object.defineProperty(Gp,"__esModule",{value:!0});Gp.DeclarationRequest=void 0;var _A=ft(),EA;(function(t){t.method="textDocument/declaration",t.messageDirection=_A.MessageDirection.clientToServer,t.type=new _A.ProtocolRequestType(t.method)})(EA||(Gp.DeclarationRequest=EA={}))});var bA=fe(Xp=>{"use strict";Object.defineProperty(Xp,"__esModule",{value:!0});Xp.SelectionRangeRequest=void 0;var wA=ft(),RA;(function(t){t.method="textDocument/selectionRange",t.messageDirection=wA.MessageDirection.clientToServer,t.type=new wA.ProtocolRequestType(t.method)})(RA||(Xp.SelectionRangeRequest=RA={}))});var kA=fe(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});Mi.WorkDoneProgressCancelNotification=Mi.WorkDoneProgressCreateRequest=Mi.WorkDoneProgress=void 0;var _U=zo(),Hp=ft(),AA;(function(t){t.type=new _U.ProgressType;function e(r){return r===t.type}t.is=e})(AA||(Mi.WorkDoneProgress=AA={}));var IA;(function(t){t.method="window/workDoneProgress/create",t.messageDirection=Hp.MessageDirection.serverToClient,t.type=new Hp.ProtocolRequestType(t.method)})(IA||(Mi.WorkDoneProgressCreateRequest=IA={}));var SA;(function(t){t.method="window/workDoneProgress/cancel",t.messageDirection=Hp.MessageDirection.clientToServer,t.type=new Hp.ProtocolNotificationType(t.method)})(SA||(Mi.WorkDoneProgressCancelNotification=SA={}))});var OA=fe(Fi=>{"use strict";Object.defineProperty(Fi,"__esModule",{value:!0});Fi.CallHierarchyOutgoingCallsRequest=Fi.CallHierarchyIncomingCallsRequest=Fi.CallHierarchyPrepareRequest=void 0;var Oa=ft(),NA;(function(t){t.method="textDocument/prepareCallHierarchy",t.messageDirection=Oa.MessageDirection.clientToServer,t.type=new Oa.ProtocolRequestType(t.method)})(NA||(Fi.CallHierarchyPrepareRequest=NA={}));var CA;(function(t){t.method="callHierarchy/incomingCalls",t.messageDirection=Oa.MessageDirection.clientToServer,t.type=new Oa.ProtocolRequestType(t.method)})(CA||(Fi.CallHierarchyIncomingCallsRequest=CA={}));var PA;(function(t){t.method="callHierarchy/outgoingCalls",t.messageDirection=Oa.MessageDirection.clientToServer,t.type=new Oa.ProtocolRequestType(t.method)})(PA||(Fi.CallHierarchyOutgoingCallsRequest=PA={}))});var UA=fe(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.SemanticTokensRefreshRequest=or.SemanticTokensRangeRequest=or.SemanticTokensDeltaRequest=or.SemanticTokensRequest=or.SemanticTokensRegistrationType=or.TokenFormat=void 0;var zn=ft(),LA;(function(t){t.Relative="relative"})(LA||(or.TokenFormat=LA={}));var ru;(function(t){t.method="textDocument/semanticTokens",t.type=new zn.RegistrationType(t.method)})(ru||(or.SemanticTokensRegistrationType=ru={}));var DA;(function(t){t.method="textDocument/semanticTokens/full",t.messageDirection=zn.MessageDirection.clientToServer,t.type=new zn.ProtocolRequestType(t.method),t.registrationMethod=ru.method})(DA||(or.SemanticTokensRequest=DA={}));var $A;(function(t){t.method="textDocument/semanticTokens/full/delta",t.messageDirection=zn.MessageDirection.clientToServer,t.type=new zn.ProtocolRequestType(t.method),t.registrationMethod=ru.method})($A||(or.SemanticTokensDeltaRequest=$A={}));var MA;(function(t){t.method="textDocument/semanticTokens/range",t.messageDirection=zn.MessageDirection.clientToServer,t.type=new zn.ProtocolRequestType(t.method),t.registrationMethod=ru.method})(MA||(or.SemanticTokensRangeRequest=MA={}));var FA;(function(t){t.method="workspace/semanticTokens/refresh",t.messageDirection=zn.MessageDirection.serverToClient,t.type=new zn.ProtocolRequestType0(t.method)})(FA||(or.SemanticTokensRefreshRequest=FA={}))});var XA=fe(zp=>{"use strict";Object.defineProperty(zp,"__esModule",{value:!0});zp.ShowDocumentRequest=void 0;var BA=ft(),GA;(function(t){t.method="window/showDocument",t.messageDirection=BA.MessageDirection.serverToClient,t.type=new BA.ProtocolRequestType(t.method)})(GA||(zp.ShowDocumentRequest=GA={}))});var jA=fe(jp=>{"use strict";Object.defineProperty(jp,"__esModule",{value:!0});jp.LinkedEditingRangeRequest=void 0;var HA=ft(),zA;(function(t){t.method="textDocument/linkedEditingRange",t.messageDirection=HA.MessageDirection.clientToServer,t.type=new HA.ProtocolRequestType(t.method)})(zA||(jp.LinkedEditingRangeRequest=zA={}))});var QA=fe(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.WillDeleteFilesRequest=Xt.DidDeleteFilesNotification=Xt.DidRenameFilesNotification=Xt.WillRenameFilesRequest=Xt.DidCreateFilesNotification=Xt.WillCreateFilesRequest=Xt.FileOperationPatternKind=void 0;var br=ft(),qA;(function(t){t.file="file",t.folder="folder"})(qA||(Xt.FileOperationPatternKind=qA={}));var WA;(function(t){t.method="workspace/willCreateFiles",t.messageDirection=br.MessageDirection.clientToServer,t.type=new br.ProtocolRequestType(t.method)})(WA||(Xt.WillCreateFilesRequest=WA={}));var VA;(function(t){t.method="workspace/didCreateFiles",t.messageDirection=br.MessageDirection.clientToServer,t.type=new br.ProtocolNotificationType(t.method)})(VA||(Xt.DidCreateFilesNotification=VA={}));var YA;(function(t){t.method="workspace/willRenameFiles",t.messageDirection=br.MessageDirection.clientToServer,t.type=new br.ProtocolRequestType(t.method)})(YA||(Xt.WillRenameFilesRequest=YA={}));var KA;(function(t){t.method="workspace/didRenameFiles",t.messageDirection=br.MessageDirection.clientToServer,t.type=new br.ProtocolNotificationType(t.method)})(KA||(Xt.DidRenameFilesNotification=KA={}));var ZA;(function(t){t.method="workspace/didDeleteFiles",t.messageDirection=br.MessageDirection.clientToServer,t.type=new br.ProtocolNotificationType(t.method)})(ZA||(Xt.DidDeleteFilesNotification=ZA={}));var JA;(function(t){t.method="workspace/willDeleteFiles",t.messageDirection=br.MessageDirection.clientToServer,t.type=new br.ProtocolRequestType(t.method)})(JA||(Xt.WillDeleteFilesRequest=JA={}))});var iI=fe(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.MonikerRequest=Ui.MonikerKind=Ui.UniquenessLevel=void 0;var eI=ft(),tI;(function(t){t.document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global"})(tI||(Ui.UniquenessLevel=tI={}));var rI;(function(t){t.$import="import",t.$export="export",t.local="local"})(rI||(Ui.MonikerKind=rI={}));var nI;(function(t){t.method="textDocument/moniker",t.messageDirection=eI.MessageDirection.clientToServer,t.type=new eI.ProtocolRequestType(t.method)})(nI||(Ui.MonikerRequest=nI={}))});var cI=fe(Bi=>{"use strict";Object.defineProperty(Bi,"__esModule",{value:!0});Bi.TypeHierarchySubtypesRequest=Bi.TypeHierarchySupertypesRequest=Bi.TypeHierarchyPrepareRequest=void 0;var La=ft(),oI;(function(t){t.method="textDocument/prepareTypeHierarchy",t.messageDirection=La.MessageDirection.clientToServer,t.type=new La.ProtocolRequestType(t.method)})(oI||(Bi.TypeHierarchyPrepareRequest=oI={}));var sI;(function(t){t.method="typeHierarchy/supertypes",t.messageDirection=La.MessageDirection.clientToServer,t.type=new La.ProtocolRequestType(t.method)})(sI||(Bi.TypeHierarchySupertypesRequest=sI={}));var aI;(function(t){t.method="typeHierarchy/subtypes",t.messageDirection=La.MessageDirection.clientToServer,t.type=new La.ProtocolRequestType(t.method)})(aI||(Bi.TypeHierarchySubtypesRequest=aI={}))});var fI=fe(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.InlineValueRefreshRequest=Da.InlineValueRequest=void 0;var qp=ft(),lI;(function(t){t.method="textDocument/inlineValue",t.messageDirection=qp.MessageDirection.clientToServer,t.type=new qp.ProtocolRequestType(t.method)})(lI||(Da.InlineValueRequest=lI={}));var uI;(function(t){t.method="workspace/inlineValue/refresh",t.messageDirection=qp.MessageDirection.serverToClient,t.type=new qp.ProtocolRequestType0(t.method)})(uI||(Da.InlineValueRefreshRequest=uI={}))});var mI=fe(Gi=>{"use strict";Object.defineProperty(Gi,"__esModule",{value:!0});Gi.InlayHintRefreshRequest=Gi.InlayHintResolveRequest=Gi.InlayHintRequest=void 0;var $a=ft(),dI;(function(t){t.method="textDocument/inlayHint",t.messageDirection=$a.MessageDirection.clientToServer,t.type=new $a.ProtocolRequestType(t.method)})(dI||(Gi.InlayHintRequest=dI={}));var pI;(function(t){t.method="inlayHint/resolve",t.messageDirection=$a.MessageDirection.clientToServer,t.type=new $a.ProtocolRequestType(t.method)})(pI||(Gi.InlayHintResolveRequest=pI={}));var hI;(function(t){t.method="workspace/inlayHint/refresh",t.messageDirection=$a.MessageDirection.serverToClient,t.type=new $a.ProtocolRequestType0(t.method)})(hI||(Gi.InlayHintRefreshRequest=hI={}))});var vI=fe(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.DiagnosticRefreshRequest=Ar.WorkspaceDiagnosticRequest=Ar.DocumentDiagnosticRequest=Ar.DocumentDiagnosticReportKind=Ar.DiagnosticServerCancellationData=void 0;var EI=zo(),EU=Lp(),Ma=ft(),gI;(function(t){function e(r){let n=r;return n&&EU.boolean(n.retriggerRequest)}t.is=e})(gI||(Ar.DiagnosticServerCancellationData=gI={}));var yI;(function(t){t.Full="full",t.Unchanged="unchanged"})(yI||(Ar.DocumentDiagnosticReportKind=yI={}));var xI;(function(t){t.method="textDocument/diagnostic",t.messageDirection=Ma.MessageDirection.clientToServer,t.type=new Ma.ProtocolRequestType(t.method),t.partialResult=new EI.ProgressType})(xI||(Ar.DocumentDiagnosticRequest=xI={}));var TI;(function(t){t.method="workspace/diagnostic",t.messageDirection=Ma.MessageDirection.clientToServer,t.type=new Ma.ProtocolRequestType(t.method),t.partialResult=new EI.ProgressType})(TI||(Ar.WorkspaceDiagnosticRequest=TI={}));var _I;(function(t){t.method="workspace/diagnostic/refresh",t.messageDirection=Ma.MessageDirection.serverToClient,t.type=new Ma.ProtocolRequestType0(t.method)})(_I||(Ar.DiagnosticRefreshRequest=_I={}))});var kI=fe(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.DidCloseNotebookDocumentNotification=xt.DidSaveNotebookDocumentNotification=xt.DidChangeNotebookDocumentNotification=xt.NotebookCellArrayChange=xt.DidOpenNotebookDocumentNotification=xt.NotebookDocumentSyncRegistrationType=xt.NotebookDocument=xt.NotebookCell=xt.ExecutionSummary=xt.NotebookCellKind=void 0;var nu=(ua(),hf(rp)),jr=Lp(),gn=ft(),FT;(function(t){t.Markup=1,t.Code=2;function e(r){return r===1||r===2}t.is=e})(FT||(xt.NotebookCellKind=FT={}));var UT;(function(t){function e(i,o){let s={executionOrder:i};return(o===!0||o===!1)&&(s.success=o),s}t.create=e;function r(i){let o=i;return jr.objectLiteral(o)&&nu.uinteger.is(o.executionOrder)&&(o.success===void 0||jr.boolean(o.success))}t.is=r;function n(i,o){return i===o?!0:i==null||o===null||o===void 0?!1:i.executionOrder===o.executionOrder&&i.success===o.success}t.equals=n})(UT||(xt.ExecutionSummary=UT={}));var Wp;(function(t){function e(o,s){return{kind:o,document:s}}t.create=e;function r(o){let s=o;return jr.objectLiteral(s)&&FT.is(s.kind)&&nu.DocumentUri.is(s.document)&&(s.metadata===void 0||jr.objectLiteral(s.metadata))}t.is=r;function n(o,s){let a=new Set;return o.document!==s.document&&a.add("document"),o.kind!==s.kind&&a.add("kind"),o.executionSummary!==s.executionSummary&&a.add("executionSummary"),(o.metadata!==void 0||s.metadata!==void 0)&&!i(o.metadata,s.metadata)&&a.add("metadata"),(o.executionSummary!==void 0||s.executionSummary!==void 0)&&!UT.equals(o.executionSummary,s.executionSummary)&&a.add("executionSummary"),a}t.diff=n;function i(o,s){if(o===s)return!0;if(o==null||s===null||s===void 0||typeof o!=typeof s||typeof o!="object")return!1;let a=Array.isArray(o),c=Array.isArray(s);if(a!==c)return!1;if(a&&c){if(o.length!==s.length)return!1;for(let l=0;l<o.length;l++)if(!i(o[l],s[l]))return!1}if(jr.objectLiteral(o)&&jr.objectLiteral(s)){let l=Object.keys(o),u=Object.keys(s);if(l.length!==u.length||(l.sort(),u.sort(),!i(l,u)))return!1;for(let f=0;f<l.length;f++){let d=l[f];if(!i(o[d],s[d]))return!1}}return!0}})(Wp||(xt.NotebookCell=Wp={}));var wI;(function(t){function e(n,i,o,s){return{uri:n,notebookType:i,version:o,cells:s}}t.create=e;function r(n){let i=n;return jr.objectLiteral(i)&&jr.string(i.uri)&&nu.integer.is(i.version)&&jr.typedArray(i.cells,Wp.is)}t.is=r})(wI||(xt.NotebookDocument=wI={}));var Fa;(function(t){t.method="notebookDocument/sync",t.messageDirection=gn.MessageDirection.clientToServer,t.type=new gn.RegistrationType(t.method)})(Fa||(xt.NotebookDocumentSyncRegistrationType=Fa={}));var RI;(function(t){t.method="notebookDocument/didOpen",t.messageDirection=gn.MessageDirection.clientToServer,t.type=new gn.ProtocolNotificationType(t.method),t.registrationMethod=Fa.method})(RI||(xt.DidOpenNotebookDocumentNotification=RI={}));var bI;(function(t){function e(n){let i=n;return jr.objectLiteral(i)&&nu.uinteger.is(i.start)&&nu.uinteger.is(i.deleteCount)&&(i.cells===void 0||jr.typedArray(i.cells,Wp.is))}t.is=e;function r(n,i,o){let s={start:n,deleteCount:i};return o!==void 0&&(s.cells=o),s}t.create=r})(bI||(xt.NotebookCellArrayChange=bI={}));var AI;(function(t){t.method="notebookDocument/didChange",t.messageDirection=gn.MessageDirection.clientToServer,t.type=new gn.ProtocolNotificationType(t.method),t.registrationMethod=Fa.method})(AI||(xt.DidChangeNotebookDocumentNotification=AI={}));var II;(function(t){t.method="notebookDocument/didSave",t.messageDirection=gn.MessageDirection.clientToServer,t.type=new gn.ProtocolNotificationType(t.method),t.registrationMethod=Fa.method})(II||(xt.DidSaveNotebookDocumentNotification=II={}));var SI;(function(t){t.method="notebookDocument/didClose",t.messageDirection=gn.MessageDirection.clientToServer,t.type=new gn.ProtocolNotificationType(t.method),t.registrationMethod=Fa.method})(SI||(xt.DidCloseNotebookDocumentNotification=SI={}))});var PI=fe(Vp=>{"use strict";Object.defineProperty(Vp,"__esModule",{value:!0});Vp.InlineCompletionRequest=void 0;var NI=ft(),CI;(function(t){t.method="textDocument/inlineCompletion",t.messageDirection=NI.MessageDirection.clientToServer,t.type=new NI.ProtocolRequestType(t.method)})(CI||(Vp.InlineCompletionRequest=CI={}))});var jS=fe(g=>{"use strict";Object.defineProperty(g,"__esModule",{value:!0});g.WorkspaceSymbolRequest=g.CodeActionResolveRequest=g.CodeActionRequest=g.DocumentSymbolRequest=g.DocumentHighlightRequest=g.ReferencesRequest=g.DefinitionRequest=g.SignatureHelpRequest=g.SignatureHelpTriggerKind=g.HoverRequest=g.CompletionResolveRequest=g.CompletionRequest=g.CompletionTriggerKind=g.PublishDiagnosticsNotification=g.WatchKind=g.RelativePattern=g.FileChangeType=g.DidChangeWatchedFilesNotification=g.WillSaveTextDocumentWaitUntilRequest=g.WillSaveTextDocumentNotification=g.TextDocumentSaveReason=g.DidSaveTextDocumentNotification=g.DidCloseTextDocumentNotification=g.DidChangeTextDocumentNotification=g.TextDocumentContentChangeEvent=g.DidOpenTextDocumentNotification=g.TextDocumentSyncKind=g.TelemetryEventNotification=g.LogMessageNotification=g.ShowMessageRequest=g.ShowMessageNotification=g.MessageType=g.DidChangeConfigurationNotification=g.ExitNotification=g.ShutdownRequest=g.InitializedNotification=g.InitializeErrorCodes=g.InitializeRequest=g.WorkDoneProgressOptions=g.TextDocumentRegistrationOptions=g.StaticRegistrationOptions=g.PositionEncodingKind=g.FailureHandlingKind=g.ResourceOperationKind=g.UnregistrationRequest=g.RegistrationRequest=g.DocumentSelector=g.NotebookCellTextDocumentFilter=g.NotebookDocumentFilter=g.TextDocumentFilter=void 0;g.MonikerRequest=g.MonikerKind=g.UniquenessLevel=g.WillDeleteFilesRequest=g.DidDeleteFilesNotification=g.WillRenameFilesRequest=g.DidRenameFilesNotification=g.WillCreateFilesRequest=g.DidCreateFilesNotification=g.FileOperationPatternKind=g.LinkedEditingRangeRequest=g.ShowDocumentRequest=g.SemanticTokensRegistrationType=g.SemanticTokensRefreshRequest=g.SemanticTokensRangeRequest=g.SemanticTokensDeltaRequest=g.SemanticTokensRequest=g.TokenFormat=g.CallHierarchyPrepareRequest=g.CallHierarchyOutgoingCallsRequest=g.CallHierarchyIncomingCallsRequest=g.WorkDoneProgressCancelNotification=g.WorkDoneProgressCreateRequest=g.WorkDoneProgress=g.SelectionRangeRequest=g.DeclarationRequest=g.FoldingRangeRefreshRequest=g.FoldingRangeRequest=g.ColorPresentationRequest=g.DocumentColorRequest=g.ConfigurationRequest=g.DidChangeWorkspaceFoldersNotification=g.WorkspaceFoldersRequest=g.TypeDefinitionRequest=g.ImplementationRequest=g.ApplyWorkspaceEditRequest=g.ExecuteCommandRequest=g.PrepareRenameRequest=g.RenameRequest=g.PrepareSupportDefaultBehavior=g.DocumentOnTypeFormattingRequest=g.DocumentRangesFormattingRequest=g.DocumentRangeFormattingRequest=g.DocumentFormattingRequest=g.DocumentLinkResolveRequest=g.DocumentLinkRequest=g.CodeLensRefreshRequest=g.CodeLensResolveRequest=g.CodeLensRequest=g.WorkspaceSymbolResolveRequest=void 0;g.InlineCompletionRequest=g.DidCloseNotebookDocumentNotification=g.DidSaveNotebookDocumentNotification=g.DidChangeNotebookDocumentNotification=g.NotebookCellArrayChange=g.DidOpenNotebookDocumentNotification=g.NotebookDocumentSyncRegistrationType=g.NotebookDocument=g.NotebookCell=g.ExecutionSummary=g.NotebookCellKind=g.DiagnosticRefreshRequest=g.WorkspaceDiagnosticRequest=g.DocumentDiagnosticRequest=g.DocumentDiagnosticReportKind=g.DiagnosticServerCancellationData=g.InlayHintRefreshRequest=g.InlayHintResolveRequest=g.InlayHintRequest=g.InlineValueRefreshRequest=g.InlineValueRequest=g.TypeHierarchySupertypesRequest=g.TypeHierarchySubtypesRequest=g.TypeHierarchyPrepareRequest=void 0;var H=ft(),OI=(ua(),hf(rp)),Pt=Lp(),vU=iA();Object.defineProperty(g,"ImplementationRequest",{enumerable:!0,get:function(){return vU.ImplementationRequest}});var wU=aA();Object.defineProperty(g,"TypeDefinitionRequest",{enumerable:!0,get:function(){return wU.TypeDefinitionRequest}});var GS=uA();Object.defineProperty(g,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return GS.WorkspaceFoldersRequest}});Object.defineProperty(g,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return GS.DidChangeWorkspaceFoldersNotification}});var RU=pA();Object.defineProperty(g,"ConfigurationRequest",{enumerable:!0,get:function(){return RU.ConfigurationRequest}});var XS=gA();Object.defineProperty(g,"DocumentColorRequest",{enumerable:!0,get:function(){return XS.DocumentColorRequest}});Object.defineProperty(g,"ColorPresentationRequest",{enumerable:!0,get:function(){return XS.ColorPresentationRequest}});var HS=TA();Object.defineProperty(g,"FoldingRangeRequest",{enumerable:!0,get:function(){return HS.FoldingRangeRequest}});Object.defineProperty(g,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return HS.FoldingRangeRefreshRequest}});var bU=vA();Object.defineProperty(g,"DeclarationRequest",{enumerable:!0,get:function(){return bU.DeclarationRequest}});var AU=bA();Object.defineProperty(g,"SelectionRangeRequest",{enumerable:!0,get:function(){return AU.SelectionRangeRequest}});var zT=kA();Object.defineProperty(g,"WorkDoneProgress",{enumerable:!0,get:function(){return zT.WorkDoneProgress}});Object.defineProperty(g,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return zT.WorkDoneProgressCreateRequest}});Object.defineProperty(g,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return zT.WorkDoneProgressCancelNotification}});var jT=OA();Object.defineProperty(g,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return jT.CallHierarchyIncomingCallsRequest}});Object.defineProperty(g,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return jT.CallHierarchyOutgoingCallsRequest}});Object.defineProperty(g,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return jT.CallHierarchyPrepareRequest}});var Ua=UA();Object.defineProperty(g,"TokenFormat",{enumerable:!0,get:function(){return Ua.TokenFormat}});Object.defineProperty(g,"SemanticTokensRequest",{enumerable:!0,get:function(){return Ua.SemanticTokensRequest}});Object.defineProperty(g,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return Ua.SemanticTokensDeltaRequest}});Object.defineProperty(g,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return Ua.SemanticTokensRangeRequest}});Object.defineProperty(g,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return Ua.SemanticTokensRefreshRequest}});Object.defineProperty(g,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return Ua.SemanticTokensRegistrationType}});var IU=XA();Object.defineProperty(g,"ShowDocumentRequest",{enumerable:!0,get:function(){return IU.ShowDocumentRequest}});var SU=jA();Object.defineProperty(g,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return SU.LinkedEditingRangeRequest}});var jo=QA();Object.defineProperty(g,"FileOperationPatternKind",{enumerable:!0,get:function(){return jo.FileOperationPatternKind}});Object.defineProperty(g,"DidCreateFilesNotification",{enumerable:!0,get:function(){return jo.DidCreateFilesNotification}});Object.defineProperty(g,"WillCreateFilesRequest",{enumerable:!0,get:function(){return jo.WillCreateFilesRequest}});Object.defineProperty(g,"DidRenameFilesNotification",{enumerable:!0,get:function(){return jo.DidRenameFilesNotification}});Object.defineProperty(g,"WillRenameFilesRequest",{enumerable:!0,get:function(){return jo.WillRenameFilesRequest}});Object.defineProperty(g,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return jo.DidDeleteFilesNotification}});Object.defineProperty(g,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return jo.WillDeleteFilesRequest}});var qT=iI();Object.defineProperty(g,"UniquenessLevel",{enumerable:!0,get:function(){return qT.UniquenessLevel}});Object.defineProperty(g,"MonikerKind",{enumerable:!0,get:function(){return qT.MonikerKind}});Object.defineProperty(g,"MonikerRequest",{enumerable:!0,get:function(){return qT.MonikerRequest}});var WT=cI();Object.defineProperty(g,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return WT.TypeHierarchyPrepareRequest}});Object.defineProperty(g,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return WT.TypeHierarchySubtypesRequest}});Object.defineProperty(g,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return WT.TypeHierarchySupertypesRequest}});var zS=fI();Object.defineProperty(g,"InlineValueRequest",{enumerable:!0,get:function(){return zS.InlineValueRequest}});Object.defineProperty(g,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return zS.InlineValueRefreshRequest}});var VT=mI();Object.defineProperty(g,"InlayHintRequest",{enumerable:!0,get:function(){return VT.InlayHintRequest}});Object.defineProperty(g,"InlayHintResolveRequest",{enumerable:!0,get:function(){return VT.InlayHintResolveRequest}});Object.defineProperty(g,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return VT.InlayHintRefreshRequest}});var iu=vI();Object.defineProperty(g,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return iu.DiagnosticServerCancellationData}});Object.defineProperty(g,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return iu.DocumentDiagnosticReportKind}});Object.defineProperty(g,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return iu.DocumentDiagnosticRequest}});Object.defineProperty(g,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return iu.WorkspaceDiagnosticRequest}});Object.defineProperty(g,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return iu.DiagnosticRefreshRequest}});var yn=kI();Object.defineProperty(g,"NotebookCellKind",{enumerable:!0,get:function(){return yn.NotebookCellKind}});Object.defineProperty(g,"ExecutionSummary",{enumerable:!0,get:function(){return yn.ExecutionSummary}});Object.defineProperty(g,"NotebookCell",{enumerable:!0,get:function(){return yn.NotebookCell}});Object.defineProperty(g,"NotebookDocument",{enumerable:!0,get:function(){return yn.NotebookDocument}});Object.defineProperty(g,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return yn.NotebookDocumentSyncRegistrationType}});Object.defineProperty(g,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return yn.DidOpenNotebookDocumentNotification}});Object.defineProperty(g,"NotebookCellArrayChange",{enumerable:!0,get:function(){return yn.NotebookCellArrayChange}});Object.defineProperty(g,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return yn.DidChangeNotebookDocumentNotification}});Object.defineProperty(g,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return yn.DidSaveNotebookDocumentNotification}});Object.defineProperty(g,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return yn.DidCloseNotebookDocumentNotification}});var kU=PI();Object.defineProperty(g,"InlineCompletionRequest",{enumerable:!0,get:function(){return kU.InlineCompletionRequest}});var BT;(function(t){function e(r){let n=r;return Pt.string(n)||Pt.string(n.language)||Pt.string(n.scheme)||Pt.string(n.pattern)}t.is=e})(BT||(g.TextDocumentFilter=BT={}));var GT;(function(t){function e(r){let n=r;return Pt.objectLiteral(n)&&(Pt.string(n.notebookType)||Pt.string(n.scheme)||Pt.string(n.pattern))}t.is=e})(GT||(g.NotebookDocumentFilter=GT={}));var XT;(function(t){function e(r){let n=r;return Pt.objectLiteral(n)&&(Pt.string(n.notebook)||GT.is(n.notebook))&&(n.language===void 0||Pt.string(n.language))}t.is=e})(XT||(g.NotebookCellTextDocumentFilter=XT={}));var HT;(function(t){function e(r){if(!Array.isArray(r))return!1;for(let n of r)if(!Pt.string(n)&&!BT.is(n)&&!XT.is(n))return!1;return!0}t.is=e})(HT||(g.DocumentSelector=HT={}));var LI;(function(t){t.method="client/registerCapability",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolRequestType(t.method)})(LI||(g.RegistrationRequest=LI={}));var DI;(function(t){t.method="client/unregisterCapability",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolRequestType(t.method)})(DI||(g.UnregistrationRequest=DI={}));var $I;(function(t){t.Create="create",t.Rename="rename",t.Delete="delete"})($I||(g.ResourceOperationKind=$I={}));var MI;(function(t){t.Abort="abort",t.Transactional="transactional",t.TextOnlyTransactional="textOnlyTransactional",t.Undo="undo"})(MI||(g.FailureHandlingKind=MI={}));var FI;(function(t){t.UTF8="utf-8",t.UTF16="utf-16",t.UTF32="utf-32"})(FI||(g.PositionEncodingKind=FI={}));var UI;(function(t){function e(r){let n=r;return n&&Pt.string(n.id)&&n.id.length>0}t.hasId=e})(UI||(g.StaticRegistrationOptions=UI={}));var BI;(function(t){function e(r){let n=r;return n&&(n.documentSelector===null||HT.is(n.documentSelector))}t.is=e})(BI||(g.TextDocumentRegistrationOptions=BI={}));var GI;(function(t){function e(n){let i=n;return Pt.objectLiteral(i)&&(i.workDoneProgress===void 0||Pt.boolean(i.workDoneProgress))}t.is=e;function r(n){let i=n;return i&&Pt.boolean(i.workDoneProgress)}t.hasWorkDoneProgress=r})(GI||(g.WorkDoneProgressOptions=GI={}));var XI;(function(t){t.method="initialize",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(XI||(g.InitializeRequest=XI={}));var HI;(function(t){t.unknownProtocolVersion=1})(HI||(g.InitializeErrorCodes=HI={}));var zI;(function(t){t.method="initialized",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(zI||(g.InitializedNotification=zI={}));var jI;(function(t){t.method="shutdown",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType0(t.method)})(jI||(g.ShutdownRequest=jI={}));var qI;(function(t){t.method="exit",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType0(t.method)})(qI||(g.ExitNotification=qI={}));var WI;(function(t){t.method="workspace/didChangeConfiguration",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(WI||(g.DidChangeConfigurationNotification=WI={}));var VI;(function(t){t.Error=1,t.Warning=2,t.Info=3,t.Log=4,t.Debug=5})(VI||(g.MessageType=VI={}));var YI;(function(t){t.method="window/showMessage",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolNotificationType(t.method)})(YI||(g.ShowMessageNotification=YI={}));var KI;(function(t){t.method="window/showMessageRequest",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolRequestType(t.method)})(KI||(g.ShowMessageRequest=KI={}));var ZI;(function(t){t.method="window/logMessage",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolNotificationType(t.method)})(ZI||(g.LogMessageNotification=ZI={}));var JI;(function(t){t.method="telemetry/event",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolNotificationType(t.method)})(JI||(g.TelemetryEventNotification=JI={}));var QI;(function(t){t.None=0,t.Full=1,t.Incremental=2})(QI||(g.TextDocumentSyncKind=QI={}));var eS;(function(t){t.method="textDocument/didOpen",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(eS||(g.DidOpenTextDocumentNotification=eS={}));var tS;(function(t){function e(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range!==void 0&&(i.rangeLength===void 0||typeof i.rangeLength=="number")}t.isIncremental=e;function r(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range===void 0&&i.rangeLength===void 0}t.isFull=r})(tS||(g.TextDocumentContentChangeEvent=tS={}));var rS;(function(t){t.method="textDocument/didChange",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(rS||(g.DidChangeTextDocumentNotification=rS={}));var nS;(function(t){t.method="textDocument/didClose",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(nS||(g.DidCloseTextDocumentNotification=nS={}));var iS;(function(t){t.method="textDocument/didSave",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(iS||(g.DidSaveTextDocumentNotification=iS={}));var oS;(function(t){t.Manual=1,t.AfterDelay=2,t.FocusOut=3})(oS||(g.TextDocumentSaveReason=oS={}));var sS;(function(t){t.method="textDocument/willSave",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(sS||(g.WillSaveTextDocumentNotification=sS={}));var aS;(function(t){t.method="textDocument/willSaveWaitUntil",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(aS||(g.WillSaveTextDocumentWaitUntilRequest=aS={}));var cS;(function(t){t.method="workspace/didChangeWatchedFiles",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolNotificationType(t.method)})(cS||(g.DidChangeWatchedFilesNotification=cS={}));var lS;(function(t){t.Created=1,t.Changed=2,t.Deleted=3})(lS||(g.FileChangeType=lS={}));var uS;(function(t){function e(r){let n=r;return Pt.objectLiteral(n)&&(OI.URI.is(n.baseUri)||OI.WorkspaceFolder.is(n.baseUri))&&Pt.string(n.pattern)}t.is=e})(uS||(g.RelativePattern=uS={}));var fS;(function(t){t.Create=1,t.Change=2,t.Delete=4})(fS||(g.WatchKind=fS={}));var dS;(function(t){t.method="textDocument/publishDiagnostics",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolNotificationType(t.method)})(dS||(g.PublishDiagnosticsNotification=dS={}));var pS;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.TriggerForIncompleteCompletions=3})(pS||(g.CompletionTriggerKind=pS={}));var hS;(function(t){t.method="textDocument/completion",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(hS||(g.CompletionRequest=hS={}));var mS;(function(t){t.method="completionItem/resolve",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(mS||(g.CompletionResolveRequest=mS={}));var gS;(function(t){t.method="textDocument/hover",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(gS||(g.HoverRequest=gS={}));var yS;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.ContentChange=3})(yS||(g.SignatureHelpTriggerKind=yS={}));var xS;(function(t){t.method="textDocument/signatureHelp",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(xS||(g.SignatureHelpRequest=xS={}));var TS;(function(t){t.method="textDocument/definition",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(TS||(g.DefinitionRequest=TS={}));var _S;(function(t){t.method="textDocument/references",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(_S||(g.ReferencesRequest=_S={}));var ES;(function(t){t.method="textDocument/documentHighlight",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(ES||(g.DocumentHighlightRequest=ES={}));var vS;(function(t){t.method="textDocument/documentSymbol",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(vS||(g.DocumentSymbolRequest=vS={}));var wS;(function(t){t.method="textDocument/codeAction",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(wS||(g.CodeActionRequest=wS={}));var RS;(function(t){t.method="codeAction/resolve",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(RS||(g.CodeActionResolveRequest=RS={}));var bS;(function(t){t.method="workspace/symbol",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(bS||(g.WorkspaceSymbolRequest=bS={}));var AS;(function(t){t.method="workspaceSymbol/resolve",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(AS||(g.WorkspaceSymbolResolveRequest=AS={}));var IS;(function(t){t.method="textDocument/codeLens",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(IS||(g.CodeLensRequest=IS={}));var SS;(function(t){t.method="codeLens/resolve",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(SS||(g.CodeLensResolveRequest=SS={}));var kS;(function(t){t.method="workspace/codeLens/refresh",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolRequestType0(t.method)})(kS||(g.CodeLensRefreshRequest=kS={}));var NS;(function(t){t.method="textDocument/documentLink",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(NS||(g.DocumentLinkRequest=NS={}));var CS;(function(t){t.method="documentLink/resolve",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(CS||(g.DocumentLinkResolveRequest=CS={}));var PS;(function(t){t.method="textDocument/formatting",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(PS||(g.DocumentFormattingRequest=PS={}));var OS;(function(t){t.method="textDocument/rangeFormatting",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(OS||(g.DocumentRangeFormattingRequest=OS={}));var LS;(function(t){t.method="textDocument/rangesFormatting",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(LS||(g.DocumentRangesFormattingRequest=LS={}));var DS;(function(t){t.method="textDocument/onTypeFormatting",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(DS||(g.DocumentOnTypeFormattingRequest=DS={}));var $S;(function(t){t.Identifier=1})($S||(g.PrepareSupportDefaultBehavior=$S={}));var MS;(function(t){t.method="textDocument/rename",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(MS||(g.RenameRequest=MS={}));var FS;(function(t){t.method="textDocument/prepareRename",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(FS||(g.PrepareRenameRequest=FS={}));var US;(function(t){t.method="workspace/executeCommand",t.messageDirection=H.MessageDirection.clientToServer,t.type=new H.ProtocolRequestType(t.method)})(US||(g.ExecuteCommandRequest=US={}));var BS;(function(t){t.method="workspace/applyEdit",t.messageDirection=H.MessageDirection.serverToClient,t.type=new H.ProtocolRequestType("workspace/applyEdit")})(BS||(g.ApplyWorkspaceEditRequest=BS={}))});var WS=fe(Yp=>{"use strict";Object.defineProperty(Yp,"__esModule",{value:!0});Yp.createProtocolConnection=void 0;var qS=zo();function NU(t,e,r,n){return qS.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,qS.createMessageConnection)(t,e,r,n)}Yp.createProtocolConnection=NU});var YS=fe(sr=>{"use strict";var CU=sr&&sr.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Kp=sr&&sr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&CU(e,t,r)};Object.defineProperty(sr,"__esModule",{value:!0});sr.LSPErrorCodes=sr.createProtocolConnection=void 0;Kp(zo(),sr);Kp((ua(),hf(rp)),sr);Kp(ft(),sr);Kp(jS(),sr);var PU=WS();Object.defineProperty(sr,"createProtocolConnection",{enumerable:!0,get:function(){return PU.createProtocolConnection}});var VS;(function(t){t.lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800})(VS||(sr.LSPErrorCodes=VS={}))});var ZS=fe(xn=>{"use strict";var OU=xn&&xn.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),KS=xn&&xn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&OU(e,t,r)};Object.defineProperty(xn,"__esModule",{value:!0});xn.createProtocolConnection=void 0;var LU=PT();KS(PT(),xn);KS(YS(),xn);function DU(t,e,r,n){return(0,LU.createMessageConnection)(t,e,r,n)}xn.createProtocolConnection=DU});var Rk={};rn(Rk,{nodeReadFile:()=>nB});async function nB(){throw new Error("nowline: filesystem readers are unavailable in the browser embed")}var bk=u0(()=>{});var wH={};rn(wH,{EmbedRenderError:()=>sf,__resetForTests:()=>vH,init:()=>a0,initialize:()=>xH,parse:()=>_H,render:()=>TH,run:()=>EH,sha:()=>gH,version:()=>mH});var rO=new Set(["none","multiplier","person","people","points","time"]),nO=/^\d+$/,iO=/^\d+\.\d+$/,oO=/^\d+(?:\.\d+)?%$/;function oi(t){if(!t)return null;if(nO.test(t)){let e=parseInt(t,10);return e>0?e:null}if(iO.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e:null}if(oO.test(t)){let e=parseFloat(t.slice(0,-1))/100;return Number.isFinite(e)&&e>0?e:null}return null}function Ic(t){if(Number.isInteger(t))return String(t);let e=t.toFixed(6);return e=e.replace(/0+$/,""),e=e.replace(/\.$/,""),e}function sO(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}function aO(t){for(let e of t.properties)if(sO(e)==="unicode"&&e.value)return e.value}function Sc(t,e){if(t==="none")return null;if(rO.has(t))return{kind:"builtin",name:t};let r=e.get(t);return r?{kind:"literal",text:aO(r)??t}:{kind:"literal",text:t}}function to(t,e,r){return e?e.kind==="builtin"&&e.name==="multiplier"?(t.length+1)*r*.58:t.length*r*.58+(.1+1)*r:t.length*r*.58}function kc(t,e,r,n=0,i=0){let o=t+10,s=o+12,a=e.length*6.5,c=s+a,l=0,u=0;r&&(l=`owner: ${r}`.length*5,u=c+6,c=u+l);let f=0;n>0&&(f=c+6,c=f+n);let d=0;i>0&&(d=c+6+i,c=d);let p=c-o+12,m=Math.max(56,p);return{titleTextWidth:a,ownerTextWidth:l,capacityBadgeWidth:n,footnoteIndicatorWidth:i,titleX:s,ownerX:u,badgeX:f,footnoteRightX:d,tabX:o,tabW:m,rightX:o+m}}function Nc(t,e,r){let n=t+24,i=n+10,o=e.length*6,s=Math.max(60,o+10+10),a=n+s+6,c=a+18,l=0,u=0,f=0,d=0,p=c;return r&&(u=c+6,l=r.length*5.5,f=u-3,d=l+6,p=f+d),{labelTextWidth:o,sourceTextWidth:l,tabX:n,tabWidth:s,tabLabelX:i,badgeX:a,badgeSize:18,sourceHaloX:f,sourceHaloWidth:d,sourceTextX:u,chromeRightX:p}}function vm(t,e){if(t.length===0)return{rows:[[]],expanded:!1};let r=[[]],n=0,i=e,o=!1;for(let s of t){let a=r[r.length-1],c=(a.length===0?0:4)+s.width,l=n+c;if(l<=i){a.push(s),n=l;continue}if(a.length===0){a.push(s),n=s.width;continue}let u=l-i,f=s.width*.25;if(!o&&u<=f){a.push(s),n=l,i=l,o=!0;continue}r.push([s]),n=s.width,i=e}return{rows:r,expanded:o}}var f0="lexing-error",d0="parsing-error";function p0(t){if(!t||typeof t!="object")return!1;let e=t.code;return e===f0||e===d0}function wm(t){let e=[];for(let r of t.parseResult.lexerErrors)e.push({origin:"lexer",error:r});for(let r of t.parseResult.parserErrors)e.push({origin:"parser",error:r});for(let r of t.diagnostics??[]){let n=r;p0(n.data)||e.push({origin:"validation",diagnostic:n})}return e}var cO=/did you mean ['"]?([^'"?]+)['"]?\??/i;function Rm(t){let e=t.match(cO);return e?e[1].trim():void 0}function h0(t){let e=t.toLowerCase();return e.includes("duplicate identifier")?"duplicate-identifier":e.includes("unknown reference")||e.includes("did you mean")?"unknown-reference":e.includes("circular")?"circular-dependency":e.includes("requires")&&e.includes("date:")?"missing-date":e.includes("duration")?"duration":e.includes("include")?"include":e.includes("indent")?"indentation":"validation"}function m0(t){if(!t||typeof t!="object")return;let e=t;if(typeof e.code=="string"&&Array.isArray(e.args))return e.code}function bm(t){let e=m0(t.data);return e||(typeof t.code=="string"&&t.code!==""?t.code:typeof t.code=="number"?String(t.code):h0(t.message))}var ut={};rn(ut,{AbstractAstReflection:()=>ro,AbstractCstNode:()=>Sl,AbstractLangiumParser:()=>kl,AbstractParserErrorMessageProvider:()=>ip,AbstractThreadedAsyncParser:()=>r_,AstUtils:()=>yf,BiMap:()=>Bo,Cancellation:()=>ie,CompositeCstNodeImpl:()=>Do,ContextCache:()=>Go,CstNodeBuilder:()=>Il,CstUtils:()=>Mf,DEFAULT_TOKENIZE_OPTIONS:()=>Zp,DONE_RESULT:()=>$t,DatatypeSymbol:()=>np,DefaultAstNodeDescriptionProvider:()=>ql,DefaultAstNodeLocator:()=>Vl,DefaultAsyncParser:()=>pu,DefaultCommentProvider:()=>du,DefaultConfigurationProvider:()=>Yl,DefaultDocumentBuilder:()=>ou,DefaultDocumentValidator:()=>jl,DefaultHydrator:()=>mu,DefaultIndexManager:()=>su,DefaultJsonSerializer:()=>Xl,DefaultLangiumDocumentFactory:()=>Ol,DefaultLangiumDocuments:()=>Ll,DefaultLangiumProfiler:()=>s_,DefaultLexer:()=>qo,DefaultLexerErrorMessageProvider:()=>cu,DefaultLinker:()=>Dl,DefaultNameProvider:()=>$l,DefaultReferenceDescriptionProvider:()=>Wl,DefaultReferences:()=>Ml,DefaultScopeComputation:()=>Fl,DefaultScopeProvider:()=>Gl,DefaultServiceRegistry:()=>Hl,DefaultTokenBuilder:()=>Mo,DefaultValueConverter:()=>Fo,DefaultWorkspaceLock:()=>hu,DefaultWorkspaceManager:()=>au,Deferred:()=>Zt,Disposable:()=>Xi,DisposableCache:()=>Ta,DocumentCache:()=>pp,DocumentState:()=>ye,DocumentValidator:()=>Rr,EMPTY_SCOPE:()=>B2,EMPTY_STREAM:()=>ai,EmptyFileSystem:()=>_u,EmptyFileSystemProvider:()=>th,ErrorWithLocation:()=>xo,GrammarAST:()=>Hc,GrammarUtils:()=>ks,IndentationAwareLexer:()=>Tu,IndentationAwareTokenBuilder:()=>Ga,JSDocDocumentationProvider:()=>fu,LangiumCompletionParser:()=>Cl,LangiumParser:()=>Nl,LangiumParserErrorMessageProvider:()=>da,LeafCstNodeImpl:()=>Lo,LexingMode:()=>Vo,MapScope:()=>vx,Module:()=>i_,MultiMap:()=>Ut,MultiMapScope:()=>Ul,OperationCancelled:()=>wr,ParserWorker:()=>n_,ProfilingTask:()=>nh,Reduction:()=>hs,RefResolving:()=>Uo,RegExpUtils:()=>Bf,RootCstNodeImpl:()=>fa,SimpleCache:()=>Bl,StreamImpl:()=>ur,StreamScope:()=>xa,TextDocument:()=>ma,TreeStreamImpl:()=>nn,URI:()=>ht,UriTrie:()=>ya,UriUtils:()=>Et,VALIDATE_EACH_NODE:()=>wb,ValidationCategory:()=>hp,ValidationRegistry:()=>zl,ValueConverter:()=>pn,WorkspaceCache:()=>_a,assertCondition:()=>v0,assertUnreachable:()=>an,createCompletionParser:()=>ux,createDefaultCoreModule:()=>gu,createDefaultSharedCoreModule:()=>yu,createGrammarConfig:()=>gg,createLangiumParser:()=>fx,createParser:()=>Pl,delayNextTick:()=>_x,diagnosticData:()=>Xo,eagerLoad:()=>ak,getDiagnosticRange:()=>Rb,indentationBuilderDefaultOptions:()=>o_,inject:()=>Wo,interruptAndCheck:()=>pt,isAstNode:()=>dt,isAstNodeDescription:()=>Am,isAstNodeWithComment:()=>wx,isCompositeCstNode:()=>Dr,isIMultiModeLexerDefinition:()=>KT,isJSDoc:()=>e_,isLeafCstNode:()=>si,isLinkingError:()=>no,isMultiReference:()=>lr,isNamed:()=>Eb,isOperationCancelled:()=>hn,isReference:()=>At,isRootCstNode:()=>Cc,isTokenTypeArray:()=>Jp,isTokenTypeDictionary:()=>YT,loadGrammarFromJson:()=>rh,parseJSDoc:()=>QT,prepareLangiumParser:()=>lb,setInterruptionPeriod:()=>gb,startCancelableOperation:()=>fp,stream:()=>xe,toDiagnosticData:()=>bb,toDiagnosticSeverity:()=>mp});var Mf={};rn(Mf,{DefaultNameRegexp:()=>$f,RangeComparison:()=>sn,compareRange:()=>x0,findCommentNode:()=>Zm,findDeclarationNodeAtOffset:()=>CO,findLeafNodeAtOffset:()=>Jm,findLeafNodeBeforeOffset:()=>T0,flattenCst:()=>NO,getDatatypeNode:()=>kO,getInteriorNodes:()=>LO,getNextNode:()=>PO,getPreviousNode:()=>E0,getStartlineNode:()=>OO,inRange:()=>Nm,isChildNode:()=>Km,isCommentNode:()=>Ym,streamCst:()=>go,toDocumentSegment:()=>yo,tokenToRange:()=>bs});function dt(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function At(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function lr(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function Am(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function no(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}var ro=class{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){let r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);let n=r.properties[e.property]?.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){let r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return dt(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});let i=n[r];if(i!==void 0)return i;{let o=this.types[e],s=o?o.superTypes.some(a=>this.isSubtype(a,r)):!1;return n[r]=s,s}}getAllSubTypes(e){let r=this.allSubtypes[e];if(r)return r;{let n=this.getAllTypes(),i=[];for(let o of n)this.isSubtype(o,e)&&i.push(o);return this.allSubtypes[e]=i,i}}};function Dr(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function si(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Cc(t){return Dr(t)&&typeof t.fullText=="string"}var ur=class t{constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){let e=[],r=this.iterator(),n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){let n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new t(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return $t})}join(e=","){let r=this.iterator(),n="",i,o=!1;do i=r.next(),i.done||(o&&(n+=e),n+=uO(i.value)),o=!0;while(!i.done);return n}indexOf(e,r=0){let n=this.iterator(),i=0,o=n.next();for(;!o.done;){if(i>=r&&o.value===e)return i;o=n.next(),i++}return-1}every(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new t(this.startFn,r=>{let{done:n,value:i}=this.nextFn(r);return n?$t:{done:!1,value:e(i)}})}filter(e){return new t(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return $t})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){let n=this.iterator(),i=r,o=n.next();for(;!o.done;)i===void 0?i=o.value:i=e(i,o.value),o=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){let i=e.next();if(i.done)return n;let o=this.recursiveReduce(e,r,n);return o===void 0?i.value:r(o,i.value)}find(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new t(()=>({this:this.startFn()}),r=>{do{if(r.iterator){let o=r.iterator.next();if(o.done)r.iterator=void 0;else return o}let{done:n,value:i}=this.nextFn(r.this);if(!n){let o=e(i);if(mf(o))r.iterator=o[Symbol.iterator]();else return{done:!1,value:o}}}while(r.iterator);return $t})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let r=e>1?this.flat(e-1):this;return new t(()=>({this:r.startFn()}),n=>{do{if(n.iterator){let s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}let{done:i,value:o}=r.nextFn(n.this);if(!i)if(mf(o))n.iterator=o[Symbol.iterator]();else return{done:!1,value:o}}while(n.iterator);return $t})}head(){let r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new t(()=>{let r=this.startFn();for(let n=0;n<e;n++)if(this.nextFn(r).done)return r;return r},this.nextFn)}limit(e){return new t(()=>({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?$t:this.nextFn(r.state)))}distinct(e){return new t(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){let i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return $t})}exclude(e,r){let n=new Set;for(let i of e){let o=r?r(i):i;n.add(o)}return this.filter(i=>{let o=r?r(i):i;return!n.has(o)})}};function uO(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function mf(t){return!!t&&typeof t[Symbol.iterator]=="function"}var ai=new ur(()=>{},()=>$t),$t=Object.freeze({done:!0,value:void 0});function xe(...t){if(t.length===1){let e=t[0];if(e instanceof ur)return e;if(mf(e))return new ur(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new ur(()=>({index:0}),r=>r.index<e.length?{done:!1,value:e[r.index++]}:$t)}return t.length>1?new ur(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){let r=t[e.collIndex++];mf(r)?e.iterator=r[Symbol.iterator]():r&&typeof r.length=="number"&&(e.array=r)}}while(e.iterator||e.array||e.collIndex<t.length);return $t}):ai}var nn=class extends ur{constructor(e,r,n){super(()=>({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){let s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return $t})}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}},hs;(function(t){function e(o){return o.reduce((s,a)=>s+a,0)}t.sum=e;function r(o){return o.reduce((s,a)=>s*a,0)}t.product=r;function n(o){return o.reduce((s,a)=>Math.min(s,a))}t.min=n;function i(o){return o.reduce((s,a)=>Math.max(s,a))}t.max=i})(hs||(hs={}));var yf={};rn(yf,{assignMandatoryProperties:()=>km,copyAstNode:()=>Sm,findRootNode:()=>gs,getContainerOfType:()=>In,getDocument:()=>Mt,getReferenceNodes:()=>gf,hasContainerOfType:()=>fO,linkContentToContainer:()=>ms,streamAllContents:()=>$r,streamAst:()=>zt,streamContents:()=>Pc,streamReferences:()=>ci});function ms(t,e={}){for(let[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,o)=>{dt(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=o,e.deep&&ms(i,e))}):dt(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&ms(n,e)))}function In(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function fO(t,e){let r=t;for(;r;){if(e(r))return!0;r=r.$container}return!1}function Mt(t){let r=gs(t).$document;if(!r)throw new Error("AST node has no document.");return r}function gs(t){for(;t.$container;)t=t.$container;return t}function gf(t){return At(t)?t.ref?[t.ref]:[]:lr(t)?t.items.map(e=>e.ref):[]}function Pc(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new ur(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndex<n.keys.length;){let i=n.keys[n.keyIndex];if(!i.startsWith("$")){let o=t[i];if(dt(o)){if(n.keyIndex++,Im(o,r))return{done:!1,value:o}}else if(Array.isArray(o)){for(;n.arrayIndex<o.length;){let s=n.arrayIndex++,a=o[s];if(dt(a)&&Im(a,r))return{done:!1,value:a}}n.arrayIndex=0}}n.keyIndex++}return $t})}function $r(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new nn(t,r=>Pc(r,e))}function zt(t,e){if(t){if(e?.range&&!Im(t,e.range))return new nn(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new nn(t,r=>Pc(r,e),{includeRoot:!0})}function Im(t,e){if(!e)return!0;let r=t.$cstNode?.range;return r?Nm(r,e):!1}function ci(t){return new ur(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){let r=e.keys[e.keyIndex];if(!r.startsWith("$")){let n=t[r];if(At(n)||lr(n))return e.keyIndex++,{done:!1,value:{reference:n,container:t,property:r}};if(Array.isArray(n)){for(;e.arrayIndex<n.length;){let i=e.arrayIndex++,o=n[i];if(At(o)||lr(n))return{done:!1,value:{reference:o,container:t,property:r,index:i}}}e.arrayIndex=0}}e.keyIndex++}return $t})}function km(t,e){let r=t.getTypeMetaData(e.$type),n=e;for(let i of Object.values(r.properties))i.defaultValue!==void 0&&n[i.name]===void 0&&(n[i.name]=g0(i.defaultValue))}function g0(t){return Array.isArray(t)?[...t.map(g0)]:t}function Sm(t,e,r){let n={$type:t.$type};r&&(r.set(t,n),r.set(n,t));for(let[i,o]of Object.entries(t))if(!i.startsWith("$"))if(dt(o))n[i]=Sm(o,e,r);else if(At(o))n[i]=e(n,i,o.$refNode,o.$refText,o);else if(Array.isArray(o)){let s=[];for(let a of o)dt(a)?s.push(Sm(a,e,r)):At(a)?s.push(e(n,i,a.$refNode,a.$refText,a)):s.push(a);n[i]=s}else n[i]=o;return ms(n,{deep:!0}),n}var Hc={};rn(Hc,{AbstractElement:()=>er,AbstractParserRule:()=>Oc,AbstractRule:()=>ys,AbstractType:()=>fr,Action:()=>li,Alternatives:()=>Lc,ArrayLiteral:()=>xf,ArrayType:()=>Tf,Assignment:()=>ui,BooleanLiteral:()=>_f,CharacterRange:()=>fi,Condition:()=>di,Conjunction:()=>Dc,CrossReference:()=>pi,Disjunction:()=>$c,EndOfFile:()=>Ef,Grammar:()=>Sn,GrammarImport:()=>vf,Group:()=>io,InferredType:()=>wf,InfixRule:()=>on,InfixRuleOperatorList:()=>Mc,InfixRuleOperators:()=>Rf,Interface:()=>xs,Keyword:()=>Ts,LangiumGrammarAstReflection:()=>Rs,LangiumGrammarTerminals:()=>dO,NamedArgument:()=>_s,NegatedToken:()=>oo,Negation:()=>bf,NumberLiteral:()=>Af,Parameter:()=>Es,ParameterReference:()=>If,ParserRule:()=>Mr,ReferenceType:()=>Fc,RegexToken:()=>so,ReturnType:()=>Sf,RuleCall:()=>ao,SimpleType:()=>vs,StringLiteral:()=>kf,TerminalAlternatives:()=>co,TerminalElement:()=>tr,TerminalGroup:()=>lo,TerminalRule:()=>kn,TerminalRuleCall:()=>uo,Type:()=>Uc,TypeAttribute:()=>fo,TypeDefinition:()=>po,UnionType:()=>Nf,UnorderedGroup:()=>Bc,UntilToken:()=>ho,ValueLiteral:()=>mo,Wildcard:()=>ws,isAbstractElement:()=>Gc,isAbstractParserRule:()=>Nn,isAbstractRule:()=>pO,isAbstractType:()=>hO,isAction:()=>Cn,isAlternatives:()=>Cf,isArrayLiteral:()=>mO,isArrayType:()=>Cm,isAssignment:()=>Fr,isBooleanLiteral:()=>Pm,isCharacterRange:()=>Om,isCondition:()=>gO,isConjunction:()=>Lm,isCrossReference:()=>Ur,isDisjunction:()=>Dm,isEndOfFile:()=>$m,isGrammar:()=>yO,isGrammarImport:()=>xO,isGroup:()=>hi,isInferredType:()=>Xc,isInfixRule:()=>mi,isInfixRuleOperatorList:()=>TO,isInfixRuleOperators:()=>_O,isInterface:()=>Mm,isKeyword:()=>Er,isNamedArgument:()=>EO,isNegatedToken:()=>Fm,isNegation:()=>Um,isNumberLiteral:()=>vO,isParameter:()=>wO,isParameterReference:()=>Bm,isParserRule:()=>kt,isReferenceType:()=>Gm,isRegexToken:()=>Xm,isReturnType:()=>Hm,isRuleCall:()=>Br,isSimpleType:()=>Pf,isStringLiteral:()=>RO,isTerminalAlternatives:()=>zm,isTerminalElement:()=>bO,isTerminalGroup:()=>jm,isTerminalRule:()=>jt,isTerminalRuleCall:()=>Of,isType:()=>Lf,isTypeAttribute:()=>AO,isTypeDefinition:()=>IO,isUnionType:()=>qm,isUnorderedGroup:()=>Df,isUntilToken:()=>Wm,isValueLiteral:()=>SO,isWildcard:()=>Vm,reflection:()=>ne});var dO={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]*/},er={$type:"AbstractElement",cardinality:"cardinality"};function Gc(t){return ne.isInstance(t,er.$type)}var Oc={$type:"AbstractParserRule"};function Nn(t){return ne.isInstance(t,Oc.$type)}var ys={$type:"AbstractRule"};function pO(t){return ne.isInstance(t,ys.$type)}var fr={$type:"AbstractType"};function hO(t){return ne.isInstance(t,fr.$type)}var li={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function Cn(t){return ne.isInstance(t,li.$type)}var Lc={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function Cf(t){return ne.isInstance(t,Lc.$type)}var xf={$type:"ArrayLiteral",elements:"elements"};function mO(t){return ne.isInstance(t,xf.$type)}var Tf={$type:"ArrayType",elementType:"elementType"};function Cm(t){return ne.isInstance(t,Tf.$type)}var ui={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function Fr(t){return ne.isInstance(t,ui.$type)}var _f={$type:"BooleanLiteral",true:"true"};function Pm(t){return ne.isInstance(t,_f.$type)}var fi={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function Om(t){return ne.isInstance(t,fi.$type)}var di={$type:"Condition"};function gO(t){return ne.isInstance(t,di.$type)}var Dc={$type:"Conjunction",left:"left",right:"right"};function Lm(t){return ne.isInstance(t,Dc.$type)}var pi={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function Ur(t){return ne.isInstance(t,pi.$type)}var $c={$type:"Disjunction",left:"left",right:"right"};function Dm(t){return ne.isInstance(t,$c.$type)}var Ef={$type:"EndOfFile",cardinality:"cardinality"};function $m(t){return ne.isInstance(t,Ef.$type)}var Sn={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};function yO(t){return ne.isInstance(t,Sn.$type)}var vf={$type:"GrammarImport",path:"path"};function xO(t){return ne.isInstance(t,vf.$type)}var io={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function hi(t){return ne.isInstance(t,io.$type)}var wf={$type:"InferredType",name:"name"};function Xc(t){return ne.isInstance(t,wf.$type)}var on={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function mi(t){return ne.isInstance(t,on.$type)}var Mc={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};function TO(t){return ne.isInstance(t,Mc.$type)}var Rf={$type:"InfixRuleOperators",precedences:"precedences"};function _O(t){return ne.isInstance(t,Rf.$type)}var xs={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function Mm(t){return ne.isInstance(t,xs.$type)}var Ts={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function Er(t){return ne.isInstance(t,Ts.$type)}var _s={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};function EO(t){return ne.isInstance(t,_s.$type)}var oo={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Fm(t){return ne.isInstance(t,oo.$type)}var bf={$type:"Negation",value:"value"};function Um(t){return ne.isInstance(t,bf.$type)}var Af={$type:"NumberLiteral",value:"value"};function vO(t){return ne.isInstance(t,Af.$type)}var Es={$type:"Parameter",name:"name"};function wO(t){return ne.isInstance(t,Es.$type)}var If={$type:"ParameterReference",parameter:"parameter"};function Bm(t){return ne.isInstance(t,If.$type)}var Mr={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function kt(t){return ne.isInstance(t,Mr.$type)}var Fc={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};function Gm(t){return ne.isInstance(t,Fc.$type)}var so={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function Xm(t){return ne.isInstance(t,so.$type)}var Sf={$type:"ReturnType",name:"name"};function Hm(t){return ne.isInstance(t,Sf.$type)}var ao={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function Br(t){return ne.isInstance(t,ao.$type)}var vs={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function Pf(t){return ne.isInstance(t,vs.$type)}var kf={$type:"StringLiteral",value:"value"};function RO(t){return ne.isInstance(t,kf.$type)}var co={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function zm(t){return ne.isInstance(t,co.$type)}var tr={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function bO(t){return ne.isInstance(t,tr.$type)}var lo={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function jm(t){return ne.isInstance(t,lo.$type)}var kn={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function jt(t){return ne.isInstance(t,kn.$type)}var uo={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function Of(t){return ne.isInstance(t,uo.$type)}var Uc={$type:"Type",name:"name",type:"type"};function Lf(t){return ne.isInstance(t,Uc.$type)}var fo={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};function AO(t){return ne.isInstance(t,fo.$type)}var po={$type:"TypeDefinition"};function IO(t){return ne.isInstance(t,po.$type)}var Nf={$type:"UnionType",types:"types"};function qm(t){return ne.isInstance(t,Nf.$type)}var Bc={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function Df(t){return ne.isInstance(t,Bc.$type)}var ho={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Wm(t){return ne.isInstance(t,ho.$type)}var mo={$type:"ValueLiteral"};function SO(t){return ne.isInstance(t,mo.$type)}var ws={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Vm(t){return ne.isInstance(t,ws.$type)}var Rs=class extends ro{constructor(){super(...arguments),this.types={AbstractElement:{name:er.$type,properties:{cardinality:{name:er.cardinality}},superTypes:[]},AbstractParserRule:{name:Oc.$type,properties:{},superTypes:[ys.$type,fr.$type]},AbstractRule:{name:ys.$type,properties:{},superTypes:[]},AbstractType:{name:fr.$type,properties:{},superTypes:[]},Action:{name:li.$type,properties:{cardinality:{name:li.cardinality},feature:{name:li.feature},inferredType:{name:li.inferredType},operator:{name:li.operator},type:{name:li.type,referenceType:fr.$type}},superTypes:[er.$type]},Alternatives:{name:Lc.$type,properties:{cardinality:{name:Lc.cardinality},elements:{name:Lc.elements,defaultValue:[]}},superTypes:[er.$type]},ArrayLiteral:{name:xf.$type,properties:{elements:{name:xf.elements,defaultValue:[]}},superTypes:[mo.$type]},ArrayType:{name:Tf.$type,properties:{elementType:{name:Tf.elementType}},superTypes:[po.$type]},Assignment:{name:ui.$type,properties:{cardinality:{name:ui.cardinality},feature:{name:ui.feature},operator:{name:ui.operator},predicate:{name:ui.predicate},terminal:{name:ui.terminal}},superTypes:[er.$type]},BooleanLiteral:{name:_f.$type,properties:{true:{name:_f.true,defaultValue:!1}},superTypes:[di.$type,mo.$type]},CharacterRange:{name:fi.$type,properties:{cardinality:{name:fi.cardinality},left:{name:fi.left},lookahead:{name:fi.lookahead},parenthesized:{name:fi.parenthesized,defaultValue:!1},right:{name:fi.right}},superTypes:[tr.$type]},Condition:{name:di.$type,properties:{},superTypes:[]},Conjunction:{name:Dc.$type,properties:{left:{name:Dc.left},right:{name:Dc.right}},superTypes:[di.$type]},CrossReference:{name:pi.$type,properties:{cardinality:{name:pi.cardinality},deprecatedSyntax:{name:pi.deprecatedSyntax,defaultValue:!1},isMulti:{name:pi.isMulti,defaultValue:!1},terminal:{name:pi.terminal},type:{name:pi.type,referenceType:fr.$type}},superTypes:[er.$type]},Disjunction:{name:$c.$type,properties:{left:{name:$c.left},right:{name:$c.right}},superTypes:[di.$type]},EndOfFile:{name:Ef.$type,properties:{cardinality:{name:Ef.cardinality}},superTypes:[er.$type]},Grammar:{name:Sn.$type,properties:{imports:{name:Sn.imports,defaultValue:[]},interfaces:{name:Sn.interfaces,defaultValue:[]},isDeclared:{name:Sn.isDeclared,defaultValue:!1},name:{name:Sn.name},rules:{name:Sn.rules,defaultValue:[]},types:{name:Sn.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:vf.$type,properties:{path:{name:vf.path}},superTypes:[]},Group:{name:io.$type,properties:{cardinality:{name:io.cardinality},elements:{name:io.elements,defaultValue:[]},guardCondition:{name:io.guardCondition},predicate:{name:io.predicate}},superTypes:[er.$type]},InferredType:{name:wf.$type,properties:{name:{name:wf.name}},superTypes:[fr.$type]},InfixRule:{name:on.$type,properties:{call:{name:on.call},dataType:{name:on.dataType},inferredType:{name:on.inferredType},name:{name:on.name},operators:{name:on.operators},parameters:{name:on.parameters,defaultValue:[]},returnType:{name:on.returnType,referenceType:fr.$type}},superTypes:[Oc.$type]},InfixRuleOperatorList:{name:Mc.$type,properties:{associativity:{name:Mc.associativity},operators:{name:Mc.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:Rf.$type,properties:{precedences:{name:Rf.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:xs.$type,properties:{attributes:{name:xs.attributes,defaultValue:[]},name:{name:xs.name},superTypes:{name:xs.superTypes,defaultValue:[],referenceType:fr.$type}},superTypes:[fr.$type]},Keyword:{name:Ts.$type,properties:{cardinality:{name:Ts.cardinality},predicate:{name:Ts.predicate},value:{name:Ts.value}},superTypes:[er.$type]},NamedArgument:{name:_s.$type,properties:{calledByName:{name:_s.calledByName,defaultValue:!1},parameter:{name:_s.parameter,referenceType:Es.$type},value:{name:_s.value}},superTypes:[]},NegatedToken:{name:oo.$type,properties:{cardinality:{name:oo.cardinality},lookahead:{name:oo.lookahead},parenthesized:{name:oo.parenthesized,defaultValue:!1},terminal:{name:oo.terminal}},superTypes:[tr.$type]},Negation:{name:bf.$type,properties:{value:{name:bf.value}},superTypes:[di.$type]},NumberLiteral:{name:Af.$type,properties:{value:{name:Af.value}},superTypes:[mo.$type]},Parameter:{name:Es.$type,properties:{name:{name:Es.name}},superTypes:[]},ParameterReference:{name:If.$type,properties:{parameter:{name:If.parameter,referenceType:Es.$type}},superTypes:[di.$type]},ParserRule:{name:Mr.$type,properties:{dataType:{name:Mr.dataType},definition:{name:Mr.definition},entry:{name:Mr.entry,defaultValue:!1},fragment:{name:Mr.fragment,defaultValue:!1},inferredType:{name:Mr.inferredType},name:{name:Mr.name},parameters:{name:Mr.parameters,defaultValue:[]},returnType:{name:Mr.returnType,referenceType:fr.$type}},superTypes:[Oc.$type]},ReferenceType:{name:Fc.$type,properties:{isMulti:{name:Fc.isMulti,defaultValue:!1},referenceType:{name:Fc.referenceType}},superTypes:[po.$type]},RegexToken:{name:so.$type,properties:{cardinality:{name:so.cardinality},lookahead:{name:so.lookahead},parenthesized:{name:so.parenthesized,defaultValue:!1},regex:{name:so.regex}},superTypes:[tr.$type]},ReturnType:{name:Sf.$type,properties:{name:{name:Sf.name}},superTypes:[]},RuleCall:{name:ao.$type,properties:{arguments:{name:ao.arguments,defaultValue:[]},cardinality:{name:ao.cardinality},predicate:{name:ao.predicate},rule:{name:ao.rule,referenceType:ys.$type}},superTypes:[er.$type]},SimpleType:{name:vs.$type,properties:{primitiveType:{name:vs.primitiveType},stringType:{name:vs.stringType},typeRef:{name:vs.typeRef,referenceType:fr.$type}},superTypes:[po.$type]},StringLiteral:{name:kf.$type,properties:{value:{name:kf.value}},superTypes:[mo.$type]},TerminalAlternatives:{name:co.$type,properties:{cardinality:{name:co.cardinality},elements:{name:co.elements,defaultValue:[]},lookahead:{name:co.lookahead},parenthesized:{name:co.parenthesized,defaultValue:!1}},superTypes:[tr.$type]},TerminalElement:{name:tr.$type,properties:{cardinality:{name:tr.cardinality},lookahead:{name:tr.lookahead},parenthesized:{name:tr.parenthesized,defaultValue:!1}},superTypes:[er.$type]},TerminalGroup:{name:lo.$type,properties:{cardinality:{name:lo.cardinality},elements:{name:lo.elements,defaultValue:[]},lookahead:{name:lo.lookahead},parenthesized:{name:lo.parenthesized,defaultValue:!1}},superTypes:[tr.$type]},TerminalRule:{name:kn.$type,properties:{definition:{name:kn.definition},fragment:{name:kn.fragment,defaultValue:!1},hidden:{name:kn.hidden,defaultValue:!1},name:{name:kn.name},type:{name:kn.type}},superTypes:[ys.$type]},TerminalRuleCall:{name:uo.$type,properties:{cardinality:{name:uo.cardinality},lookahead:{name:uo.lookahead},parenthesized:{name:uo.parenthesized,defaultValue:!1},rule:{name:uo.rule,referenceType:kn.$type}},superTypes:[tr.$type]},Type:{name:Uc.$type,properties:{name:{name:Uc.name},type:{name:Uc.type}},superTypes:[fr.$type]},TypeAttribute:{name:fo.$type,properties:{defaultValue:{name:fo.defaultValue},isOptional:{name:fo.isOptional,defaultValue:!1},name:{name:fo.name},type:{name:fo.type}},superTypes:[]},TypeDefinition:{name:po.$type,properties:{},superTypes:[]},UnionType:{name:Nf.$type,properties:{types:{name:Nf.types,defaultValue:[]}},superTypes:[po.$type]},UnorderedGroup:{name:Bc.$type,properties:{cardinality:{name:Bc.cardinality},elements:{name:Bc.elements,defaultValue:[]}},superTypes:[er.$type]},UntilToken:{name:ho.$type,properties:{cardinality:{name:ho.cardinality},lookahead:{name:ho.lookahead},parenthesized:{name:ho.parenthesized,defaultValue:!1},terminal:{name:ho.terminal}},superTypes:[tr.$type]},ValueLiteral:{name:mo.$type,properties:{},superTypes:[]},Wildcard:{name:ws.$type,properties:{cardinality:{name:ws.cardinality},lookahead:{name:ws.lookahead},parenthesized:{name:ws.parenthesized,defaultValue:!1}},superTypes:[tr.$type]}}}},ne=new Rs;function kO(t){let e=t,r=!1;for(;e;){let n=In(e.grammarSource,kt);if(n&&n.dataType)e=e.container,r=!0;else return r?e:void 0}}function go(t){return new nn(t,e=>Dr(e)?e.content:[],{includeRoot:!0})}function NO(t){return go(t).filter(si)}function Km(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function bs(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function yo(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var sn;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(sn||(sn={}));function x0(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return sn.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return sn.After;let r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return r&&n?sn.Inside:r?sn.OverlapBack:n?sn.OverlapFront:sn.Outside}function Nm(t,e){return x0(t,e)>sn.After}var $f=/^[\w\p{L}]$/u;function CO(t,e,r=$f){if(t){if(e>0){let n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return Jm(t,e)}}function Zm(t,e){if(t){let r=E0(t,!0);if(r&&Ym(r,e))return r;if(Cc(t)){let n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let o=t.content[i];if(Ym(o,e))return o}}}}function Ym(t,e){return si(t)&&e.includes(t.tokenType.name)}function Jm(t,e){if(si(t))return t;if(Dr(t)){let r=_0(t,e,!1);if(r)return Jm(r,e)}}function T0(t,e){if(si(t))return t;if(Dr(t)){let r=_0(t,e,!0);if(r)return T0(r,e)}}function _0(t,e,r){let n=0,i=t.content.length-1,o;for(;n<=i;){let s=Math.floor((n+i)/2),a=t.content[s];if(a.offset<=e&&a.end>e)return a;a.end<=e?(o=r?a:void 0,n=s+1):i=s-1}return o}function E0(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t);for(;n>0;){n--;let i=r.content[n];if(e||!i.hidden)return i}t=r}}function PO(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t),i=r.content.length-1;for(;n<i;){n++;let o=r.content[n];if(e||!o.hidden)return o}t=r}}function OO(t){if(t.range.start.character===0)return t;let e=t.range.start.line,r=t,n;for(;t.container;){let i=t.container,o=n??i.content.indexOf(t);if(o===0?(t=i,n=void 0):(n=o-1,t=i.content[n]),t.range.start.line!==e)break;r=t}return r}function LO(t,e){let r=DO(t,e);return r?r.parent.content.slice(r.a+1,r.b):[]}function DO(t,e){let r=y0(t),n=y0(e),i;for(let o=0;o<r.length&&o<n.length;o++){let s=r[o],a=n[o];if(s.parent===a.parent)i={parent:s.parent,a:s.index,b:a.index};else break}return i}function y0(t){let e=[];for(;t.container;){let r=t.container,n=r.content.indexOf(t);e.push({parent:r,index:n}),t=r}return e.reverse()}var ks={};rn(ks,{findAssignment:()=>pg,findNameAssignment:()=>Gf,findNodeForKeyword:()=>fg,findNodeForProperty:()=>Yc,findNodesForKeyword:()=>BO,findNodesForKeywordInternal:()=>dg,findNodesForProperty:()=>lg,getActionAtElement:()=>N0,getActionType:()=>P0,getAllReachableRules:()=>Vc,getAllRulesUsedForCrossReferences:()=>UO,getCrossReferenceTerminal:()=>ag,getEntryRule:()=>A0,getExplicitRuleType:()=>Xf,getHiddenRules:()=>I0,getRuleType:()=>hg,getRuleTypeName:()=>jO,getTypeName:()=>yi,isArrayCardinality:()=>XO,isArrayOperator:()=>HO,isCommentTerminal:()=>cg,isDataType:()=>zO,isDataTypeRule:()=>Kc,isOptionalCardinality:()=>GO,terminalRegex:()=>Is});var xo=class extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};function an(t,e="Error: Got unexpected value."){throw new Error(e)}function v0(t,e="Error: Condition is violated."){if(!t)throw new Error(e)}var Bf={};rn(Bf,{NEWLINE_REGEXP:()=>rg,escapeRegExp:()=>gi,getTerminalParts:()=>FO,isMultilineComment:()=>ng,isWhitespace:()=>Wc,partialMatches:()=>ig,partialRegExp:()=>b0,whitespaceCharacters:()=>R0});function se(t){return t.charCodeAt(0)}function Ff(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function As(t,e){if(t[e]===!0)throw"duplicate flag "+e;let r=t[e];t[e]=!0}function To(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function zc(){throw Error("Internal Error - Should never get here!")}function Qm(t){return t.type==="Character"}var jc=[];for(let t=se("0");t<=se("9");t++)jc.push(t);var qc=[se("_")].concat(jc);for(let t=se("a");t<=se("z");t++)qc.push(t);for(let t=se("A");t<=se("Z");t++)qc.push(t);var eg=[se(" "),se("\f"),se(`
37
- `),se("\r"),se(" "),se("\v"),se(" "),se("\xA0"),se("\u1680"),se("\u2000"),se("\u2001"),se("\u2002"),se("\u2003"),se("\u2004"),se("\u2005"),se("\u2006"),se("\u2007"),se("\u2008"),se("\u2009"),se("\u200A"),se("\u2028"),se("\u2029"),se("\u202F"),se("\u205F"),se("\u3000"),se("\uFEFF")];var $O=/[0-9a-fA-F]/,Uf=/[0-9]/,MO=/[1-9]/,_o=class{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let r=this.disjunction();this.consumeChar("/");let n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":As(n,"global");break;case"i":As(n,"ignoreCase");break;case"m":As(n,"multiLine");break;case"u":As(n,"unicode");break;case"y":As(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){let e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){let e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}To(r);let n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return zc()}quantifier(e=!1){let r,n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":let i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let o;this.isDigit()?(o=this.integerIncludingZero(),r={atLeast:i,atMost:o}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;To(r);break}if(!(e===!0&&r===void 0)&&To(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e,r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),To(e)?(e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):zc()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[se(`
38
- `),se("\r"),se("\u2028"),se("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=jc;break;case"D":e=jc,r=!0;break;case"s":e=eg;break;case"S":e=eg,r=!0;break;case"w":e=qc;break;case"W":e=qc,r=!0;break}return To(e)?{type:"Set",value:e,complement:r}:zc()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=se("\f");break;case"n":e=se(`
39
- `);break;case"r":e=se("\r");break;case"t":e=se(" ");break;case"v":e=se("\v");break}return To(e)?{type:"Character",value:e}:zc()}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:se("\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:se(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
40
- `:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:se(e)}}}characterClass(){let e=[],r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){let n=this.classAtom(),i=n.type==="Character";if(Qm(n)&&this.isRangeDash()){this.consumeChar("-");let o=this.classAtom(),s=o.type==="Character";if(Qm(o)){if(o.value<n.value)throw Error("Range out of order in character class");e.push({from:n.value,to:o.value})}else Ff(n.value,e),e.push(se("-")),Ff(o.value,e)}else Ff(n.value,e)}return this.consumeChar("]"),{type:"Set",complement:r,value:e}}classAtom(){switch(this.peekChar()){case"]":case`
41
- `: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:se("\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;this.consumeChar("("),this.peekChar(0)==="?"?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;let r=this.disjunction();this.consumeChar(")");let n={type:"Group",capturing:e,value:r};return e&&(n.idx=this.groupIdx),n}positiveInteger(){let e=this.popChar();if(MO.test(e)===!1)throw Error("Expecting a positive integer");for(;Uf.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(Uf.test(e)===!1)throw Error("Expecting an integer");for(;Uf.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let e=this.popChar();switch(e){case`
42
- `: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:se(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 Uf.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case`
6
+ `&&i++}n&&r.length>0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return Ie.create(0,e);for(;n<i;){let s=Math.floor((n+i)/2);r[s]>e?i=s:n=s+1}let o=n-1;return Ie.create(o,e-r[o])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1<r.length?r[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,i),n)}get lineCount(){return this.getLineOffsets().length}};(function(t){let e=Object.prototype.toString;function r(p){return typeof p<"u"}t.defined=r;function n(p){return typeof p>"u"}t.undefined=n;function i(p){return p===!0||p===!1}t.boolean=i;function o(p){return e.call(p)==="[object String]"}t.string=o;function s(p){return e.call(p)==="[object Number]"}t.number=s;function a(p,m,y){return e.call(p)==="[object Number]"&&m<=p&&p<=y}t.numberRange=a;function c(p){return e.call(p)==="[object Number]"&&-2147483648<=p&&p<=2147483647}t.integer=c;function l(p){return e.call(p)==="[object Number]"&&0<=p&&p<=2147483647}t.uinteger=l;function u(p){return e.call(p)==="[object Function]"}t.func=u;function f(p){return p!==null&&typeof p=="object"}t.objectLiteral=f;function d(p,m){return Array.isArray(p)&&p.every(m)}t.typedArray=d})(b||(b={}))});var Ls=he(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});kn.boolean=fF;kn.string=Sw;kn.number=dF;kn.error=pF;kn.func=hF;kn.array=Aw;kn.stringArray=mF;function fF(t){return t===!0||t===!1}function Sw(t){return typeof t=="string"||t instanceof String}function dF(t){return typeof t=="number"||t instanceof Number}function pF(t){return t instanceof Error}function hF(t){return typeof t=="function"}function Aw(t){return Array.isArray(t)}function mF(t){return Aw(t)&&t.every(e=>Sw(e))}});var Iy=he(te=>{"use strict";var gF=te&&te.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),yF=te&&te.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),xF=te&&te.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),i=0;i<n.length;i++)n[i]!=="default"&&gF(r,e,n[i]);return yF(r,e),r}})();Object.defineProperty(te,"__esModule",{value:!0});te.Message=te.NotificationType9=te.NotificationType8=te.NotificationType7=te.NotificationType6=te.NotificationType5=te.NotificationType4=te.NotificationType3=te.NotificationType2=te.NotificationType1=te.NotificationType0=te.NotificationType=te.RequestType9=te.RequestType8=te.RequestType7=te.RequestType6=te.RequestType5=te.RequestType4=te.RequestType3=te.RequestType2=te.RequestType1=te.RequestType=te.RequestType0=te.AbstractMessageSignature=te.ParameterStructures=te.ResponseError=te.ErrorCodes=void 0;var po=xF(Ls()),iy;(function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3})(iy||(te.ErrorCodes=iy={}));var oy=class t extends Error{constructor(r,n,i){super(n);R(this,"code");R(this,"data");this.code=po.number(r)?r:iy.UnknownErrorCode,this.data=i,Object.setPrototypeOf(this,t.prototype)}toJson(){let r={code:this.code,message:this.message};return this.data!==void 0&&(r.data=this.data),r}};te.ResponseError=oy;var kr=class kr{constructor(e){R(this,"kind");this.kind=e}static is(e){return e===kr.auto||e===kr.byName||e===kr.byPosition}toString(){return this.kind}};R(kr,"auto",new kr("auto")),R(kr,"byPosition",new kr("byPosition")),R(kr,"byName",new kr("byName"));var xi=kr;te.ParameterStructures=xi;var tt=class{constructor(e,r){R(this,"method");R(this,"numberOfParams");this.method=e,this.numberOfParams=r}get parameterStructures(){return xi.auto}};te.AbstractMessageSignature=tt;var sy=class extends tt{constructor(r){super(r,0);R(this,"_")}};te.RequestType0=sy;var ay=class extends tt{constructor(r,n=xi.auto){super(r,1);R(this,"_parameterStructures");R(this,"_");this._parameterStructures=n}get parameterStructures(){return this._parameterStructures}};te.RequestType=ay;var cy=class extends tt{constructor(r,n=xi.auto){super(r,1);R(this,"_parameterStructures");R(this,"_");this._parameterStructures=n}get parameterStructures(){return this._parameterStructures}};te.RequestType1=cy;var ly=class extends tt{constructor(r){super(r,2);R(this,"_")}};te.RequestType2=ly;var uy=class extends tt{constructor(r){super(r,3);R(this,"_")}};te.RequestType3=uy;var fy=class extends tt{constructor(r){super(r,4);R(this,"_")}};te.RequestType4=fy;var dy=class extends tt{constructor(r){super(r,5);R(this,"_")}};te.RequestType5=dy;var py=class extends tt{constructor(r){super(r,6);R(this,"_")}};te.RequestType6=py;var hy=class extends tt{constructor(r){super(r,7);R(this,"_")}};te.RequestType7=hy;var my=class extends tt{constructor(r){super(r,8);R(this,"_")}};te.RequestType8=my;var gy=class extends tt{constructor(r){super(r,9);R(this,"_")}};te.RequestType9=gy;var yy=class extends tt{constructor(r,n=xi.auto){super(r,1);R(this,"_parameterStructures");R(this,"_");this._parameterStructures=n}get parameterStructures(){return this._parameterStructures}};te.NotificationType=yy;var xy=class extends tt{constructor(r){super(r,0);R(this,"_")}};te.NotificationType0=xy;var Ty=class extends tt{constructor(r,n=xi.auto){super(r,1);R(this,"_parameterStructures");R(this,"_");this._parameterStructures=n}get parameterStructures(){return this._parameterStructures}};te.NotificationType1=Ty;var _y=class extends tt{constructor(r){super(r,2);R(this,"_")}};te.NotificationType2=_y;var Ey=class extends tt{constructor(r){super(r,3);R(this,"_")}};te.NotificationType3=Ey;var vy=class extends tt{constructor(r){super(r,4);R(this,"_")}};te.NotificationType4=vy;var by=class extends tt{constructor(r){super(r,5);R(this,"_")}};te.NotificationType5=by;var wy=class extends tt{constructor(r){super(r,6);R(this,"_")}};te.NotificationType6=wy;var Ry=class extends tt{constructor(r){super(r,7);R(this,"_")}};te.NotificationType7=Ry;var Sy=class extends tt{constructor(r){super(r,8);R(this,"_")}};te.NotificationType8=Sy;var Ay=class extends tt{constructor(r){super(r,9);R(this,"_")}};te.NotificationType9=Ay;var Iw;(function(t){function e(i){let o=i;return o&&po.string(o.method)&&(po.string(o.id)||po.number(o.id))}t.isRequest=e;function r(i){let o=i;return o&&po.string(o.method)&&i.id===void 0}t.isNotification=r;function n(i){let o=i;return o&&(o.result!==void 0||!!o.error)&&(po.string(o.id)||po.number(o.id)||o.id===null)}t.isResponse=n})(Iw||(te.Message=Iw={}))});var Ny=he(Ti=>{"use strict";Object.defineProperty(Ti,"__esModule",{value:!0});Ti.LRUCache=Ti.LinkedMap=Ti.Touch=void 0;var Ct;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(Ct||(Ti.Touch=Ct={}));var kw,Jf=class{constructor(){R(this,kw,"LinkedMap");R(this,"_map");R(this,"_head");R(this,"_tail");R(this,"_size");R(this,"_state");this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}before(e){let r=this._map.get(e);return r?r.previous?.value:void 0}after(e){let r=this._map.get(e);return r?r.next?.value:void 0}has(e){return this._map.has(e)}get(e,r=Ct.None){let n=this._map.get(e);if(n)return r!==Ct.None&&this.touch(n,r),n.value}set(e,r,n=Ct.None){let i=this._map.get(e);if(i)i.value=r,n!==Ct.None&&this.touch(i,n);else{switch(i={key:e,value:r,next:void 0,previous:void 0},n){case Ct.None:this.addItemLast(i);break;case Ct.First:this.addItemFirst(i);break;case Ct.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let r=this._map.get(e);if(r)return this._map.delete(e),this.removeItem(r),this._size--,r.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,r){let n=this._state,i=this._head;for(;i;){if(r?e.bind(r)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.key,done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}values(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.value,done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}entries(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:[r.key,r.value],done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}[(kw=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let r=this._head,n=this.size;for(;r&&n>e;)this._map.delete(r.key),r=r.next,n--;this._head=r,this._size=n,r&&(r.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let r=e.next,n=e.previous;if(!r||!n)throw new Error("Invalid list");r.previous=n,n.next=r}e.next=void 0,e.previous=void 0,this._state++}touch(e,r){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(r!==Ct.First&&r!==Ct.Last)){if(r===Ct.First){if(e===this._head)return;let n=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(n.previous=i,i.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(r===Ct.Last){if(e===this._tail)return;let n=e.next,i=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=i,i.next=n),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((r,n)=>{e.push([n,r])}),e}fromJSON(e){this.clear();for(let[r,n]of e)this.set(r,n)}};Ti.LinkedMap=Jf;var ky=class extends Jf{constructor(r,n=1){super();R(this,"_limit");R(this,"_ratio");this._limit=r,this._ratio=Math.min(Math.max(0,n),1)}get limit(){return this._limit}set limit(r){this._limit=r,this.checkTrim()}get ratio(){return this._ratio}set ratio(r){this._ratio=Math.min(Math.max(0,r),1),this.checkTrim()}get(r,n=Ct.AsNew){return super.get(r,n)}peek(r){return super.get(r,Ct.None)}set(r,n){return super.set(r,n,Ct.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};Ti.LRUCache=ky});var Pw=he(Qf=>{"use strict";Object.defineProperty(Qf,"__esModule",{value:!0});Qf.Disposable=void 0;var Nw;(function(t){function e(r){return{dispose:r}}t.create=e})(Nw||(Qf.Disposable=Nw={}))});var _i=he(Oy=>{"use strict";Object.defineProperty(Oy,"__esModule",{value:!0});var Py;function Cy(){if(Py===void 0)throw new Error("No runtime abstraction layer installed");return Py}(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");Py=r}t.install=e})(Cy||(Cy={}));Oy.default=Cy});var Ds=he(Ei=>{"use strict";var TF=Ei&&Ei.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ei,"__esModule",{value:!0});Ei.Emitter=Ei.Event=void 0;var _F=TF(_i()),Cw;(function(t){let e={dispose(){}};t.None=function(){return e}})(Cw||(Ei.Event=Cw={}));var Ly=class{constructor(){R(this,"_callbacks");R(this,"_contexts")}add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,r)})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,o=this._callbacks.length;i<o;i++)if(this._callbacks[i]===e)if(this._contexts[i]===r){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else n=!0;if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let r=[],n=this._callbacks.slice(0),i=this._contexts.slice(0);for(let o=0,s=n.length;o<s;o++)try{r.push(n[o].apply(i[o],e))}catch(a){(0,_F.default)().console.error(a)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},ed=class ed{constructor(e){R(this,"_options");R(this,"_event");R(this,"_callbacks");this._options=e}get event(){return this._event||(this._event=(e,r,n)=>{this._callbacks||(this._callbacks=new Ly),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=ed._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};R(ed,"_noop",function(){});var Dy=ed;Ei.Emitter=Dy});var nd=he(Yt=>{"use strict";var EF=Yt&&Yt.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),vF=Yt&&Yt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),bF=Yt&&Yt.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),i=0;i<n.length;i++)n[i]!=="default"&&EF(r,e,n[i]);return vF(r,e),r}})(),wF=Yt&&Yt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Yt,"__esModule",{value:!0});Yt.CancellationTokenSource=Yt.CancellationToken=void 0;var RF=wF(_i()),SF=bF(Ls()),My=Ds(),td;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:My.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:My.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||SF.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}t.is=e})(td||(Yt.CancellationToken=td={}));var AF=Object.freeze(function(t,e){let r=(0,RF.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),rd=class{constructor(){R(this,"_isCancelled",!1);R(this,"_emitter")}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?AF:(this._emitter||(this._emitter=new My.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},$y=class{constructor(){R(this,"_token")}get token(){return this._token||(this._token=new rd),this._token}cancel(){this._token?this._token.cancel():this._token=td.Cancelled}dispose(){this._token?this._token instanceof rd&&this._token.dispose():this._token=td.None}};Yt.CancellationTokenSource=$y});var Ow=he(Ms=>{"use strict";Object.defineProperty(Ms,"__esModule",{value:!0});Ms.SharedArrayReceiverStrategy=Ms.SharedArraySenderStrategy=void 0;var IF=nd(),Wc;(function(t){t.Continue=0,t.Cancelled=1})(Wc||(Wc={}));var Fy=class{constructor(){R(this,"buffers");this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let r=new SharedArrayBuffer(4),n=new Int32Array(r,0,1);n[0]=Wc.Continue,this.buffers.set(e.id,r),e.$cancellationData=r}async sendCancellation(e,r){let n=this.buffers.get(r);if(n===void 0)return;let i=new Int32Array(n,0,1);Atomics.store(i,0,Wc.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};Ms.SharedArraySenderStrategy=Fy;var Uy=class{constructor(e){R(this,"data");this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===Wc.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},By=class{constructor(e){R(this,"token");this.token=new Uy(e)}cancel(){}dispose(){}},Gy=class{constructor(){R(this,"kind","request")}createCancellationTokenSource(e){let r=e.$cancellationData;return r===void 0?new IF.CancellationTokenSource:new By(r)}};Ms.SharedArrayReceiverStrategy=Gy});var Hy=he($s=>{"use strict";var kF=$s&&$s.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty($s,"__esModule",{value:!0});$s.Semaphore=void 0;var NF=kF(_i()),Xy=class{constructor(e=1){R(this,"_capacity");R(this,"_active");R(this,"_waiting");if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((r,n)=>{this._waiting.push({thunk:e,resolve:r,reject:n}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,NF.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("Too many thunks active");try{let r=e.thunk();r instanceof Promise?r.then(n=>{this._active--,e.resolve(n),this.runNext()},n=>{this._active--,e.reject(n),this.runNext()}):(this._active--,e.resolve(r),this.runNext())}catch(r){this._active--,e.reject(r),this.runNext()}}};$s.Semaphore=Xy});var Dw=he(Ot=>{"use strict";var PF=Ot&&Ot.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),CF=Ot&&Ot.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),OF=Ot&&Ot.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),i=0;i<n.length;i++)n[i]!=="default"&&PF(r,e,n[i]);return CF(r,e),r}})(),LF=Ot&&Ot.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ot,"__esModule",{value:!0});Ot.ReadableStreamMessageReader=Ot.AbstractMessageReader=Ot.MessageReader=void 0;var zy=LF(_i()),Fs=OF(Ls()),jy=Ds(),DF=Hy(),Lw;(function(t){function e(r){let n=r;return n&&Fs.func(n.listen)&&Fs.func(n.dispose)&&Fs.func(n.onError)&&Fs.func(n.onClose)&&Fs.func(n.onPartialMessage)}t.is=e})(Lw||(Ot.MessageReader=Lw={}));var id=class{constructor(){R(this,"errorEmitter");R(this,"closeEmitter");R(this,"partialMessageEmitter");this.errorEmitter=new jy.Emitter,this.closeEmitter=new jy.Emitter,this.partialMessageEmitter=new jy.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose(),this.partialMessageEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${Fs.string(e.message)?e.message:"unknown"}`)}};Ot.AbstractMessageReader=id;var Wy;(function(t){function e(r){let n,i,o,s=new Map,a,c=new Map;if(r===void 0||typeof r=="string")n=r??"utf-8";else{if(n=r.charset??"utf-8",r.contentDecoder!==void 0&&(o=r.contentDecoder,s.set(o.name,o)),r.contentDecoders!==void 0)for(let l of r.contentDecoders)s.set(l.name,l);if(r.contentTypeDecoder!==void 0&&(a=r.contentTypeDecoder,c.set(a.name,a)),r.contentTypeDecoders!==void 0)for(let l of r.contentTypeDecoders)c.set(l.name,l)}return a===void 0&&(a=(0,zy.default)().applicationJson.decoder,c.set(a.name,a)),{charset:n,contentDecoder:o,contentDecoders:s,contentTypeDecoder:a,contentTypeDecoders:c}}t.fromOptions=e})(Wy||(Wy={}));var qy=class extends id{constructor(r,n){super();R(this,"readable");R(this,"options");R(this,"callback");R(this,"nextMessageLength");R(this,"messageToken");R(this,"buffer");R(this,"partialMessageTimer");R(this,"_partialMessageTimeout");R(this,"readSemaphore");this.readable=r,this.options=Wy.fromOptions(n),this.buffer=(0,zy.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new DF.Semaphore(1)}set partialMessageTimeout(r){this._partialMessageTimeout=r}get partialMessageTimeout(){return this._partialMessageTimeout}listen(r){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=r;let n=this.readable.onData(i=>{this.onData(i)});return this.readable.onError(i=>this.fireError(i)),this.readable.onClose(()=>this.fireClose()),n}onData(r){try{for(this.buffer.append(r);;){if(this.nextMessageLength===-1){let i=this.buffer.tryReadHeaders(!0);if(!i)return;let o=i.get("content-length");if(!o){this.fireError(new Error(`Header must provide a Content-Length property.
7
+ ${JSON.stringify(Object.fromEntries(i))}`));return}let s=parseInt(o);if(isNaN(s)){this.fireError(new Error(`Content-Length value must be a number. Got ${o}`));return}this.nextMessageLength=s}let n=this.buffer.tryReadBody(this.nextMessageLength);if(n===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let i=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(n):n,o=await this.options.contentTypeDecoder.decode(i,this.options);this.callback(o)}).catch(i=>{this.fireError(i)})}}catch(n){this.fireError(n)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,zy.default)().timer.setTimeout((r,n)=>{this.partialMessageTimer=void 0,r===this.messageToken&&(this.firePartialMessage({messageToken:r,waitingTime:n}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};Ot.ReadableStreamMessageReader=qy});var Bw=he(Lt=>{"use strict";var MF=Lt&&Lt.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),$F=Lt&&Lt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),FF=Lt&&Lt.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),i=0;i<n.length;i++)n[i]!=="default"&&MF(r,e,n[i]);return $F(r,e),r}})(),UF=Lt&&Lt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Lt,"__esModule",{value:!0});Lt.WriteableStreamMessageWriter=Lt.AbstractMessageWriter=Lt.MessageWriter=void 0;var Mw=UF(_i()),qc=FF(Ls()),BF=Hy(),$w=Ds(),GF="Content-Length: ",Fw=`\r
8
+ `,Uw;(function(t){function e(r){let n=r;return n&&qc.func(n.dispose)&&qc.func(n.onClose)&&qc.func(n.onError)&&qc.func(n.write)}t.is=e})(Uw||(Lt.MessageWriter=Uw={}));var od=class{constructor(){R(this,"errorEmitter");R(this,"closeEmitter");this.errorEmitter=new $w.Emitter,this.closeEmitter=new $w.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,r,n){this.errorEmitter.fire([this.asError(e),r,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${qc.string(e.message)?e.message:"unknown"}`)}};Lt.AbstractMessageWriter=od;var Vy;(function(t){function e(r){return r===void 0||typeof r=="string"?{charset:r??"utf-8",contentTypeEncoder:(0,Mw.default)().applicationJson.encoder}:{charset:r.charset??"utf-8",contentEncoder:r.contentEncoder,contentTypeEncoder:r.contentTypeEncoder??(0,Mw.default)().applicationJson.encoder}}t.fromOptions=e})(Vy||(Vy={}));var Yy=class extends od{constructor(r,n){super();R(this,"writable");R(this,"options");R(this,"errorCount");R(this,"writeSemaphore");this.writable=r,this.options=Vy.fromOptions(n),this.errorCount=0,this.writeSemaphore=new BF.Semaphore(1),this.writable.onError(i=>this.fireError(i)),this.writable.onClose(()=>this.fireClose())}async write(r){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(r,this.options).then(i=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(i):i).then(i=>{let o=[];return o.push(GF,i.byteLength.toString(),Fw),o.push(Fw),this.doWrite(r,o,i)},i=>{throw this.fireError(i),i}))}async doWrite(r,n,i){try{return await this.writable.write(n.join(""),"ascii"),this.writable.write(i)}catch(o){return this.handleError(o,r),Promise.reject(o)}}handleError(r,n){this.errorCount++,this.fireError(r,n,this.errorCount)}end(){this.writable.end()}};Lt.WriteableStreamMessageWriter=Yy});var Gw=he(sd=>{"use strict";Object.defineProperty(sd,"__esModule",{value:!0});sd.AbstractMessageBuffer=void 0;var XF=13,HF=10,jF=`\r
9
+ `,Ky=class{constructor(e="utf-8"){R(this,"_encoding");R(this,"_chunks");R(this,"_totalLength");this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let r=typeof e=="string"?this.fromString(e,this._encoding):e;this._chunks.push(r),this._totalLength+=r.byteLength}tryReadHeaders(e=!1){if(this._chunks.length===0)return;let r=0,n=0,i=0,o=0;e:for(;n<this._chunks.length;){let l=this._chunks[n];for(i=0;i<l.length;){switch(l[i]){case XF:switch(r){case 0:r=1;break;case 2:r=3;break;default:r=0}break;case HF:switch(r){case 1:r=2;break;case 3:r=4,i++;break e;default:r=0}break;default:r=0}i++}o+=l.byteLength,n++}if(r!==4)return;let s=this._read(o+i),a=new Map,c=this.toString(s,"ascii").split(jF);if(c.length<2)return a;for(let l=0;l<c.length-2;l++){let u=c[l],f=u.indexOf(":");if(f===-1)throw new Error(`Message header must separate key and value using ':'
10
+ ${u}`);let d=u.substr(0,f),p=u.substr(f+1).trim();a.set(e?d.toLowerCase():d,p)}return a}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(e===0)return this.emptyBuffer();if(e>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let o=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(o)}if(this._chunks[0].byteLength>e){let o=this._chunks[0],s=this.asNative(o,e);return this._chunks[0]=o.slice(e),this._totalLength-=e,s}let r=this.allocNative(e),n=0,i=0;for(;e>0;){let o=this._chunks[i];if(o.byteLength>e){let s=o.slice(0,e);r.set(s,n),n+=e,this._chunks[i]=o.slice(e),this._totalLength-=e,e-=e}else r.set(o,n),n+=o.byteLength,this._chunks.shift(),this._totalLength-=o.byteLength,e-=o.byteLength}return r}};sd.AbstractMessageBuffer=Ky});var zw=he(ie=>{"use strict";var zF=ie&&ie.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),WF=ie&&ie.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),qF=ie&&ie.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),i=0;i<n.length;i++)n[i]!=="default"&&zF(r,e,n[i]);return WF(r,e),r}})(),VF=ie&&ie.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ie,"__esModule",{value:!0});ie.ConnectionOptions=ie.MessageStrategy=ie.CancellationStrategy=ie.CancellationSenderStrategy=ie.CancellationReceiverStrategy=ie.RequestCancellationReceiverStrategy=ie.IdCancellationReceiverStrategy=ie.ConnectionStrategy=ie.ConnectionError=ie.ConnectionErrors=ie.LogTraceNotification=ie.SetTraceNotification=ie.TraceFormat=ie.TraceValues=ie.TraceValue=ie.Trace=ie.NullLogger=ie.ProgressType=ie.ProgressToken=void 0;ie.createMessageConnection=YF;var Xw=VF(_i()),lt=qF(Ls()),fe=Iy(),Hw=Ny(),Vc=Ds(),Zy=nd(),Zc;(function(t){t.type=new fe.NotificationType("$/cancelRequest")})(Zc||(Zc={}));var Jy;(function(t){function e(r){return typeof r=="string"||typeof r=="number"}t.is=e})(Jy||(ie.ProgressToken=Jy={}));var Yc;(function(t){t.type=new fe.NotificationType("$/progress")})(Yc||(Yc={}));var Qy=class{constructor(){R(this,"__");R(this,"_pr")}};ie.ProgressType=Qy;var ex;(function(t){function e(r){return lt.func(r)}t.is=e})(ex||(ex={}));ie.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var Oe;(function(t){t[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose"})(Oe||(ie.Trace=Oe={}));var tx;(function(t){t.Off="off",t.Messages="messages",t.Compact="compact",t.Verbose="verbose"})(tx||(ie.TraceValue=tx={}));ie.TraceValues=tx;(function(t){function e(n){if(!lt.string(n))return t.Off;switch(n=n.toLowerCase(),n){case"off":return t.Off;case"messages":return t.Messages;case"compact":return t.Compact;case"verbose":return t.Verbose;default:return t.Off}}t.fromString=e;function r(n){switch(n){case t.Off:return"off";case t.Messages:return"messages";case t.Compact:return"compact";case t.Verbose:return"verbose";default:return"off"}}t.toString=r})(Oe||(ie.Trace=Oe={}));var or;(function(t){t.Text="text",t.JSON="json"})(or||(ie.TraceFormat=or={}));(function(t){function e(r){return lt.string(r)?(r=r.toLowerCase(),r==="json"?t.JSON:t.Text):t.Text}t.fromString=e})(or||(ie.TraceFormat=or={}));var rx;(function(t){t.type=new fe.NotificationType("$/setTrace")})(rx||(ie.SetTraceNotification=rx={}));var ad;(function(t){t.type=new fe.NotificationType("$/logTrace")})(ad||(ie.LogTraceNotification=ad={}));var Kc;(function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"})(Kc||(ie.ConnectionErrors=Kc={}));var Us=class t extends Error{constructor(r,n){super(n);R(this,"code");this.code=r,Object.setPrototypeOf(this,t.prototype)}};ie.ConnectionError=Us;var nx;(function(t){function e(r){let n=r;return n&&lt.func(n.cancelUndispatched)}t.is=e})(nx||(ie.ConnectionStrategy=nx={}));var cd;(function(t){function e(r){let n=r;return n&&(n.kind===void 0||n.kind==="id")&&lt.func(n.createCancellationTokenSource)&&(n.dispose===void 0||lt.func(n.dispose))}t.is=e})(cd||(ie.IdCancellationReceiverStrategy=cd={}));var ix;(function(t){function e(r){let n=r;return n&&n.kind==="request"&&lt.func(n.createCancellationTokenSource)&&(n.dispose===void 0||lt.func(n.dispose))}t.is=e})(ix||(ie.RequestCancellationReceiverStrategy=ix={}));var ld;(function(t){t.Message=Object.freeze({createCancellationTokenSource(r){return new Zy.CancellationTokenSource}});function e(r){return cd.is(r)||ix.is(r)}t.is=e})(ld||(ie.CancellationReceiverStrategy=ld={}));var ud;(function(t){t.Message=Object.freeze({sendCancellation(r,n){return r.sendNotification(Zc.type,{id:n})},cleanup(r){}});function e(r){let n=r;return n&&lt.func(n.sendCancellation)&&lt.func(n.cleanup)}t.is=e})(ud||(ie.CancellationSenderStrategy=ud={}));var fd;(function(t){t.Message=Object.freeze({receiver:ld.Message,sender:ud.Message});function e(r){let n=r;return n&&ld.is(n.receiver)&&ud.is(n.sender)}t.is=e})(fd||(ie.CancellationStrategy=fd={}));var dd;(function(t){function e(r){let n=r;return n&&lt.func(n.handleMessage)}t.is=e})(dd||(ie.MessageStrategy=dd={}));var jw;(function(t){function e(r){let n=r;return n&&(fd.is(n.cancellationStrategy)||nx.is(n.connectionStrategy)||dd.is(n.messageStrategy)||lt.number(n.maxParallelism))}t.is=e})(jw||(ie.ConnectionOptions=jw={}));var Nr;(function(t){t[t.New=1]="New",t[t.Listening=2]="Listening",t[t.Closed=3]="Closed",t[t.Disposed=4]="Disposed"})(Nr||(Nr={}));function YF(t,e,r,n){let i=r!==void 0?r:ie.NullLogger,o=0,s=0,a=0,c="2.0",l=n?.maxParallelism??-1,u=0,f,d=new Map,p,m=new Map,y=new Map,E,_=new Hw.LinkedMap,x=new Map,v=new Set,k=new Map,F=Oe.Off,O=or.Text,L,G=Nr.New,H=new Vc.Emitter,oe=new Vc.Emitter,$=new Vc.Emitter,w=new Vc.Emitter,D=new Vc.Emitter,U=n&&n.cancellationStrategy?n.cancellationStrategy:fd.Message;function S(T){}function A(){return G===Nr.Listening}function I(){return G===Nr.Closed}function B(){return G===Nr.Disposed}function z(){(G===Nr.New||G===Nr.Listening)&&(G=Nr.Closed,oe.fire(void 0))}function j(T){H.fire([T,void 0,void 0])}function V(T){H.fire(T)}t.onClose(z),t.onError(j),e.onClose(z),e.onError(V);function K(T){if(T===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+T.toString()}function ue(T){return T===null?"res-unknown-"+(++a).toString():"res-"+T.toString()}function Y(){return"not-"+(++s).toString()}function ne(T,P){fe.Message.isRequest(P)?T.set(K(P.id),P):fe.Message.isResponse(P)?l===-1?T.set(ue(P.id),P):Q(P):T.set(Y(),P)}function Re(){E||_.size===0||l!==-1&&u>=l||(E=(0,Xw.default)().timer.setImmediate(async()=>{if(E=void 0,_.size===0||l!==-1&&u>=l)return;let T=_.shift(),P;try{u++;let X=n?.messageStrategy;dd.is(X)?P=X.handleMessage(T,Se):P=Se(T)}catch(X){i.error(`Processing message queue failed: ${X.toString()}`)}finally{P instanceof Promise?P.then(()=>{u--,Re()}).catch(X=>{i.error(`Processing message queue failed: ${X.toString()}`)}):u--,Re()}}))}async function Se(T){return fe.Message.isRequest(T)?q(T):fe.Message.isNotification(T)?re(T):fe.Message.isResponse(T)?Q(T):M(T)}let $e=T=>{try{if(fe.Message.isNotification(T)&&T.method===Zc.type.method){let P=T.params.id,X=K(P),J=_.get(X);if(fe.Message.isRequest(J)){let Be=n?.connectionStrategy,Ae=Be&&Be.cancelUndispatched?Be.cancelUndispatched(J,S):void 0;if(Ae&&(Ae.error!==void 0||Ae.result!==void 0)){_.delete(X),k.delete(P),Ae.id=J.id,at(Ae,T.method,Date.now()),e.write(Ae).catch(()=>i.error("Sending response for canceled message failed."));return}}let _e=k.get(P);if(_e!==void 0){_e.cancel(),er(T);return}else v.add(P)}ne(_,T)}finally{Re()}};async function q(T){if(B())return Promise.resolve();function P(Ze,ct,He){let Fe={jsonrpc:c,id:T.id};return Ze instanceof fe.ResponseError?Fe.error=Ze.toJson():Fe.result=Ze===void 0?null:Ze,at(Fe,ct,He),e.write(Fe)}function X(Ze,ct,He){let Fe={jsonrpc:c,id:T.id,error:Ze.toJson()};return at(Fe,ct,He),e.write(Fe)}W(T);let J=d.get(T.method),_e,Be;J&&(_e=J.type,Be=J.handler);let Ae=Date.now();if(Be||f){let Ze=T.id??String(Date.now()),ct=cd.is(U.receiver)?U.receiver.createCancellationTokenSource(Ze):U.receiver.createCancellationTokenSource(T);T.id!==null&&v.has(T.id)&&ct.cancel(),T.id!==null&&k.set(Ze,ct);try{let He;if(Be)if(T.params===void 0){if(_e!==void 0&&_e.numberOfParams!==0)return X(new fe.ResponseError(fe.ErrorCodes.InvalidParams,`Request ${T.method} defines ${_e.numberOfParams} params but received none.`),T.method,Ae);He=Be(ct.token)}else if(Array.isArray(T.params)){if(_e!==void 0&&_e.parameterStructures===fe.ParameterStructures.byName)return X(new fe.ResponseError(fe.ErrorCodes.InvalidParams,`Request ${T.method} defines parameters by name but received parameters by position`),T.method,Ae);He=Be(...T.params,ct.token)}else{if(_e!==void 0&&_e.parameterStructures===fe.ParameterStructures.byPosition)return X(new fe.ResponseError(fe.ErrorCodes.InvalidParams,`Request ${T.method} defines parameters by position but received parameters by name`),T.method,Ae);He=Be(T.params,ct.token)}else f&&(He=f(T.method,T.params,ct.token));let Fe=await He;await P(Fe,T.method,Ae)}catch(He){He instanceof fe.ResponseError?await P(He,T.method,Ae):He&&lt.string(He.message)?await X(new fe.ResponseError(fe.ErrorCodes.InternalError,`Request ${T.method} failed with message: ${He.message}`),T.method,Ae):await X(new fe.ResponseError(fe.ErrorCodes.InternalError,`Request ${T.method} failed unexpectedly without providing any details.`),T.method,Ae)}finally{k.delete(Ze)}}else await X(new fe.ResponseError(fe.ErrorCodes.MethodNotFound,`Unhandled method ${T.method}`),T.method,Ae)}function Q(T){if(!B())if(T.id===null)T.error?i.error(`Received response message without id: Error is:
11
+ ${JSON.stringify(T.error,void 0,4)}`):i.error("Received response message without id. No further error information provided.");else{let P=T.id,X=x.get(P);if(Ui(T,X),X!==void 0){x.delete(P);try{if(T.error){let J=T.error;X.reject(new fe.ResponseError(J.code,J.message,J.data))}else if(T.result!==void 0)X.resolve(T.result);else throw new Error("Should never happen.")}catch(J){J.message?i.error(`Response handler '${X.method}' failed with message: ${J.message}`):i.error(`Response handler '${X.method}' failed unexpectedly.`)}}}}async function re(T){if(B())return;let P,X;if(T.method===Zc.type.method){let J=T.params.id;v.delete(J),er(T);return}else{let J=m.get(T.method);J&&(X=J.handler,P=J.type)}if(X||p)try{if(er(T),X)if(T.params===void 0)P!==void 0&&P.numberOfParams!==0&&P.parameterStructures!==fe.ParameterStructures.byName&&i.error(`Notification ${T.method} defines ${P.numberOfParams} params but received none.`),await X();else if(Array.isArray(T.params)){let J=T.params;T.method===Yc.type.method&&J.length===2&&Jy.is(J[0])?await X({token:J[0],value:J[1]}):(P!==void 0&&(P.parameterStructures===fe.ParameterStructures.byName&&i.error(`Notification ${T.method} defines parameters by name but received parameters by position`),P.numberOfParams!==T.params.length&&i.error(`Notification ${T.method} defines ${P.numberOfParams} params but received ${J.length} arguments`)),await X(...J))}else P!==void 0&&P.parameterStructures===fe.ParameterStructures.byPosition&&i.error(`Notification ${T.method} defines parameters by position but received parameters by name`),await X(T.params);else p&&await p(T.method,T.params)}catch(J){J.message?i.error(`Notification handler '${T.method}' failed with message: ${J.message}`):i.error(`Notification handler '${T.method}' failed unexpectedly.`)}else $.fire(T)}function M(T){if(!T){i.error("Received empty message.");return}i.error(`Received message which is neither a response nor a notification message:
12
+ ${JSON.stringify(T,null,4)}`);let P=T;if(lt.string(P.id)||lt.number(P.id)){let X=P.id,J=x.get(X);J&&J.reject(new Error("The received response has neither a result nor an error property."))}}function de(T){if(T!=null)switch(F){case Oe.Verbose:return JSON.stringify(T,null,4);case Oe.Compact:return JSON.stringify(T);default:return}}function pe(T){if(!(F===Oe.Off||!L))if(O===or.Text){let P;(F===Oe.Verbose||F===Oe.Compact)&&T.params&&(P=`Params: ${de(T.params)}`),L.log(`Sending request '${T.method} - (${T.id})'.`,P)}else ur("send-request",T)}function Ne(T){if(!(F===Oe.Off||!L))if(O===or.Text){let P;(F===Oe.Verbose||F===Oe.Compact)&&(T.params?P=`Params: ${de(T.params)}`:P="No parameters provided."),L.log(`Sending notification '${T.method}'.`,P)}else ur("send-notification",T)}function at(T,P,X){if(!(F===Oe.Off||!L))if(O===or.Text){let J;(F===Oe.Verbose||F===Oe.Compact)&&(T.error&&T.error.data?J=`Error data: ${de(T.error.data)}`:T.result?J=`Result: ${de(T.result)}`:T.error===void 0&&(J="No result returned.")),L.log(`Sending response '${P} - (${T.id})'. Processing request took ${Date.now()-X}ms`,J)}else ur("send-response",T)}function W(T){if(!(F===Oe.Off||!L))if(O===or.Text){let P;(F===Oe.Verbose||F===Oe.Compact)&&T.params&&(P=`Params: ${de(T.params)}`),L.log(`Received request '${T.method} - (${T.id})'.`,P)}else ur("receive-request",T)}function er(T){if(!(F===Oe.Off||!L||T.method===ad.type.method))if(O===or.Text){let P;(F===Oe.Verbose||F===Oe.Compact)&&(T.params?P=`Params: ${de(T.params)}`:P="No parameters provided."),L.log(`Received notification '${T.method}'.`,P)}else ur("receive-notification",T)}function Ui(T,P){if(!(F===Oe.Off||!L))if(O===or.Text){let X;if((F===Oe.Verbose||F===Oe.Compact)&&(T.error&&T.error.data?X=`Error data: ${de(T.error.data)}`:T.result?X=`Result: ${de(T.result)}`:T.error===void 0&&(X="No result returned.")),P){let J=T.error?` Request failed: ${T.error.message} (${T.error.code}).`:"";L.log(`Received response '${P.method} - (${T.id})' in ${Date.now()-P.timerStart}ms.${J}`,X)}else L.log(`Received response ${T.id} without active response promise.`,X)}else ur("receive-response",T)}function ur(T,P){if(!L||F===Oe.Off)return;let X={isLSPMessage:!0,type:T,message:P,timestamp:Date.now()};L.log(X)}function jr(){if(I())throw new Us(Kc.Closed,"Connection is closed.");if(B())throw new Us(Kc.Disposed,"Connection is disposed.")}function ye(){if(A())throw new Us(Kc.AlreadyListening,"Connection is already listening")}function Bi(){if(!A())throw new Error("Call listen() first.")}function zr(T){return T===void 0?null:T}function dn(T){if(T!==null)return T}function Er(T){return T!=null&&!Array.isArray(T)&&typeof T=="object"}function Nt(T,P){switch(T){case fe.ParameterStructures.auto:return Er(P)?dn(P):[zr(P)];case fe.ParameterStructures.byName:if(!Er(P))throw new Error("Received parameters by name but param is not an object literal.");return dn(P);case fe.ParameterStructures.byPosition:return[zr(P)];default:throw new Error(`Unknown parameter structure ${T.toString()}`)}}function $t(T,P){let X,J=T.numberOfParams;switch(J){case 0:X=void 0;break;case 1:X=Nt(T.parameterStructures,P[0]);break;default:X=[];for(let _e=0;_e<P.length&&_e<J;_e++)X.push(zr(P[_e]));if(P.length<J)for(let _e=P.length;_e<J;_e++)X.push(null);break}return X}let fr={sendNotification:(T,...P)=>{jr();let X,J;if(lt.string(T)){X=T;let Be=P[0],Ae=0,Ze=fe.ParameterStructures.auto;fe.ParameterStructures.is(Be)&&(Ae=1,Ze=Be);let ct=P.length,He=ct-Ae;switch(He){case 0:J=void 0;break;case 1:J=Nt(Ze,P[Ae]);break;default:if(Ze===fe.ParameterStructures.byName)throw new Error(`Received ${He} parameters for 'by Name' notification parameter structure.`);J=P.slice(Ae,ct).map(Fe=>zr(Fe));break}}else{let Be=P;X=T.method,J=$t(T,Be)}let _e={jsonrpc:c,method:X,params:J};return Ne(_e),e.write(_e).catch(Be=>{throw i.error("Sending notification failed."),Be})},onNotification:(T,P)=>{jr();let X;return lt.func(T)?p=T:P&&(lt.string(T)?(X=T,m.set(T,{type:void 0,handler:P})):(X=T.method,m.set(T.method,{type:T,handler:P}))),{dispose:()=>{X!==void 0?m.get(X)?.handler===P&&m.delete(X):p===T&&(p=void 0)}}},onProgress:(T,P,X)=>{if(y.has(P))throw new Error(`Progress handler for token ${P} already registered`);return y.set(P,X),{dispose:()=>{y.get(P)===X&&y.delete(P)}}},sendProgress:(T,P,X)=>fr.sendNotification(Yc.type,{token:P,value:X}),onUnhandledProgress:w.event,sendRequest:(T,...P)=>{jr(),Bi();function X(Fe,gt){let tr=U.sender.sendCancellation(Fe,gt);tr===void 0?i.log(`Received no promise from cancellation strategy when cancelling id ${gt}`):tr.catch(()=>{i.log(`Sending cancellation messages for id ${gt} failed.`)})}let J,_e,Be;if(lt.string(T)){J=T;let Fe=P[0],gt=P[P.length-1],tr=0,Wr=fe.ParameterStructures.auto;fe.ParameterStructures.is(Fe)&&(tr=1,Wr=Fe);let dr=P.length;Zy.CancellationToken.is(gt)&&(dr=dr-1,Be=gt);let Je=dr-tr;switch(Je){case 0:_e=void 0;break;case 1:_e=Nt(Wr,P[tr]);break;default:if(Wr===fe.ParameterStructures.byName)throw new Error(`Received ${Je} parameters for 'by Name' request parameter structure.`);_e=P.slice(tr,dr).map(pr=>zr(pr));break}}else{let Fe=P;J=T.method,_e=$t(T,Fe);let gt=T.numberOfParams;Be=Zy.CancellationToken.is(Fe[gt])?Fe[gt]:void 0}let Ae=o++,Ze,ct=!1;Be!==void 0&&(Be.isCancellationRequested?ct=!0:Ze=Be.onCancellationRequested(()=>{X(fr,Ae)}));let He={jsonrpc:c,id:Ae,method:J,params:_e};return pe(He),typeof U.sender.enableCancellation=="function"&&U.sender.enableCancellation(He),new Promise(async(Fe,gt)=>{let tr=Je=>{Fe(Je),U.sender.cleanup(Ae),Ze?.dispose()},Wr=Je=>{gt(Je),U.sender.cleanup(Ae),Ze?.dispose()},dr={method:J,timerStart:Date.now(),resolve:tr,reject:Wr};try{x.set(Ae,dr),await e.write(He),ct&&X(fr,Ae)}catch(Je){throw x.delete(Ae),dr.reject(new fe.ResponseError(fe.ErrorCodes.MessageWriteError,Je.message?Je.message:"Unknown reason")),i.error("Sending request failed."),Je}})},onRequest:(T,P)=>{jr();let X=null;return ex.is(T)?(X=void 0,f=T):lt.string(T)?(X=null,P!==void 0&&(X=T,d.set(T,{handler:P,type:void 0}))):P!==void 0&&(X=T.method,d.set(T.method,{type:T,handler:P})),{dispose:()=>{X!==null&&(X!==void 0?d.get(X)?.handler===P&&d.delete(X):f===T&&(f=void 0))}}},hasPendingResponse:()=>x.size>0,trace:async(T,P,X)=>{let J=!1,_e=or.Text;X!==void 0&&(lt.boolean(X)?J=X:(J=X.sendNotification||!1,_e=X.traceFormat||or.Text)),F=T,O=_e,F===Oe.Off?L=void 0:L=P,J&&!I()&&!B()&&await fr.sendNotification(rx.type,{value:Oe.toString(T)})},onError:H.event,onClose:oe.event,onUnhandledNotification:$.event,onDispose:D.event,end:()=>{e.end()},dispose:()=>{if(B())return;G=Nr.Disposed,D.fire(void 0);let T=new fe.ResponseError(fe.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let P of x.values())P.reject(T);x=new Map,k=new Map,v=new Set,_=new Hw.LinkedMap,lt.func(e.dispose)&&e.dispose(),lt.func(t.dispose)&&t.dispose()},listen:()=>{jr(),ye(),G=Nr.Listening,t.listen($e)},inspect:()=>{(0,Xw.default)().console.log("inspect")}};return fr.onNotification(ad.type,T=>{if(F===Oe.Off||!L)return;let P=F===Oe.Verbose||F===Oe.Compact;L.log(T.message,P?T.verbose:void 0)}),fr.onNotification(Yc.type,async T=>{let P=y.get(T.token);P?await P(T.value):w.fire(T)}),fr}});var Bs=he(N=>{"use strict";var KF=N&&N.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(N,"__esModule",{value:!0});N.ProgressType=N.ProgressToken=N.createMessageConnection=N.NullLogger=N.ConnectionOptions=N.ConnectionStrategy=N.AbstractMessageBuffer=N.WriteableStreamMessageWriter=N.AbstractMessageWriter=N.MessageWriter=N.ReadableStreamMessageReader=N.AbstractMessageReader=N.MessageReader=N.SharedArrayReceiverStrategy=N.SharedArraySenderStrategy=N.CancellationToken=N.CancellationTokenSource=N.Emitter=N.Event=N.Disposable=N.LRUCache=N.Touch=N.LinkedMap=N.ParameterStructures=N.NotificationType9=N.NotificationType8=N.NotificationType7=N.NotificationType6=N.NotificationType5=N.NotificationType4=N.NotificationType3=N.NotificationType2=N.NotificationType1=N.NotificationType0=N.NotificationType=N.ErrorCodes=N.ResponseError=N.RequestType9=N.RequestType8=N.RequestType7=N.RequestType6=N.RequestType5=N.RequestType4=N.RequestType3=N.RequestType2=N.RequestType1=N.RequestType0=N.RequestType=N.Message=N.RAL=void 0;N.MessageStrategy=N.CancellationStrategy=N.CancellationSenderStrategy=N.RequestCancellationReceiverStrategy=N.IdCancellationReceiverStrategy=N.CancellationReceiverStrategy=N.ConnectionError=N.ConnectionErrors=N.LogTraceNotification=N.SetTraceNotification=N.TraceFormat=N.TraceValues=N.TraceValue=N.Trace=void 0;var Ke=Iy();Object.defineProperty(N,"Message",{enumerable:!0,get:function(){return Ke.Message}});Object.defineProperty(N,"RequestType",{enumerable:!0,get:function(){return Ke.RequestType}});Object.defineProperty(N,"RequestType0",{enumerable:!0,get:function(){return Ke.RequestType0}});Object.defineProperty(N,"RequestType1",{enumerable:!0,get:function(){return Ke.RequestType1}});Object.defineProperty(N,"RequestType2",{enumerable:!0,get:function(){return Ke.RequestType2}});Object.defineProperty(N,"RequestType3",{enumerable:!0,get:function(){return Ke.RequestType3}});Object.defineProperty(N,"RequestType4",{enumerable:!0,get:function(){return Ke.RequestType4}});Object.defineProperty(N,"RequestType5",{enumerable:!0,get:function(){return Ke.RequestType5}});Object.defineProperty(N,"RequestType6",{enumerable:!0,get:function(){return Ke.RequestType6}});Object.defineProperty(N,"RequestType7",{enumerable:!0,get:function(){return Ke.RequestType7}});Object.defineProperty(N,"RequestType8",{enumerable:!0,get:function(){return Ke.RequestType8}});Object.defineProperty(N,"RequestType9",{enumerable:!0,get:function(){return Ke.RequestType9}});Object.defineProperty(N,"ResponseError",{enumerable:!0,get:function(){return Ke.ResponseError}});Object.defineProperty(N,"ErrorCodes",{enumerable:!0,get:function(){return Ke.ErrorCodes}});Object.defineProperty(N,"NotificationType",{enumerable:!0,get:function(){return Ke.NotificationType}});Object.defineProperty(N,"NotificationType0",{enumerable:!0,get:function(){return Ke.NotificationType0}});Object.defineProperty(N,"NotificationType1",{enumerable:!0,get:function(){return Ke.NotificationType1}});Object.defineProperty(N,"NotificationType2",{enumerable:!0,get:function(){return Ke.NotificationType2}});Object.defineProperty(N,"NotificationType3",{enumerable:!0,get:function(){return Ke.NotificationType3}});Object.defineProperty(N,"NotificationType4",{enumerable:!0,get:function(){return Ke.NotificationType4}});Object.defineProperty(N,"NotificationType5",{enumerable:!0,get:function(){return Ke.NotificationType5}});Object.defineProperty(N,"NotificationType6",{enumerable:!0,get:function(){return Ke.NotificationType6}});Object.defineProperty(N,"NotificationType7",{enumerable:!0,get:function(){return Ke.NotificationType7}});Object.defineProperty(N,"NotificationType8",{enumerable:!0,get:function(){return Ke.NotificationType8}});Object.defineProperty(N,"NotificationType9",{enumerable:!0,get:function(){return Ke.NotificationType9}});Object.defineProperty(N,"ParameterStructures",{enumerable:!0,get:function(){return Ke.ParameterStructures}});var ox=Ny();Object.defineProperty(N,"LinkedMap",{enumerable:!0,get:function(){return ox.LinkedMap}});Object.defineProperty(N,"LRUCache",{enumerable:!0,get:function(){return ox.LRUCache}});Object.defineProperty(N,"Touch",{enumerable:!0,get:function(){return ox.Touch}});var ZF=Pw();Object.defineProperty(N,"Disposable",{enumerable:!0,get:function(){return ZF.Disposable}});var Ww=Ds();Object.defineProperty(N,"Event",{enumerable:!0,get:function(){return Ww.Event}});Object.defineProperty(N,"Emitter",{enumerable:!0,get:function(){return Ww.Emitter}});var qw=nd();Object.defineProperty(N,"CancellationTokenSource",{enumerable:!0,get:function(){return qw.CancellationTokenSource}});Object.defineProperty(N,"CancellationToken",{enumerable:!0,get:function(){return qw.CancellationToken}});var Vw=Ow();Object.defineProperty(N,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return Vw.SharedArraySenderStrategy}});Object.defineProperty(N,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return Vw.SharedArrayReceiverStrategy}});var sx=Dw();Object.defineProperty(N,"MessageReader",{enumerable:!0,get:function(){return sx.MessageReader}});Object.defineProperty(N,"AbstractMessageReader",{enumerable:!0,get:function(){return sx.AbstractMessageReader}});Object.defineProperty(N,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return sx.ReadableStreamMessageReader}});var ax=Bw();Object.defineProperty(N,"MessageWriter",{enumerable:!0,get:function(){return ax.MessageWriter}});Object.defineProperty(N,"AbstractMessageWriter",{enumerable:!0,get:function(){return ax.AbstractMessageWriter}});Object.defineProperty(N,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return ax.WriteableStreamMessageWriter}});var JF=Gw();Object.defineProperty(N,"AbstractMessageBuffer",{enumerable:!0,get:function(){return JF.AbstractMessageBuffer}});var Tt=zw();Object.defineProperty(N,"ConnectionStrategy",{enumerable:!0,get:function(){return Tt.ConnectionStrategy}});Object.defineProperty(N,"ConnectionOptions",{enumerable:!0,get:function(){return Tt.ConnectionOptions}});Object.defineProperty(N,"NullLogger",{enumerable:!0,get:function(){return Tt.NullLogger}});Object.defineProperty(N,"createMessageConnection",{enumerable:!0,get:function(){return Tt.createMessageConnection}});Object.defineProperty(N,"ProgressToken",{enumerable:!0,get:function(){return Tt.ProgressToken}});Object.defineProperty(N,"ProgressType",{enumerable:!0,get:function(){return Tt.ProgressType}});Object.defineProperty(N,"Trace",{enumerable:!0,get:function(){return Tt.Trace}});Object.defineProperty(N,"TraceValue",{enumerable:!0,get:function(){return Tt.TraceValue}});Object.defineProperty(N,"TraceFormat",{enumerable:!0,get:function(){return Tt.TraceFormat}});Object.defineProperty(N,"SetTraceNotification",{enumerable:!0,get:function(){return Tt.SetTraceNotification}});Object.defineProperty(N,"LogTraceNotification",{enumerable:!0,get:function(){return Tt.LogTraceNotification}});Object.defineProperty(N,"ConnectionErrors",{enumerable:!0,get:function(){return Tt.ConnectionErrors}});Object.defineProperty(N,"ConnectionError",{enumerable:!0,get:function(){return Tt.ConnectionError}});Object.defineProperty(N,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return Tt.CancellationReceiverStrategy}});Object.defineProperty(N,"IdCancellationReceiverStrategy",{enumerable:!0,get:function(){return Tt.IdCancellationReceiverStrategy}});Object.defineProperty(N,"RequestCancellationReceiverStrategy",{enumerable:!0,get:function(){return Tt.RequestCancellationReceiverStrategy}});Object.defineProperty(N,"CancellationSenderStrategy",{enumerable:!0,get:function(){return Tt.CancellationSenderStrategy}});Object.defineProperty(N,"CancellationStrategy",{enumerable:!0,get:function(){return Tt.CancellationStrategy}});Object.defineProperty(N,"MessageStrategy",{enumerable:!0,get:function(){return Tt.MessageStrategy}});Object.defineProperty(N,"TraceValues",{enumerable:!0,get:function(){return Tt.TraceValues}});var QF=KF(_i());N.RAL=QF.default});var rt=he(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.CM=Dt.ProtocolNotificationType=Dt.ProtocolNotificationType0=Dt.ProtocolRequestType=Dt.ProtocolRequestType0=Dt.RegistrationType=Dt.MessageDirection=void 0;var Gs=Bs(),Yw;(function(t){t.clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both"})(Yw||(Dt.MessageDirection=Yw={}));var cx=class{constructor(e){R(this,"____");R(this,"method");this.method=e}};Dt.RegistrationType=cx;var lx=class extends Gs.RequestType0{constructor(r){super(r);R(this,"__");R(this,"___");R(this,"____");R(this,"_pr")}};Dt.ProtocolRequestType0=lx;var ux=class extends Gs.RequestType{constructor(r){super(r,Gs.ParameterStructures.byName);R(this,"__");R(this,"___");R(this,"____");R(this,"_pr")}};Dt.ProtocolRequestType=ux;var fx=class extends Gs.NotificationType0{constructor(r){super(r);R(this,"___");R(this,"____")}};Dt.ProtocolNotificationType0=fx;var dx=class extends Gs.NotificationType{constructor(r){super(r,Gs.ParameterStructures.byName);R(this,"___");R(this,"____")}};Dt.ProtocolNotificationType=dx;var Kw;(function(t){function e(r,n){return{client:r,server:n}}t.create=e})(Kw||(Dt.CM=Kw={}))});var pd=he(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.boolean=e2;Pr.string=Zw;Pr.number=t2;Pr.error=r2;Pr.func=n2;Pr.array=Jw;Pr.stringArray=i2;Pr.typedArray=o2;Pr.objectLiteral=s2;function e2(t){return t===!0||t===!1}function Zw(t){return typeof t=="string"||t instanceof String}function t2(t){return typeof t=="number"||t instanceof Number}function r2(t){return t instanceof Error}function n2(t){return typeof t=="function"}function Jw(t){return Array.isArray(t)}function i2(t){return Jw(t)&&t.every(e=>Zw(e))}function o2(t,e){return Array.isArray(t)&&t.every(e)}function s2(t){return t!==null&&typeof t=="object"}});var eR=he(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});hd.ImplementationRequest=void 0;var px=rt(),Qw;(function(t){t.method="textDocument/implementation",t.messageDirection=px.MessageDirection.clientToServer,t.type=new px.ProtocolRequestType(t.method),t.capabilities=px.CM.create("textDocument.implementation","implementationProvider")})(Qw||(hd.ImplementationRequest=Qw={}))});var rR=he(md=>{"use strict";Object.defineProperty(md,"__esModule",{value:!0});md.TypeDefinitionRequest=void 0;var hx=rt(),tR;(function(t){t.method="textDocument/typeDefinition",t.messageDirection=hx.MessageDirection.clientToServer,t.type=new hx.ProtocolRequestType(t.method),t.capabilities=hx.CM.create("textDocument.typeDefinition","typeDefinitionProvider")})(tR||(md.TypeDefinitionRequest=tR={}))});var oR=he(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.DidChangeWorkspaceFoldersNotification=Hs.WorkspaceFoldersRequest=void 0;var Xs=rt(),nR;(function(t){t.method="workspace/workspaceFolders",t.messageDirection=Xs.MessageDirection.serverToClient,t.type=new Xs.ProtocolRequestType0(t.method),t.capabilities=Xs.CM.create("workspace.workspaceFolders","workspace.workspaceFolders")})(nR||(Hs.WorkspaceFoldersRequest=nR={}));var iR;(function(t){t.method="workspace/didChangeWorkspaceFolders",t.messageDirection=Xs.MessageDirection.clientToServer,t.type=new Xs.ProtocolNotificationType(t.method),t.capabilities=Xs.CM.create(void 0,"workspace.workspaceFolders.changeNotifications")})(iR||(Hs.DidChangeWorkspaceFoldersNotification=iR={}))});var aR=he(gd=>{"use strict";Object.defineProperty(gd,"__esModule",{value:!0});gd.ConfigurationRequest=void 0;var mx=rt(),sR;(function(t){t.method="workspace/configuration",t.messageDirection=mx.MessageDirection.serverToClient,t.type=new mx.ProtocolRequestType(t.method),t.capabilities=mx.CM.create("workspace.configuration",void 0)})(sR||(gd.ConfigurationRequest=sR={}))});var uR=he(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.ColorPresentationRequest=zs.DocumentColorRequest=void 0;var js=rt(),cR;(function(t){t.method="textDocument/documentColor",t.messageDirection=js.MessageDirection.clientToServer,t.type=new js.ProtocolRequestType(t.method),t.capabilities=js.CM.create("textDocument.colorProvider","colorProvider")})(cR||(zs.DocumentColorRequest=cR={}));var lR;(function(t){t.method="textDocument/colorPresentation",t.messageDirection=js.MessageDirection.clientToServer,t.type=new js.ProtocolRequestType(t.method),t.capabilities=js.CM.create("textDocument.colorProvider","colorProvider")})(lR||(zs.ColorPresentationRequest=lR={}))});var pR=he(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.FoldingRangeRefreshRequest=qs.FoldingRangeRequest=void 0;var Ws=rt(),fR;(function(t){t.method="textDocument/foldingRange",t.messageDirection=Ws.MessageDirection.clientToServer,t.type=new Ws.ProtocolRequestType(t.method),t.capabilities=Ws.CM.create("textDocument.foldingRange","foldingRangeProvider")})(fR||(qs.FoldingRangeRequest=fR={}));var dR;(function(t){t.method="workspace/foldingRange/refresh",t.messageDirection=Ws.MessageDirection.serverToClient,t.type=new Ws.ProtocolRequestType0(t.method),t.capabilities=Ws.CM.create("workspace.foldingRange.refreshSupport",void 0)})(dR||(qs.FoldingRangeRefreshRequest=dR={}))});var mR=he(yd=>{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});yd.DeclarationRequest=void 0;var gx=rt(),hR;(function(t){t.method="textDocument/declaration",t.messageDirection=gx.MessageDirection.clientToServer,t.type=new gx.ProtocolRequestType(t.method),t.capabilities=gx.CM.create("textDocument.declaration","declarationProvider")})(hR||(yd.DeclarationRequest=hR={}))});var yR=he(xd=>{"use strict";Object.defineProperty(xd,"__esModule",{value:!0});xd.SelectionRangeRequest=void 0;var yx=rt(),gR;(function(t){t.method="textDocument/selectionRange",t.messageDirection=yx.MessageDirection.clientToServer,t.type=new yx.ProtocolRequestType(t.method),t.capabilities=yx.CM.create("textDocument.selectionRange","selectionRangeProvider")})(gR||(xd.SelectionRangeRequest=gR={}))});var ER=he(vi=>{"use strict";Object.defineProperty(vi,"__esModule",{value:!0});vi.WorkDoneProgressCancelNotification=vi.WorkDoneProgressCreateRequest=vi.WorkDoneProgress=void 0;var a2=Bs(),Jc=rt(),xR;(function(t){t.type=new a2.ProgressType;function e(r){return r===t.type}t.is=e})(xR||(vi.WorkDoneProgress=xR={}));var TR;(function(t){t.method="window/workDoneProgress/create",t.messageDirection=Jc.MessageDirection.serverToClient,t.type=new Jc.ProtocolRequestType(t.method),t.capabilities=Jc.CM.create("window.workDoneProgress",void 0)})(TR||(vi.WorkDoneProgressCreateRequest=TR={}));var _R;(function(t){t.method="window/workDoneProgress/cancel",t.messageDirection=Jc.MessageDirection.clientToServer,t.type=new Jc.ProtocolNotificationType(t.method)})(_R||(vi.WorkDoneProgressCancelNotification=_R={}))});var RR=he(bi=>{"use strict";Object.defineProperty(bi,"__esModule",{value:!0});bi.CallHierarchyOutgoingCallsRequest=bi.CallHierarchyIncomingCallsRequest=bi.CallHierarchyPrepareRequest=void 0;var Nn=rt(),vR;(function(t){t.method="textDocument/prepareCallHierarchy",t.messageDirection=Nn.MessageDirection.clientToServer,t.type=new Nn.ProtocolRequestType(t.method),t.capabilities=Nn.CM.create("textDocument.callHierarchy","callHierarchyProvider")})(vR||(bi.CallHierarchyPrepareRequest=vR={}));var bR;(function(t){t.method="callHierarchy/incomingCalls",t.messageDirection=Nn.MessageDirection.clientToServer,t.type=new Nn.ProtocolRequestType(t.method),t.capabilities=Nn.CM.create("textDocument.callHierarchy","callHierarchyProvider")})(bR||(bi.CallHierarchyIncomingCallsRequest=bR={}));var wR;(function(t){t.method="callHierarchy/outgoingCalls",t.messageDirection=Nn.MessageDirection.clientToServer,t.type=new Nn.ProtocolRequestType(t.method),t.capabilities=Nn.CM.create("textDocument.callHierarchy","callHierarchyProvider")})(wR||(bi.CallHierarchyOutgoingCallsRequest=wR={}))});var PR=he(Kt=>{"use strict";Object.defineProperty(Kt,"__esModule",{value:!0});Kt.SemanticTokensRefreshRequest=Kt.SemanticTokensRangeRequest=Kt.SemanticTokensDeltaRequest=Kt.SemanticTokensRequest=Kt.SemanticTokensRegistrationType=Kt.TokenFormat=void 0;var sr=rt(),SR;(function(t){t.Relative="relative"})(SR||(Kt.TokenFormat=SR={}));var Qc;(function(t){t.method="textDocument/semanticTokens",t.type=new sr.RegistrationType(t.method)})(Qc||(Kt.SemanticTokensRegistrationType=Qc={}));var AR;(function(t){t.method="textDocument/semanticTokens/full",t.messageDirection=sr.MessageDirection.clientToServer,t.type=new sr.ProtocolRequestType(t.method),t.registrationMethod=Qc.method,t.capabilities=sr.CM.create("textDocument.semanticTokens","semanticTokensProvider")})(AR||(Kt.SemanticTokensRequest=AR={}));var IR;(function(t){t.method="textDocument/semanticTokens/full/delta",t.messageDirection=sr.MessageDirection.clientToServer,t.type=new sr.ProtocolRequestType(t.method),t.registrationMethod=Qc.method,t.capabilities=sr.CM.create("textDocument.semanticTokens.requests.full.delta","semanticTokensProvider.full.delta")})(IR||(Kt.SemanticTokensDeltaRequest=IR={}));var kR;(function(t){t.method="textDocument/semanticTokens/range",t.messageDirection=sr.MessageDirection.clientToServer,t.type=new sr.ProtocolRequestType(t.method),t.registrationMethod=Qc.method,t.capabilities=sr.CM.create("textDocument.semanticTokens.requests.range","semanticTokensProvider.range")})(kR||(Kt.SemanticTokensRangeRequest=kR={}));var NR;(function(t){t.method="workspace/semanticTokens/refresh",t.messageDirection=sr.MessageDirection.serverToClient,t.type=new sr.ProtocolRequestType0(t.method),t.capabilities=sr.CM.create("workspace.semanticTokens.refreshSupport",void 0)})(NR||(Kt.SemanticTokensRefreshRequest=NR={}))});var OR=he(Td=>{"use strict";Object.defineProperty(Td,"__esModule",{value:!0});Td.ShowDocumentRequest=void 0;var xx=rt(),CR;(function(t){t.method="window/showDocument",t.messageDirection=xx.MessageDirection.serverToClient,t.type=new xx.ProtocolRequestType(t.method),t.capabilities=xx.CM.create("window.showDocument.support",void 0)})(CR||(Td.ShowDocumentRequest=CR={}))});var DR=he(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});_d.LinkedEditingRangeRequest=void 0;var Tx=rt(),LR;(function(t){t.method="textDocument/linkedEditingRange",t.messageDirection=Tx.MessageDirection.clientToServer,t.type=new Tx.ProtocolRequestType(t.method),t.capabilities=Tx.CM.create("textDocument.linkedEditingRange","linkedEditingRangeProvider")})(LR||(_d.LinkedEditingRangeRequest=LR={}))});var HR=he(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.WillDeleteFilesRequest=Mt.DidDeleteFilesNotification=Mt.DidRenameFilesNotification=Mt.WillRenameFilesRequest=Mt.DidCreateFilesNotification=Mt.WillCreateFilesRequest=Mt.FileOperationPatternKind=void 0;var St=rt(),MR;(function(t){t.file="file",t.folder="folder"})(MR||(Mt.FileOperationPatternKind=MR={}));var $R;(function(t){t.method="workspace/willCreateFiles",t.messageDirection=St.MessageDirection.clientToServer,t.type=new St.ProtocolRequestType(t.method),t.capabilities=St.CM.create("workspace.fileOperations.willCreate","workspace.fileOperations.willCreate")})($R||(Mt.WillCreateFilesRequest=$R={}));var FR;(function(t){t.method="workspace/didCreateFiles",t.messageDirection=St.MessageDirection.clientToServer,t.type=new St.ProtocolNotificationType(t.method),t.capabilities=St.CM.create("workspace.fileOperations.didCreate","workspace.fileOperations.didCreate")})(FR||(Mt.DidCreateFilesNotification=FR={}));var UR;(function(t){t.method="workspace/willRenameFiles",t.messageDirection=St.MessageDirection.clientToServer,t.type=new St.ProtocolRequestType(t.method),t.capabilities=St.CM.create("workspace.fileOperations.willRename","workspace.fileOperations.willRename")})(UR||(Mt.WillRenameFilesRequest=UR={}));var BR;(function(t){t.method="workspace/didRenameFiles",t.messageDirection=St.MessageDirection.clientToServer,t.type=new St.ProtocolNotificationType(t.method),t.capabilities=St.CM.create("workspace.fileOperations.didRename","workspace.fileOperations.didRename")})(BR||(Mt.DidRenameFilesNotification=BR={}));var GR;(function(t){t.method="workspace/didDeleteFiles",t.messageDirection=St.MessageDirection.clientToServer,t.type=new St.ProtocolNotificationType(t.method),t.capabilities=St.CM.create("workspace.fileOperations.didDelete","workspace.fileOperations.didDelete")})(GR||(Mt.DidDeleteFilesNotification=GR={}));var XR;(function(t){t.method="workspace/willDeleteFiles",t.messageDirection=St.MessageDirection.clientToServer,t.type=new St.ProtocolRequestType(t.method),t.capabilities=St.CM.create("workspace.fileOperations.willDelete","workspace.fileOperations.willDelete")})(XR||(Mt.WillDeleteFilesRequest=XR={}))});var qR=he(wi=>{"use strict";Object.defineProperty(wi,"__esModule",{value:!0});wi.MonikerRequest=wi.MonikerKind=wi.UniquenessLevel=void 0;var _x=rt(),jR;(function(t){t.document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global"})(jR||(wi.UniquenessLevel=jR={}));var zR;(function(t){t.$import="import",t.$export="export",t.local="local"})(zR||(wi.MonikerKind=zR={}));var WR;(function(t){t.method="textDocument/moniker",t.messageDirection=_x.MessageDirection.clientToServer,t.type=new _x.ProtocolRequestType(t.method),t.capabilities=_x.CM.create("textDocument.moniker","monikerProvider")})(WR||(wi.MonikerRequest=WR={}))});var ZR=he(Ri=>{"use strict";Object.defineProperty(Ri,"__esModule",{value:!0});Ri.TypeHierarchySubtypesRequest=Ri.TypeHierarchySupertypesRequest=Ri.TypeHierarchyPrepareRequest=void 0;var ho=rt(),VR;(function(t){t.method="textDocument/prepareTypeHierarchy",t.messageDirection=ho.MessageDirection.clientToServer,t.type=new ho.ProtocolRequestType(t.method),t.capabilities=ho.CM.create("textDocument.typeHierarchy","typeHierarchyProvider")})(VR||(Ri.TypeHierarchyPrepareRequest=VR={}));var YR;(function(t){t.method="typeHierarchy/supertypes",t.messageDirection=ho.MessageDirection.clientToServer,t.type=new ho.ProtocolRequestType(t.method)})(YR||(Ri.TypeHierarchySupertypesRequest=YR={}));var KR;(function(t){t.method="typeHierarchy/subtypes",t.messageDirection=ho.MessageDirection.clientToServer,t.type=new ho.ProtocolRequestType(t.method)})(KR||(Ri.TypeHierarchySubtypesRequest=KR={}))});var eS=he(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});Ys.InlineValueRefreshRequest=Ys.InlineValueRequest=void 0;var Vs=rt(),JR;(function(t){t.method="textDocument/inlineValue",t.messageDirection=Vs.MessageDirection.clientToServer,t.type=new Vs.ProtocolRequestType(t.method),t.capabilities=Vs.CM.create("textDocument.inlineValue","inlineValueProvider")})(JR||(Ys.InlineValueRequest=JR={}));var QR;(function(t){t.method="workspace/inlineValue/refresh",t.messageDirection=Vs.MessageDirection.serverToClient,t.type=new Vs.ProtocolRequestType0(t.method),t.capabilities=Vs.CM.create("workspace.inlineValue.refreshSupport",void 0)})(QR||(Ys.InlineValueRefreshRequest=QR={}))});var iS=he(Si=>{"use strict";Object.defineProperty(Si,"__esModule",{value:!0});Si.InlayHintRefreshRequest=Si.InlayHintResolveRequest=Si.InlayHintRequest=void 0;var Pn=rt(),tS;(function(t){t.method="textDocument/inlayHint",t.messageDirection=Pn.MessageDirection.clientToServer,t.type=new Pn.ProtocolRequestType(t.method),t.capabilities=Pn.CM.create("textDocument.inlayHint","inlayHintProvider")})(tS||(Si.InlayHintRequest=tS={}));var rS;(function(t){t.method="inlayHint/resolve",t.messageDirection=Pn.MessageDirection.clientToServer,t.type=new Pn.ProtocolRequestType(t.method),t.capabilities=Pn.CM.create("textDocument.inlayHint.resolveSupport","inlayHintProvider.resolveProvider")})(rS||(Si.InlayHintResolveRequest=rS={}));var nS;(function(t){t.method="workspace/inlayHint/refresh",t.messageDirection=Pn.MessageDirection.serverToClient,t.type=new Pn.ProtocolRequestType0(t.method),t.capabilities=Pn.CM.create("workspace.inlayHint.refreshSupport",void 0)})(nS||(Si.InlayHintRefreshRequest=nS={}))});var fS=he(At=>{"use strict";var c2=At&&At.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),l2=At&&At.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),u2=At&&At.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),i=0;i<n.length;i++)n[i]!=="default"&&c2(r,e,n[i]);return l2(r,e),r}})();Object.defineProperty(At,"__esModule",{value:!0});At.DiagnosticRefreshRequest=At.WorkspaceDiagnosticRequest=At.DocumentDiagnosticRequest=At.DocumentDiagnosticReportKind=At.DiagnosticServerCancellationData=void 0;var uS=Bs(),f2=u2(pd()),Cn=rt(),oS;(function(t){function e(r){let n=r;return n&&f2.boolean(n.retriggerRequest)}t.is=e})(oS||(At.DiagnosticServerCancellationData=oS={}));var sS;(function(t){t.Full="full",t.Unchanged="unchanged"})(sS||(At.DocumentDiagnosticReportKind=sS={}));var aS;(function(t){t.method="textDocument/diagnostic",t.messageDirection=Cn.MessageDirection.clientToServer,t.type=new Cn.ProtocolRequestType(t.method),t.partialResult=new uS.ProgressType,t.capabilities=Cn.CM.create("textDocument.diagnostic","diagnosticProvider")})(aS||(At.DocumentDiagnosticRequest=aS={}));var cS;(function(t){t.method="workspace/diagnostic",t.messageDirection=Cn.MessageDirection.clientToServer,t.type=new Cn.ProtocolRequestType(t.method),t.partialResult=new uS.ProgressType,t.capabilities=Cn.CM.create("workspace.diagnostics","diagnosticProvider.workspaceDiagnostics")})(cS||(At.WorkspaceDiagnosticRequest=cS={}));var lS;(function(t){t.method="workspace/diagnostic/refresh",t.messageDirection=Cn.MessageDirection.serverToClient,t.type=new Cn.ProtocolRequestType0(t.method),t.capabilities=Cn.CM.create("workspace.diagnostics.refreshSupport",void 0)})(lS||(At.DiagnosticRefreshRequest=lS={}))});var xS=he(Xe=>{"use strict";var d2=Xe&&Xe.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),p2=Xe&&Xe.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),h2=Xe&&Xe.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),i=0;i<n.length;i++)n[i]!=="default"&&d2(r,e,n[i]);return p2(r,e),r}})();Object.defineProperty(Xe,"__esModule",{value:!0});Xe.DidCloseNotebookDocumentNotification=Xe.DidSaveNotebookDocumentNotification=Xe.DidChangeNotebookDocumentNotification=Xe.NotebookCellArrayChange=Xe.DidOpenNotebookDocumentNotification=Xe.NotebookDocumentSyncRegistrationType=Xe.NotebookDocument=Xe.NotebookCell=Xe.ExecutionSummary=Xe.NotebookCellKind=void 0;var el=(ks(),tu(Hf)),Cr=h2(pd()),nn=rt(),Ex;(function(t){t.Markup=1,t.Code=2;function e(r){return r===1||r===2}t.is=e})(Ex||(Xe.NotebookCellKind=Ex={}));var vx;(function(t){function e(i,o){let s={executionOrder:i};return(o===!0||o===!1)&&(s.success=o),s}t.create=e;function r(i){let o=i;return Cr.objectLiteral(o)&&el.uinteger.is(o.executionOrder)&&(o.success===void 0||Cr.boolean(o.success))}t.is=r;function n(i,o){return i===o?!0:i==null||o===null||o===void 0?!1:i.executionOrder===o.executionOrder&&i.success===o.success}t.equals=n})(vx||(Xe.ExecutionSummary=vx={}));var Ed;(function(t){function e(o,s){return{kind:o,document:s}}t.create=e;function r(o){let s=o;return Cr.objectLiteral(s)&&Ex.is(s.kind)&&el.DocumentUri.is(s.document)&&(s.metadata===void 0||Cr.objectLiteral(s.metadata))}t.is=r;function n(o,s){let a=new Set;return o.document!==s.document&&a.add("document"),o.kind!==s.kind&&a.add("kind"),o.executionSummary!==s.executionSummary&&a.add("executionSummary"),(o.metadata!==void 0||s.metadata!==void 0)&&!i(o.metadata,s.metadata)&&a.add("metadata"),(o.executionSummary!==void 0||s.executionSummary!==void 0)&&!vx.equals(o.executionSummary,s.executionSummary)&&a.add("executionSummary"),a}t.diff=n;function i(o,s){if(o===s)return!0;if(o==null||s===null||s===void 0||typeof o!=typeof s||typeof o!="object")return!1;let a=Array.isArray(o),c=Array.isArray(s);if(a!==c)return!1;if(a&&c){if(o.length!==s.length)return!1;for(let l=0;l<o.length;l++)if(!i(o[l],s[l]))return!1}if(Cr.objectLiteral(o)&&Cr.objectLiteral(s)){let l=Object.keys(o),u=Object.keys(s);if(l.length!==u.length||(l.sort(),u.sort(),!i(l,u)))return!1;for(let f=0;f<l.length;f++){let d=l[f];if(!i(o[d],s[d]))return!1}}return!0}})(Ed||(Xe.NotebookCell=Ed={}));var dS;(function(t){function e(n,i,o,s){return{uri:n,notebookType:i,version:o,cells:s}}t.create=e;function r(n){let i=n;return Cr.objectLiteral(i)&&Cr.string(i.uri)&&el.integer.is(i.version)&&Cr.typedArray(i.cells,Ed.is)}t.is=r})(dS||(Xe.NotebookDocument=dS={}));var Ks;(function(t){t.method="notebookDocument/sync",t.messageDirection=nn.MessageDirection.clientToServer,t.type=new nn.RegistrationType(t.method)})(Ks||(Xe.NotebookDocumentSyncRegistrationType=Ks={}));var pS;(function(t){t.method="notebookDocument/didOpen",t.messageDirection=nn.MessageDirection.clientToServer,t.type=new nn.ProtocolNotificationType(t.method),t.registrationMethod=Ks.method})(pS||(Xe.DidOpenNotebookDocumentNotification=pS={}));var hS;(function(t){function e(n){let i=n;return Cr.objectLiteral(i)&&el.uinteger.is(i.start)&&el.uinteger.is(i.deleteCount)&&(i.cells===void 0||Cr.typedArray(i.cells,Ed.is))}t.is=e;function r(n,i,o){let s={start:n,deleteCount:i};return o!==void 0&&(s.cells=o),s}t.create=r})(hS||(Xe.NotebookCellArrayChange=hS={}));var mS;(function(t){t.method="notebookDocument/didChange",t.messageDirection=nn.MessageDirection.clientToServer,t.type=new nn.ProtocolNotificationType(t.method),t.registrationMethod=Ks.method})(mS||(Xe.DidChangeNotebookDocumentNotification=mS={}));var gS;(function(t){t.method="notebookDocument/didSave",t.messageDirection=nn.MessageDirection.clientToServer,t.type=new nn.ProtocolNotificationType(t.method),t.registrationMethod=Ks.method})(gS||(Xe.DidSaveNotebookDocumentNotification=gS={}));var yS;(function(t){t.method="notebookDocument/didClose",t.messageDirection=nn.MessageDirection.clientToServer,t.type=new nn.ProtocolNotificationType(t.method),t.registrationMethod=Ks.method})(yS||(Xe.DidCloseNotebookDocumentNotification=yS={}))});var _S=he(vd=>{"use strict";Object.defineProperty(vd,"__esModule",{value:!0});vd.InlineCompletionRequest=void 0;var bx=rt(),TS;(function(t){t.method="textDocument/inlineCompletion",t.messageDirection=bx.MessageDirection.clientToServer,t.type=new bx.ProtocolRequestType(t.method),t.capabilities=bx.CM.create("textDocument.inlineCompletion","inlineCompletionProvider")})(TS||(vd.InlineCompletionRequest=TS={}))});var bS=he(Zs=>{"use strict";Object.defineProperty(Zs,"__esModule",{value:!0});Zs.TextDocumentContentRefreshRequest=Zs.TextDocumentContentRequest=void 0;var tl=rt(),ES;(function(t){t.method="workspace/textDocumentContent",t.messageDirection=tl.MessageDirection.clientToServer,t.type=new tl.ProtocolRequestType(t.method),t.capabilities=tl.CM.create("workspace.textDocumentContent","workspace.textDocumentContent")})(ES||(Zs.TextDocumentContentRequest=ES={}));var vS;(function(t){t.method="workspace/textDocumentContent/refresh",t.messageDirection=tl.MessageDirection.serverToClient,t.type=new tl.ProtocolRequestType(t.method)})(vS||(Zs.TextDocumentContentRefreshRequest=vS={}))});var $A=he(g=>{"use strict";var m2=g&&g.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),g2=g&&g.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),y2=g&&g.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),i=0;i<n.length;i++)n[i]!=="default"&&m2(r,e,n[i]);return g2(r,e),r}})();Object.defineProperty(g,"__esModule",{value:!0});g.CodeActionRequest=g.DocumentSymbolRequest=g.DocumentHighlightRequest=g.ReferencesRequest=g.DefinitionRequest=g.SignatureHelpRequest=g.SignatureHelpTriggerKind=g.HoverRequest=g.CompletionResolveRequest=g.CompletionRequest=g.CompletionTriggerKind=g.PublishDiagnosticsNotification=g.WatchKind=g.GlobPattern=g.RelativePattern=g.FileChangeType=g.DidChangeWatchedFilesNotification=g.WillSaveTextDocumentWaitUntilRequest=g.WillSaveTextDocumentNotification=g.TextDocumentSaveReason=g.DidSaveTextDocumentNotification=g.DidCloseTextDocumentNotification=g.DidChangeTextDocumentNotification=g.TextDocumentContentChangeEvent=g.DidOpenTextDocumentNotification=g.TextDocumentSyncKind=g.TelemetryEventNotification=g.LogMessageNotification=g.ShowMessageRequest=g.ShowMessageNotification=g.MessageType=g.DidChangeConfigurationNotification=g.ExitNotification=g.ShutdownRequest=g.InitializedNotification=g.InitializeErrorCodes=g.InitializeRequest=g.WorkDoneProgressOptions=g.TextDocumentRegistrationOptions=g.StaticRegistrationOptions=g.PositionEncodingKind=g.RegularExpressionEngineKind=g.FailureHandlingKind=g.ResourceOperationKind=g.UnregistrationRequest=g.RegistrationRequest=g.DocumentSelector=g.NotebookCellTextDocumentFilter=g.NotebookDocumentFilter=g.TextDocumentFilter=void 0;g.UniquenessLevel=g.WillDeleteFilesRequest=g.DidDeleteFilesNotification=g.WillRenameFilesRequest=g.DidRenameFilesNotification=g.WillCreateFilesRequest=g.DidCreateFilesNotification=g.FileOperationPatternKind=g.LinkedEditingRangeRequest=g.ShowDocumentRequest=g.SemanticTokensRegistrationType=g.SemanticTokensRefreshRequest=g.SemanticTokensRangeRequest=g.SemanticTokensDeltaRequest=g.SemanticTokensRequest=g.TokenFormat=g.CallHierarchyPrepareRequest=g.CallHierarchyOutgoingCallsRequest=g.CallHierarchyIncomingCallsRequest=g.WorkDoneProgressCancelNotification=g.WorkDoneProgressCreateRequest=g.WorkDoneProgress=g.SelectionRangeRequest=g.DeclarationRequest=g.FoldingRangeRefreshRequest=g.FoldingRangeRequest=g.ColorPresentationRequest=g.DocumentColorRequest=g.ConfigurationRequest=g.DidChangeWorkspaceFoldersNotification=g.WorkspaceFoldersRequest=g.TypeDefinitionRequest=g.ImplementationRequest=g.ApplyWorkspaceEditRequest=g.ExecuteCommandRequest=g.PrepareRenameRequest=g.RenameRequest=g.PrepareSupportDefaultBehavior=g.DocumentOnTypeFormattingRequest=g.DocumentRangesFormattingRequest=g.DocumentRangeFormattingRequest=g.DocumentFormattingRequest=g.DocumentLinkResolveRequest=g.DocumentLinkRequest=g.CodeLensRefreshRequest=g.CodeLensResolveRequest=g.CodeLensRequest=g.WorkspaceSymbolResolveRequest=g.WorkspaceSymbolRequest=g.CodeActionResolveRequest=void 0;g.TextDocumentContentRefreshRequest=g.TextDocumentContentRequest=g.InlineCompletionRequest=g.DidCloseNotebookDocumentNotification=g.DidSaveNotebookDocumentNotification=g.DidChangeNotebookDocumentNotification=g.NotebookCellArrayChange=g.DidOpenNotebookDocumentNotification=g.NotebookDocumentSyncRegistrationType=g.NotebookDocument=g.NotebookCell=g.ExecutionSummary=g.NotebookCellKind=g.DiagnosticRefreshRequest=g.WorkspaceDiagnosticRequest=g.DocumentDiagnosticRequest=g.DocumentDiagnosticReportKind=g.DiagnosticServerCancellationData=g.InlayHintRefreshRequest=g.InlayHintResolveRequest=g.InlayHintRequest=g.InlineValueRefreshRequest=g.InlineValueRequest=g.TypeHierarchySupertypesRequest=g.TypeHierarchySubtypesRequest=g.TypeHierarchyPrepareRequest=g.MonikerRequest=g.MonikerKind=void 0;var C=rt(),wS=(ks(),tu(Hf)),It=y2(pd()),x2=eR();Object.defineProperty(g,"ImplementationRequest",{enumerable:!0,get:function(){return x2.ImplementationRequest}});var T2=rR();Object.defineProperty(g,"TypeDefinitionRequest",{enumerable:!0,get:function(){return T2.TypeDefinitionRequest}});var CA=oR();Object.defineProperty(g,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return CA.WorkspaceFoldersRequest}});Object.defineProperty(g,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return CA.DidChangeWorkspaceFoldersNotification}});var _2=aR();Object.defineProperty(g,"ConfigurationRequest",{enumerable:!0,get:function(){return _2.ConfigurationRequest}});var OA=uR();Object.defineProperty(g,"DocumentColorRequest",{enumerable:!0,get:function(){return OA.DocumentColorRequest}});Object.defineProperty(g,"ColorPresentationRequest",{enumerable:!0,get:function(){return OA.ColorPresentationRequest}});var LA=pR();Object.defineProperty(g,"FoldingRangeRequest",{enumerable:!0,get:function(){return LA.FoldingRangeRequest}});Object.defineProperty(g,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return LA.FoldingRangeRefreshRequest}});var E2=mR();Object.defineProperty(g,"DeclarationRequest",{enumerable:!0,get:function(){return E2.DeclarationRequest}});var v2=yR();Object.defineProperty(g,"SelectionRangeRequest",{enumerable:!0,get:function(){return v2.SelectionRangeRequest}});var Nx=ER();Object.defineProperty(g,"WorkDoneProgress",{enumerable:!0,get:function(){return Nx.WorkDoneProgress}});Object.defineProperty(g,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return Nx.WorkDoneProgressCreateRequest}});Object.defineProperty(g,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return Nx.WorkDoneProgressCancelNotification}});var Px=RR();Object.defineProperty(g,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return Px.CallHierarchyIncomingCallsRequest}});Object.defineProperty(g,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return Px.CallHierarchyOutgoingCallsRequest}});Object.defineProperty(g,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return Px.CallHierarchyPrepareRequest}});var Js=PR();Object.defineProperty(g,"TokenFormat",{enumerable:!0,get:function(){return Js.TokenFormat}});Object.defineProperty(g,"SemanticTokensRequest",{enumerable:!0,get:function(){return Js.SemanticTokensRequest}});Object.defineProperty(g,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return Js.SemanticTokensDeltaRequest}});Object.defineProperty(g,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return Js.SemanticTokensRangeRequest}});Object.defineProperty(g,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return Js.SemanticTokensRefreshRequest}});Object.defineProperty(g,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return Js.SemanticTokensRegistrationType}});var b2=OR();Object.defineProperty(g,"ShowDocumentRequest",{enumerable:!0,get:function(){return b2.ShowDocumentRequest}});var w2=DR();Object.defineProperty(g,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return w2.LinkedEditingRangeRequest}});var mo=HR();Object.defineProperty(g,"FileOperationPatternKind",{enumerable:!0,get:function(){return mo.FileOperationPatternKind}});Object.defineProperty(g,"DidCreateFilesNotification",{enumerable:!0,get:function(){return mo.DidCreateFilesNotification}});Object.defineProperty(g,"WillCreateFilesRequest",{enumerable:!0,get:function(){return mo.WillCreateFilesRequest}});Object.defineProperty(g,"DidRenameFilesNotification",{enumerable:!0,get:function(){return mo.DidRenameFilesNotification}});Object.defineProperty(g,"WillRenameFilesRequest",{enumerable:!0,get:function(){return mo.WillRenameFilesRequest}});Object.defineProperty(g,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return mo.DidDeleteFilesNotification}});Object.defineProperty(g,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return mo.WillDeleteFilesRequest}});var Cx=qR();Object.defineProperty(g,"UniquenessLevel",{enumerable:!0,get:function(){return Cx.UniquenessLevel}});Object.defineProperty(g,"MonikerKind",{enumerable:!0,get:function(){return Cx.MonikerKind}});Object.defineProperty(g,"MonikerRequest",{enumerable:!0,get:function(){return Cx.MonikerRequest}});var Ox=ZR();Object.defineProperty(g,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return Ox.TypeHierarchyPrepareRequest}});Object.defineProperty(g,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return Ox.TypeHierarchySubtypesRequest}});Object.defineProperty(g,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return Ox.TypeHierarchySupertypesRequest}});var DA=eS();Object.defineProperty(g,"InlineValueRequest",{enumerable:!0,get:function(){return DA.InlineValueRequest}});Object.defineProperty(g,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return DA.InlineValueRefreshRequest}});var Lx=iS();Object.defineProperty(g,"InlayHintRequest",{enumerable:!0,get:function(){return Lx.InlayHintRequest}});Object.defineProperty(g,"InlayHintResolveRequest",{enumerable:!0,get:function(){return Lx.InlayHintResolveRequest}});Object.defineProperty(g,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return Lx.InlayHintRefreshRequest}});var rl=fS();Object.defineProperty(g,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return rl.DiagnosticServerCancellationData}});Object.defineProperty(g,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return rl.DocumentDiagnosticReportKind}});Object.defineProperty(g,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return rl.DocumentDiagnosticRequest}});Object.defineProperty(g,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return rl.WorkspaceDiagnosticRequest}});Object.defineProperty(g,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return rl.DiagnosticRefreshRequest}});var on=xS();Object.defineProperty(g,"NotebookCellKind",{enumerable:!0,get:function(){return on.NotebookCellKind}});Object.defineProperty(g,"ExecutionSummary",{enumerable:!0,get:function(){return on.ExecutionSummary}});Object.defineProperty(g,"NotebookCell",{enumerable:!0,get:function(){return on.NotebookCell}});Object.defineProperty(g,"NotebookDocument",{enumerable:!0,get:function(){return on.NotebookDocument}});Object.defineProperty(g,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return on.NotebookDocumentSyncRegistrationType}});Object.defineProperty(g,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return on.DidOpenNotebookDocumentNotification}});Object.defineProperty(g,"NotebookCellArrayChange",{enumerable:!0,get:function(){return on.NotebookCellArrayChange}});Object.defineProperty(g,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return on.DidChangeNotebookDocumentNotification}});Object.defineProperty(g,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return on.DidSaveNotebookDocumentNotification}});Object.defineProperty(g,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return on.DidCloseNotebookDocumentNotification}});var R2=_S();Object.defineProperty(g,"InlineCompletionRequest",{enumerable:!0,get:function(){return R2.InlineCompletionRequest}});var MA=bS();Object.defineProperty(g,"TextDocumentContentRequest",{enumerable:!0,get:function(){return MA.TextDocumentContentRequest}});Object.defineProperty(g,"TextDocumentContentRefreshRequest",{enumerable:!0,get:function(){return MA.TextDocumentContentRefreshRequest}});var wx;(function(t){function e(r){let n=r;return It.string(n)||It.string(n.language)||It.string(n.scheme)||kx.is(n.pattern)}t.is=e})(wx||(g.TextDocumentFilter=wx={}));var Rx;(function(t){function e(r){let n=r;return It.objectLiteral(n)&&(It.string(n.notebookType)||It.string(n.scheme)||It.string(n.pattern))}t.is=e})(Rx||(g.NotebookDocumentFilter=Rx={}));var Sx;(function(t){function e(r){let n=r;return It.objectLiteral(n)&&(It.string(n.notebook)||Rx.is(n.notebook))&&(n.language===void 0||It.string(n.language))}t.is=e})(Sx||(g.NotebookCellTextDocumentFilter=Sx={}));var Ax;(function(t){function e(r){if(!Array.isArray(r))return!1;for(let n of r)if(!It.string(n)&&!wx.is(n)&&!Sx.is(n))return!1;return!0}t.is=e})(Ax||(g.DocumentSelector=Ax={}));var RS;(function(t){t.method="client/registerCapability",t.messageDirection=C.MessageDirection.serverToClient,t.type=new C.ProtocolRequestType(t.method)})(RS||(g.RegistrationRequest=RS={}));var SS;(function(t){t.method="client/unregisterCapability",t.messageDirection=C.MessageDirection.serverToClient,t.type=new C.ProtocolRequestType(t.method)})(SS||(g.UnregistrationRequest=SS={}));var AS;(function(t){t.Create="create",t.Rename="rename",t.Delete="delete"})(AS||(g.ResourceOperationKind=AS={}));var IS;(function(t){t.Abort="abort",t.Transactional="transactional",t.TextOnlyTransactional="textOnlyTransactional",t.Undo="undo"})(IS||(g.FailureHandlingKind=IS={}));var kS;(function(t){t.ES2020="ES2020"})(kS||(g.RegularExpressionEngineKind=kS={}));var NS;(function(t){t.UTF8="utf-8",t.UTF16="utf-16",t.UTF32="utf-32"})(NS||(g.PositionEncodingKind=NS={}));var PS;(function(t){function e(r){let n=r;return n&&It.string(n.id)&&n.id.length>0}t.hasId=e})(PS||(g.StaticRegistrationOptions=PS={}));var CS;(function(t){function e(r){let n=r;return n&&(n.documentSelector===null||Ax.is(n.documentSelector))}t.is=e})(CS||(g.TextDocumentRegistrationOptions=CS={}));var OS;(function(t){function e(n){let i=n;return It.objectLiteral(i)&&(i.workDoneProgress===void 0||It.boolean(i.workDoneProgress))}t.is=e;function r(n){let i=n;return i&&It.boolean(i.workDoneProgress)}t.hasWorkDoneProgress=r})(OS||(g.WorkDoneProgressOptions=OS={}));var LS;(function(t){t.method="initialize",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolRequestType(t.method)})(LS||(g.InitializeRequest=LS={}));var DS;(function(t){t.unknownProtocolVersion=1})(DS||(g.InitializeErrorCodes=DS={}));var MS;(function(t){t.method="initialized",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolNotificationType(t.method)})(MS||(g.InitializedNotification=MS={}));var $S;(function(t){t.method="shutdown",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolRequestType0(t.method)})($S||(g.ShutdownRequest=$S={}));var FS;(function(t){t.method="exit",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolNotificationType0(t.method)})(FS||(g.ExitNotification=FS={}));var US;(function(t){t.method="workspace/didChangeConfiguration",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolNotificationType(t.method),t.capabilities=C.CM.create("workspace.didChangeConfiguration",void 0)})(US||(g.DidChangeConfigurationNotification=US={}));var BS;(function(t){t.Error=1,t.Warning=2,t.Info=3,t.Log=4,t.Debug=5})(BS||(g.MessageType=BS={}));var GS;(function(t){t.method="window/showMessage",t.messageDirection=C.MessageDirection.serverToClient,t.type=new C.ProtocolNotificationType(t.method),t.capabilities=C.CM.create("window.showMessage",void 0)})(GS||(g.ShowMessageNotification=GS={}));var XS;(function(t){t.method="window/showMessageRequest",t.messageDirection=C.MessageDirection.serverToClient,t.type=new C.ProtocolRequestType(t.method),t.capabilities=C.CM.create("window.showMessage",void 0)})(XS||(g.ShowMessageRequest=XS={}));var HS;(function(t){t.method="window/logMessage",t.messageDirection=C.MessageDirection.serverToClient,t.type=new C.ProtocolNotificationType(t.method)})(HS||(g.LogMessageNotification=HS={}));var jS;(function(t){t.method="telemetry/event",t.messageDirection=C.MessageDirection.serverToClient,t.type=new C.ProtocolNotificationType(t.method)})(jS||(g.TelemetryEventNotification=jS={}));var zS;(function(t){t.None=0,t.Full=1,t.Incremental=2})(zS||(g.TextDocumentSyncKind=zS={}));var WS;(function(t){t.method="textDocument/didOpen",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolNotificationType(t.method),t.capabilities=C.CM.create("textDocument.synchronization","textDocumentSync.openClose")})(WS||(g.DidOpenTextDocumentNotification=WS={}));var qS;(function(t){function e(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range!==void 0&&(i.rangeLength===void 0||typeof i.rangeLength=="number")}t.isIncremental=e;function r(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range===void 0&&i.rangeLength===void 0}t.isFull=r})(qS||(g.TextDocumentContentChangeEvent=qS={}));var VS;(function(t){t.method="textDocument/didChange",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolNotificationType(t.method),t.capabilities=C.CM.create("textDocument.synchronization","textDocumentSync")})(VS||(g.DidChangeTextDocumentNotification=VS={}));var YS;(function(t){t.method="textDocument/didClose",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolNotificationType(t.method),t.capabilities=C.CM.create("textDocument.synchronization","textDocumentSync.openClose")})(YS||(g.DidCloseTextDocumentNotification=YS={}));var KS;(function(t){t.method="textDocument/didSave",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolNotificationType(t.method),t.capabilities=C.CM.create("textDocument.synchronization.didSave","textDocumentSync.save")})(KS||(g.DidSaveTextDocumentNotification=KS={}));var ZS;(function(t){t.Manual=1,t.AfterDelay=2,t.FocusOut=3})(ZS||(g.TextDocumentSaveReason=ZS={}));var JS;(function(t){t.method="textDocument/willSave",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolNotificationType(t.method),t.capabilities=C.CM.create("textDocument.synchronization.willSave","textDocumentSync.willSave")})(JS||(g.WillSaveTextDocumentNotification=JS={}));var QS;(function(t){t.method="textDocument/willSaveWaitUntil",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolRequestType(t.method),t.capabilities=C.CM.create("textDocument.synchronization.willSaveWaitUntil","textDocumentSync.willSaveWaitUntil")})(QS||(g.WillSaveTextDocumentWaitUntilRequest=QS={}));var eA;(function(t){t.method="workspace/didChangeWatchedFiles",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolNotificationType(t.method),t.capabilities=C.CM.create("workspace.didChangeWatchedFiles",void 0)})(eA||(g.DidChangeWatchedFilesNotification=eA={}));var tA;(function(t){t.Created=1,t.Changed=2,t.Deleted=3})(tA||(g.FileChangeType=tA={}));var Ix;(function(t){function e(r){let n=r;return It.objectLiteral(n)&&(wS.URI.is(n.baseUri)||wS.WorkspaceFolder.is(n.baseUri))&&It.string(n.pattern)}t.is=e})(Ix||(g.RelativePattern=Ix={}));var kx;(function(t){function e(r){let n=r;return It.string(n)||Ix.is(n)}t.is=e})(kx||(g.GlobPattern=kx={}));var rA;(function(t){t.Create=1,t.Change=2,t.Delete=4})(rA||(g.WatchKind=rA={}));var nA;(function(t){t.method="textDocument/publishDiagnostics",t.messageDirection=C.MessageDirection.serverToClient,t.type=new C.ProtocolNotificationType(t.method),t.capabilities=C.CM.create("textDocument.publishDiagnostics",void 0)})(nA||(g.PublishDiagnosticsNotification=nA={}));var iA;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.TriggerForIncompleteCompletions=3})(iA||(g.CompletionTriggerKind=iA={}));var oA;(function(t){t.method="textDocument/completion",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolRequestType(t.method),t.capabilities=C.CM.create("textDocument.completion","completionProvider")})(oA||(g.CompletionRequest=oA={}));var sA;(function(t){t.method="completionItem/resolve",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolRequestType(t.method),t.capabilities=C.CM.create("textDocument.completion.completionItem.resolveSupport","completionProvider.resolveProvider")})(sA||(g.CompletionResolveRequest=sA={}));var aA;(function(t){t.method="textDocument/hover",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolRequestType(t.method),t.capabilities=C.CM.create("textDocument.hover","hoverProvider")})(aA||(g.HoverRequest=aA={}));var cA;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.ContentChange=3})(cA||(g.SignatureHelpTriggerKind=cA={}));var lA;(function(t){t.method="textDocument/signatureHelp",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolRequestType(t.method),t.capabilities=C.CM.create("textDocument.signatureHelp","signatureHelpProvider")})(lA||(g.SignatureHelpRequest=lA={}));var uA;(function(t){t.method="textDocument/definition",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolRequestType(t.method),t.capabilities=C.CM.create("textDocument.definition","definitionProvider")})(uA||(g.DefinitionRequest=uA={}));var fA;(function(t){t.method="textDocument/references",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolRequestType(t.method),t.capabilities=C.CM.create("textDocument.references","referencesProvider")})(fA||(g.ReferencesRequest=fA={}));var dA;(function(t){t.method="textDocument/documentHighlight",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolRequestType(t.method),t.capabilities=C.CM.create("textDocument.documentHighlight","documentHighlightProvider")})(dA||(g.DocumentHighlightRequest=dA={}));var pA;(function(t){t.method="textDocument/documentSymbol",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolRequestType(t.method),t.capabilities=C.CM.create("textDocument.documentSymbol","documentSymbolProvider")})(pA||(g.DocumentSymbolRequest=pA={}));var hA;(function(t){t.method="textDocument/codeAction",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolRequestType(t.method),t.capabilities=C.CM.create("textDocument.codeAction","codeActionProvider")})(hA||(g.CodeActionRequest=hA={}));var mA;(function(t){t.method="codeAction/resolve",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolRequestType(t.method),t.capabilities=C.CM.create("textDocument.codeAction.resolveSupport","codeActionProvider.resolveProvider")})(mA||(g.CodeActionResolveRequest=mA={}));var gA;(function(t){t.method="workspace/symbol",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolRequestType(t.method),t.capabilities=C.CM.create("workspace.symbol","workspaceSymbolProvider")})(gA||(g.WorkspaceSymbolRequest=gA={}));var yA;(function(t){t.method="workspaceSymbol/resolve",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolRequestType(t.method),t.capabilities=C.CM.create("workspace.symbol.resolveSupport","workspaceSymbolProvider.resolveProvider")})(yA||(g.WorkspaceSymbolResolveRequest=yA={}));var xA;(function(t){t.method="textDocument/codeLens",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolRequestType(t.method),t.capabilities=C.CM.create("textDocument.codeLens","codeLensProvider")})(xA||(g.CodeLensRequest=xA={}));var TA;(function(t){t.method="codeLens/resolve",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolRequestType(t.method),t.capabilities=C.CM.create("textDocument.codeLens.resolveSupport","codeLensProvider.resolveProvider")})(TA||(g.CodeLensResolveRequest=TA={}));var _A;(function(t){t.method="workspace/codeLens/refresh",t.messageDirection=C.MessageDirection.serverToClient,t.type=new C.ProtocolRequestType0(t.method),t.capabilities=C.CM.create("workspace.codeLens",void 0)})(_A||(g.CodeLensRefreshRequest=_A={}));var EA;(function(t){t.method="textDocument/documentLink",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolRequestType(t.method),t.capabilities=C.CM.create("textDocument.documentLink","documentLinkProvider")})(EA||(g.DocumentLinkRequest=EA={}));var vA;(function(t){t.method="documentLink/resolve",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolRequestType(t.method),t.capabilities=C.CM.create("textDocument.documentLink","documentLinkProvider.resolveProvider")})(vA||(g.DocumentLinkResolveRequest=vA={}));var bA;(function(t){t.method="textDocument/formatting",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolRequestType(t.method),t.capabilities=C.CM.create("textDocument.formatting","documentFormattingProvider")})(bA||(g.DocumentFormattingRequest=bA={}));var wA;(function(t){t.method="textDocument/rangeFormatting",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolRequestType(t.method),t.capabilities=C.CM.create("textDocument.rangeFormatting","documentRangeFormattingProvider")})(wA||(g.DocumentRangeFormattingRequest=wA={}));var RA;(function(t){t.method="textDocument/rangesFormatting",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolRequestType(t.method),t.capabilities=C.CM.create("textDocument.rangeFormatting.rangesSupport","documentRangeFormattingProvider.rangesSupport")})(RA||(g.DocumentRangesFormattingRequest=RA={}));var SA;(function(t){t.method="textDocument/onTypeFormatting",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolRequestType(t.method),t.capabilities=C.CM.create("textDocument.onTypeFormatting","documentOnTypeFormattingProvider")})(SA||(g.DocumentOnTypeFormattingRequest=SA={}));var AA;(function(t){t.Identifier=1})(AA||(g.PrepareSupportDefaultBehavior=AA={}));var IA;(function(t){t.method="textDocument/rename",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolRequestType(t.method),t.capabilities=C.CM.create("textDocument.rename","renameProvider")})(IA||(g.RenameRequest=IA={}));var kA;(function(t){t.method="textDocument/prepareRename",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolRequestType(t.method),t.capabilities=C.CM.create("textDocument.rename.prepareSupport","renameProvider.prepareProvider")})(kA||(g.PrepareRenameRequest=kA={}));var NA;(function(t){t.method="workspace/executeCommand",t.messageDirection=C.MessageDirection.clientToServer,t.type=new C.ProtocolRequestType(t.method),t.capabilities=C.CM.create("workspace.executeCommand","executeCommandProvider")})(NA||(g.ExecuteCommandRequest=NA={}));var PA;(function(t){t.method="workspace/applyEdit",t.messageDirection=C.MessageDirection.serverToClient,t.type=new C.ProtocolRequestType("workspace/applyEdit"),t.capabilities=C.CM.create("workspace.applyEdit",void 0)})(PA||(g.ApplyWorkspaceEditRequest=PA={}))});var UA=he(Dx=>{"use strict";Object.defineProperty(Dx,"__esModule",{value:!0});Dx.createProtocolConnection=S2;var FA=Bs();function S2(t,e,r,n){return FA.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,FA.createMessageConnection)(t,e,r,n)}});var wd=he(Zt=>{"use strict";var A2=Zt&&Zt.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),bd=Zt&&Zt.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&A2(e,t,r)};Object.defineProperty(Zt,"__esModule",{value:!0});Zt.LSPErrorCodes=Zt.createProtocolConnection=void 0;bd(Bs(),Zt);bd((ks(),tu(Hf)),Zt);bd(rt(),Zt);bd($A(),Zt);var I2=UA();Object.defineProperty(Zt,"createProtocolConnection",{enumerable:!0,get:function(){return I2.createProtocolConnection}});var BA;(function(t){t.lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800})(BA||(Zt.LSPErrorCodes=BA={}))});var RI={};eu(RI,{nodeReadFile:()=>iU});async function iU(){throw new Error("nowline: filesystem readers are unavailable in the browser embed")}var SI=J_(()=>{});var wX={};eu(wX,{EmbedRenderError:()=>Vl,__resetForTests:()=>bX,init:()=>Y_,initialize:()=>TX,parse:()=>EX,render:()=>_X,run:()=>vX,sha:()=>yX,version:()=>gX});var nC=new Set(["none","multiplier","person","people","points","time"]),iC=/^\d+$/,oC=/^\d+\.\d+$/,sC=/^\d+(?:\.\d+)?%$/;function qn(t){if(!t)return null;if(iC.test(t)){let e=parseInt(t,10);return e>0?e:null}if(oC.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e:null}if(sC.test(t)){let e=parseFloat(t.slice(0,-1))/100;return Number.isFinite(e)&&e>0?e:null}return null}function Wa(t){if(Number.isInteger(t))return String(t);let e=t.toFixed(6);return e=e.replace(/0+$/,""),e=e.replace(/\.$/,""),e}function aC(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}function cC(t){for(let e of t.properties)if(aC(e)==="unicode"&&e.value)return e.value}function qa(t,e){if(t==="none")return null;if(nC.has(t))return{kind:"builtin",name:t};let r=e.get(t);return r?{kind:"literal",text:cC(r)??t}:{kind:"literal",text:t}}function Xi(t,e,r){return e?e.kind==="builtin"&&e.name==="multiplier"?(t.length+1)*r*.58:t.length*r*.58+(.1+1)*r:t.length*r*.58}function Va(t,e,r,n=0,i=0){let o=t+10,s=o+12,a=e.length*6.5,c=s+a,l=0,u=0;r&&(l=`owner: ${r}`.length*5,u=c+6,c=u+l);let f=0;n>0&&(f=c+6,c=f+n);let d=0;i>0&&(d=c+6+i,c=d);let p=c-o+12,m=Math.max(56,p);return{titleTextWidth:a,ownerTextWidth:l,capacityBadgeWidth:n,footnoteIndicatorWidth:i,titleX:s,ownerX:u,badgeX:f,footnoteRightX:d,tabX:o,tabW:m,rightX:o+m}}function Ya(t,e,r){let n=t+24,i=n+10,o=e.length*6,s=Math.max(60,o+10+10),a=n+s+6,c=a+18,l=0,u=0,f=0,d=0,p=c;return r&&(u=c+6,l=r.length*5.5,f=u-3,d=l+6,p=f+d),{labelTextWidth:o,sourceTextWidth:l,tabX:n,tabWidth:s,tabLabelX:i,badgeX:a,badgeSize:18,sourceHaloX:f,sourceHaloWidth:d,sourceTextX:u,chromeRightX:p}}function Sh(t,e){if(t.length===0)return{rows:[[]],expanded:!1};let r=[[]],n=0,i=e,o=!1;for(let s of t){let a=r[r.length-1],c=(a.length===0?0:4)+s.width,l=n+c;if(l<=i){a.push(s),n=l;continue}if(a.length===0){a.push(s),n=s.width;continue}let u=l-i,f=s.width*.25;if(!o&&u<=f){a.push(s),n=l,i=l,o=!0;continue}r.push([s]),n=s.width,i=e}return{rows:r,expanded:o}}var eE="lexing-error",tE="parsing-error";function rE(t){if(!t||typeof t!="object")return!1;let e=t.code;return e===eE||e===tE}function Ah(t){let e=[];for(let r of t.parseResult.lexerErrors)e.push({origin:"lexer",error:r});for(let r of t.parseResult.parserErrors)e.push({origin:"parser",error:r});for(let r of t.diagnostics??[]){let n=r;rE(n.data)||e.push({origin:"validation",diagnostic:n})}return e}var lC=/did you mean ['"]?([^'"?]+)['"]?\??/i;function Ih(t){let e=t.match(lC);return e?e[1].trim():void 0}function nE(t){let e=t.toLowerCase();return e.includes("duplicate identifier")?"duplicate-identifier":e.includes("unknown reference")||e.includes("did you mean")?"unknown-reference":e.includes("circular")?"circular-dependency":e.includes("requires")&&e.includes("date:")?"missing-date":e.includes("duration")?"duration":e.includes("include")?"include":e.includes("indent")?"indentation":"validation"}function iE(t){if(!t||typeof t!="object")return;let e=t;if(typeof e.code=="string"&&Array.isArray(e.args))return e.code}function kh(t){let e=iE(t.data);return e||(typeof t.code=="string"&&t.code!==""?t.code:typeof t.code=="number"?String(t.code):nE(t.message))}function yt(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function Pt(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function hr(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function oE(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Do(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}var Lo=class{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){let r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);let n=r.properties[e.property]?.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){let r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return yt(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});let i=n[r];if(i!==void 0)return i;{let o=this.types[e],s=o?o.superTypes.some(a=>this.isSubtype(a,r)):!1;return n[r]=s,s}}getAllSubTypes(e){let r=this.allSubtypes[e];if(r)return r;{let n=this.getAllTypes(),i=[];for(let o of n)this.isSubtype(o,e)&&i.push(o);return this.allSubtypes[e]=i,i}}isComplete(e){let r=this.getTypeMetaData(e.$type);for(let n of Object.keys(r.properties)){let i=r.properties[n];if(i.optional)continue;let o=e[i.name];if(o==null)return!1}return!0}};function Vn(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function ru(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function nu(t){return Vn(t)&&typeof t.fullText=="string"}var br=class t{constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){let e=[],r=this.iterator(),n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){let n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new t(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return zt})}join(e=","){let r=this.iterator(),n="",i,o=!1;do i=r.next(),i.done||(o&&(n+=e),n+=fC(i.value)),o=!0;while(!i.done);return n}indexOf(e,r=0){let n=this.iterator(),i=0,o=n.next();for(;!o.done;){if(i>=r&&o.value===e)return i;o=n.next(),i++}return-1}every(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new t(this.startFn,r=>{let{done:n,value:i}=this.nextFn(r);return n?zt:{done:!1,value:e(i)}})}filter(e){return new t(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return zt})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){let n=this.iterator(),i=r,o=n.next();for(;!o.done;)i===void 0?i=o.value:i=e(i,o.value),o=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){let i=e.next();if(i.done)return n;let o=this.recursiveReduce(e,r,n);return o===void 0?i.value:r(o,i.value)}find(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new t(()=>({this:this.startFn()}),r=>{do{if(r.iterator){let o=r.iterator.next();if(o.done)r.iterator=void 0;else return o}let{done:n,value:i}=this.nextFn(r.this);if(!n){let o=e(i);if(iu(o))r.iterator=o[Symbol.iterator]();else return{done:!1,value:o}}}while(r.iterator);return zt})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let r=e>1?this.flat(e-1):this;return new t(()=>({this:r.startFn()}),n=>{do{if(n.iterator){let s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}let{done:i,value:o}=r.nextFn(n.this);if(!i)if(iu(o))n.iterator=o[Symbol.iterator]();else return{done:!1,value:o}}while(n.iterator);return zt})}head(){let r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new t(()=>{let r=this.startFn();for(let n=0;n<e;n++)if(this.nextFn(r).done)return r;return r},this.nextFn)}limit(e){return new t(()=>({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?zt:this.nextFn(r.state)))}distinct(e){return new t(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){let i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return zt})}exclude(e,r){let n=new Set;for(let i of e){let o=r?r(i):i;n.add(o)}return this.filter(i=>{let o=r?r(i):i;return!n.has(o)})}};function fC(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function iu(t){return!!t&&typeof t[Symbol.iterator]=="function"}var su=new br(()=>{},()=>zt),zt=Object.freeze({done:!0,value:void 0});function we(...t){if(t.length===1){let e=t[0];if(e instanceof br)return e;if(iu(e))return new br(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new br(()=>({index:0}),r=>r.index<e.length?{done:!1,value:e[r.index++]}:zt)}return t.length>1?new br(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){let r=t[e.collIndex++];iu(r)?e.iterator=r[Symbol.iterator]():r&&typeof r.length=="number"&&(e.array=r)}}while(e.iterator||e.array||e.collIndex<t.length);return zt}):su}var Yn=class extends br{constructor(e,r,n){super(()=>({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){let s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return zt})}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}},ou;(function(t){function e(o){return o.reduce((s,a)=>s+a,0)}t.sum=e;function r(o){return o.reduce((s,a)=>s*a,0)}t.product=r;function n(o){return o.reduce((s,a)=>Math.min(s,a))}t.min=n;function i(o){return o.reduce((s,a)=>Math.max(s,a))}t.max=i})(ou||(ou={}));function au(t,e={}){for(let[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,o)=>{yt(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=o,e.deep&&au(i,e))}):yt(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&au(n,e)))}function Mo(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function Ft(t){let r=Ka(t).$document;if(!r)throw new Error("AST node has no document.");return r}function Ka(t){for(;t.$container;)t=t.$container;return t}function Ph(t){return Pt(t)?t.ref?[t.ref]:[]:hr(t)?t.items.map(e=>e.ref):[]}function cu(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new br(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndex<n.keys.length;){let i=n.keys[n.keyIndex];if(!i.startsWith("$")){let o=t[i];if(yt(o)){if(n.keyIndex++,Nh(o,r))return{done:!1,value:o}}else if(Array.isArray(o)){for(;n.arrayIndex<o.length;){let s=n.arrayIndex++,a=o[s];if(yt(a)&&Nh(a,r))return{done:!1,value:a}}n.arrayIndex=0}}n.keyIndex++}return zt})}function qr(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new Yn(t,r=>cu(r,e))}function Wt(t,e){if(t){if(e?.range&&!Nh(t,e.range))return new Yn(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new Yn(t,r=>cu(r,e),{includeRoot:!0})}function Nh(t,e){if(!e)return!0;let r=t.$cstNode?.range;return r?cE(r,e):!1}function Hi(t){return new br(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){let r=e.keys[e.keyIndex];if(!r.startsWith("$")){let n=t[r];if(Pt(n)||hr(n))return e.keyIndex++,{done:!1,value:{reference:n,container:t,property:r}};if(Array.isArray(n)){for(;e.arrayIndex<n.length;){let i=e.arrayIndex++,o=n[i];if(Pt(o)||hr(n))return{done:!1,value:{reference:o,container:t,property:r,index:i}}}e.arrayIndex=0}}e.keyIndex++}return zt})}function sE(t,e){let r=t.getTypeMetaData(e.$type),n=e;for(let i of Object.values(r.properties))i.defaultValue!==void 0&&n[i.name]===void 0&&(n[i.name]=aE(i.defaultValue))}function aE(t){return Array.isArray(t)?[...t.map(aE)]:t}var rr={$type:"AbstractElement",cardinality:"cardinality"};function Tu(t){return Ee.isInstance(t,rr.$type)}var du={$type:"AbstractParserRule"};function Zn(t){return Ee.isInstance(t,du.$type)}var lu={$type:"AbstractRule"};var wr={$type:"AbstractType"};var zi={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function Jn(t){return Ee.isInstance(t,zi.$type)}var pu={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function Gh(t){return Ee.isInstance(t,pu.$type)}var lE={$type:"ArrayLiteral",elements:"elements"};var Oh={$type:"ArrayType",elementType:"elementType"};function hE(t){return Ee.isInstance(t,Oh.$type)}var Wi={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function Yr(t){return Ee.isInstance(t,Wi.$type)}var Lh={$type:"BooleanLiteral",true:"true"};function mE(t){return Ee.isInstance(t,Lh.$type)}var qi={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function gE(t){return Ee.isInstance(t,qi.$type)}var $o={$type:"Condition"};var hu={$type:"Conjunction",left:"left",right:"right"};function yE(t){return Ee.isInstance(t,hu.$type)}var Vi={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function Kr(t){return Ee.isInstance(t,Vi.$type)}var mu={$type:"Disjunction",left:"left",right:"right"};function xE(t){return Ee.isInstance(t,mu.$type)}var Dh={$type:"EndOfFile",cardinality:"cardinality"};function TE(t){return Ee.isInstance(t,Dh.$type)}var ji={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};var uE={$type:"GrammarImport",path:"path"};var Fo={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function Yi(t){return Ee.isInstance(t,Fo.$type)}var Mh={$type:"InferredType",name:"name"};function _u(t){return Ee.isInstance(t,Mh.$type)}var hn={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function Ki(t){return Ee.isInstance(t,hn.$type)}var Ch={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};var fE={$type:"InfixRuleOperators",precedences:"precedences"};var ec={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function _E(t){return Ee.isInstance(t,ec.$type)}var tc={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function Rr(t){return Ee.isInstance(t,tc.$type)}var uu={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};var Uo={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function EE(t){return Ee.isInstance(t,Uo.$type)}var $h={$type:"Negation",value:"value"};function vE(t){return Ee.isInstance(t,$h.$type)}var dE={$type:"NumberLiteral",value:"value"};var fu={$type:"Parameter",name:"name"};var Fh={$type:"ParameterReference",parameter:"parameter"};function bE(t){return Ee.isInstance(t,Fh.$type)}var Vr={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function Ut(t){return Ee.isInstance(t,Vr.$type)}var gu={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};function wE(t){return Ee.isInstance(t,gu.$type)}var Bo={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function RE(t){return Ee.isInstance(t,Bo.$type)}var Uh={$type:"ReturnType",name:"name"};function SE(t){return Ee.isInstance(t,Uh.$type)}var Go={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function Zr(t){return Ee.isInstance(t,Go.$type)}var rc={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function Xh(t){return Ee.isInstance(t,rc.$type)}var pE={$type:"StringLiteral",value:"value"};var Xo={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function AE(t){return Ee.isInstance(t,Xo.$type)}var mr={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};var Ho={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function IE(t){return Ee.isInstance(t,Ho.$type)}var Kn={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function qt(t){return Ee.isInstance(t,Kn.$type)}var jo={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function Hh(t){return Ee.isInstance(t,jo.$type)}var yu={$type:"Type",name:"name",type:"type"};function jh(t){return Ee.isInstance(t,yu.$type)}var Za={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};var Ja={$type:"TypeDefinition"};var Bh={$type:"UnionType",types:"types"};function kE(t){return Ee.isInstance(t,Bh.$type)}var xu={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function zh(t){return Ee.isInstance(t,xu.$type)}var zo={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function NE(t){return Ee.isInstance(t,zo.$type)}var Qa={$type:"ValueLiteral"};var nc={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function PE(t){return Ee.isInstance(t,nc.$type)}var ic=class extends Lo{constructor(){super(...arguments),this.types={AbstractElement:{name:rr.$type,properties:{cardinality:{name:rr.cardinality,optional:!0}},superTypes:[]},AbstractParserRule:{name:du.$type,properties:{},superTypes:[lu.$type,wr.$type]},AbstractRule:{name:lu.$type,properties:{},superTypes:[]},AbstractType:{name:wr.$type,properties:{},superTypes:[]},Action:{name:zi.$type,properties:{cardinality:{name:zi.cardinality,optional:!0},feature:{name:zi.feature,optional:!0},inferredType:{name:zi.inferredType,optional:!0},operator:{name:zi.operator,optional:!0},type:{name:zi.type,referenceType:wr.$type,optional:!0}},superTypes:[rr.$type]},Alternatives:{name:pu.$type,properties:{cardinality:{name:pu.cardinality,optional:!0},elements:{name:pu.elements,defaultValue:[]}},superTypes:[rr.$type]},ArrayLiteral:{name:lE.$type,properties:{elements:{name:lE.elements,defaultValue:[]}},superTypes:[Qa.$type]},ArrayType:{name:Oh.$type,properties:{elementType:{name:Oh.elementType}},superTypes:[Ja.$type]},Assignment:{name:Wi.$type,properties:{cardinality:{name:Wi.cardinality,optional:!0},feature:{name:Wi.feature},operator:{name:Wi.operator},predicate:{name:Wi.predicate,optional:!0},terminal:{name:Wi.terminal}},superTypes:[rr.$type]},BooleanLiteral:{name:Lh.$type,properties:{true:{name:Lh.true,defaultValue:!1}},superTypes:[$o.$type,Qa.$type]},CharacterRange:{name:qi.$type,properties:{cardinality:{name:qi.cardinality,optional:!0},left:{name:qi.left},lookahead:{name:qi.lookahead,optional:!0},parenthesized:{name:qi.parenthesized,defaultValue:!1,optional:!0},right:{name:qi.right,optional:!0}},superTypes:[mr.$type]},Condition:{name:$o.$type,properties:{},superTypes:[]},Conjunction:{name:hu.$type,properties:{left:{name:hu.left},right:{name:hu.right}},superTypes:[$o.$type]},CrossReference:{name:Vi.$type,properties:{cardinality:{name:Vi.cardinality,optional:!0},deprecatedSyntax:{name:Vi.deprecatedSyntax,defaultValue:!1},isMulti:{name:Vi.isMulti,defaultValue:!1},terminal:{name:Vi.terminal,optional:!0},type:{name:Vi.type,referenceType:wr.$type}},superTypes:[rr.$type]},Disjunction:{name:mu.$type,properties:{left:{name:mu.left},right:{name:mu.right}},superTypes:[$o.$type]},EndOfFile:{name:Dh.$type,properties:{cardinality:{name:Dh.cardinality,optional:!0}},superTypes:[rr.$type]},Grammar:{name:ji.$type,properties:{imports:{name:ji.imports,defaultValue:[]},interfaces:{name:ji.interfaces,defaultValue:[]},isDeclared:{name:ji.isDeclared,defaultValue:!1},name:{name:ji.name,optional:!0},rules:{name:ji.rules,defaultValue:[]},types:{name:ji.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:uE.$type,properties:{path:{name:uE.path}},superTypes:[]},Group:{name:Fo.$type,properties:{cardinality:{name:Fo.cardinality,optional:!0},elements:{name:Fo.elements,defaultValue:[]},guardCondition:{name:Fo.guardCondition,optional:!0},predicate:{name:Fo.predicate,optional:!0}},superTypes:[rr.$type]},InferredType:{name:Mh.$type,properties:{name:{name:Mh.name}},superTypes:[wr.$type]},InfixRule:{name:hn.$type,properties:{call:{name:hn.call},dataType:{name:hn.dataType,optional:!0},inferredType:{name:hn.inferredType,optional:!0},name:{name:hn.name},operators:{name:hn.operators},parameters:{name:hn.parameters,defaultValue:[]},returnType:{name:hn.returnType,referenceType:wr.$type,optional:!0}},superTypes:[du.$type]},InfixRuleOperatorList:{name:Ch.$type,properties:{associativity:{name:Ch.associativity,optional:!0},operators:{name:Ch.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:fE.$type,properties:{precedences:{name:fE.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:ec.$type,properties:{attributes:{name:ec.attributes,defaultValue:[]},name:{name:ec.name},superTypes:{name:ec.superTypes,defaultValue:[],referenceType:wr.$type}},superTypes:[wr.$type]},Keyword:{name:tc.$type,properties:{cardinality:{name:tc.cardinality,optional:!0},predicate:{name:tc.predicate,optional:!0},value:{name:tc.value}},superTypes:[rr.$type]},NamedArgument:{name:uu.$type,properties:{calledByName:{name:uu.calledByName,defaultValue:!1},parameter:{name:uu.parameter,referenceType:fu.$type,optional:!0},value:{name:uu.value}},superTypes:[]},NegatedToken:{name:Uo.$type,properties:{cardinality:{name:Uo.cardinality,optional:!0},lookahead:{name:Uo.lookahead,optional:!0},parenthesized:{name:Uo.parenthesized,defaultValue:!1,optional:!0},terminal:{name:Uo.terminal}},superTypes:[mr.$type]},Negation:{name:$h.$type,properties:{value:{name:$h.value}},superTypes:[$o.$type]},NumberLiteral:{name:dE.$type,properties:{value:{name:dE.value}},superTypes:[Qa.$type]},Parameter:{name:fu.$type,properties:{name:{name:fu.name}},superTypes:[]},ParameterReference:{name:Fh.$type,properties:{parameter:{name:Fh.parameter,referenceType:fu.$type}},superTypes:[$o.$type]},ParserRule:{name:Vr.$type,properties:{dataType:{name:Vr.dataType,optional:!0},definition:{name:Vr.definition},entry:{name:Vr.entry,defaultValue:!1},fragment:{name:Vr.fragment,defaultValue:!1},inferredType:{name:Vr.inferredType,optional:!0},name:{name:Vr.name},parameters:{name:Vr.parameters,defaultValue:[]},returnType:{name:Vr.returnType,referenceType:wr.$type,optional:!0}},superTypes:[du.$type]},ReferenceType:{name:gu.$type,properties:{isMulti:{name:gu.isMulti,defaultValue:!1},referenceType:{name:gu.referenceType}},superTypes:[Ja.$type]},RegexToken:{name:Bo.$type,properties:{cardinality:{name:Bo.cardinality,optional:!0},lookahead:{name:Bo.lookahead,optional:!0},parenthesized:{name:Bo.parenthesized,defaultValue:!1,optional:!0},regex:{name:Bo.regex}},superTypes:[mr.$type]},ReturnType:{name:Uh.$type,properties:{name:{name:Uh.name}},superTypes:[]},RuleCall:{name:Go.$type,properties:{arguments:{name:Go.arguments,defaultValue:[]},cardinality:{name:Go.cardinality,optional:!0},predicate:{name:Go.predicate,optional:!0},rule:{name:Go.rule,referenceType:lu.$type}},superTypes:[rr.$type]},SimpleType:{name:rc.$type,properties:{primitiveType:{name:rc.primitiveType,optional:!0},stringType:{name:rc.stringType,optional:!0},typeRef:{name:rc.typeRef,referenceType:wr.$type,optional:!0}},superTypes:[Ja.$type]},StringLiteral:{name:pE.$type,properties:{value:{name:pE.value}},superTypes:[Qa.$type]},TerminalAlternatives:{name:Xo.$type,properties:{cardinality:{name:Xo.cardinality,optional:!0},elements:{name:Xo.elements,defaultValue:[]},lookahead:{name:Xo.lookahead,optional:!0},parenthesized:{name:Xo.parenthesized,defaultValue:!1,optional:!0}},superTypes:[mr.$type]},TerminalElement:{name:mr.$type,properties:{cardinality:{name:mr.cardinality,optional:!0},lookahead:{name:mr.lookahead,optional:!0},parenthesized:{name:mr.parenthesized,defaultValue:!1,optional:!0}},superTypes:[rr.$type]},TerminalGroup:{name:Ho.$type,properties:{cardinality:{name:Ho.cardinality,optional:!0},elements:{name:Ho.elements,defaultValue:[]},lookahead:{name:Ho.lookahead,optional:!0},parenthesized:{name:Ho.parenthesized,defaultValue:!1,optional:!0}},superTypes:[mr.$type]},TerminalRule:{name:Kn.$type,properties:{definition:{name:Kn.definition},fragment:{name:Kn.fragment,defaultValue:!1},hidden:{name:Kn.hidden,defaultValue:!1},name:{name:Kn.name},type:{name:Kn.type,optional:!0}},superTypes:[lu.$type]},TerminalRuleCall:{name:jo.$type,properties:{cardinality:{name:jo.cardinality,optional:!0},lookahead:{name:jo.lookahead,optional:!0},parenthesized:{name:jo.parenthesized,defaultValue:!1,optional:!0},rule:{name:jo.rule,referenceType:Kn.$type}},superTypes:[mr.$type]},Type:{name:yu.$type,properties:{name:{name:yu.name},type:{name:yu.type}},superTypes:[wr.$type]},TypeAttribute:{name:Za.$type,properties:{defaultValue:{name:Za.defaultValue,optional:!0},isOptional:{name:Za.isOptional,defaultValue:!1},name:{name:Za.name},type:{name:Za.type}},superTypes:[]},TypeDefinition:{name:Ja.$type,properties:{},superTypes:[]},UnionType:{name:Bh.$type,properties:{types:{name:Bh.types,defaultValue:[]}},superTypes:[Ja.$type]},UnorderedGroup:{name:xu.$type,properties:{cardinality:{name:xu.cardinality,optional:!0},elements:{name:xu.elements,defaultValue:[]}},superTypes:[rr.$type]},UntilToken:{name:zo.$type,properties:{cardinality:{name:zo.cardinality,optional:!0},lookahead:{name:zo.lookahead,optional:!0},parenthesized:{name:zo.parenthesized,defaultValue:!1,optional:!0},terminal:{name:zo.terminal}},superTypes:[mr.$type]},ValueLiteral:{name:Qa.$type,properties:{},superTypes:[]},Wildcard:{name:nc.$type,properties:{cardinality:{name:nc.cardinality,optional:!0},lookahead:{name:nc.lookahead,optional:!0},parenthesized:{name:nc.parenthesized,defaultValue:!1,optional:!0}},superTypes:[mr.$type]}}}},Ee=new ic;function oc(t){return new Yn(t,e=>Vn(e)?e.content:[],{includeRoot:!0})}function LE(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function sc(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function Wo(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var mn;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(mn||(mn={}));function dC(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return mn.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return mn.After;let r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return r&&n?mn.Inside:r?mn.OverlapBack:n?mn.OverlapFront:mn.Outside}function cE(t,e){return dC(t,e)>mn.After}var DE=/^[\w\p{L}]$/u;function ME(t,e){if(t){let r=pC(t,!0);if(r&&OE(r,e))return r;if(nu(t)){let n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let o=t.content[i];if(OE(o,e))return o}}}}function OE(t,e){return ru(t)&&e.includes(t.tokenType.name)}function pC(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t);for(;n>0;){n--;let i=r.content[n];if(e||!i.hidden)return i}t=r}}var Su={};eu(Su,{findAssignment:()=>im,findNameAssignment:()=>wu,findNodeForKeyword:()=>rm,findNodeForProperty:()=>dc,findNodesForKeyword:()=>_C,findNodesForKeywordInternal:()=>nm,findNodesForProperty:()=>em,getActionAtElement:()=>jE,getActionType:()=>WE,getAllReachableRules:()=>fc,getAllRulesUsedForCrossReferences:()=>TC,getCrossReferenceTerminal:()=>Jh,getEntryRule:()=>BE,getExplicitRuleType:()=>Ru,getHiddenRules:()=>GE,getRuleType:()=>om,getRuleTypeName:()=>RC,getTypeName:()=>ei,isArrayCardinality:()=>vC,isArrayOperator:()=>bC,isCommentTerminal:()=>Qh,isDataType:()=>wC,isDataTypeRule:()=>pc,isOptionalCardinality:()=>EC,terminalRegex:()=>Vo});var ac=class extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};function Qn(t,e="Error: Got unexpected value."){throw new Error(e)}function se(t){return t.charCodeAt(0)}function Eu(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function qo(t,e){if(t[e]===!0)throw"duplicate flag "+e;let r=t[e];t[e]=!0}function Zi(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function cc(){throw Error("Internal Error - Should never get here!")}function Wh(t){return t.type==="Character"}var lc=[];for(let t=se("0");t<=se("9");t++)lc.push(t);var uc=[se("_")].concat(lc);for(let t=se("a");t<=se("z");t++)uc.push(t);for(let t=se("A");t<=se("Z");t++)uc.push(t);var qh=[se(" "),se("\f"),se(`
13
+ `),se("\r"),se(" "),se("\v"),se(" "),se("\xA0"),se("\u1680"),se("\u2000"),se("\u2001"),se("\u2002"),se("\u2003"),se("\u2004"),se("\u2005"),se("\u2006"),se("\u2007"),se("\u2008"),se("\u2009"),se("\u200A"),se("\u2028"),se("\u2029"),se("\u202F"),se("\u205F"),se("\u3000"),se("\uFEFF")];var hC=/[0-9a-fA-F]/,vu=/[0-9]/,mC=/[1-9]/,Ji=class{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let r=this.disjunction();this.consumeChar("/");let n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":qo(n,"global");break;case"i":qo(n,"ignoreCase");break;case"m":qo(n,"multiLine");break;case"u":qo(n,"unicode");break;case"y":qo(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){let e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){let e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}Zi(r);let n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return cc()}quantifier(e=!1){let r,n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":let i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let o;this.isDigit()?(o=this.integerIncludingZero(),r={atLeast:i,atMost:o}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;Zi(r);break}if(!(e===!0&&r===void 0)&&Zi(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e,r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),Zi(e)?(e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):cc()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[se(`
14
+ `),se("\r"),se("\u2028"),se("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=lc;break;case"D":e=lc,r=!0;break;case"s":e=qh;break;case"S":e=qh,r=!0;break;case"w":e=uc;break;case"W":e=uc,r=!0;break}return Zi(e)?{type:"Set",value:e,complement:r}:cc()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=se("\f");break;case"n":e=se(`
15
+ `);break;case"r":e=se("\r");break;case"t":e=se(" ");break;case"v":e=se("\v");break}return Zi(e)?{type:"Character",value:e}:cc()}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:se("\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:se(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
16
+ `:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:se(e)}}}characterClass(){let e=[],r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){let n=this.classAtom(),i=n.type==="Character";if(Wh(n)&&this.isRangeDash()){this.consumeChar("-");let o=this.classAtom(),s=o.type==="Character";if(Wh(o)){if(o.value<n.value)throw Error("Range out of order in character class");e.push({from:n.value,to:o.value})}else Eu(n.value,e),e.push(se("-")),Eu(o.value,e)}else Eu(n.value,e)}return this.consumeChar("]"),{type:"Set",complement:r,value:e}}classAtom(){switch(this.peekChar()){case"]":case`
17
+ `: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:se("\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;this.consumeChar("("),this.peekChar(0)==="?"?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;let r=this.disjunction();this.consumeChar(")");let n={type:"Group",capturing:e,value:r};return e&&(n.idx=this.groupIdx),n}positiveInteger(){let e=this.popChar();if(mC.test(e)===!1)throw Error("Expecting a positive integer");for(;vu.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(vu.test(e)===!1)throw Error("Expecting an integer");for(;vu.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let e=this.popChar();switch(e){case`
18
+ `: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:se(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 vu.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case`
43
19
  `: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`
44
- `:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let r="";for(let i=0;i<e;i++){let o=this.popChar();if($O.test(o)===!1)throw Error("Expecting a HexDecimal digits");r+=o}return{type:"Character",value:parseInt(r,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){let e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(e!==void 0&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}};var cn=class{visitChildren(e){for(let r in e){let n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}};var rg=/\r?\n/gm,w0=new _o,tg=class extends cn{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let r=String.fromCharCode(e.value);if(!this.multiline&&r===`
45
- `&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let n=gi(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){let r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!`
46
- `.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},Eo=new tg;function FO(t){try{typeof t!="string"&&(t=t.source),t=`/${t}/`;let e=w0.pattern(t),r=[];for(let n of e.value.value)Eo.reset(t),Eo.visit(n),r.push({start:Eo.startRegexp,end:Eo.endRegex});return r}catch{return[]}}function ng(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),Eo.reset(t),Eo.visit(w0.pattern(t)),Eo.multiline}catch{return!1}}var R0=`\f
47
- \r \v \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`.split("");function Wc(t){let e=typeof t=="string"?new RegExp(t):t;return R0.some(r=>e.test(r))}function gi(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ig(t,e){let r=b0(t),n=e.match(r);return!!n&&n[0].length>0}function b0(t){typeof t=="string"&&(t=new RegExp(t));let e=t,r=t.source,n=0;function i(){let o="",s;function a(l){o+=r.substr(n,l),n+=l}function c(l){o+="(?:"+r.substr(n,l)+"|$)",n+=l}for(;n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":c(3);break;case"x":c(4);break;case"u":e.unicode?r[n+2]==="{"?c(r.indexOf("}",n)-n+1):c(6):c(2);break;case"p":case"P":e.unicode?c(r.indexOf("}",n)-n+1):c(2);break;case"k":c(r.indexOf(">",n)-n+1);break;default:c(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],c(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":a(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?a(s[0].length):c(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":o+="(?:",n+=3,o+=i()+"|$)";break;case"=":o+="(?=",n+=3,o+=i()+")";break;case"!":s=n,n+=3,i(),o+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),o+=r.substr(s,n-s);break;default:a(r.indexOf(">",n)-n+1),o+=i()+"|$)";break}break}else a(1),o+=i()+"|$)";break;case")":return++n,o;default:c(1);break}return o}return new RegExp(i(),t.flags)}function A0(t){return t.rules.find(e=>kt(e)&&e.entry)}function I0(t){return t.rules.filter(e=>jt(e)&&e.hidden)}function Vc(t,e){let r=new Set,n=A0(t);if(!n)return new Set(t.rules);let i=[n].concat(I0(t));for(let s of i)S0(s,r,e);let o=new Set;for(let s of t.rules)(r.has(s.name)||jt(s)&&s.hidden)&&o.add(s);return o}function S0(t,e,r){e.add(t.name),$r(t).forEach(n=>{if(Br(n)||r&&Of(n)){let i=n.rule.ref;i&&!e.has(i.name)&&S0(i,e,r)}})}function UO(t){let e=new Set;return $r(t).forEach(r=>{Ur(r)&&(kt(r.type.ref)&&e.add(r.type.ref),Xc(r.type.ref)&&kt(r.type.ref.$container)&&e.add(r.type.ref.$container))}),e}function ag(t){if(t.terminal)return t.terminal;if(t.type.ref)return Gf(t.type.ref)?.terminal}function cg(t){return t.hidden&&!Wc(Is(t))}function lg(t,e){return!t||!e?[]:ug(t,e,t.astNode,!0)}function Yc(t,e,r){if(!t||!e)return;let n=ug(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function ug(t,e,r,n){if(!n){let i=In(t.grammarSource,Fr);if(i&&i.feature===e)return[t]}return Dr(t)&&t.astNode===r?t.content.flatMap(i=>ug(i,e,r,!1)):[]}function BO(t,e){return t?dg(t,e,t?.astNode):[]}function fg(t,e,r){if(!t)return;let n=dg(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function dg(t,e,r){if(t.astNode!==r)return[];if(Er(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=go(t).iterator(),i,o=[];do if(i=n.next(),!i.done){let s=i.value;s.astNode===r?Er(s.grammarSource)&&s.grammarSource.value===e&&o.push(s):n.prune()}while(!i.done);return o}function pg(t){let e=t.astNode;for(;e===t.container?.astNode;){let r=In(t.grammarSource,Fr);if(r)return r;t=t.container}}function Gf(t){let e=t;return Xc(e)&&(Cn(e.$container)?e=e.$container.$container:Nn(e.$container)?e=e.$container:an(e.$container)),k0(t,e,new Map)}function k0(t,e,r){function n(i,o){let s;return In(i,Fr)||(s=k0(o,o,r)),r.set(t,s),s}if(r.has(t))return r.get(t);r.set(t,void 0);for(let i of $r(e)){if(Fr(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(Br(i)&&kt(i.rule.ref))return n(i,i.rule.ref);if(Pf(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function N0(t){let e=t.$container;if(hi(e)){let r=e.elements,n=r.indexOf(t);for(let i=n-1;i>=0;i--){let o=r[i];if(Cn(o))return o;{let s=$r(r[i]).find(Cn);if(s)return s}}}if(Gc(e))return N0(e)}function GO(t,e){return t==="?"||t==="*"||hi(e)&&!!e.guardCondition}function XO(t){return t==="*"||t==="+"}function HO(t){return t==="+="}function Kc(t){return C0(t,new Set)}function C0(t,e){if(e.has(t))return!0;e.add(t);for(let r of $r(t))if(Br(r)){if(!r.rule.ref||kt(r.rule.ref)&&!C0(r.rule.ref,e)||mi(r.rule.ref))return!1}else{if(Fr(r))return!1;if(Cn(r))return!1}return!!t.definition}function zO(t){return sg(t.type,new Set)}function sg(t,e){if(e.has(t))return!0;if(e.add(t),Cm(t))return!1;if(Gm(t))return!1;if(qm(t))return t.types.every(r=>sg(r,e));if(Pf(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){let r=t.typeRef.ref;return Lf(r)?sg(r.type,e):!1}else return!1}else return!1}function Xf(t){if(!jt(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){let e=t.returnType.ref;if(e)return e.name}}}function yi(t){if(Nn(t))return kt(t)&&Kc(t)?t.name:Xf(t)??t.name;if(Mm(t)||Lf(t)||Hm(t))return t.name;if(Cn(t)){let e=P0(t);if(e)return e}else if(Xc(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function P0(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return yi(t.type.ref)}function jO(t){return jt(t)?t.type?.name??"string":kt(t)&&Kc(t)?t.name:Xf(t)??t.name}function hg(t){return jt(t)?t.type?.name??"string":Xf(t)??t.name}function Is(t){let e={s:!1,i:!1,u:!1},r=Ss(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}var mg=/[\s\S]/.source;function Ss(t,e){if(zm(t))return qO(t);if(jm(t))return WO(t);if(Om(t))return KO(t);if(Of(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return Pn(Ss(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(Fm(t))return YO(t);if(Wm(t))return VO(t);if(Xm(t)){let r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),Pn(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(Vm(t))return Pn(mg,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function qO(t){return Pn(t.elements.map(e=>Ss(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function WO(t){return Pn(t.elements.map(e=>Ss(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function VO(t){return Pn(`${mg}*?${Ss(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function YO(t){return Pn(`(?!${Ss(t.terminal)})${mg}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function KO(t){return t.right?Pn(`[${og(t.left)}-${og(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):Pn(og(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function og(t){return gi(t.value)}function Pn(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function gg(t){let e=[],r=t.Grammar;for(let n of r.rules)jt(n)&&cg(n)&&ng(Is(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:$f}}function Ns(t){console&&console.error&&console.error(`Error: ${t}`)}function Zc(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function Jc(t){let e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}function Qc(t){function e(){}e.prototype=t;let r=new e;function n(){return typeof r.bar}return n(),n(),t;(0,eval)(t)}function ZO(t){return JO(t)?t.LABEL:t.name}function JO(t){return typeof t.LABEL=="string"&&t.LABEL!==""}var dr=class{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(r=>{r.accept(e)})}},Be=class extends dr{constructor(e){super([]),this.idx=1,Object.assign(this,ln(e))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},qt=class extends dr{constructor(e){super(e.definition),this.orgText="",Object.assign(this,ln(e))}},Ze=class extends dr{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,ln(e))}},Ge=class extends dr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,ln(e))}},Je=class extends dr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,ln(e))}},Qe=class extends dr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,ln(e))}},we=class extends dr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,ln(e))}},qe=class extends dr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,ln(e))}},We=class extends dr{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,Object.assign(this,ln(e))}},Te=class{constructor(e){this.idx=1,Object.assign(this,ln(e))}accept(e){e.visit(this)}};function Hf(t){return t.map(Cs)}function Cs(t){function e(r){return r.map(Cs)}if(t instanceof Be){let r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return typeof t.label=="string"&&(r.label=t.label),r}else{if(t instanceof Ze)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Ge)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof Je)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof Qe)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Cs(new Te({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof qe)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Cs(new Te({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof we)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof We)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof Te){let r={type:"Terminal",name:t.terminalType.name,label:ZO(t.terminalType),idx:t.idx};typeof t.label=="string"&&(r.terminalLabel=t.label);let n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=n instanceof RegExp?n.source:n),r}else{if(t instanceof qt)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}function ln(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}var Wt=class{visit(e){let r=e;switch(r.constructor){case Be:return this.visitNonTerminal(r);case Ze:return this.visitAlternative(r);case Ge:return this.visitOption(r);case Je:return this.visitRepetitionMandatory(r);case Qe:return this.visitRepetitionMandatoryWithSeparator(r);case qe:return this.visitRepetitionWithSeparator(r);case we:return this.visitRepetition(r);case We:return this.visitAlternation(r);case Te:return this.visitTerminal(r);case qt:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}};function yg(t){return t instanceof Ze||t instanceof Ge||t instanceof we||t instanceof Je||t instanceof Qe||t instanceof qe||t instanceof Te||t instanceof qt}function vo(t,e=[]){return t instanceof Ge||t instanceof we||t instanceof qe?!0:t instanceof We?t.definition.some(n=>vo(n,e)):t instanceof Be&&e.includes(t)?!1:t instanceof dr?(t instanceof Be&&e.push(t),t.definition.every(n=>vo(n,e))):!1}function xg(t){return t instanceof We}function rr(t){if(t instanceof Be)return"SUBRULE";if(t instanceof Ge)return"OPTION";if(t instanceof We)return"OR";if(t instanceof Je)return"AT_LEAST_ONE";if(t instanceof Qe)return"AT_LEAST_ONE_SEP";if(t instanceof qe)return"MANY_SEP";if(t instanceof we)return"MANY";if(t instanceof Te)return"CONSUME";throw Error("non exhaustive match")}var On=class{walk(e,r=[]){e.definition.forEach((n,i)=>{let o=e.definition.slice(i+1);if(n instanceof Be)this.walkProdRef(n,o,r);else if(n instanceof Te)this.walkTerminal(n,o,r);else if(n instanceof Ze)this.walkFlat(n,o,r);else if(n instanceof Ge)this.walkOption(n,o,r);else if(n instanceof Je)this.walkAtLeastOne(n,o,r);else if(n instanceof Qe)this.walkAtLeastOneSep(n,o,r);else if(n instanceof qe)this.walkManySep(n,o,r);else if(n instanceof we)this.walkMany(n,o,r);else if(n instanceof We)this.walkOr(n,o,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){let i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){let i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){let i=[new Ge({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){let i=O0(e,r,n);this.walk(e,i)}walkMany(e,r,n){let i=[new Ge({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){let i=O0(e,r,n);this.walk(e,i)}walkOr(e,r,n){let i=r.concat(n);e.definition.forEach(o=>{let s=new Ze({definition:[o]});this.walk(s,i)})}};function O0(t,e,r){return[new Ge({definition:[new Te({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function wo(t){if(t instanceof Be)return wo(t.referencedRule);if(t instanceof Te)return tL(t);if(yg(t))return QO(t);if(xg(t))return eL(t);throw Error("non exhaustive match")}function QO(t){let e=[],r=t.definition,n=0,i=r.length>n,o,s=!0;for(;i&&s;)o=r[n],s=vo(o),e=e.concat(wo(o)),n=n+1,i=r.length>n;return[...new Set(e)]}function eL(t){let e=t.definition.map(r=>wo(r));return[...new Set(e.flat())]}function tL(t){return[t.terminalType]}var zf="_~IN~_";var Tg=class extends On{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){let i=rL(e.referencedRule,e.idx)+this.topProd.name,o=r.concat(n),s=new Ze({definition:o}),a=wo(s);this.follows[i]=a}};function L0(t){let e={};return t.forEach(r=>{let n=new Tg(r).startWalking();Object.assign(e,n)}),e}function rL(t,e){return t.name+e+zf}var jf={},nL=new _o;function Ps(t){let e=t.toString();if(jf.hasOwnProperty(e))return jf[e];{let r=nL.pattern(e);return jf[e]=r,r}}function D0(){jf={}}var M0="Complement Sets are not supported for first char optimization",el=`Unable to use "first char" lexer optimizations:
48
- `;function F0(t,e=!1){try{let r=Ps(t);return _g(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===M0)e&&Zc(`${el} Unable to optimize: < ${t.toString()} >
20
+ `:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let r="";for(let i=0;i<e;i++){let o=this.popChar();if(hC.test(o)===!1)throw Error("Expecting a HexDecimal digits");r+=o}return{type:"Character",value:parseInt(r,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){let e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(e!==void 0&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}};var Jr=class{visitChildren(e){for(let r in e){let n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}};var $E=/\r?\n/gm,gC=new Ji,Yh=class extends Jr{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let r=String.fromCharCode(e.value);if(!this.multiline&&r===`
21
+ `&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let n=Qi(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){let r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!`
22
+ `.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},Vh=new Yh;function FE(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),Vh.reset(t),Vh.visit(gC.pattern(t)),Vh.multiline}catch{return!1}}var yC=`\f
23
+ \r \v \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`.split("");function bu(t){let e=typeof t=="string"?new RegExp(t):t;return yC.some(r=>e.test(r))}function Qi(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function UE(t,e){let r=xC(t),n=e.match(r);return!!n&&n[0].length>0}function xC(t){typeof t=="string"&&(t=new RegExp(t));let e=t,r=t.source,n=0;function i(){let o="",s;function a(l){o+=r.substr(n,l),n+=l}function c(l){o+="(?:"+r.substr(n,l)+"|$)",n+=l}for(;n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":c(3);break;case"x":c(4);break;case"u":e.unicode?r[n+2]==="{"?c(r.indexOf("}",n)-n+1):c(6):c(2);break;case"p":case"P":e.unicode?c(r.indexOf("}",n)-n+1):c(2);break;case"k":c(r.indexOf(">",n)-n+1);break;default:c(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],c(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":a(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?a(s[0].length):c(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":o+="(?:",n+=3,o+=i()+"|$)";break;case"=":o+="(?=",n+=3,o+=i()+")";break;case"!":s=n,n+=3,i(),o+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),o+=r.substr(s,n-s);break;default:a(r.indexOf(">",n)-n+1),o+=i()+"|$)";break}break}else a(1),o+=i()+"|$)";break;case")":return++n,o;default:c(1);break}return o}return new RegExp(i(),t.flags)}function BE(t){return t.rules.find(e=>Ut(e)&&e.entry)}function GE(t){return t.rules.filter(e=>qt(e)&&e.hidden)}function fc(t,e){let r=new Set,n=BE(t);if(!n)return new Set(t.rules);let i=[n].concat(GE(t));for(let s of i)XE(s,r,e);let o=new Set;for(let s of t.rules)(r.has(s.name)||qt(s)&&s.hidden)&&o.add(s);return o}function XE(t,e,r){e.add(t.name),qr(t).forEach(n=>{if(Zr(n)||r&&Hh(n)){let i=n.rule.ref;i&&!e.has(i.name)&&XE(i,e,r)}})}function TC(t){let e=new Set;return qr(t).forEach(r=>{Kr(r)&&(Ut(r.type.ref)&&e.add(r.type.ref),_u(r.type.ref)&&Ut(r.type.ref.$container)&&e.add(r.type.ref.$container))}),e}function Jh(t){if(t.terminal)return t.terminal;if(t.type.ref)return wu(t.type.ref)?.terminal}function Qh(t){return t.hidden&&!bu(Vo(t))}function em(t,e){return!t||!e?[]:tm(t,e,t.astNode,!0)}function dc(t,e,r){if(!t||!e)return;let n=tm(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function tm(t,e,r,n){if(!n){let i=Mo(t.grammarSource,Yr);if(i&&i.feature===e)return[t]}return Vn(t)&&t.astNode===r?t.content.flatMap(i=>tm(i,e,r,!1)):[]}function _C(t,e){return t?nm(t,e,t?.astNode):[]}function rm(t,e,r){if(!t)return;let n=nm(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function nm(t,e,r){if(t.astNode!==r)return[];if(Rr(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=oc(t).iterator(),i,o=[];do if(i=n.next(),!i.done){let s=i.value;s.astNode===r?Rr(s.grammarSource)&&s.grammarSource.value===e&&o.push(s):n.prune()}while(!i.done);return o}function im(t){let e=t.astNode;for(;e===t.container?.astNode;){let r=Mo(t.grammarSource,Yr);if(r)return r;t=t.container}}function wu(t){let e=t;return _u(e)&&(Jn(e.$container)?e=e.$container.$container:Zn(e.$container)?e=e.$container:Qn(e.$container)),HE(t,e,new Map)}function HE(t,e,r){function n(i,o){let s;return Mo(i,Yr)||(s=HE(o,o,r)),r.set(t,s),s}if(r.has(t))return r.get(t);r.set(t,void 0);for(let i of qr(e)){if(Yr(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(Zr(i)&&Ut(i.rule.ref))return n(i,i.rule.ref);if(Xh(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function jE(t){let e=t.$container;if(Yi(e)){let r=e.elements,n=r.indexOf(t);for(let i=n-1;i>=0;i--){let o=r[i];if(Jn(o))return o;{let s=qr(r[i]).find(Jn);if(s)return s}}}if(Tu(e))return jE(e)}function EC(t,e){return t==="?"||t==="*"||Yi(e)&&!!e.guardCondition}function vC(t){return t==="*"||t==="+"}function bC(t){return t==="+="}function pc(t){return zE(t,new Set)}function zE(t,e){if(e.has(t))return!0;e.add(t);for(let r of qr(t))if(Zr(r)){if(!r.rule.ref||Ut(r.rule.ref)&&!zE(r.rule.ref,e)||Ki(r.rule.ref))return!1}else{if(Yr(r))return!1;if(Jn(r))return!1}return!!t.definition}function wC(t){return Zh(t.type,new Set)}function Zh(t,e){if(e.has(t))return!0;if(e.add(t),hE(t))return!1;if(wE(t))return!1;if(kE(t))return t.types.every(r=>Zh(r,e));if(Xh(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){let r=t.typeRef.ref;return jh(r)?Zh(r.type,e):!1}else return!1}else return!1}function Ru(t){if(!qt(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){let e=t.returnType.ref;if(e)return e.name}}}function ei(t){if(Zn(t))return Ut(t)&&pc(t)?t.name:Ru(t)??t.name;if(_E(t)||jh(t)||SE(t))return t.name;if(Jn(t)){let e=WE(t);if(e)return e}else if(_u(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function WE(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return ei(t.type.ref)}function RC(t){return qt(t)?t.type?.name??"string":Ut(t)&&pc(t)?t.name:Ru(t)??t.name}function om(t){return qt(t)?t.type?.name??"string":Ru(t)??t.name}function Vo(t){let e={s:!1,i:!1,u:!1},r=Yo(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}var sm=/[\s\S]/.source;function Yo(t,e){if(AE(t))return SC(t);if(IE(t))return AC(t);if(gE(t))return NC(t);if(Hh(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return gn(Yo(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(EE(t))return kC(t);if(NE(t))return IC(t);if(RE(t)){let r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),gn(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(PE(t))return gn(sm,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function SC(t){return gn(t.elements.map(e=>Yo(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function AC(t){return gn(t.elements.map(e=>Yo(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function IC(t){return gn(`${sm}*?${Yo(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function kC(t){return gn(`(?!${Yo(t.terminal)})${sm}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function NC(t){return t.right?gn(`[${Kh(t.left)}-${Kh(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):gn(Kh(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function Kh(t){return Qi(t.value)}function gn(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function qE(t){let e=[],r=t.Grammar;for(let n of r.rules)qt(n)&&Qh(n)&&FE(Vo(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:DE}}function Ko(t){console&&console.error&&console.error(`Error: ${t}`)}function hc(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function mc(t){let e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}function gc(t){function e(){}e.prototype=t;let r=new e;function n(){return typeof r.bar}return n(),n(),t;(0,eval)(t)}function PC(t){return CC(t)?t.LABEL:t.name}function CC(t){return typeof t.LABEL=="string"&&t.LABEL!==""}var nr=class{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(r=>{r.accept(e)})}},De=class extends nr{constructor(e){super([]),this.idx=1,Object.assign(this,Qr(e))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},Bt=class extends nr{constructor(e){super(e.definition),this.orgText="",Object.assign(this,Qr(e))}},qe=class extends nr{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,Qr(e))}},Me=class extends nr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,Qr(e))}},Ve=class extends nr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,Qr(e))}},Ye=class extends nr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,Qr(e))}},ve=class extends nr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,Qr(e))}},je=class extends nr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,Qr(e))}},ze=class extends nr{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,Object.assign(this,Qr(e))}},me=class{constructor(e){this.idx=1,Object.assign(this,Qr(e))}accept(e){e.visit(this)}};function Au(t){return t.map(Zo)}function Zo(t){function e(r){return r.map(Zo)}if(t instanceof De){let r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return typeof t.label=="string"&&(r.label=t.label),r}else{if(t instanceof qe)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Me)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof Ve)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof Ye)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Zo(new me({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof je)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Zo(new me({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof ve)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof ze)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof me){let r={type:"Terminal",name:t.terminalType.name,label:PC(t.terminalType),idx:t.idx};typeof t.label=="string"&&(r.terminalLabel=t.label);let n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=n instanceof RegExp?n.source:n),r}else{if(t instanceof Bt)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}function Qr(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}var Gt=class{visit(e){let r=e;switch(r.constructor){case De:return this.visitNonTerminal(r);case qe:return this.visitAlternative(r);case Me:return this.visitOption(r);case Ve:return this.visitRepetitionMandatory(r);case Ye:return this.visitRepetitionMandatoryWithSeparator(r);case je:return this.visitRepetitionWithSeparator(r);case ve:return this.visitRepetition(r);case ze:return this.visitAlternation(r);case me:return this.visitTerminal(r);case Bt:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}};function am(t){return t instanceof qe||t instanceof Me||t instanceof ve||t instanceof Ve||t instanceof Ye||t instanceof je||t instanceof me||t instanceof Bt}function eo(t,e=[]){return t instanceof Me||t instanceof ve||t instanceof je?!0:t instanceof ze?t.definition.some(n=>eo(n,e)):t instanceof De&&e.includes(t)?!1:t instanceof nr?(t instanceof De&&e.push(t),t.definition.every(n=>eo(n,e))):!1}function cm(t){return t instanceof ze}function Vt(t){if(t instanceof De)return"SUBRULE";if(t instanceof Me)return"OPTION";if(t instanceof ze)return"OR";if(t instanceof Ve)return"AT_LEAST_ONE";if(t instanceof Ye)return"AT_LEAST_ONE_SEP";if(t instanceof je)return"MANY_SEP";if(t instanceof ve)return"MANY";if(t instanceof me)return"CONSUME";throw Error("non exhaustive match")}var yn=class{walk(e,r=[]){e.definition.forEach((n,i)=>{let o=e.definition.slice(i+1);if(n instanceof De)this.walkProdRef(n,o,r);else if(n instanceof me)this.walkTerminal(n,o,r);else if(n instanceof qe)this.walkFlat(n,o,r);else if(n instanceof Me)this.walkOption(n,o,r);else if(n instanceof Ve)this.walkAtLeastOne(n,o,r);else if(n instanceof Ye)this.walkAtLeastOneSep(n,o,r);else if(n instanceof je)this.walkManySep(n,o,r);else if(n instanceof ve)this.walkMany(n,o,r);else if(n instanceof ze)this.walkOr(n,o,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){let i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){let i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){let i=[new Me({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){let i=VE(e,r,n);this.walk(e,i)}walkMany(e,r,n){let i=[new Me({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){let i=VE(e,r,n);this.walk(e,i)}walkOr(e,r,n){let i=r.concat(n);e.definition.forEach(o=>{let s=new qe({definition:[o]});this.walk(s,i)})}};function VE(t,e,r){return[new Me({definition:[new me({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function to(t){if(t instanceof De)return to(t.referencedRule);if(t instanceof me)return DC(t);if(am(t))return OC(t);if(cm(t))return LC(t);throw Error("non exhaustive match")}function OC(t){let e=[],r=t.definition,n=0,i=r.length>n,o,s=!0;for(;i&&s;)o=r[n],s=eo(o),e=e.concat(to(o)),n=n+1,i=r.length>n;return[...new Set(e)]}function LC(t){let e=t.definition.map(r=>to(r));return[...new Set(e.flat())]}function DC(t){return[t.terminalType]}var Iu="_~IN~_";var lm=class extends yn{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){let i=MC(e.referencedRule,e.idx)+this.topProd.name,o=r.concat(n),s=new qe({definition:o}),a=to(s);this.follows[i]=a}};function YE(t){let e={};return t.forEach(r=>{let n=new lm(r).startWalking();Object.assign(e,n)}),e}function MC(t,e){return t.name+e+Iu}var ku={},$C=new Ji;function Jo(t){let e=t.toString();if(ku.hasOwnProperty(e))return ku[e];{let r=$C.pattern(e);return ku[e]=r,r}}function KE(){ku={}}var JE="Complement Sets are not supported for first char optimization",yc=`Unable to use "first char" lexer optimizations:
24
+ `;function QE(t,e=!1){try{let r=Jo(t);return um(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===JE)e&&hc(`${yc} Unable to optimize: < ${t.toString()} >
49
25
  Complement Sets cannot be automatically optimized.
50
26
  This will disable the lexer's first char optimizations.
51
27
  See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=`
52
28
  This will disable the lexer's first char optimizations.
53
- See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),Ns(`${el}
29
+ See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),Ko(`${yc}
54
30
  Failed parsing: < ${t.toString()} >
55
31
  Using the @chevrotain/regexp-to-ast library
56
- Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function _g(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)_g(t.value[i],e,r);break;case"Alternative":let n=t.value;for(let i=0;i<n.length;i++){let o=n[i];switch(o.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}let s=o;switch(s.type){case"Character":qf(s.value,e,r);break;case"Set":if(s.complement===!0)throw Error(M0);s.value.forEach(c=>{if(typeof c=="number")qf(c,e,r);else{let l=c;if(r===!0)for(let u=l.from;u<=l.to;u++)qf(u,e,r);else{for(let u=l.from;u<=l.to&&u<Os;u++)qf(u,e,r);if(l.to>=Os){let u=l.from>=Os?l.from:Os,f=l.to,d=un(u),p=un(f);for(let m=d;m<=p;m++)e[m]=m}}}});break;case"Group":_g(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}let a=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&Eg(s)===!1||s.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return Object.values(e)}function qf(t,e,r){let n=un(t);e[n]=n,r===!0&&iL(t,e)}function iL(t,e){let r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){let i=un(n.charCodeAt(0));e[i]=i}else{let i=r.toLowerCase();if(i!==r){let o=un(i.charCodeAt(0));e[o]=o}}}function $0(t,e){return t.value.find(r=>{if(typeof r=="number")return e.includes(r);{let n=r;return e.find(i=>n.from<=i&&i<=n.to)!==void 0}})}function Eg(t){let e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Array.isArray(t.value)?t.value.every(Eg):Eg(t.value):!1}var vg=class extends cn{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){this.targetCharCodes.includes(e.value)&&(this.found=!0)}visitSet(e){e.complement?$0(e,this.targetCharCodes)===void 0&&(this.found=!0):$0(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};function Wf(t,e){if(e instanceof RegExp){let r=Ps(e),n=new vg(t);return n.visit(r),n.found}else{for(let r of e){let n=r.charCodeAt(0);if(t.includes(n))return!0}return!1}}var Ro="PATTERN",Ls="defaultMode",Vf="modes";function B0(t,e){e=Object.assign({safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
57
- `],tracer:(T,v)=>v()},e);let r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{wL()});let n;r("Reject Lexer.NA",()=>{n=t.filter(T=>T[Ro]!==ct.NA)});let i=!1,o;r("Transform Patterns",()=>{i=!1,o=n.map(T=>{let v=T[Ro];if(v instanceof RegExp){let S=v.source;return S.length===1&&S!=="^"&&S!=="$"&&S!=="."&&!v.ignoreCase?S:S.length===2&&S[0]==="\\"&&!["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"].includes(S[1])?S[1]:U0(v)}else{if(typeof v=="function")return i=!0,{exec:v};if(typeof v=="object")return i=!0,v;if(typeof v=="string"){if(v.length===1)return v;{let S=v.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),D=new RegExp(S);return U0(D)}}else throw Error("non exhaustive match")}})});let s,a,c,l,u;r("misc mapping",()=>{s=n.map(T=>T.tokenTypeIdx),a=n.map(T=>{let v=T.GROUP;if(v!==ct.SKIPPED){if(typeof v=="string")return v;if(v===void 0)return!1;throw Error("non exhaustive match")}}),c=n.map(T=>{let v=T.LONGER_ALT;if(v)return Array.isArray(v)?v.map(D=>n.indexOf(D)):[n.indexOf(v)]}),l=n.map(T=>T.PUSH_MODE),u=n.map(T=>Object.hasOwn(T,"POP_MODE"))});let f;r("Line Terminator Handling",()=>{let T=V0(e.lineTerminatorCharacters);f=n.map(v=>!1),e.positionTracking!=="onlyOffset"&&(f=n.map(v=>Object.hasOwn(v,"LINE_BREAKS")?!!v.LINE_BREAKS:W0(v,T)===!1&&Wf(T,v.PATTERN)))});let d,p,m,y;r("Misc Mapping #2",()=>{d=n.map(j0),p=o.map(EL),m=n.reduce((T,v)=>{let S=v.GROUP;return typeof S=="string"&&S!==ct.SKIPPED&&(T[S]=[]),T},{}),y=o.map((T,v)=>({pattern:o[v],longerAlt:c[v],canLineTerminator:f[v],isCustom:d[v],short:p[v],group:a[v],push:l[v],pop:u[v],tokenTypeIdx:s[v],tokenType:n[v]}))});let _=!0,E=[];return e.safeMode||r("First Char Optimization",()=>{E=n.reduce((T,v,S)=>{if(typeof v.PATTERN=="string"){let D=v.PATTERN.charCodeAt(0),N=un(D);wg(T,N,y[S])}else if(Array.isArray(v.START_CHARS_HINT)){let D;v.START_CHARS_HINT.forEach(N=>{let M=typeof N=="string"?N.charCodeAt(0):N,B=un(M);D!==B&&(D=B,wg(T,B,y[S]))})}else if(v.PATTERN instanceof RegExp)if(v.PATTERN.unicode)_=!1,e.ensureOptimizations&&Ns(`${el} Unable to analyze < ${v.PATTERN.toString()} > pattern.
32
+ Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function um(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)um(t.value[i],e,r);break;case"Alternative":let n=t.value;for(let i=0;i<n.length;i++){let o=n[i];switch(o.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}let s=o;switch(s.type){case"Character":Nu(s.value,e,r);break;case"Set":if(s.complement===!0)throw Error(JE);s.value.forEach(c=>{if(typeof c=="number")Nu(c,e,r);else{let l=c;if(r===!0)for(let u=l.from;u<=l.to;u++)Nu(u,e,r);else{for(let u=l.from;u<=l.to&&u<Qo;u++)Nu(u,e,r);if(l.to>=Qo){let u=l.from>=Qo?l.from:Qo,f=l.to,d=en(u),p=en(f);for(let m=d;m<=p;m++)e[m]=m}}}});break;case"Group":um(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}let a=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&fm(s)===!1||s.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return Object.values(e)}function Nu(t,e,r){let n=en(t);e[n]=n,r===!0&&FC(t,e)}function FC(t,e){let r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){let i=en(n.charCodeAt(0));e[i]=i}else{let i=r.toLowerCase();if(i!==r){let o=en(i.charCodeAt(0));e[o]=o}}}function ZE(t,e){return t.value.find(r=>{if(typeof r=="number")return e.includes(r);{let n=r;return e.find(i=>n.from<=i&&i<=n.to)!==void 0}})}function fm(t){let e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Array.isArray(t.value)?t.value.every(fm):fm(t.value):!1}var dm=class extends Jr{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){this.targetCharCodes.includes(e.value)&&(this.found=!0)}visitSet(e){e.complement?ZE(e,this.targetCharCodes)===void 0&&(this.found=!0):ZE(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};function Pu(t,e){if(e instanceof RegExp){let r=Jo(e),n=new dm(t);return n.visit(r),n.found}else{for(let r of e){let n=r.charCodeAt(0);if(t.includes(n))return!0}return!1}}var ro="PATTERN",es="defaultMode",Cu="modes";function t0(t,e){e=Object.assign({safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
33
+ `],tracer:(x,v)=>v()},e);let r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{nO()});let n;r("Reject Lexer.NA",()=>{n=t.filter(x=>x[ro]!==ot.NA)});let i=!1,o;r("Transform Patterns",()=>{i=!1,o=n.map(x=>{let v=x[ro];if(v instanceof RegExp){let k=v.source;return k.length===1&&k!=="^"&&k!=="$"&&k!=="."&&!v.ignoreCase?k:k.length===2&&k[0]==="\\"&&!["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"].includes(k[1])?k[1]:e0(v)}else{if(typeof v=="function")return i=!0,{exec:v};if(typeof v=="object")return i=!0,v;if(typeof v=="string"){if(v.length===1)return v;{let k=v.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),F=new RegExp(k);return e0(F)}}else throw Error("non exhaustive match")}})});let s,a,c,l,u;r("misc mapping",()=>{s=n.map(x=>x.tokenTypeIdx),a=n.map(x=>{let v=x.GROUP;if(v!==ot.SKIPPED){if(typeof v=="string")return v;if(v===void 0)return!1;throw Error("non exhaustive match")}}),c=n.map(x=>{let v=x.LONGER_ALT;if(v)return Array.isArray(v)?v.map(F=>n.indexOf(F)):[n.indexOf(v)]}),l=n.map(x=>x.PUSH_MODE),u=n.map(x=>Object.hasOwn(x,"POP_MODE"))});let f;r("Line Terminator Handling",()=>{let x=l0(e.lineTerminatorCharacters);f=n.map(v=>!1),e.positionTracking!=="onlyOffset"&&(f=n.map(v=>Object.hasOwn(v,"LINE_BREAKS")?!!v.LINE_BREAKS:c0(v,x)===!1&&Pu(x,v.PATTERN)))});let d,p,m,y;r("Misc Mapping #2",()=>{d=n.map(s0),p=o.map(tO),m=n.reduce((x,v)=>{let k=v.GROUP;return typeof k=="string"&&k!==ot.SKIPPED&&(x[k]=[]),x},{}),y=o.map((x,v)=>({pattern:o[v],longerAlt:c[v],canLineTerminator:f[v],isCustom:d[v],short:p[v],group:a[v],push:l[v],pop:u[v],tokenTypeIdx:s[v],tokenType:n[v]}))});let E=!0,_=[];return e.safeMode||r("First Char Optimization",()=>{_=n.reduce((x,v,k)=>{if(typeof v.PATTERN=="string"){let F=v.PATTERN.charCodeAt(0),O=en(F);pm(x,O,y[k])}else if(Array.isArray(v.START_CHARS_HINT)){let F;v.START_CHARS_HINT.forEach(O=>{let L=typeof O=="string"?O.charCodeAt(0):O,G=en(L);F!==G&&(F=G,pm(x,G,y[k]))})}else if(v.PATTERN instanceof RegExp)if(v.PATTERN.unicode)E=!1,e.ensureOptimizations&&Ko(`${yc} Unable to analyze < ${v.PATTERN.toString()} > pattern.
58
34
  The regexp unicode flag is not currently supported by the regexp-to-ast library.
59
35
  This will disable the lexer's first char optimizations.
60
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let D=F0(v.PATTERN,e.ensureOptimizations);D.length===0&&(_=!1),D.forEach(N=>{wg(T,N,y[S])})}else e.ensureOptimizations&&Ns(`${el} TokenType: <${v.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
36
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let F=QE(v.PATTERN,e.ensureOptimizations);F.length===0&&(E=!1),F.forEach(O=>{pm(x,O,y[k])})}else e.ensureOptimizations&&Ko(`${yc} TokenType: <${v.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
61
37
  This will disable the lexer's first char optimizations.
62
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),_=!1;return T},[])}),{emptyGroups:m,patternIdxToConfig:y,charCodeToPatternIdxToConfig:E,hasCustom:i,canBeOptimized:_}}function G0(t,e){let r=[],n=sL(t);r=r.concat(n.errors);let i=aL(n.valid),o=i.valid;return r=r.concat(i.errors),r=r.concat(oL(o)),r=r.concat(mL(o)),r=r.concat(gL(o,e)),r=r.concat(yL(o)),r}function oL(t){let e=[],r=t.filter(n=>n[Ro]instanceof RegExp);return e=e.concat(lL(r)),e=e.concat(dL(r)),e=e.concat(pL(r)),e=e.concat(hL(r)),e=e.concat(uL(r)),e}function sL(t){let e=t.filter(i=>!Object.hasOwn(i,Ro)),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:at.MISSING_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}function aL(t){let e=t.filter(i=>{let o=i[Ro];return!(o instanceof RegExp)&&typeof o!="function"&&!Object.hasOwn(o,"exec")&&typeof o!="string"}),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:at.INVALID_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}var cL=/[^\\][$]/;function lL(t){class e extends cn{constructor(){super(...arguments),this.found=!1}visitEndAnchor(o){this.found=!0}}return t.filter(i=>{let o=i.PATTERN;try{let s=Ps(o),a=new e;return a.visit(s),a.found}catch{return cL.test(o.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error:
38
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),E=!1;return x},[])}),{emptyGroups:m,patternIdxToConfig:y,charCodeToPatternIdxToConfig:_,hasCustom:i,canBeOptimized:E}}function r0(t,e){let r=[],n=BC(t);r=r.concat(n.errors);let i=GC(n.valid),o=i.valid;return r=r.concat(i.errors),r=r.concat(UC(o)),r=r.concat(YC(o)),r=r.concat(KC(o,e)),r=r.concat(ZC(o)),r}function UC(t){let e=[],r=t.filter(n=>n[ro]instanceof RegExp);return e=e.concat(HC(r)),e=e.concat(WC(r)),e=e.concat(qC(r)),e=e.concat(VC(r)),e=e.concat(jC(r)),e}function BC(t){let e=t.filter(i=>!Object.hasOwn(i,ro)),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:it.MISSING_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}function GC(t){let e=t.filter(i=>{let o=i[ro];return!(o instanceof RegExp)&&typeof o!="function"&&!Object.hasOwn(o,"exec")&&typeof o!="string"}),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:it.INVALID_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}var XC=/[^\\][$]/;function HC(t){class e extends Jr{constructor(){super(...arguments),this.found=!1}visitEndAnchor(o){this.found=!0}}return t.filter(i=>{let o=i.PATTERN;try{let s=Jo(o),a=new e;return a.visit(s),a.found}catch{return XC.test(o.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error:
63
39
  Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
64
- See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:at.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function uL(t){return t.filter(n=>n.PATTERN.test("")).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:at.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}var fL=/[^\\[][\^]|^\^/;function dL(t){class e extends cn{constructor(){super(...arguments),this.found=!1}visitStartAnchor(o){this.found=!0}}return t.filter(i=>{let o=i.PATTERN;try{let s=Ps(o),a=new e;return a.visit(s),a.found}catch{return fL.test(o.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error:
40
+ See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:it.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function jC(t){return t.filter(n=>n.PATTERN.test("")).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:it.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}var zC=/[^\\[][\^]|^\^/;function WC(t){class e extends Jr{constructor(){super(...arguments),this.found=!1}visitStartAnchor(o){this.found=!0}}return t.filter(i=>{let o=i.PATTERN;try{let s=Jo(o),a=new e;return a.visit(s),a.found}catch{return zC.test(o.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error:
65
41
  Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
66
- See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:at.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function pL(t){return t.filter(n=>{let i=n[Ro];return i instanceof RegExp&&(i.multiline||i.global)}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:at.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function hL(t){let e=[],r=t.map(o=>t.reduce((s,a)=>(o.PATTERN.source===a.PATTERN.source&&!e.includes(a)&&a.PATTERN!==ct.NA&&(e.push(a),s.push(a)),s),[]));return r=r.filter(Boolean),r.filter(o=>o.length>1).map(o=>{let s=o.map(c=>c.name);return{message:`The same RegExp pattern ->${o[0].PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:at.DUPLICATE_PATTERNS_FOUND,tokenTypes:o}})}function mL(t){return t.filter(n=>{if(!Object.hasOwn(n,"GROUP"))return!1;let i=n.GROUP;return i!==ct.SKIPPED&&i!==ct.NA&&typeof i!="string"}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:at.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function gL(t,e){return t.filter(i=>i.PUSH_MODE!==void 0&&!e.includes(i.PUSH_MODE)).map(i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:at.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function yL(t){let e=[],r=t.reduce((n,i,o)=>{let s=i.PATTERN;return s===ct.NA||(typeof s=="string"?n.push({str:s,idx:o,tokenType:i}):s instanceof RegExp&&TL(s)&&n.push({str:s.source,idx:o,tokenType:i})),n},[]);return t.forEach((n,i)=>{r.forEach(({str:o,idx:s,tokenType:a})=>{if(i<s&&xL(o,n.PATTERN)){let c=`Token: ->${a.name}<- can never be matched.
42
+ See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:it.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function qC(t){return t.filter(n=>{let i=n[ro];return i instanceof RegExp&&(i.multiline||i.global)}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:it.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function VC(t){let e=[],r=t.map(o=>t.reduce((s,a)=>(o.PATTERN.source===a.PATTERN.source&&!e.includes(a)&&a.PATTERN!==ot.NA&&(e.push(a),s.push(a)),s),[]));return r=r.filter(Boolean),r.filter(o=>o.length>1).map(o=>{let s=o.map(c=>c.name);return{message:`The same RegExp pattern ->${o[0].PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:it.DUPLICATE_PATTERNS_FOUND,tokenTypes:o}})}function YC(t){return t.filter(n=>{if(!Object.hasOwn(n,"GROUP"))return!1;let i=n.GROUP;return i!==ot.SKIPPED&&i!==ot.NA&&typeof i!="string"}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:it.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function KC(t,e){return t.filter(i=>i.PUSH_MODE!==void 0&&!e.includes(i.PUSH_MODE)).map(i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:it.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function ZC(t){let e=[],r=t.reduce((n,i,o)=>{let s=i.PATTERN;return s===ot.NA||(typeof s=="string"?n.push({str:s,idx:o,tokenType:i}):s instanceof RegExp&&QC(s)&&n.push({str:s.source,idx:o,tokenType:i})),n},[]);return t.forEach((n,i)=>{r.forEach(({str:o,idx:s,tokenType:a})=>{if(i<s&&JC(o,n.PATTERN)){let c=`Token: ->${a.name}<- can never be matched.
67
43
  Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition.
68
- See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:at.UNREACHABLE_PATTERN,tokenTypes:[n,a]})}})}),e}function xL(t,e){if(e instanceof RegExp){if(_L(e))return!1;let r=e.exec(t);return r!==null&&r.index===0}else{if(typeof e=="function")return e(t,0,[],{});if(Object.hasOwn(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function TL(t){return[".","\\","[","]","|","^","$","(",")","?","*","+","{"].find(r=>t.source.indexOf(r)!==-1)===void 0}function _L(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(t.source)}function U0(t){let e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function X0(t,e,r){let n=[];return Object.hasOwn(t,Ls)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ls+`> property in its definition
69
- `,type:at.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Object.hasOwn(t,Vf)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Vf+`> property in its definition
70
- `,type:at.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Object.hasOwn(t,Vf)&&Object.hasOwn(t,Ls)&&!Object.hasOwn(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${Ls}: <${t.defaultMode}>which does not exist
71
- `,type:at.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Object.hasOwn(t,Vf)&&Object.keys(t.modes).forEach(i=>{let o=t.modes[i];o.forEach((s,a)=>{s===void 0?n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${i}> at index: <${a}>
72
- `,type:at.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):Object.hasOwn(s,"LONGER_ALT")&&(Array.isArray(s.LONGER_ALT)?s.LONGER_ALT:[s.LONGER_ALT]).forEach(l=>{l!==void 0&&!o.includes(l)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${l.name}> on token <${s.name}> outside of mode <${i}>
73
- `,type:at.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),n}function H0(t,e,r){let n=[],i=!1,s=Object.values(t.modes||{}).flat().filter(Boolean).filter(c=>c[Ro]!==ct.NA),a=V0(r);return e&&s.forEach(c=>{let l=W0(c,a);if(l!==!1){let f={message:vL(c,l),type:l.issue,tokenType:c};n.push(f)}else Object.hasOwn(c,"LINE_BREAKS")?c.LINE_BREAKS===!0&&(i=!0):Wf(a,c.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found.
44
+ See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:it.UNREACHABLE_PATTERN,tokenTypes:[n,a]})}})}),e}function JC(t,e){if(e instanceof RegExp){if(eO(e))return!1;let r=e.exec(t);return r!==null&&r.index===0}else{if(typeof e=="function")return e(t,0,[],{});if(Object.hasOwn(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function QC(t){return[".","\\","[","]","|","^","$","(",")","?","*","+","{"].find(r=>t.source.indexOf(r)!==-1)===void 0}function eO(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(t.source)}function e0(t){let e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function n0(t,e,r){let n=[];return Object.hasOwn(t,es)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+es+`> property in its definition
45
+ `,type:it.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Object.hasOwn(t,Cu)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Cu+`> property in its definition
46
+ `,type:it.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Object.hasOwn(t,Cu)&&Object.hasOwn(t,es)&&!Object.hasOwn(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${es}: <${t.defaultMode}>which does not exist
47
+ `,type:it.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Object.hasOwn(t,Cu)&&Object.keys(t.modes).forEach(i=>{let o=t.modes[i];o.forEach((s,a)=>{s===void 0?n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${i}> at index: <${a}>
48
+ `,type:it.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):Object.hasOwn(s,"LONGER_ALT")&&(Array.isArray(s.LONGER_ALT)?s.LONGER_ALT:[s.LONGER_ALT]).forEach(l=>{l!==void 0&&!o.includes(l)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${l.name}> on token <${s.name}> outside of mode <${i}>
49
+ `,type:it.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),n}function i0(t,e,r){let n=[],i=!1,s=Object.values(t.modes||{}).flat().filter(Boolean).filter(c=>c[ro]!==ot.NA),a=l0(r);return e&&s.forEach(c=>{let l=c0(c,a);if(l!==!1){let f={message:rO(c,l),type:l.issue,tokenType:c};n.push(f)}else Object.hasOwn(c,"LINE_BREAKS")?c.LINE_BREAKS===!0&&(i=!0):Pu(a,c.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found.
74
50
  This Lexer has been defined to track line and column information,
75
51
  But none of the Token Types can be identified as matching a line terminator.
76
52
  See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
77
- for details.`,type:at.NO_LINE_BREAKS_FLAGS}),n}function z0(t){let e={};return Object.keys(t).forEach(n=>{let i=t[n];if(Array.isArray(i))e[n]=[];else throw Error("non exhaustive match")}),e}function j0(t){let e=t.PATTERN;if(e instanceof RegExp)return!1;if(typeof e=="function")return!0;if(Object.hasOwn(e,"exec"))return!0;if(typeof e=="string")return!1;throw Error("non exhaustive match")}function EL(t){return typeof t=="string"&&t.length===1?t.charCodeAt(0):!1}var q0={test:function(t){let e=t.length;for(let r=this.lastIndex;r<e;r++){let n=t.charCodeAt(r);if(n===10)return this.lastIndex=r+1,!0;if(n===13)return t.charCodeAt(r+1)===10?this.lastIndex=r+2:this.lastIndex=r+1,!0}return!1},lastIndex:0};function W0(t,e){if(Object.hasOwn(t,"LINE_BREAKS"))return!1;if(t.PATTERN instanceof RegExp){try{Wf(e,t.PATTERN)}catch(r){return{issue:at.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(typeof t.PATTERN=="string")return!1;if(j0(t))return{issue:at.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function vL(t,e){if(e.issue===at.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
53
+ for details.`,type:it.NO_LINE_BREAKS_FLAGS}),n}function o0(t){let e={};return Object.keys(t).forEach(n=>{let i=t[n];if(Array.isArray(i))e[n]=[];else throw Error("non exhaustive match")}),e}function s0(t){let e=t.PATTERN;if(e instanceof RegExp)return!1;if(typeof e=="function")return!0;if(Object.hasOwn(e,"exec"))return!0;if(typeof e=="string")return!1;throw Error("non exhaustive match")}function tO(t){return typeof t=="string"&&t.length===1?t.charCodeAt(0):!1}var a0={test:function(t){let e=t.length;for(let r=this.lastIndex;r<e;r++){let n=t.charCodeAt(r);if(n===10)return this.lastIndex=r+1,!0;if(n===13)return t.charCodeAt(r+1)===10?this.lastIndex=r+2:this.lastIndex=r+1,!0}return!1},lastIndex:0};function c0(t,e){if(Object.hasOwn(t,"LINE_BREAKS"))return!1;if(t.PATTERN instanceof RegExp){try{Pu(e,t.PATTERN)}catch(r){return{issue:it.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(typeof t.PATTERN=="string")return!1;if(s0(t))return{issue:it.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function rO(t,e){if(e.issue===it.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
78
54
  The problem is in the <${t.name}> Token Type
79
55
  Root cause: ${e.errMsg}.
80
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===at.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
56
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===it.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
81
57
  The problem is in the <${t.name}> Token Type
82
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function V0(t){return t.map(r=>typeof r=="string"?r.charCodeAt(0):r)}function wg(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}var Os=256,Yf=[];function un(t){return t<Os?t:Yf[t]}function wL(){if(Yf.length===0){Yf=new Array(65536);for(let t=0;t<65536;t++)Yf[t]=t>255?255+~~(t/255):t}}function Ln(t,e){let r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}function Ds(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}var Y0=1,Z0={};function Dn(t){let e=RL(t);bL(e),IL(e),AL(e),e.forEach(r=>{r.isParent=r.categoryMatches.length>0})}function RL(t){let e=[...t],r=t,n=!0;for(;n;){r=r.map(o=>o.CATEGORIES).flat().filter(Boolean);let i=r.filter(o=>!e.includes(o));e=e.concat(i),i.length===0?n=!1:r=i}return e}function bL(t){t.forEach(e=>{Rg(e)||(Z0[Y0]=e,e.tokenTypeIdx=Y0++),K0(e)&&!Array.isArray(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),K0(e)||(e.CATEGORIES=[]),SL(e)||(e.categoryMatches=[]),kL(e)||(e.categoryMatchesMap={})})}function AL(t){t.forEach(e=>{e.categoryMatches=[],Object.keys(e.categoryMatchesMap).forEach(r=>{e.categoryMatches.push(Z0[r].tokenTypeIdx)})})}function IL(t){t.forEach(e=>{J0([],e)})}function J0(t,e){t.forEach(r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),e.CATEGORIES.forEach(r=>{let n=t.concat(e);n.includes(r)||J0(n,r)})}function Rg(t){return Object.hasOwn(t??{},"tokenTypeIdx")}function K0(t){return Object.hasOwn(t??{},"CATEGORIES")}function SL(t){return Object.hasOwn(t??{},"categoryMatches")}function kL(t){return Object.hasOwn(t??{},"categoryMatchesMap")}function Q0(t){return Object.hasOwn(t??{},"tokenTypeIdx")}var $s={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,o){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}};var at;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(at||(at={}));var tl={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
83
- `,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:$s,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(tl);var ct=class{constructor(e,r=tl){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,o)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${s}--> <${i}>`);let{time:a,value:c}=Jc(o),l=a>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&l(`${s}<-- <${i}> time: ${a}ms`),this.traceInitIndent--,c}else return o()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
84
- a boolean 2nd argument is no longer supported`);this.config=Object.assign({},tl,r);let n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,o=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===tl.lineTerminatorsPattern)this.config.lineTerminatorsPattern=q0;else if(this.config.lineTerminatorCharacters===tl.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
85
- For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),Array.isArray(e)?i={modes:{defaultMode:[...e]},defaultMode:Ls}:(o=!1,i=Object.assign({},e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(X0(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(H0(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Object.entries(i.modes).forEach(([a,c])=>{i.modes[a]=c.filter(l=>l!==void 0)});let s=Object.keys(i.modes);if(Object.entries(i.modes).forEach(([a,c])=>{this.TRACE_INIT(`Mode: <${a}> processing`,()=>{if(this.modes.push(a),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(G0(c,s))}),this.lexerDefinitionErrors.length===0){Dn(c);let l;this.TRACE_INIT("analyzeTokenTypes",()=>{l=B0(c,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[a]=l.patternIdxToConfig,this.charCodeToPatternIdxToConfig[a]=l.charCodeToPatternIdxToConfig,this.emptyGroups=Object.assign({},this.emptyGroups,l.emptyGroups),this.hasCustom=l.hasCustom||this.hasCustom,this.canModeBeOptimized[a]=l.canBeOptimized}})}),this.defaultMode=i.defaultMode,this.lexerDefinitionErrors.length>0&&!this.config.deferDefinitionErrorsHandling){let c=this.lexerDefinitionErrors.map(l=>l.message).join(`-----------------------
58
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function l0(t){return t.map(r=>typeof r=="string"?r.charCodeAt(0):r)}function pm(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}var Qo=256,Ou=[];function en(t){return t<Qo?t:Ou[t]}function nO(){if(Ou.length===0){Ou=new Array(65536);for(let t=0;t<65536;t++)Ou[t]=t>255?255+~~(t/255):t}}function xn(t,e){let r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}function ts(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}var u0=1,d0={};function Tn(t){let e=iO(t);oO(e),aO(e),sO(e),e.forEach(r=>{r.isParent=r.categoryMatches.length>0})}function iO(t){let e=[...t],r=t,n=!0;for(;n;){r=r.map(o=>o.CATEGORIES).flat().filter(Boolean);let i=r.filter(o=>!e.includes(o));e=e.concat(i),i.length===0?n=!1:r=i}return e}function oO(t){t.forEach(e=>{hm(e)||(d0[u0]=e,e.tokenTypeIdx=u0++),f0(e)&&!Array.isArray(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),f0(e)||(e.CATEGORIES=[]),cO(e)||(e.categoryMatches=[]),lO(e)||(e.categoryMatchesMap={})})}function sO(t){t.forEach(e=>{e.categoryMatches=[],Object.keys(e.categoryMatchesMap).forEach(r=>{e.categoryMatches.push(d0[r].tokenTypeIdx)})})}function aO(t){t.forEach(e=>{p0([],e)})}function p0(t,e){t.forEach(r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),e.CATEGORIES.forEach(r=>{let n=t.concat(e);n.includes(r)||p0(n,r)})}function hm(t){return Object.hasOwn(t??{},"tokenTypeIdx")}function f0(t){return Object.hasOwn(t??{},"CATEGORIES")}function cO(t){return Object.hasOwn(t??{},"categoryMatches")}function lO(t){return Object.hasOwn(t??{},"categoryMatchesMap")}function h0(t){return Object.hasOwn(t??{},"tokenTypeIdx")}var rs={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,o){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}};var it;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(it||(it={}));var xc={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
59
+ `,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:rs,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(xc);var ot=class{constructor(e,r=xc){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,o)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${s}--> <${i}>`);let{time:a,value:c}=mc(o),l=a>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&l(`${s}<-- <${i}> time: ${a}ms`),this.traceInitIndent--,c}else return o()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
60
+ a boolean 2nd argument is no longer supported`);this.config=Object.assign({},xc,r);let n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,o=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===xc.lineTerminatorsPattern)this.config.lineTerminatorsPattern=a0;else if(this.config.lineTerminatorCharacters===xc.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
61
+ For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),Array.isArray(e)?i={modes:{defaultMode:[...e]},defaultMode:es}:(o=!1,i=Object.assign({},e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(n0(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(i0(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Object.entries(i.modes).forEach(([a,c])=>{i.modes[a]=c.filter(l=>l!==void 0)});let s=Object.keys(i.modes);if(Object.entries(i.modes).forEach(([a,c])=>{this.TRACE_INIT(`Mode: <${a}> processing`,()=>{if(this.modes.push(a),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(r0(c,s))}),this.lexerDefinitionErrors.length===0){Tn(c);let l;this.TRACE_INIT("analyzeTokenTypes",()=>{l=t0(c,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[a]=l.patternIdxToConfig,this.charCodeToPatternIdxToConfig[a]=l.charCodeToPatternIdxToConfig,this.emptyGroups=Object.assign({},this.emptyGroups,l.emptyGroups),this.hasCustom=l.hasCustom||this.hasCustom,this.canModeBeOptimized[a]=l.canBeOptimized}})}),this.defaultMode=i.defaultMode,this.lexerDefinitionErrors.length>0&&!this.config.deferDefinitionErrorsHandling){let c=this.lexerDefinitionErrors.map(l=>l.message).join(`-----------------------
86
62
  `);throw new Error(`Errors detected in definition of Lexer:
87
- `+c)}this.lexerDefinitionWarning.forEach(a=>{Zc(a.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(o&&(this.handleModes=()=>{}),this.trackStartLines===!1&&(this.computeNewColumn=a=>a),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=()=>{}),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let a=Object.entries(this.canModeBeOptimized).reduce((c,[l,u])=>(u===!1&&c.push(l),c),[]);if(r.ensureOptimizations&&a.length>0)throw Error(`Lexer Modes: < ${a.join(", ")} > cannot be optimized.
63
+ `+c)}this.lexerDefinitionWarning.forEach(a=>{hc(a.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(o&&(this.handleModes=()=>{}),this.trackStartLines===!1&&(this.computeNewColumn=a=>a),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=()=>{}),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let a=Object.entries(this.canModeBeOptimized).reduce((c,[l,u])=>(u===!1&&c.push(l),c),[]);if(r.ensureOptimizations&&a.length>0)throw Error(`Lexer Modes: < ${a.join(", ")} > cannot be optimized.
88
64
  Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
89
- Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{D0()}),this.TRACE_INIT("toFastProperties",()=>{Qc(this)})})}tokenize(e,r=this.defaultMode){if(this.lexerDefinitionErrors.length>0){let i=this.lexerDefinitionErrors.map(o=>o.message).join(`-----------------------
65
+ Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{KE()}),this.TRACE_INIT("toFastProperties",()=>{gc(this)})})}tokenize(e,r=this.defaultMode){if(this.lexerDefinitionErrors.length>0){let i=this.lexerDefinitionErrors.map(o=>o.message).join(`-----------------------
90
66
  `);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
91
- `+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,o,s,a,c,l,u,f,d,p,m,y,_,E,T=e,v=T.length,S=0,D=0,N=this.hasCustom?0:Math.floor(e.length/10),M=new Array(N),B=[],G=this.trackStartLines?1:void 0,oe=this.trackStartLines?1:void 0,L=z0(this.emptyGroups),w=this.trackStartLines,O=this.config.lineTerminatorsPattern,$=0,b=[],A=[],I=[],F=[];Object.freeze(F);let z=!1,U=V=>{if(I.length===1&&V.tokenType.PUSH_MODE===void 0){let te=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(V);B.push({offset:V.startOffset,line:V.startLine,column:V.startColumn,length:V.image.length,message:te})}else{I.pop();let te=I.at(-1);b=this.patternIdxToConfig[te],A=this.charCodeToPatternIdxToConfig[te],$=b.length;let De=this.canModeBeOptimized[te]&&this.config.safeMode===!1;A&&De?z=!0:z=!1}};function W(V){I.push(V),A=this.charCodeToPatternIdxToConfig[V],b=this.patternIdxToConfig[V],$=b.length,$=b.length;let te=this.canModeBeOptimized[V]&&this.config.safeMode===!1;A&&te?z=!0:z=!1}W.call(this,r);let Z,pe=this.config.recoveryEnabled;for(;S<v;){c=null,f=-1;let V=T.charCodeAt(S),te;if(z){let Ne=un(V),Xe=A[Ne];te=Xe!==void 0?Xe:F}else te=b;let De=te.length;for(n=0;n<De;n++){Z=te[n];let Ne=Z.pattern;l=null;let Xe=Z.short;if(Xe!==!1?V===Xe&&(f=1,c=Ne):Z.isCustom===!0?(E=Ne.exec(T,S,M,L),E!==null?(c=E[0],f=c.length,E.payload!==void 0&&(l=E.payload)):c=null):(Ne.lastIndex=S,f=this.matchLength(Ne,e,S)),f!==-1){if(a=Z.longerAlt,a!==void 0){c=e.substring(S,S+f);let q=a.length;for(o=0;o<q;o++){let J=b[a[o]],re=J.pattern;if(u=null,J.isCustom===!0?(E=re.exec(T,S,M,L),E!==null?(s=E[0],E.payload!==void 0&&(u=E.payload)):s=null):(re.lastIndex=S,s=this.match(re,e,S)),s&&s.length>c.length){c=s,f=s.length,l=u,Z=J;break}}}break}}if(f!==-1){if(d=Z.group,d!==void 0&&(c=c!==null?c:e.substring(S,S+f),p=Z.tokenTypeIdx,m=this.createTokenInstance(c,S,p,Z.tokenType,G,oe,f),this.handlePayload(m,l),d===!1?D=this.addToken(M,D,m):L[d].push(m)),w===!0&&Z.canLineTerminator===!0){let Ne=0,Xe,q;O.lastIndex=0;do c=c!==null?c:e.substring(S,S+f),Xe=O.test(c),Xe===!0&&(q=O.lastIndex-1,Ne++);while(Xe===!0);Ne!==0?(G=G+Ne,oe=f-q,this.updateTokenEndLineColumnLocation(m,d,q,Ne,G,oe,f)):oe=this.computeNewColumn(oe,f)}else oe=this.computeNewColumn(oe,f);S=S+f,this.handleModes(Z,U,W,m)}else{let Ne=S,Xe=G,q=oe,J=pe===!1;for(;J===!1&&S<v;)for(S++,i=0;i<$;i++){let re=b[i],C=re.pattern,be=re.short;if(be!==!1?T.charCodeAt(S)===be&&(J=!0):re.isCustom===!0?J=C.exec(T,S,M,L)!==null:(C.lastIndex=S,J=C.exec(e)!==null),J===!0)break}if(y=S-Ne,oe=this.computeNewColumn(oe,y),_=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(T,Ne,y,Xe,q,I.at(-1)),B.push({offset:Ne,line:Xe,column:q,length:y,message:_}),pe===!1)break}}return this.hasCustom||(M.length=D),{tokens:M,groups:L,errors:B}}handleModes(e,r,n,i){if(e.pop===!0){let o=e.push;r(i),o!==void 0&&n.call(this,o)}else e.push!==void 0&&n.call(this,e.push)}updateTokenEndLineColumnLocation(e,r,n,i,o,s,a){let c,l;r!==void 0&&(c=n===a-1,l=c?-1:0,i===1&&c===!0||(e.endLine=o+l,e.endColumn=s-1+-l))}computeNewColumn(e,r){return e+r}createOffsetOnlyToken(e,r,n,i){return{image:e,startOffset:r,tokenTypeIdx:n,tokenType:i}}createStartOnlyToken(e,r,n,i,o,s){return{image:e,startOffset:r,startLine:o,startColumn:s,tokenTypeIdx:n,tokenType:i}}createFullToken(e,r,n,i,o,s,a){return{image:e,startOffset:r,endOffset:r+a-1,startLine:o,endLine:o,startColumn:s,endColumn:s+a-1,tokenTypeIdx:n,tokenType:i}}addTokenUsingPush(e,r,n){return e.push(n),r}addTokenUsingMemberAccess(e,r,n){return e[r]=n,r++,r}handlePayloadNoCustom(e,r){}handlePayloadWithCustom(e,r){r!==null&&(e.payload=r)}match(e,r,n){return e.test(r)===!0?r.substring(n,e.lastIndex):null}matchLength(e,r,n){return e.test(r)===!0?e.lastIndex-n:-1}};ct.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.";ct.NA=/NOT_APPLICABLE/;function $n(t){return bg(t)?t.LABEL:t.name}function bg(t){return typeof t.LABEL=="string"&&t.LABEL!==""}var NL="parent",ev="categories",tv="label",rv="group",nv="push_mode",iv="pop_mode",ov="longer_alt",sv="line_breaks",av="start_chars_hint";function xi(t){return CL(t)}function CL(t){let e=t.pattern,r={};if(r.name=t.name,e!==void 0&&(r.PATTERN=e),Object.hasOwn(t,NL))throw`The parent property is no longer supported.
92
- See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return Object.hasOwn(t,ev)&&(r.CATEGORIES=t[ev]),Dn([r]),Object.hasOwn(t,tv)&&(r.LABEL=t[tv]),Object.hasOwn(t,rv)&&(r.GROUP=t[rv]),Object.hasOwn(t,iv)&&(r.POP_MODE=t[iv]),Object.hasOwn(t,nv)&&(r.PUSH_MODE=t[nv]),Object.hasOwn(t,ov)&&(r.LONGER_ALT=t[ov]),Object.hasOwn(t,sv)&&(r.LINE_BREAKS=t[sv]),Object.hasOwn(t,av)&&(r.START_CHARS_HINT=t[av]),r}var Vt=xi({name:"EOF",pattern:ct.NA});Dn([Vt]);function Mn(t,e,r,n,i,o,s,a){return{image:e,startOffset:r,endOffset:n,startLine:i,endLine:o,startColumn:s,endColumn:a,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}function Ms(t,e){return Ln(t,e)}var Fn={buildMismatchTokenMessage({expected:t,actual:e,previous:r,ruleName:n}){return`Expecting ${bg(t)?`--> ${$n(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){let o="Expecting: ",a=`
67
+ `+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,o,s,a,c,l,u,f,d,p,m,y,E,_,x=e,v=x.length,k=0,F=0,O=this.hasCustom?0:Math.floor(e.length/10),L=new Array(O),G=[],H=this.trackStartLines?1:void 0,oe=this.trackStartLines?1:void 0,$=o0(this.emptyGroups),w=this.trackStartLines,D=this.config.lineTerminatorsPattern,U=0,S=[],A=[],I=[],B=[];Object.freeze(B);let z=!1,j=Y=>{if(I.length===1&&Y.tokenType.PUSH_MODE===void 0){let ne=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(Y);G.push({offset:Y.startOffset,line:Y.startLine,column:Y.startColumn,length:Y.image.length,message:ne})}else{I.pop();let ne=I.at(-1);S=this.patternIdxToConfig[ne],A=this.charCodeToPatternIdxToConfig[ne],U=S.length;let Re=this.canModeBeOptimized[ne]&&this.config.safeMode===!1;A&&Re?z=!0:z=!1}};function V(Y){I.push(Y),A=this.charCodeToPatternIdxToConfig[Y],S=this.patternIdxToConfig[Y],U=S.length,U=S.length;let ne=this.canModeBeOptimized[Y]&&this.config.safeMode===!1;A&&ne?z=!0:z=!1}V.call(this,r);let K,ue=this.config.recoveryEnabled;for(;k<v;){c=null,f=-1;let Y=x.charCodeAt(k),ne;if(z){let Se=en(Y),$e=A[Se];ne=$e!==void 0?$e:B}else ne=S;let Re=ne.length;for(n=0;n<Re;n++){K=ne[n];let Se=K.pattern;l=null;let $e=K.short;if($e!==!1?Y===$e&&(f=1,c=Se):K.isCustom===!0?(_=Se.exec(x,k,L,$),_!==null?(c=_[0],f=c.length,_.payload!==void 0&&(l=_.payload)):c=null):(Se.lastIndex=k,f=this.matchLength(Se,e,k)),f!==-1){if(a=K.longerAlt,a!==void 0){c=e.substring(k,k+f);let q=a.length;for(o=0;o<q;o++){let Q=S[a[o]],re=Q.pattern;if(u=null,Q.isCustom===!0?(_=re.exec(x,k,L,$),_!==null?(s=_[0],_.payload!==void 0&&(u=_.payload)):s=null):(re.lastIndex=k,s=this.match(re,e,k)),s&&s.length>c.length){c=s,f=s.length,l=u,K=Q;break}}}break}}if(f!==-1){if(d=K.group,d!==void 0&&(c=c!==null?c:e.substring(k,k+f),p=K.tokenTypeIdx,m=this.createTokenInstance(c,k,p,K.tokenType,H,oe,f),this.handlePayload(m,l),d===!1?F=this.addToken(L,F,m):$[d].push(m)),w===!0&&K.canLineTerminator===!0){let Se=0,$e,q;D.lastIndex=0;do c=c!==null?c:e.substring(k,k+f),$e=D.test(c),$e===!0&&(q=D.lastIndex-1,Se++);while($e===!0);Se!==0?(H=H+Se,oe=f-q,this.updateTokenEndLineColumnLocation(m,d,q,Se,H,oe,f)):oe=this.computeNewColumn(oe,f)}else oe=this.computeNewColumn(oe,f);k=k+f,this.handleModes(K,j,V,m)}else{let Se=k,$e=H,q=oe,Q=ue===!1;for(;Q===!1&&k<v;)for(k++,i=0;i<U;i++){let re=S[i],M=re.pattern,de=re.short;if(de!==!1?x.charCodeAt(k)===de&&(Q=!0):re.isCustom===!0?Q=M.exec(x,k,L,$)!==null:(M.lastIndex=k,Q=M.exec(e)!==null),Q===!0)break}if(y=k-Se,oe=this.computeNewColumn(oe,y),E=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(x,Se,y,$e,q,I.at(-1)),G.push({offset:Se,line:$e,column:q,length:y,message:E}),ue===!1)break}}return this.hasCustom||(L.length=F),{tokens:L,groups:$,errors:G}}handleModes(e,r,n,i){if(e.pop===!0){let o=e.push;r(i),o!==void 0&&n.call(this,o)}else e.push!==void 0&&n.call(this,e.push)}updateTokenEndLineColumnLocation(e,r,n,i,o,s,a){let c,l;r!==void 0&&(c=n===a-1,l=c?-1:0,i===1&&c===!0||(e.endLine=o+l,e.endColumn=s-1+-l))}computeNewColumn(e,r){return e+r}createOffsetOnlyToken(e,r,n,i){return{image:e,startOffset:r,tokenTypeIdx:n,tokenType:i}}createStartOnlyToken(e,r,n,i,o,s){return{image:e,startOffset:r,startLine:o,startColumn:s,tokenTypeIdx:n,tokenType:i}}createFullToken(e,r,n,i,o,s,a){return{image:e,startOffset:r,endOffset:r+a-1,startLine:o,endLine:o,startColumn:s,endColumn:s+a-1,tokenTypeIdx:n,tokenType:i}}addTokenUsingPush(e,r,n){return e.push(n),r}addTokenUsingMemberAccess(e,r,n){return e[r]=n,r++,r}handlePayloadNoCustom(e,r){}handlePayloadWithCustom(e,r){r!==null&&(e.payload=r)}match(e,r,n){return e.test(r)===!0?r.substring(n,e.lastIndex):null}matchLength(e,r,n){return e.test(r)===!0?e.lastIndex-n:-1}};ot.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.";ot.NA=/NOT_APPLICABLE/;function _n(t){return mm(t)?t.LABEL:t.name}function mm(t){return typeof t.LABEL=="string"&&t.LABEL!==""}var uO="parent",m0="categories",g0="label",y0="group",x0="push_mode",T0="pop_mode",_0="longer_alt",E0="line_breaks",v0="start_chars_hint";function ti(t){return fO(t)}function fO(t){let e=t.pattern,r={};if(r.name=t.name,e!==void 0&&(r.PATTERN=e),Object.hasOwn(t,uO))throw`The parent property is no longer supported.
68
+ See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return Object.hasOwn(t,m0)&&(r.CATEGORIES=t[m0]),Tn([r]),Object.hasOwn(t,g0)&&(r.LABEL=t[g0]),Object.hasOwn(t,y0)&&(r.GROUP=t[y0]),Object.hasOwn(t,T0)&&(r.POP_MODE=t[T0]),Object.hasOwn(t,x0)&&(r.PUSH_MODE=t[x0]),Object.hasOwn(t,_0)&&(r.LONGER_ALT=t[_0]),Object.hasOwn(t,E0)&&(r.LINE_BREAKS=t[E0]),Object.hasOwn(t,v0)&&(r.START_CHARS_HINT=t[v0]),r}var Xt=ti({name:"EOF",pattern:ot.NA});Tn([Xt]);function En(t,e,r,n,i,o,s,a){return{image:e,startOffset:r,endOffset:n,startLine:i,endLine:o,startColumn:s,endColumn:a,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}function ns(t,e){return xn(t,e)}var vn={buildMismatchTokenMessage({expected:t,actual:e,previous:r,ruleName:n}){return`Expecting ${mm(t)?`--> ${_n(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){let o="Expecting: ",a=`
93
69
  but found: '`+e[0].image+"'";if(n)return o+n+a;{let f=`one of these possible Token sequences:
94
- ${t.reduce((d,p)=>d.concat(p),[]).map(d=>`[${d.map(p=>$n(p)).join(", ")}]`).map((d,p)=>` ${p+1}. ${d}`).join(`
70
+ ${t.reduce((d,p)=>d.concat(p),[]).map(d=>`[${d.map(p=>_n(p)).join(", ")}]`).map((d,p)=>` ${p+1}. ${d}`).join(`
95
71
  `)}`;return o+f+a}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){let i="Expecting: ",s=`
96
72
  but found: '`+e[0].image+"'";if(r)return i+r+s;{let c=`expecting at least one iteration which starts with one of these possible Token sequences::
97
- <${t.map(l=>`[${l.map(u=>$n(u)).join(",")}]`).join(" ,")}>`;return i+c+s}}};Object.freeze(Fn);var cv={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
98
- inside top level rule: ->`+t.name+"<-"}},Gr={buildDuplicateFoundError(t,e){function r(u){return u instanceof Te?u.terminalType.name:u instanceof Be?u.nonTerminalName:""}let n=t.name,i=e[0],o=i.idx,s=rr(i),a=r(i),c=o>0,l=`->${s}${c?o:""}<- ${a?`with argument: ->${a}<-`:""}
73
+ <${t.map(l=>`[${l.map(u=>_n(u)).join(",")}]`).join(" ,")}>`;return i+c+s}}};Object.freeze(vn);var b0={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
74
+ inside top level rule: ->`+t.name+"<-"}},Sr={buildDuplicateFoundError(t,e){function r(u){return u instanceof me?u.terminalType.name:u instanceof De?u.nonTerminalName:""}let n=t.name,i=e[0],o=i.idx,s=Vt(i),a=r(i),c=o>0,l=`->${s}${c?o:""}<- ${a?`with argument: ->${a}<-`:""}
99
75
  appears more than once (${e.length} times) in the top level rule: ->${n}<-.
100
76
  For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
101
77
  `;return l=l.replace(/[ \t]+/g," "),l=l.replace(/\s\s+/g,`
@@ -103,16 +79,16 @@ inside top level rule: ->`+t.name+"<-"}},Gr={buildDuplicateFoundError(t,e){funct
103
79
  The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.
104
80
  To resolve this make sure each Terminal and Non-Terminal names are unique
105
81
  This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
106
- and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){let e=t.prefixPath.map(i=>$n(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix
82
+ and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){let e=t.prefixPath.map(i=>_n(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix
107
83
  in <OR${r}> inside <${t.topLevelRule.name}> Rule,
108
84
  <${e}> may appears as a prefix path in all these alternatives.
109
85
  See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
110
86
  For Further details.`},buildAlternationAmbiguityError(t){let e=t.alternation.idx===0?"":t.alternation.idx,r=t.prefixPath.length===0,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in <OR${e}> inside <${t.topLevelRule.name}> Rule,
111
87
  `;if(r)n+=`These alternatives are all empty (match no tokens), making them indistinguishable.
112
88
  Only the last alternative may be empty.
113
- `;else{let i=t.prefixPath.map(o=>$n(o)).join(", ");n+=`<${i}> may appears as a prefix path in all these alternatives.
89
+ `;else{let i=t.prefixPath.map(o=>_n(o)).join(", ");n+=`<${i}> may appears as a prefix path in all these alternatives.
114
90
  `}return n+=`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
115
- For Further details.`,n},buildEmptyRepetitionError(t){let e=rr(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
91
+ For Further details.`,n},buildEmptyRepetitionError(t){let e=Vt(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
116
92
  This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
117
93
  Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives:
118
94
  <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
@@ -121,44 +97,44 @@ rule: <${e}> can be invoked from itself (directly or indirectly)
121
97
  without consuming any Tokens. The grammar path that causes this is:
122
98
  ${n}
123
99
  To fix this refactor your grammar to remove the left recursion.
124
- see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof qt?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function lv(t,e){let r=new Ag(t,e);return r.resolveRefs(),r.errors}var Ag=class extends Wt{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Object.values(this.nameToTopRule).forEach(e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{let n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:It.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}};var Ig=class extends On{constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=[...this.path.ruleStack].reverse(),this.occurrenceStack=[...this.path.occurrenceStack].reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){this.ruleStack.length===0?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},Kf=class extends Ig{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let i=r.concat(n),o=new Ze({definition:i});this.possibleTokTypes=wo(o),this.found=!0}}},Fs=class extends On{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},Zf=class extends Fs{walkMany(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Te&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}},rl=class extends Fs{walkManySep(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Te&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}},Jf=class extends Fs{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Te&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}},nl=class extends Fs{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Te&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}};function Qf(t,e,r=[]){r=[...r];let n=[],i=0;function o(a){return a.concat(t.slice(i+1))}function s(a){let c=Qf(o(a),e,r);return n.concat(c)}for(;r.length<e&&i<t.length;){let a=t[i];if(a instanceof Ze)return s(a.definition);if(a instanceof Be)return s(a.definition);if(a instanceof Ge)n=s(a.definition);else if(a instanceof Je){let c=a.definition.concat([new we({definition:a.definition})]);return s(c)}else if(a instanceof Qe){let c=[new Ze({definition:a.definition}),new we({definition:[new Te({terminalType:a.separator})].concat(a.definition)})];return s(c)}else if(a instanceof qe){let c=a.definition.concat([new we({definition:[new Te({terminalType:a.separator})].concat(a.definition)})]);n=s(c)}else if(a instanceof we){let c=a.definition.concat([new we({definition:a.definition})]);n=s(c)}else{if(a instanceof We)return a.definition.forEach(c=>{c.definition.length!==0&&(n=s(c.definition))}),n;if(a instanceof Te)r.push(a.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:t.slice(i)}),n}function uv(t,e,r,n){let i="EXIT_NONE_TERMINAL",o=[i],s="EXIT_ALTERNATIVE",a=!1,c=e.length,l=c-n-1,u=[],f=[];for(f.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});f.length!==0;){let d=f.pop();if(d===s){a&&f.at(-1).idx<=l&&f.pop();continue}let p=d.def,m=d.idx,y=d.ruleStack,_=d.occurrenceStack;if(p.length===0)continue;let E=p[0];if(E===i){let T={idx:m,def:p.slice(1),ruleStack:y.slice(0,-1),occurrenceStack:_.slice(0,-1)};f.push(T)}else if(E instanceof Te)if(m<c-1){let T=m+1,v=e[T];if(r(v,E.terminalType)){let S={idx:T,def:p.slice(1),ruleStack:y,occurrenceStack:_};f.push(S)}}else if(m===c-1)u.push({nextTokenType:E.terminalType,nextTokenOccurrence:E.idx,ruleStack:y,occurrenceStack:_}),a=!0;else throw Error("non exhaustive match");else if(E instanceof Be){let T=[...y];T.push(E.nonTerminalName);let v=[..._];v.push(E.idx);let S={idx:m,def:E.definition.concat(o,p.slice(1)),ruleStack:T,occurrenceStack:v};f.push(S)}else if(E instanceof Ge){let T={idx:m,def:p.slice(1),ruleStack:y,occurrenceStack:_};f.push(T),f.push(s);let v={idx:m,def:E.definition.concat(p.slice(1)),ruleStack:y,occurrenceStack:_};f.push(v)}else if(E instanceof Je){let T=new we({definition:E.definition,idx:E.idx}),v=E.definition.concat([T],p.slice(1)),S={idx:m,def:v,ruleStack:y,occurrenceStack:_};f.push(S)}else if(E instanceof Qe){let T=new Te({terminalType:E.separator}),v=new we({definition:[T].concat(E.definition),idx:E.idx}),S=E.definition.concat([v],p.slice(1)),D={idx:m,def:S,ruleStack:y,occurrenceStack:_};f.push(D)}else if(E instanceof qe){let T={idx:m,def:p.slice(1),ruleStack:y,occurrenceStack:_};f.push(T),f.push(s);let v=new Te({terminalType:E.separator}),S=new we({definition:[v].concat(E.definition),idx:E.idx}),D=E.definition.concat([S],p.slice(1)),N={idx:m,def:D,ruleStack:y,occurrenceStack:_};f.push(N)}else if(E instanceof we){let T={idx:m,def:p.slice(1),ruleStack:y,occurrenceStack:_};f.push(T),f.push(s);let v=new we({definition:E.definition,idx:E.idx}),S=E.definition.concat([v],p.slice(1)),D={idx:m,def:S,ruleStack:y,occurrenceStack:_};f.push(D)}else if(E instanceof We)for(let T=E.definition.length-1;T>=0;T--){let v=E.definition[T],S={idx:m,def:v.definition.concat(p.slice(1)),ruleStack:y,occurrenceStack:_};f.push(S),f.push(s)}else if(E instanceof Ze)f.push({idx:m,def:E.definition.concat(p.slice(1)),ruleStack:y,occurrenceStack:_});else if(E instanceof qt)f.push(PL(E,m,y,_));else throw Error("non exhaustive match")}return u}function PL(t,e,r,n){let i=[...r];i.push(t.name);let o=[...n];return o.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:o}}var lt;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(lt||(lt={}));function il(t){if(t instanceof Ge||t==="Option")return lt.OPTION;if(t instanceof we||t==="Repetition")return lt.REPETITION;if(t instanceof Je||t==="RepetitionMandatory")return lt.REPETITION_MANDATORY;if(t instanceof Qe||t==="RepetitionMandatoryWithSeparator")return lt.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof qe||t==="RepetitionWithSeparator")return lt.REPETITION_WITH_SEPARATOR;if(t instanceof We||t==="Alternation")return lt.ALTERNATION;throw Error("non exhaustive match")}function td(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,o=il(n);return o===lt.ALTERNATION?Us(e,r,i):Bs(e,r,o,i)}function dv(t,e,r,n,i,o){let s=Us(t,e,r),a=xv(s)?Ds:Ln;return o(s,n,a,i)}function pv(t,e,r,n,i,o){let s=Bs(t,e,i,r),a=xv(s)?Ds:Ln;return o(s[0],a,n)}function hv(t,e,r,n){let i=t.length,o=t.every(s=>s.every(a=>a.length===1));if(e)return function(s){let a=s.map(c=>c.GATE);for(let c=0;c<i;c++){let l=t[c],u=l.length,f=a[c];if(!(f!==void 0&&f.call(this)===!1))e:for(let d=0;d<u;d++){let p=l[d],m=p.length;for(let y=0;y<m;y++){let _=this.LA_FAST(y+1);if(r(_,p[y])===!1)continue e}return c}}};if(o&&!n){let a=t.map(c=>c.flat()).reduce((c,l,u)=>(l.forEach(f=>{f.tokenTypeIdx in c||(c[f.tokenTypeIdx]=u),f.categoryMatches.forEach(d=>{Object.hasOwn(c,d)||(c[d]=u)})}),c),{});return function(){let c=this.LA_FAST(1);return a[c.tokenTypeIdx]}}else return function(){for(let s=0;s<i;s++){let a=t[s],c=a.length;e:for(let l=0;l<c;l++){let u=a[l],f=u.length;for(let d=0;d<f;d++){let p=this.LA_FAST(d+1);if(r(p,u[d])===!1)continue e}return s}}}}function mv(t,e,r){let n=t.every(o=>o.length===1),i=t.length;if(n&&!r){let o=t.flat();if(o.length===1&&o[0].categoryMatches.length===0){let a=o[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===a}}else{let s=o.reduce((a,c,l)=>(a[c.tokenTypeIdx]=!0,c.categoryMatches.forEach(u=>{a[u]=!0}),a),[]);return function(){let a=this.LA_FAST(1);return s[a.tokenTypeIdx]===!0}}}else return function(){e:for(let o=0;o<i;o++){let s=t[o],a=s.length;for(let c=0;c<a;c++){let l=this.LA_FAST(c+1);if(e(l,s[c])===!1)continue e}return!0}return!1}}var kg=class extends On{constructor(e,r,n){super(),this.topProd=e,this.targetOccurrence=r,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,r,n,i){return e.idx===this.targetOccurrence&&this.targetProdType===r?(this.restDef=n.concat(i),!0):!1}walkOption(e,r,n){this.checkIsTarget(e,lt.OPTION,r,n)||super.walkOption(e,r,n)}walkAtLeastOne(e,r,n){this.checkIsTarget(e,lt.REPETITION_MANDATORY,r,n)||super.walkOption(e,r,n)}walkAtLeastOneSep(e,r,n){this.checkIsTarget(e,lt.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}walkMany(e,r,n){this.checkIsTarget(e,lt.REPETITION,r,n)||super.walkOption(e,r,n)}walkManySep(e,r,n){this.checkIsTarget(e,lt.REPETITION_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}},ed=class extends Wt{constructor(e,r,n){super(),this.targetOccurrence=e,this.targetProdType=r,this.targetRef=n,this.result=[]}checkIsTarget(e,r){e.idx===this.targetOccurrence&&this.targetProdType===r&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,lt.OPTION)}visitRepetition(e){this.checkIsTarget(e,lt.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,lt.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,lt.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,lt.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,lt.ALTERNATION)}};function fv(t){let e=new Array(t);for(let r=0;r<t;r++)e[r]=[];return e}function Sg(t){let e=[""];for(let r=0;r<t.length;r++){let n=t[r],i=[];for(let o=0;o<e.length;o++){let s=e[o];i.push(s+"_"+n.tokenTypeIdx);for(let a=0;a<n.categoryMatches.length;a++){let c="_"+n.categoryMatches[a];i.push(s+c)}}e=i}return e}function OL(t,e,r){for(let n=0;n<t.length;n++){if(n===r)continue;let i=t[n];for(let o=0;o<e.length;o++){let s=e[o];if(i[s]===!0)return!1}}return!0}function gv(t,e){let r=t.map(s=>Qf([s],1)),n=fv(r.length),i=r.map(s=>{let a={};return s.forEach(c=>{Sg(c.partialPath).forEach(u=>{a[u]=!0})}),a}),o=r;for(let s=1;s<=e;s++){let a=o;o=fv(a.length);for(let c=0;c<a.length;c++){let l=a[c];for(let u=0;u<l.length;u++){let f=l[u].partialPath,d=l[u].suffixDef,p=Sg(f);if(OL(i,p,c)||d.length===0||f.length===e){let y=n[c];if(rd(y,f)===!1){y.push(f);for(let _=0;_<p.length;_++){let E=p[_];i[c][E]=!0}}}else{let y=Qf(d,s+1,f);o[c]=o[c].concat(y),y.forEach(_=>{Sg(_.partialPath).forEach(T=>{i[c][T]=!0})})}}}}return n}function Us(t,e,r,n){let i=new ed(t,lt.ALTERNATION,n);return e.accept(i),gv(i.result,r)}function Bs(t,e,r,n){let i=new ed(t,r);e.accept(i);let o=i.result,a=new kg(e,t,r).startWalking(),c=new Ze({definition:o}),l=new Ze({definition:a});return gv([c,l],n)}function rd(t,e){e:for(let r=0;r<t.length;r++){let n=t[r];if(n.length===e.length){for(let i=0;i<n.length;i++){let o=e[i],s=n[i];if((o===s||s.categoryMatchesMap[o.tokenTypeIdx]!==void 0)===!1)continue e}return!0}}return!1}function yv(t,e){return t.length<e.length&&t.every((r,n)=>{let i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function xv(t){return t.every(e=>e.every(r=>r.every(n=>n.categoryMatches.length===0)))}function Tv(t){return t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName}).map(r=>Object.assign({type:It.CUSTOM_LOOKAHEAD_VALIDATION},r))}function _v(t,e,r,n){let i=t.flatMap(c=>LL(c,r)),o=BL(t,e,r),s=t.flatMap(c=>ML(c,r)),a=t.flatMap(c=>$L(c,t,n,r));return i.concat(o,s,a)}function LL(t,e){let r=new Ng;t.accept(r);let n=r.allProductions,i=Object.groupBy(n,DL),o=Object.fromEntries(Object.entries(i).filter(([a,c])=>c.length>1));return Object.values(o).map(a=>{let c=a[0],l=e.buildDuplicateFoundError(t,a),u=rr(c),f={message:l,type:It.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:c.idx},d=Ev(c);return d&&(f.parameter=d),f})}function DL(t){return`${rr(t)}_#_${t.idx}_#_${Ev(t)}`}function Ev(t){return t instanceof Te?t.terminalType.name:t instanceof Be?t.nonTerminalName:""}var Ng=class extends Wt{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 $L(t,e,r,n){let i=[];if(e.reduce((s,a)=>a.name===t.name?s+1:s,0)>1){let s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:It.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function vv(t,e,r){let n=[],i;return e.includes(t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:It.INVALID_RULE_OVERRIDE,ruleName:t})),n}function Pg(t,e,r,n=[]){let i=[],o=nd(e.definition);if(o.length===0)return[];{let s=t.name;o.includes(t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:It.LEFT_RECURSION,ruleName:s});let c=n.concat([t]),u=o.filter(f=>!c.includes(f)).flatMap(f=>{let d=[...n];return d.push(f),Pg(t,f,r,d)});return i.concat(u)}}function nd(t){let e=[];if(t.length===0)return e;let r=t[0];if(r instanceof Be)e.push(r.referencedRule);else if(r instanceof Ze||r instanceof Ge||r instanceof Je||r instanceof Qe||r instanceof qe||r instanceof we)e=e.concat(nd(r.definition));else if(r instanceof We)e=r.definition.map(o=>nd(o.definition)).flat();else if(!(r instanceof Te))throw Error("non exhaustive match");let n=vo(r),i=t.length>1;if(n&&i){let o=t.slice(1);return e.concat(nd(o))}else return e}var ol=class extends Wt{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function wv(t,e){let r=new ol;return t.accept(r),r.alternations.flatMap(o=>o.definition.slice(0,-1).flatMap((a,c)=>uv([a],[],Ln,1).length===0?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:o,emptyChoiceIdx:c}),type:It.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:o.idx,alternative:c+1}]:[]))}function Rv(t,e,r){let n=new ol;t.accept(n);let i=n.alternations;return i=i.filter(s=>s.ignoreAmbiguities!==!0),i.flatMap(s=>{let a=s.idx,c=s.maxLookahead||e,l=Us(a,t,c,s),u=FL(l,s,t,r),f=UL(l,s,t,r);return u.concat(f)})}var Cg=class extends Wt{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 ML(t,e){let r=new ol;return t.accept(r),r.alternations.flatMap(o=>o.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:o}),type:It.TOO_MANY_ALTS,ruleName:t.name,occurrence:o.idx}]:[])}function bv(t,e,r){let n=[];return t.forEach(i=>{let o=new Cg;i.accept(o),o.allProductions.forEach(a=>{let c=il(a),l=a.maxLookahead||e,u=a.idx;if(Bs(u,i,c,l)[0].flat().length===0){let p=r.buildEmptyRepetitionError({topLevelRule:i,repetition:a});n.push({message:p,type:It.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function FL(t,e,r,n){let i=[];return t.reduce((a,c,l)=>(e.definition[l].ignoreAmbiguities===!0||c.forEach(u=>{let f=[l];t.forEach((d,p)=>{l!==p&&rd(d,u)&&e.definition[p].ignoreAmbiguities!==!0&&f.push(p)}),f.length>1&&!rd(i,u)&&(i.push(u),a.push({alts:f,path:u}))}),a),[]).map(a=>{let c=a.alts.map(u=>u+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:c,prefixPath:a.path}),type:It.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:a.alts}})}function UL(t,e,r,n){let i=t.reduce((s,a,c)=>{let l=a.map(u=>({idx:c,path:u}));return s.concat(l)},[]);return i.flatMap(s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];let c=s.idx,l=s.path;return i.filter(d=>e.definition[d.idx].ignoreAmbiguities!==!0&&d.idx<c&&yv(d.path,l)).map(d=>{let p=[d.idx+1,c+1],m=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:p,prefixPath:d.path}),type:It.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:m,alternatives:p}})})}function BL(t,e,r){let n=[],i=e.map(o=>o.name);return t.forEach(o=>{let s=o.name;if(i.includes(s)){let a=r.buildNamespaceConflictError(o);n.push({message:a,type:It.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}function Av(t){let e=Object.assign({errMsgProvider:cv},t),r={};return t.rules.forEach(n=>{r[n.name]=n}),lv(r,e.errMsgProvider)}function Iv(t){var e;let r=(e=t.errMsgProvider)!==null&&e!==void 0?e:Gr;return _v(t.rules,t.tokenTypes,r,t.grammarName)}var Sv="MismatchedTokenException",kv="NoViableAltException",Nv="EarlyExitException",Cv="NotAllInputParsedException",Pv=[Sv,kv,Nv,Cv];Object.freeze(Pv);function Ti(t){return Pv.includes(t.name)}var Gs=class extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},bo=class extends Gs{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Sv}},sl=class extends Gs{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=kv}},al=class extends Gs{constructor(e,r){super(e,r),this.name=Cv}},cl=class extends Gs{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Nv}};var Og={},Dg="InRuleRecoveryException",Lg=class extends Error{constructor(e){super(e),this.name=Dg}},id=class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Object.hasOwn(e,"recoveryEnabled")?e.recoveryEnabled:Yt.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=GL)}getTokenToInsert(e){let r=Mn(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){let o=this.findReSyncTokenType(),s=this.exportLexerState(),a=[],c=!1,l=this.LA_FAST(1),u=this.LA_FAST(1),f=()=>{let d=this.LA(0),p=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:l,previous:d,ruleName:this.getCurrRuleFullName()}),m=new bo(p,l,this.LA(0));m.resyncedTokens=a.slice(0,-1),this.SAVE_ERROR(m)};for(;!c;)if(this.tokenMatcher(u,i)){f();return}else if(n.call(this)){f(),e.apply(this,r);return}else this.tokenMatcher(u,o)?c=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,a));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA_FAST(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getNextPossibleTokenTypes(e){let r=e.ruleStack[0],i=this.getGAstProductions()[r];return new Kf(i,e).startWalking()}getFollowsForInRuleRecovery(e,r){let n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new Lg("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||r.length===0)return!1;let n=this.LA_FAST(1);return r.find(o=>this.tokenMatcher(n,o))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let r=this.getCurrFollowKey();return this.getFollowSetFromFollowKey(r).includes(e)}findReSyncTokenType(){let e=this.flattenFollowSet(),r=this.LA_FAST(1),n=2;for(;;){let i=e.find(o=>Ms(r,o));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK_IDX===0)return Og;let e=this.currRuleShortName,r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK,n=this.RULE_STACK_IDX+1,i=new Array(n);for(let o=0;o<n;o++)o===0?i[o]=Og:i[o]={ruleName:this.shortRuleNameToFullName(e[o]),idxInCallingRule:r[o],inRule:this.shortRuleNameToFullName(e[o-1])};return i}flattenFollowSet(){return this.buildFullFollowKeyStack().map(r=>this.getFollowSetFromFollowKey(r)).flat()}getFollowSetFromFollowKey(e){if(e===Og)return[Vt];let r=e.ruleName+e.idxInCallingRule+zf+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,Vt)||r.push(e),r}reSyncTo(e){let r=[],n=this.LA_FAST(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return r.slice(0,-1)}attemptInRepetitionRecovery(e,r,n,i,o,s,a){}getCurrentGrammarPath(e,r){let n=this.getHumanReadableRuleStack(),i=this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){let e=this.RULE_STACK_IDX+1,r=new Array(e);for(let n=0;n<e;n++)r[n]=this.shortRuleNameToFullName(this.RULE_STACK[n]);return r}};function GL(t,e,r,n,i,o,s){let a=this.getKeyForAutomaticLookahead(n,i),c=this.firstAfterRepMap[a];if(c===void 0){let d=this.getCurrRuleFullName(),p=this.getGAstProductions()[d];c=new o(p,i).startWalking(),this.firstAfterRepMap[a]=c}let l=c.token,u=c.occurrence,f=c.isEndOfRule;this.RULE_STACK_IDX===0&&f&&l===void 0&&(l=Vt,u=1),!(l===void 0||u===void 0)&&this.shouldInRepetitionRecoveryBeTried(l,u,s)&&this.tryInRepetitionRecovery(t,e,r,l)}function od(t,e,r){return r|e|t}var Un=class{constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:Yt.maxLookahead}validate(e){let r=this.validateNoLeftRecursion(e.rules);if(r.length===0){let n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),o=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...o]}return r}validateNoLeftRecursion(e){return e.flatMap(r=>Pg(r,r,Gr))}validateEmptyOrAlternatives(e){return e.flatMap(r=>wv(r,Gr))}validateAmbiguousAlternationAlternatives(e,r){return e.flatMap(n=>Rv(n,r,Gr))}validateSomeNonEmptyLookaheadPath(e,r){return bv(e,r,Gr)}buildLookaheadForAlternation(e){return dv(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,hv)}buildLookaheadForOptional(e){return pv(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,il(e.prodType),mv)}};var ad=class{initLooksAhead(e){this.dynamicTokensEnabled=Object.hasOwn(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Yt.dynamicTokensEnabled,this.maxLookahead=Object.hasOwn(e,"maxLookahead")?e.maxLookahead:Yt.maxLookahead,this.lookaheadStrategy=Object.hasOwn(e,"lookaheadStrategy")?e.lookaheadStrategy:new Un({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){e.forEach(r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{let{alternation:n,repetition:i,option:o,repetitionMandatory:s,repetitionMandatoryWithSeparator:a,repetitionWithSeparator:c}=XL(r);n.forEach(l=>{let u=l.idx===0?"":l.idx;this.TRACE_INIT(`${rr(l)}${u}`,()=>{let f=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:l.idx,rule:r,maxLookahead:l.maxLookahead||this.maxLookahead,hasPredicates:l.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),d=od(this.fullRuleNameToShort[r.name],256,l.idx);this.setLaFuncCache(d,f)})}),i.forEach(l=>{this.computeLookaheadFunc(r,l.idx,768,"Repetition",l.maxLookahead,rr(l))}),o.forEach(l=>{this.computeLookaheadFunc(r,l.idx,512,"Option",l.maxLookahead,rr(l))}),s.forEach(l=>{this.computeLookaheadFunc(r,l.idx,1024,"RepetitionMandatory",l.maxLookahead,rr(l))}),a.forEach(l=>{this.computeLookaheadFunc(r,l.idx,1536,"RepetitionMandatoryWithSeparator",l.maxLookahead,rr(l))}),c.forEach(l=>{this.computeLookaheadFunc(r,l.idx,1280,"RepetitionWithSeparator",l.maxLookahead,rr(l))})})})}computeLookaheadFunc(e,r,n,i,o,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{let a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:o||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),c=od(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(c,a)})}getKeyForAutomaticLookahead(e,r){return od(this.currRuleShortName,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},$g=class extends Wt{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)}},sd=new $g;function XL(t){sd.reset(),t.accept(sd);let e=sd.dslMethods;return sd.reset(),e}function Ug(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function Bg(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.startColumn=e.startColumn,t.startLine=e.startLine,t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine)}function Ov(t,e,r){t.children[r]===void 0?t.children[r]=[e]:t.children[r].push(e)}function Lv(t,e,r){t.children[e]===void 0?t.children[e]=[r]:t.children[e].push(r)}var HL="name";function Gg(t,e){Object.defineProperty(t,HL,{enumerable:!1,configurable:!0,writable:!1,value:e})}function zL(t,e){let r=Object.keys(t),n=r.length;for(let i=0;i<n;i++){let o=r[i],s=t[o],a=s.length;for(let c=0;c<a;c++){let l=s[c];l.tokenTypeIdx===void 0&&this[l.name](l.children,e)}}}function Dv(t,e){let r=function(){};Gg(r,t+"BaseSemantics");let n={visit:function(i,o){if(Array.isArray(i)&&(i=i[0]),i!==void 0)return this[i.name](i.children,o)},validateVisitor:function(){let i=jL(this,e);if(i.length!==0){let o=i.map(s=>s.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
100
+ see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof Bt?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function w0(t,e){let r=new gm(t,e);return r.resolveRefs(),r.errors}var gm=class extends Gt{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Object.values(this.nameToTopRule).forEach(e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{let n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:_t.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}};var ym=class extends yn{constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=[...this.path.ruleStack].reverse(),this.occurrenceStack=[...this.path.occurrenceStack].reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){this.ruleStack.length===0?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},Lu=class extends ym{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let i=r.concat(n),o=new qe({definition:i});this.possibleTokTypes=to(o),this.found=!0}}},is=class extends yn{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},Du=class extends is{walkMany(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof me&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}},Tc=class extends is{walkManySep(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof me&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}},Mu=class extends is{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof me&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}},_c=class extends is{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof me&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}};function $u(t,e,r=[]){r=[...r];let n=[],i=0;function o(a){return a.concat(t.slice(i+1))}function s(a){let c=$u(o(a),e,r);return n.concat(c)}for(;r.length<e&&i<t.length;){let a=t[i];if(a instanceof qe)return s(a.definition);if(a instanceof De)return s(a.definition);if(a instanceof Me)n=s(a.definition);else if(a instanceof Ve){let c=a.definition.concat([new ve({definition:a.definition})]);return s(c)}else if(a instanceof Ye){let c=[new qe({definition:a.definition}),new ve({definition:[new me({terminalType:a.separator})].concat(a.definition)})];return s(c)}else if(a instanceof je){let c=a.definition.concat([new ve({definition:[new me({terminalType:a.separator})].concat(a.definition)})]);n=s(c)}else if(a instanceof ve){let c=a.definition.concat([new ve({definition:a.definition})]);n=s(c)}else{if(a instanceof ze)return a.definition.forEach(c=>{c.definition.length!==0&&(n=s(c.definition))}),n;if(a instanceof me)r.push(a.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:t.slice(i)}),n}function R0(t,e,r,n){let i="EXIT_NONE_TERMINAL",o=[i],s="EXIT_ALTERNATIVE",a=!1,c=e.length,l=c-n-1,u=[],f=[];for(f.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});f.length!==0;){let d=f.pop();if(d===s){a&&f.at(-1).idx<=l&&f.pop();continue}let p=d.def,m=d.idx,y=d.ruleStack,E=d.occurrenceStack;if(p.length===0)continue;let _=p[0];if(_===i){let x={idx:m,def:p.slice(1),ruleStack:y.slice(0,-1),occurrenceStack:E.slice(0,-1)};f.push(x)}else if(_ instanceof me)if(m<c-1){let x=m+1,v=e[x];if(r(v,_.terminalType)){let k={idx:x,def:p.slice(1),ruleStack:y,occurrenceStack:E};f.push(k)}}else if(m===c-1)u.push({nextTokenType:_.terminalType,nextTokenOccurrence:_.idx,ruleStack:y,occurrenceStack:E}),a=!0;else throw Error("non exhaustive match");else if(_ instanceof De){let x=[...y];x.push(_.nonTerminalName);let v=[...E];v.push(_.idx);let k={idx:m,def:_.definition.concat(o,p.slice(1)),ruleStack:x,occurrenceStack:v};f.push(k)}else if(_ instanceof Me){let x={idx:m,def:p.slice(1),ruleStack:y,occurrenceStack:E};f.push(x),f.push(s);let v={idx:m,def:_.definition.concat(p.slice(1)),ruleStack:y,occurrenceStack:E};f.push(v)}else if(_ instanceof Ve){let x=new ve({definition:_.definition,idx:_.idx}),v=_.definition.concat([x],p.slice(1)),k={idx:m,def:v,ruleStack:y,occurrenceStack:E};f.push(k)}else if(_ instanceof Ye){let x=new me({terminalType:_.separator}),v=new ve({definition:[x].concat(_.definition),idx:_.idx}),k=_.definition.concat([v],p.slice(1)),F={idx:m,def:k,ruleStack:y,occurrenceStack:E};f.push(F)}else if(_ instanceof je){let x={idx:m,def:p.slice(1),ruleStack:y,occurrenceStack:E};f.push(x),f.push(s);let v=new me({terminalType:_.separator}),k=new ve({definition:[v].concat(_.definition),idx:_.idx}),F=_.definition.concat([k],p.slice(1)),O={idx:m,def:F,ruleStack:y,occurrenceStack:E};f.push(O)}else if(_ instanceof ve){let x={idx:m,def:p.slice(1),ruleStack:y,occurrenceStack:E};f.push(x),f.push(s);let v=new ve({definition:_.definition,idx:_.idx}),k=_.definition.concat([v],p.slice(1)),F={idx:m,def:k,ruleStack:y,occurrenceStack:E};f.push(F)}else if(_ instanceof ze)for(let x=_.definition.length-1;x>=0;x--){let v=_.definition[x],k={idx:m,def:v.definition.concat(p.slice(1)),ruleStack:y,occurrenceStack:E};f.push(k),f.push(s)}else if(_ instanceof qe)f.push({idx:m,def:_.definition.concat(p.slice(1)),ruleStack:y,occurrenceStack:E});else if(_ instanceof Bt)f.push(dO(_,m,y,E));else throw Error("non exhaustive match")}return u}function dO(t,e,r,n){let i=[...r];i.push(t.name);let o=[...n];return o.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:o}}var st;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(st||(st={}));function Ec(t){if(t instanceof Me||t==="Option")return st.OPTION;if(t instanceof ve||t==="Repetition")return st.REPETITION;if(t instanceof Ve||t==="RepetitionMandatory")return st.REPETITION_MANDATORY;if(t instanceof Ye||t==="RepetitionMandatoryWithSeparator")return st.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof je||t==="RepetitionWithSeparator")return st.REPETITION_WITH_SEPARATOR;if(t instanceof ze||t==="Alternation")return st.ALTERNATION;throw Error("non exhaustive match")}function Uu(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,o=Ec(n);return o===st.ALTERNATION?os(e,r,i):ss(e,r,o,i)}function A0(t,e,r,n,i,o){let s=os(t,e,r),a=O0(s)?ts:xn;return o(s,n,a,i)}function I0(t,e,r,n,i,o){let s=ss(t,e,i,r),a=O0(s)?ts:xn;return o(s[0],a,n)}function k0(t,e,r,n){let i=t.length,o=t.every(s=>s.every(a=>a.length===1));if(e)return function(s){let a=s.map(c=>c.GATE);for(let c=0;c<i;c++){let l=t[c],u=l.length,f=a[c];if(!(f!==void 0&&f.call(this)===!1))e:for(let d=0;d<u;d++){let p=l[d],m=p.length;for(let y=0;y<m;y++){let E=this.LA_FAST(y+1);if(r(E,p[y])===!1)continue e}return c}}};if(o&&!n){let a=t.map(c=>c.flat()).reduce((c,l,u)=>(l.forEach(f=>{f.tokenTypeIdx in c||(c[f.tokenTypeIdx]=u),f.categoryMatches.forEach(d=>{Object.hasOwn(c,d)||(c[d]=u)})}),c),{});return function(){let c=this.LA_FAST(1);return a[c.tokenTypeIdx]}}else return function(){for(let s=0;s<i;s++){let a=t[s],c=a.length;e:for(let l=0;l<c;l++){let u=a[l],f=u.length;for(let d=0;d<f;d++){let p=this.LA_FAST(d+1);if(r(p,u[d])===!1)continue e}return s}}}}function N0(t,e,r){let n=t.every(o=>o.length===1),i=t.length;if(n&&!r){let o=t.flat();if(o.length===1&&o[0].categoryMatches.length===0){let a=o[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===a}}else{let s=o.reduce((a,c,l)=>(a[c.tokenTypeIdx]=!0,c.categoryMatches.forEach(u=>{a[u]=!0}),a),[]);return function(){let a=this.LA_FAST(1);return s[a.tokenTypeIdx]===!0}}}else return function(){e:for(let o=0;o<i;o++){let s=t[o],a=s.length;for(let c=0;c<a;c++){let l=this.LA_FAST(c+1);if(e(l,s[c])===!1)continue e}return!0}return!1}}var Tm=class extends yn{constructor(e,r,n){super(),this.topProd=e,this.targetOccurrence=r,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,r,n,i){return e.idx===this.targetOccurrence&&this.targetProdType===r?(this.restDef=n.concat(i),!0):!1}walkOption(e,r,n){this.checkIsTarget(e,st.OPTION,r,n)||super.walkOption(e,r,n)}walkAtLeastOne(e,r,n){this.checkIsTarget(e,st.REPETITION_MANDATORY,r,n)||super.walkOption(e,r,n)}walkAtLeastOneSep(e,r,n){this.checkIsTarget(e,st.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}walkMany(e,r,n){this.checkIsTarget(e,st.REPETITION,r,n)||super.walkOption(e,r,n)}walkManySep(e,r,n){this.checkIsTarget(e,st.REPETITION_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}},Fu=class extends Gt{constructor(e,r,n){super(),this.targetOccurrence=e,this.targetProdType=r,this.targetRef=n,this.result=[]}checkIsTarget(e,r){e.idx===this.targetOccurrence&&this.targetProdType===r&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,st.OPTION)}visitRepetition(e){this.checkIsTarget(e,st.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,st.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,st.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,st.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,st.ALTERNATION)}};function S0(t){let e=new Array(t);for(let r=0;r<t;r++)e[r]=[];return e}function xm(t){let e=[""];for(let r=0;r<t.length;r++){let n=t[r],i=[];for(let o=0;o<e.length;o++){let s=e[o];i.push(s+"_"+n.tokenTypeIdx);for(let a=0;a<n.categoryMatches.length;a++){let c="_"+n.categoryMatches[a];i.push(s+c)}}e=i}return e}function pO(t,e,r){for(let n=0;n<t.length;n++){if(n===r)continue;let i=t[n];for(let o=0;o<e.length;o++){let s=e[o];if(i[s]===!0)return!1}}return!0}function P0(t,e){let r=t.map(s=>$u([s],1)),n=S0(r.length),i=r.map(s=>{let a={};return s.forEach(c=>{xm(c.partialPath).forEach(u=>{a[u]=!0})}),a}),o=r;for(let s=1;s<=e;s++){let a=o;o=S0(a.length);for(let c=0;c<a.length;c++){let l=a[c];for(let u=0;u<l.length;u++){let f=l[u].partialPath,d=l[u].suffixDef,p=xm(f);if(pO(i,p,c)||d.length===0||f.length===e){let y=n[c];if(Bu(y,f)===!1){y.push(f);for(let E=0;E<p.length;E++){let _=p[E];i[c][_]=!0}}}else{let y=$u(d,s+1,f);o[c]=o[c].concat(y),y.forEach(E=>{xm(E.partialPath).forEach(x=>{i[c][x]=!0})})}}}}return n}function os(t,e,r,n){let i=new Fu(t,st.ALTERNATION,n);return e.accept(i),P0(i.result,r)}function ss(t,e,r,n){let i=new Fu(t,r);e.accept(i);let o=i.result,a=new Tm(e,t,r).startWalking(),c=new qe({definition:o}),l=new qe({definition:a});return P0([c,l],n)}function Bu(t,e){e:for(let r=0;r<t.length;r++){let n=t[r];if(n.length===e.length){for(let i=0;i<n.length;i++){let o=e[i],s=n[i];if((o===s||s.categoryMatchesMap[o.tokenTypeIdx]!==void 0)===!1)continue e}return!0}}return!1}function C0(t,e){return t.length<e.length&&t.every((r,n)=>{let i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function O0(t){return t.every(e=>e.every(r=>r.every(n=>n.categoryMatches.length===0)))}function L0(t){return t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName}).map(r=>Object.assign({type:_t.CUSTOM_LOOKAHEAD_VALIDATION},r))}function D0(t,e,r,n){let i=t.flatMap(c=>hO(c,r)),o=_O(t,e,r),s=t.flatMap(c=>yO(c,r)),a=t.flatMap(c=>gO(c,t,n,r));return i.concat(o,s,a)}function hO(t,e){let r=new _m;t.accept(r);let n=r.allProductions,i=Object.groupBy(n,mO),o=Object.fromEntries(Object.entries(i).filter(([a,c])=>c.length>1));return Object.values(o).map(a=>{let c=a[0],l=e.buildDuplicateFoundError(t,a),u=Vt(c),f={message:l,type:_t.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:c.idx},d=M0(c);return d&&(f.parameter=d),f})}function mO(t){return`${Vt(t)}_#_${t.idx}_#_${M0(t)}`}function M0(t){return t instanceof me?t.terminalType.name:t instanceof De?t.nonTerminalName:""}var _m=class extends Gt{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 gO(t,e,r,n){let i=[];if(e.reduce((s,a)=>a.name===t.name?s+1:s,0)>1){let s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:_t.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function $0(t,e,r){let n=[],i;return e.includes(t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:_t.INVALID_RULE_OVERRIDE,ruleName:t})),n}function vm(t,e,r,n=[]){let i=[],o=Gu(e.definition);if(o.length===0)return[];{let s=t.name;o.includes(t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:_t.LEFT_RECURSION,ruleName:s});let c=n.concat([t]),u=o.filter(f=>!c.includes(f)).flatMap(f=>{let d=[...n];return d.push(f),vm(t,f,r,d)});return i.concat(u)}}function Gu(t){let e=[];if(t.length===0)return e;let r=t[0];if(r instanceof De)e.push(r.referencedRule);else if(r instanceof qe||r instanceof Me||r instanceof Ve||r instanceof Ye||r instanceof je||r instanceof ve)e=e.concat(Gu(r.definition));else if(r instanceof ze)e=r.definition.map(o=>Gu(o.definition)).flat();else if(!(r instanceof me))throw Error("non exhaustive match");let n=eo(r),i=t.length>1;if(n&&i){let o=t.slice(1);return e.concat(Gu(o))}else return e}var vc=class extends Gt{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function F0(t,e){let r=new vc;return t.accept(r),r.alternations.flatMap(o=>o.definition.slice(0,-1).flatMap((a,c)=>R0([a],[],xn,1).length===0?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:o,emptyChoiceIdx:c}),type:_t.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:o.idx,alternative:c+1}]:[]))}function U0(t,e,r){let n=new vc;t.accept(n);let i=n.alternations;return i=i.filter(s=>s.ignoreAmbiguities!==!0),i.flatMap(s=>{let a=s.idx,c=s.maxLookahead||e,l=os(a,t,c,s),u=xO(l,s,t,r),f=TO(l,s,t,r);return u.concat(f)})}var Em=class extends Gt{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 yO(t,e){let r=new vc;return t.accept(r),r.alternations.flatMap(o=>o.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:o}),type:_t.TOO_MANY_ALTS,ruleName:t.name,occurrence:o.idx}]:[])}function B0(t,e,r){let n=[];return t.forEach(i=>{let o=new Em;i.accept(o),o.allProductions.forEach(a=>{let c=Ec(a),l=a.maxLookahead||e,u=a.idx;if(ss(u,i,c,l)[0].flat().length===0){let p=r.buildEmptyRepetitionError({topLevelRule:i,repetition:a});n.push({message:p,type:_t.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function xO(t,e,r,n){let i=[];return t.reduce((a,c,l)=>(e.definition[l].ignoreAmbiguities===!0||c.forEach(u=>{let f=[l];t.forEach((d,p)=>{l!==p&&Bu(d,u)&&e.definition[p].ignoreAmbiguities!==!0&&f.push(p)}),f.length>1&&!Bu(i,u)&&(i.push(u),a.push({alts:f,path:u}))}),a),[]).map(a=>{let c=a.alts.map(u=>u+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:c,prefixPath:a.path}),type:_t.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:a.alts}})}function TO(t,e,r,n){let i=t.reduce((s,a,c)=>{let l=a.map(u=>({idx:c,path:u}));return s.concat(l)},[]);return i.flatMap(s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];let c=s.idx,l=s.path;return i.filter(d=>e.definition[d.idx].ignoreAmbiguities!==!0&&d.idx<c&&C0(d.path,l)).map(d=>{let p=[d.idx+1,c+1],m=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:p,prefixPath:d.path}),type:_t.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:m,alternatives:p}})})}function _O(t,e,r){let n=[],i=e.map(o=>o.name);return t.forEach(o=>{let s=o.name;if(i.includes(s)){let a=r.buildNamespaceConflictError(o);n.push({message:a,type:_t.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}function G0(t){let e=Object.assign({errMsgProvider:b0},t),r={};return t.rules.forEach(n=>{r[n.name]=n}),w0(r,e.errMsgProvider)}function X0(t){var e;let r=(e=t.errMsgProvider)!==null&&e!==void 0?e:Sr;return D0(t.rules,t.tokenTypes,r,t.grammarName)}var H0="MismatchedTokenException",j0="NoViableAltException",z0="EarlyExitException",W0="NotAllInputParsedException",q0=[H0,j0,z0,W0];Object.freeze(q0);function ri(t){return q0.includes(t.name)}var as=class extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},no=class extends as{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=H0}},bc=class extends as{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=j0}},wc=class extends as{constructor(e,r){super(e,r),this.name=W0}},Rc=class extends as{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=z0}};var bm={},Rm="InRuleRecoveryException",wm=class extends Error{constructor(e){super(e),this.name=Rm}},Xu=class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Object.hasOwn(e,"recoveryEnabled")?e.recoveryEnabled:Ht.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=EO)}getTokenToInsert(e){let r=En(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){let o=this.findReSyncTokenType(),s=this.exportLexerState(),a=[],c=!1,l=this.LA_FAST(1),u=this.LA_FAST(1),f=()=>{let d=this.LA(0),p=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:l,previous:d,ruleName:this.getCurrRuleFullName()}),m=new no(p,l,this.LA(0));m.resyncedTokens=a.slice(0,-1),this.SAVE_ERROR(m)};for(;!c;)if(this.tokenMatcher(u,i)){f();return}else if(n.call(this)){f(),e.apply(this,r);return}else this.tokenMatcher(u,o)?c=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,a));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA_FAST(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getNextPossibleTokenTypes(e){let r=e.ruleStack[0],i=this.getGAstProductions()[r];return new Lu(i,e).startWalking()}getFollowsForInRuleRecovery(e,r){let n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new wm("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||r.length===0)return!1;let n=this.LA_FAST(1);return r.find(o=>this.tokenMatcher(n,o))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let r=this.getCurrFollowKey();return this.getFollowSetFromFollowKey(r).includes(e)}findReSyncTokenType(){let e=this.flattenFollowSet(),r=this.LA_FAST(1),n=2;for(;;){let i=e.find(o=>ns(r,o));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK_IDX===0)return bm;let e=this.currRuleShortName,r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK,n=this.RULE_STACK_IDX+1,i=new Array(n);for(let o=0;o<n;o++)o===0?i[o]=bm:i[o]={ruleName:this.shortRuleNameToFullName(e[o]),idxInCallingRule:r[o],inRule:this.shortRuleNameToFullName(e[o-1])};return i}flattenFollowSet(){return this.buildFullFollowKeyStack().map(r=>this.getFollowSetFromFollowKey(r)).flat()}getFollowSetFromFollowKey(e){if(e===bm)return[Xt];let r=e.ruleName+e.idxInCallingRule+Iu+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,Xt)||r.push(e),r}reSyncTo(e){let r=[],n=this.LA_FAST(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return r.slice(0,-1)}attemptInRepetitionRecovery(e,r,n,i,o,s,a){}getCurrentGrammarPath(e,r){let n=this.getHumanReadableRuleStack(),i=this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){let e=this.RULE_STACK_IDX+1,r=new Array(e);for(let n=0;n<e;n++)r[n]=this.shortRuleNameToFullName(this.RULE_STACK[n]);return r}};function EO(t,e,r,n,i,o,s){let a=this.getKeyForAutomaticLookahead(n,i),c=this.firstAfterRepMap[a];if(c===void 0){let d=this.getCurrRuleFullName(),p=this.getGAstProductions()[d];c=new o(p,i).startWalking(),this.firstAfterRepMap[a]=c}let l=c.token,u=c.occurrence,f=c.isEndOfRule;this.RULE_STACK_IDX===0&&f&&l===void 0&&(l=Xt,u=1),!(l===void 0||u===void 0)&&this.shouldInRepetitionRecoveryBeTried(l,u,s)&&this.tryInRepetitionRecovery(t,e,r,l)}function Hu(t,e,r){return r|e|t}var bn=class{constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:Ht.maxLookahead}validate(e){let r=this.validateNoLeftRecursion(e.rules);if(r.length===0){let n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),o=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...o]}return r}validateNoLeftRecursion(e){return e.flatMap(r=>vm(r,r,Sr))}validateEmptyOrAlternatives(e){return e.flatMap(r=>F0(r,Sr))}validateAmbiguousAlternationAlternatives(e,r){return e.flatMap(n=>U0(n,r,Sr))}validateSomeNonEmptyLookaheadPath(e,r){return B0(e,r,Sr)}buildLookaheadForAlternation(e){return A0(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,k0)}buildLookaheadForOptional(e){return I0(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,Ec(e.prodType),N0)}};var zu=class{initLooksAhead(e){this.dynamicTokensEnabled=Object.hasOwn(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Ht.dynamicTokensEnabled,this.maxLookahead=Object.hasOwn(e,"maxLookahead")?e.maxLookahead:Ht.maxLookahead,this.lookaheadStrategy=Object.hasOwn(e,"lookaheadStrategy")?e.lookaheadStrategy:new bn({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){e.forEach(r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{let{alternation:n,repetition:i,option:o,repetitionMandatory:s,repetitionMandatoryWithSeparator:a,repetitionWithSeparator:c}=vO(r);n.forEach(l=>{let u=l.idx===0?"":l.idx;this.TRACE_INIT(`${Vt(l)}${u}`,()=>{let f=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:l.idx,rule:r,maxLookahead:l.maxLookahead||this.maxLookahead,hasPredicates:l.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),d=Hu(this.fullRuleNameToShort[r.name],256,l.idx);this.setLaFuncCache(d,f)})}),i.forEach(l=>{this.computeLookaheadFunc(r,l.idx,768,"Repetition",l.maxLookahead,Vt(l))}),o.forEach(l=>{this.computeLookaheadFunc(r,l.idx,512,"Option",l.maxLookahead,Vt(l))}),s.forEach(l=>{this.computeLookaheadFunc(r,l.idx,1024,"RepetitionMandatory",l.maxLookahead,Vt(l))}),a.forEach(l=>{this.computeLookaheadFunc(r,l.idx,1536,"RepetitionMandatoryWithSeparator",l.maxLookahead,Vt(l))}),c.forEach(l=>{this.computeLookaheadFunc(r,l.idx,1280,"RepetitionWithSeparator",l.maxLookahead,Vt(l))})})})}computeLookaheadFunc(e,r,n,i,o,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{let a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:o||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),c=Hu(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(c,a)})}getKeyForAutomaticLookahead(e,r){return Hu(this.currRuleShortName,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},Sm=class extends Gt{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)}},ju=new Sm;function vO(t){ju.reset(),t.accept(ju);let e=ju.dslMethods;return ju.reset(),e}function km(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function Nm(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.startColumn=e.startColumn,t.startLine=e.startLine,t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine)}function V0(t,e,r){t.children[r]===void 0?t.children[r]=[e]:t.children[r].push(e)}function Y0(t,e,r){t.children[e]===void 0?t.children[e]=[r]:t.children[e].push(r)}var bO="name";function Pm(t,e){Object.defineProperty(t,bO,{enumerable:!1,configurable:!0,writable:!1,value:e})}function wO(t,e){let r=Object.keys(t),n=r.length;for(let i=0;i<n;i++){let o=r[i],s=t[o],a=s.length;for(let c=0;c<a;c++){let l=s[c];l.tokenTypeIdx===void 0&&this[l.name](l.children,e)}}}function K0(t,e){let r=function(){};Pm(r,t+"BaseSemantics");let n={visit:function(i,o){if(Array.isArray(i)&&(i=i[0]),i!==void 0)return this[i.name](i.children,o)},validateVisitor:function(){let i=RO(this,e);if(i.length!==0){let o=i.map(s=>s.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
125
101
  ${o.join(`
126
102
 
127
103
  `).replace(/\n/g,`
128
- `)}`)}}};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function $v(t,e,r){let n=function(){};Gg(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return e.forEach(o=>{i[o]=zL}),n.prototype=i,n.prototype.constructor=n,n}var Xg;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(Xg||(Xg={}));function jL(t,e){return qL(t,e)}function qL(t,e){return e.filter(i=>typeof t[i]!="function").map(i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:Xg.MISSING_METHOD,methodName:i})).filter(Boolean)}var fd=class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Object.hasOwn(e,"nodeLocationTracking")?e.nodeLocationTracking:Yt.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=()=>{},this.cstFinallyStateUpdate=()=>{},this.cstPostTerminal=()=>{},this.cstPostNonTerminal=()=>{},this.cstPostRule=()=>{};else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Bg,this.setNodeLocationFromNode=Bg,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Ug,this.setNodeLocationFromNode=Ug,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=()=>{},this.setInitialNodeLocation=()=>{};else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA_FAST(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let r=this.LA_FAST(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];Ov(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];Lv(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(this.baseCstVisitorConstructor===void 0){let e=Dv(this.className,Object.keys(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(this.baseCstVisitorWithDefaultsConstructor===void 0){let e=$v(this.className,Object.keys(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getPreviousExplicitRuleShortName(){return this.RULE_STACK[this.RULE_STACK_IDX-1]}getLastExplicitRuleOccurrenceIndex(){return this.RULE_OCCURRENCE_STACK[this.RULE_OCCURRENCE_STACK_IDX]}};var dd=class{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVectorLength-2?(this.consumeToken(),this.LA_FAST(1)):Bn}LA_FAST(e){let r=this.currIdx+e;return this.tokVector[r]}LA(e){let r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Bn:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVectorLength-1}getLexerPosition(){return this.exportLexerState()}};var pd=class{ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=Xs){if(this.definedRulesNames.includes(e)){let s={message:Gr.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:It.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);let i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=Xs){let i=vv(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);let o=this.defineRule(e,r,n);return this[e]=o,o}BACKTRACK(e,r){var n;let i=(n=e.coreRule)!==null&&n!==void 0?n:e;return function(){this.isBackTrackingStack.push(1);let o=this.saveRecogState();try{return i.apply(this,r),!0}catch(s){if(Ti(s))return!1;throw s}finally{this.reloadRecogState(o),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Hf(Object.values(this.gastProductionsCache))}};var hd=class{initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Ds,this.subruleIdx=0,this.currRuleShortName=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK=[],this.RULE_OCCURRENCE_STACK_IDX=-1,this.gastProductionsCache={},Object.hasOwn(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
104
+ `)}`)}}};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function Z0(t,e,r){let n=function(){};Pm(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return e.forEach(o=>{i[o]=wO}),n.prototype=i,n.prototype.constructor=n,n}var Cm;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(Cm||(Cm={}));function RO(t,e){return SO(t,e)}function SO(t,e){return e.filter(i=>typeof t[i]!="function").map(i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:Cm.MISSING_METHOD,methodName:i})).filter(Boolean)}var Yu=class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Object.hasOwn(e,"nodeLocationTracking")?e.nodeLocationTracking:Ht.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=()=>{},this.cstFinallyStateUpdate=()=>{},this.cstPostTerminal=()=>{},this.cstPostNonTerminal=()=>{},this.cstPostRule=()=>{};else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Nm,this.setNodeLocationFromNode=Nm,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=km,this.setNodeLocationFromNode=km,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=()=>{},this.setInitialNodeLocation=()=>{};else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA_FAST(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let r=this.LA_FAST(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];V0(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];Y0(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(this.baseCstVisitorConstructor===void 0){let e=K0(this.className,Object.keys(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(this.baseCstVisitorWithDefaultsConstructor===void 0){let e=Z0(this.className,Object.keys(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getPreviousExplicitRuleShortName(){return this.RULE_STACK[this.RULE_STACK_IDX-1]}getLastExplicitRuleOccurrenceIndex(){return this.RULE_OCCURRENCE_STACK[this.RULE_OCCURRENCE_STACK_IDX]}};var Ku=class{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVectorLength-2?(this.consumeToken(),this.LA_FAST(1)):wn}LA_FAST(e){let r=this.currIdx+e;return this.tokVector[r]}LA(e){let r=this.currIdx+e;return r<0||this.tokVectorLength<=r?wn:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVectorLength-1}getLexerPosition(){return this.exportLexerState()}};var Zu=class{ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=cs){if(this.definedRulesNames.includes(e)){let s={message:Sr.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:_t.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);let i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=cs){let i=$0(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);let o=this.defineRule(e,r,n);return this[e]=o,o}BACKTRACK(e,r){var n;let i=(n=e.coreRule)!==null&&n!==void 0?n:e;return function(){this.isBackTrackingStack.push(1);let o=this.saveRecogState();try{return i.apply(this,r),!0}catch(s){if(ri(s))return!1;throw s}finally{this.reloadRecogState(o),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Au(Object.values(this.gastProductionsCache))}};var Ju=class{initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=ts,this.subruleIdx=0,this.currRuleShortName=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK=[],this.RULE_OCCURRENCE_STACK_IDX=-1,this.gastProductionsCache={},Object.hasOwn(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
129
105
  See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
130
106
  For Further details.`);if(Array.isArray(e)){if(e.length===0)throw Error(`A Token Vocabulary cannot be empty.
131
107
  Note that the first argument for the parser constructor
132
108
  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.
133
109
  See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
134
- For Further details.`)}if(Array.isArray(e))this.tokensMap=e.reduce((o,s)=>(o[s.name]=s,o),{});else if(Object.hasOwn(e,"modes")&&Object.values(e.modes).flat().every(Q0)){let o=Object.values(e.modes).flat(),s=[...new Set(o)];this.tokensMap=s.reduce((a,c)=>(a[c.name]=c,a),{})}else if(typeof e=="object"&&e!==null)this.tokensMap=Object.assign({},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=Vt;let i=(Object.hasOwn(e,"modes")?Object.values(e.modes).flat():Object.values(e)).every(o=>{var s;return((s=o.categoryMatches)===null||s===void 0?void 0:s.length)==0});this.tokenMatcher=i?Ds:Ln,Dn(Object.values(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
135
- Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=Object.hasOwn(n,"resyncEnabled")?n.resyncEnabled:Xs.resyncEnabled,o=Object.hasOwn(n,"recoveryValueFunc")?n.recoveryValueFunc:Xs.recoveryValueFunc,s=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[s]=e,this.fullRuleNameToShort[e]=s;let a;return this.outputCst===!0?a=function(...f){try{this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f);let d=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(d),d}catch(d){return this.invokeRuleCatch(d,i,o)}finally{this.ruleFinallyStateUpdate()}}:a=function(...f){try{return this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f)}catch(d){return this.invokeRuleCatch(d,i,o)}finally{this.ruleFinallyStateUpdate()}},Object.assign(function(...f){this.onBeforeParse(e);try{return a.apply(this,f)}finally{this.onAfterParse(e)}},{ruleName:e,originalGrammarAction:r,coreRule:a})}invokeRuleCatch(e,r,n){let i=this.RULE_STACK_IDX===0,o=r&&!this.isBackTracking()&&this.recoveryEnabled;if(Ti(e)){let s=e;if(o){let a=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(a))if(s.resyncedTokens=this.reSyncTo(a),this.outputCst){let c=this.CST_STACK[this.CST_STACK.length-1];return c.recoveredNode=!0,c}else return n(e);else{if(this.outputCst){let c=this.CST_STACK[this.CST_STACK.length-1];c.recoveredNode=!0,s.partialCstResult=c}throw s}}else{if(i)return this.moveToTerminatedState(),n(e);throw s}}else throw e}optionInternal(e,r){let n=this.getKeyForAutomaticLookahead(512,r);return this.optionInternalLogic(e,r,n)}optionInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),o;if(typeof e!="function"){o=e.DEF;let s=e.GATE;if(s!==void 0){let a=i;i=()=>s.call(this)&&a.call(this)}}else o=e;if(i.call(this)===!0)return o.call(this)}atLeastOneInternal(e,r){let n=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),o;if(typeof r!="function"){o=r.DEF;let s=r.GATE;if(s!==void 0){let a=i;i=()=>s.call(this)&&a.call(this)}}else o=r;if(i.call(this)===!0){let s=this.doSingleRepetition(o);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(o)}else throw this.raiseEarlyExitException(e,lt.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,1024,e,Jf)}atLeastOneSepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){let i=r.DEF,o=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let a=()=>this.tokenMatcher(this.LA_FAST(1),o);for(;this.tokenMatcher(this.LA_FAST(1),o)===!0;)this.CONSUME(o),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,a,i,nl],a,1536,e,nl)}else throw this.raiseEarlyExitException(e,lt.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){let n=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),o;if(typeof r!="function"){o=r.DEF;let a=r.GATE;if(a!==void 0){let c=i;i=()=>a.call(this)&&c.call(this)}}else o=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(o);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,768,e,Zf,s)}manySepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){let i=r.DEF,o=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let a=()=>this.tokenMatcher(this.LA_FAST(1),o);for(;this.tokenMatcher(this.LA_FAST(1),o)===!0;)this.CONSUME(o),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,a,i,rl],a,1280,e,rl)}}repetitionSepSecondInternal(e,r,n,i,o){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,o],n,1536,e,o)}doSingleRepetition(e){let r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){let n=this.getKeyForAutomaticLookahead(256,r),i=Array.isArray(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){this.RULE_STACK_IDX--,this.RULE_OCCURRENCE_STACK_IDX--,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX]),this.cstFinallyStateUpdate()}subruleInternal(e,r,n){let i;try{let o=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.coreRule.apply(this,o),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(o){throw this.subruleInternalError(o,n,e.ruleName)}}subruleInternalError(e,r,n){throw Ti(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{let o=this.LA_FAST(1);this.tokenMatcher(o,e)===!0?(this.consumeToken(),i=o):this.consumeInternalError(e,o,n)}catch(o){i=this.consumeInternalRecovery(e,r,o)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i,o=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:o,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new bo(i,r,o))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){let i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(o){throw o.name===Dg?n:o}}else throw n}saveRecogState(){let e=this.errors,r=this.RULE_STACK.slice(0,this.RULE_STACK_IDX+1);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState);let r=e.RULE_STACK;for(let n=0;n<r.length;n++)this.RULE_STACK[n]=r[n];this.RULE_STACK_IDX=r.length-1,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX])}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK[++this.RULE_OCCURRENCE_STACK_IDX]=n,this.RULE_STACK[++this.RULE_STACK_IDX]=e,this.currRuleShortName=e,this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){let e=this.currRuleShortName;return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),Vt)}reset(){this.resetLexerState(),this.subruleIdx=0,this.currRuleShortName=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK_IDX=-1,this.CST_STACK=[]}onBeforeParse(e){for(let r=0;r<this.maxLookahead+1;r++)this.tokVector.push(Bn)}onAfterParse(e){if(this.isAtEndOfInput()===!1){let r=this.LA(1),n=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:r,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new al(n,r))}for(;this.tokVector.at(-1)===Bn;)this.tokVector.pop()}};var md=class{initErrorHandler(e){this._errors=[],this.errorMessageProvider=Object.hasOwn(e,"errorMessageProvider")?e.errorMessageProvider:Yt.errorMessageProvider}SAVE_ERROR(e){if(Ti(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return[...this._errors]}set errors(e){this._errors=e}raiseEarlyExitException(e,r,n){let i=this.getCurrRuleFullName(),o=this.getGAstProductions()[i],a=Bs(e,o,r,this.maxLookahead)[0],c=[];for(let u=1;u<=this.maxLookahead;u++)c.push(this.LA(u));let l=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:c,previous:this.LA(0),customUserDescription:n,ruleName:i});throw this.SAVE_ERROR(new cl(l,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){let n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],o=Us(e,i,this.maxLookahead),s=[];for(let l=1;l<=this.maxLookahead;l++)s.push(this.LA(l));let a=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:o,actual:s,previous:a,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new sl(c,this.LA(1),a))}};var xd={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(xd);var Mv=!0,Fv=Math.pow(2,8)-1,Bv=xi({name:"RECORDING_PHASE_TOKEN",pattern:ct.NA});Dn([Bv]);var Gv=Mn(Bv,`This IToken indicates the Parser is in Recording Phase
136
- See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Gv);var VL={name:`This CSTNode indicates the Parser is in Recording Phase
137
- See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},gd=class{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{let e=this;for(let r=0;r<10;r++){let n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return Bn}topLevelRuleRecord(e,r){try{let n=new qt({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+`
110
+ For Further details.`)}if(Array.isArray(e))this.tokensMap=e.reduce((o,s)=>(o[s.name]=s,o),{});else if(Object.hasOwn(e,"modes")&&Object.values(e.modes).flat().every(h0)){let o=Object.values(e.modes).flat(),s=[...new Set(o)];this.tokensMap=s.reduce((a,c)=>(a[c.name]=c,a),{})}else if(typeof e=="object"&&e!==null)this.tokensMap=Object.assign({},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=Xt;let i=(Object.hasOwn(e,"modes")?Object.values(e.modes).flat():Object.values(e)).every(o=>{var s;return((s=o.categoryMatches)===null||s===void 0?void 0:s.length)==0});this.tokenMatcher=i?ts:xn,Tn(Object.values(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
111
+ Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=Object.hasOwn(n,"resyncEnabled")?n.resyncEnabled:cs.resyncEnabled,o=Object.hasOwn(n,"recoveryValueFunc")?n.recoveryValueFunc:cs.recoveryValueFunc,s=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[s]=e,this.fullRuleNameToShort[e]=s;let a;return this.outputCst===!0?a=function(...f){try{this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f);let d=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(d),d}catch(d){return this.invokeRuleCatch(d,i,o)}finally{this.ruleFinallyStateUpdate()}}:a=function(...f){try{return this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f)}catch(d){return this.invokeRuleCatch(d,i,o)}finally{this.ruleFinallyStateUpdate()}},Object.assign(function(...f){this.onBeforeParse(e);try{return a.apply(this,f)}finally{this.onAfterParse(e)}},{ruleName:e,originalGrammarAction:r,coreRule:a})}invokeRuleCatch(e,r,n){let i=this.RULE_STACK_IDX===0,o=r&&!this.isBackTracking()&&this.recoveryEnabled;if(ri(e)){let s=e;if(o){let a=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(a))if(s.resyncedTokens=this.reSyncTo(a),this.outputCst){let c=this.CST_STACK[this.CST_STACK.length-1];return c.recoveredNode=!0,c}else return n(e);else{if(this.outputCst){let c=this.CST_STACK[this.CST_STACK.length-1];c.recoveredNode=!0,s.partialCstResult=c}throw s}}else{if(i)return this.moveToTerminatedState(),n(e);throw s}}else throw e}optionInternal(e,r){let n=this.getKeyForAutomaticLookahead(512,r);return this.optionInternalLogic(e,r,n)}optionInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),o;if(typeof e!="function"){o=e.DEF;let s=e.GATE;if(s!==void 0){let a=i;i=()=>s.call(this)&&a.call(this)}}else o=e;if(i.call(this)===!0)return o.call(this)}atLeastOneInternal(e,r){let n=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),o;if(typeof r!="function"){o=r.DEF;let s=r.GATE;if(s!==void 0){let a=i;i=()=>s.call(this)&&a.call(this)}}else o=r;if(i.call(this)===!0){let s=this.doSingleRepetition(o);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(o)}else throw this.raiseEarlyExitException(e,st.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,1024,e,Mu)}atLeastOneSepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){let i=r.DEF,o=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let a=()=>this.tokenMatcher(this.LA_FAST(1),o);for(;this.tokenMatcher(this.LA_FAST(1),o)===!0;)this.CONSUME(o),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,a,i,_c],a,1536,e,_c)}else throw this.raiseEarlyExitException(e,st.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){let n=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),o;if(typeof r!="function"){o=r.DEF;let a=r.GATE;if(a!==void 0){let c=i;i=()=>a.call(this)&&c.call(this)}}else o=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(o);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,768,e,Du,s)}manySepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){let i=r.DEF,o=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let a=()=>this.tokenMatcher(this.LA_FAST(1),o);for(;this.tokenMatcher(this.LA_FAST(1),o)===!0;)this.CONSUME(o),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,a,i,Tc],a,1280,e,Tc)}}repetitionSepSecondInternal(e,r,n,i,o){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,o],n,1536,e,o)}doSingleRepetition(e){let r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){let n=this.getKeyForAutomaticLookahead(256,r),i=Array.isArray(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){this.RULE_STACK_IDX--,this.RULE_OCCURRENCE_STACK_IDX--,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX]),this.cstFinallyStateUpdate()}subruleInternal(e,r,n){let i;try{let o=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.coreRule.apply(this,o),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(o){throw this.subruleInternalError(o,n,e.ruleName)}}subruleInternalError(e,r,n){throw ri(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{let o=this.LA_FAST(1);this.tokenMatcher(o,e)===!0?(this.consumeToken(),i=o):this.consumeInternalError(e,o,n)}catch(o){i=this.consumeInternalRecovery(e,r,o)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i,o=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:o,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new no(i,r,o))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){let i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(o){throw o.name===Rm?n:o}}else throw n}saveRecogState(){let e=this.errors,r=this.RULE_STACK.slice(0,this.RULE_STACK_IDX+1);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState);let r=e.RULE_STACK;for(let n=0;n<r.length;n++)this.RULE_STACK[n]=r[n];this.RULE_STACK_IDX=r.length-1,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX])}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK[++this.RULE_OCCURRENCE_STACK_IDX]=n,this.RULE_STACK[++this.RULE_STACK_IDX]=e,this.currRuleShortName=e,this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){let e=this.currRuleShortName;return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),Xt)}reset(){this.resetLexerState(),this.subruleIdx=0,this.currRuleShortName=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK_IDX=-1,this.CST_STACK=[]}onBeforeParse(e){for(let r=0;r<this.maxLookahead+1;r++)this.tokVector.push(wn)}onAfterParse(e){if(this.isAtEndOfInput()===!1){let r=this.LA(1),n=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:r,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new wc(n,r))}for(;this.tokVector.at(-1)===wn;)this.tokVector.pop()}};var Qu=class{initErrorHandler(e){this._errors=[],this.errorMessageProvider=Object.hasOwn(e,"errorMessageProvider")?e.errorMessageProvider:Ht.errorMessageProvider}SAVE_ERROR(e){if(ri(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return[...this._errors]}set errors(e){this._errors=e}raiseEarlyExitException(e,r,n){let i=this.getCurrRuleFullName(),o=this.getGAstProductions()[i],a=ss(e,o,r,this.maxLookahead)[0],c=[];for(let u=1;u<=this.maxLookahead;u++)c.push(this.LA(u));let l=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:c,previous:this.LA(0),customUserDescription:n,ruleName:i});throw this.SAVE_ERROR(new Rc(l,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){let n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],o=os(e,i,this.maxLookahead),s=[];for(let l=1;l<=this.maxLookahead;l++)s.push(this.LA(l));let a=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:o,actual:s,previous:a,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new bc(c,this.LA(1),a))}};var rf={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(rf);var J0=!0,Q0=Math.pow(2,8)-1,tv=ti({name:"RECORDING_PHASE_TOKEN",pattern:ot.NA});Tn([tv]);var rv=En(tv,`This IToken indicates the Parser is in Recording Phase
112
+ See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(rv);var IO={name:`This CSTNode indicates the Parser is in Recording Phase
113
+ See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},ef=class{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{let e=this;for(let r=0;r<10;r++){let n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return wn}topLevelRuleRecord(e,r){try{let n=new Bt({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+`
138
114
  This error was thrown during the "grammar recording phase" For more info see:
139
- https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return ul.call(this,Ge,e,r)}atLeastOneInternalRecord(e,r){ul.call(this,Je,r,e)}atLeastOneSepFirstInternalRecord(e,r){ul.call(this,Qe,r,e,Mv)}manyInternalRecord(e,r){ul.call(this,we,r,e)}manySepFirstInternalRecord(e,r){ul.call(this,qe,r,e,Mv)}orInternalRecord(e,r){return YL.call(this,e,r)}subruleInternalRecord(e,r,n){if(yd(r),!e||!Object.hasOwn(e,"ruleName")){let a=new Error(`<SUBRULE${Uv(r)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
140
- inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}let i=this.recordingProdStack.at(-1),o=e.ruleName,s=new Be({idx:r,nonTerminalName:o,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?VL:xd}consumeInternalRecord(e,r,n){if(yd(r),!Rg(e)){let s=new Error(`<CONSUME${Uv(r)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
141
- inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}let i=this.recordingProdStack.at(-1),o=new Te({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(o),Gv}};function ul(t,e,r,n=!1){yd(r);let i=this.recordingProdStack.at(-1),o=typeof e=="function"?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),Object.hasOwn(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),o.call(this),i.definition.push(s),this.recordingProdStack.pop(),xd}function YL(t,e){yd(e);let r=this.recordingProdStack.at(-1),n=Array.isArray(t)===!1,i=n===!1?t:t.DEF,o=new We({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Object.hasOwn(t,"MAX_LOOKAHEAD")&&(o.maxLookahead=t.MAX_LOOKAHEAD);let s=i.some(a=>typeof a.GATE=="function");return o.hasPredicates=s,r.definition.push(o),i.forEach(a=>{let c=new Ze({definition:[]});o.definition.push(c),Object.hasOwn(a,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=a.IGNORE_AMBIGUITIES:Object.hasOwn(a,"GATE")&&(c.ignoreAmbiguities=!0),this.recordingProdStack.push(c),a.ALT.call(this),this.recordingProdStack.pop()}),xd}function Uv(t){return t===0?"":`${t}`}function yd(t){if(t<0||t>Fv){let e=new Error(`Invalid DSL Method idx value: <${t}>
142
- Idx value must be a none negative value smaller than ${Fv+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}var Td=class{initPerformanceTracer(e){if(Object.hasOwn(e,"traceInitPerf")){let r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=Yt.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${n}--> <${e}>`);let{time:i,value:o}=Jc(r),s=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&s(`${n}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,o}else return r()}};function Xv(t,e){e.forEach(r=>{let n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;let o=Object.getOwnPropertyDescriptor(n,i);o&&(o.get||o.set)?Object.defineProperty(t.prototype,i,o):t.prototype[i]=r.prototype[i]})})}var Bn=Mn(Vt,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Bn);var Yt=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Fn,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Xs=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0}),It;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(It||(It={}));function _d(t=void 0){return function(){return t}}var fl=class t{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;let r=this.className;this.TRACE_INIT("toFastProps",()=>{Qc(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),this.definedRulesNames.forEach(i=>{let s=this[i].originalGrammarAction,a;this.TRACE_INIT(`${i} Rule`,()=>{a=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=a})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=Av({rules:Object.values(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(n.length===0&&this.skipValidations===!1){let i=Iv({rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),errMsgProvider:Gr,grammarName:r}),o=Tv({lookaheadStrategy:this.lookaheadStrategy,rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,o)}}),this.definitionErrors.length===0&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let i=L0(Object.values(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,o;(o=(i=this.lookaheadStrategy).initialize)===null||o===void 0||o.call(i,{rules:Object.values(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Object.values(this.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&this.definitionErrors.length!==0)throw e=this.definitionErrors.map(i=>i.message),new Error(`Parser Definition Errors detected:
115
+ https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return Ac.call(this,Me,e,r)}atLeastOneInternalRecord(e,r){Ac.call(this,Ve,r,e)}atLeastOneSepFirstInternalRecord(e,r){Ac.call(this,Ye,r,e,J0)}manyInternalRecord(e,r){Ac.call(this,ve,r,e)}manySepFirstInternalRecord(e,r){Ac.call(this,je,r,e,J0)}orInternalRecord(e,r){return kO.call(this,e,r)}subruleInternalRecord(e,r,n){if(tf(r),!e||!Object.hasOwn(e,"ruleName")){let a=new Error(`<SUBRULE${ev(r)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
116
+ inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}let i=this.recordingProdStack.at(-1),o=e.ruleName,s=new De({idx:r,nonTerminalName:o,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?IO:rf}consumeInternalRecord(e,r,n){if(tf(r),!hm(e)){let s=new Error(`<CONSUME${ev(r)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
117
+ inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}let i=this.recordingProdStack.at(-1),o=new me({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(o),rv}};function Ac(t,e,r,n=!1){tf(r);let i=this.recordingProdStack.at(-1),o=typeof e=="function"?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),Object.hasOwn(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),o.call(this),i.definition.push(s),this.recordingProdStack.pop(),rf}function kO(t,e){tf(e);let r=this.recordingProdStack.at(-1),n=Array.isArray(t)===!1,i=n===!1?t:t.DEF,o=new ze({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Object.hasOwn(t,"MAX_LOOKAHEAD")&&(o.maxLookahead=t.MAX_LOOKAHEAD);let s=i.some(a=>typeof a.GATE=="function");return o.hasPredicates=s,r.definition.push(o),i.forEach(a=>{let c=new qe({definition:[]});o.definition.push(c),Object.hasOwn(a,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=a.IGNORE_AMBIGUITIES:Object.hasOwn(a,"GATE")&&(c.ignoreAmbiguities=!0),this.recordingProdStack.push(c),a.ALT.call(this),this.recordingProdStack.pop()}),rf}function ev(t){return t===0?"":`${t}`}function tf(t){if(t<0||t>Q0){let e=new Error(`Invalid DSL Method idx value: <${t}>
118
+ Idx value must be a none negative value smaller than ${Q0+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}var nf=class{initPerformanceTracer(e){if(Object.hasOwn(e,"traceInitPerf")){let r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=Ht.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${n}--> <${e}>`);let{time:i,value:o}=mc(r),s=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&s(`${n}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,o}else return r()}};function nv(t,e){e.forEach(r=>{let n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;let o=Object.getOwnPropertyDescriptor(n,i);o&&(o.get||o.set)?Object.defineProperty(t.prototype,i,o):t.prototype[i]=r.prototype[i]})})}var wn=En(Xt,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(wn);var Ht=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:vn,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),cs=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0}),_t;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(_t||(_t={}));function of(t=void 0){return function(){return t}}var Ic=class t{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;let r=this.className;this.TRACE_INIT("toFastProps",()=>{gc(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),this.definedRulesNames.forEach(i=>{let s=this[i].originalGrammarAction,a;this.TRACE_INIT(`${i} Rule`,()=>{a=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=a})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=G0({rules:Object.values(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(n.length===0&&this.skipValidations===!1){let i=X0({rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),errMsgProvider:Sr,grammarName:r}),o=L0({lookaheadStrategy:this.lookaheadStrategy,rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,o)}}),this.definitionErrors.length===0&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let i=YE(Object.values(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,o;(o=(i=this.lookaheadStrategy).initialize)===null||o===void 0||o.call(i,{rules:Object.values(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Object.values(this.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&this.definitionErrors.length!==0)throw e=this.definitionErrors.map(i=>i.message),new Error(`Parser Definition Errors detected:
143
119
  ${e.join(`
144
120
  -------------------------------
145
121
  `)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;let n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(e,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initGastRecorder(r),n.initPerformanceTracer(r),Object.hasOwn(r,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
146
122
  Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
147
123
  See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
148
- For further details.`);this.skipValidations=Object.hasOwn(r,"skipValidations")?r.skipValidations:Yt.skipValidations}};fl.DEFER_DEFINITION_ERRORS_HANDLING=!1;Xv(fl,[id,ad,fd,dd,hd,pd,md,gd,Td]);var dl=class extends fl{constructor(e,r=Yt){let n=Object.assign({},r);n.outputCst=!1,super(e,n)}};function ZL(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}var Ed=ZL;function JL(){this.__data__=[],this.size=0}var Hv=JL;function QL(t,e){return t===e||t!==t&&e!==e}var vd=QL;function e1(t,e){for(var r=t.length;r--;)if(vd(t[r][0],e))return r;return-1}var _i=e1;var t1=Array.prototype,r1=t1.splice;function n1(t){var e=this.__data__,r=_i(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():r1.call(e,r,1),--this.size,!0}var zv=n1;function i1(t){var e=this.__data__,r=_i(e,t);return r<0?void 0:e[r][1]}var jv=i1;function o1(t){return _i(this.__data__,t)>-1}var qv=o1;function s1(t,e){var r=this.__data__,n=_i(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var Wv=s1;function Hs(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Hs.prototype.clear=Hv;Hs.prototype.delete=zv;Hs.prototype.get=jv;Hs.prototype.has=qv;Hs.prototype.set=Wv;var Ei=Hs;function a1(){this.__data__=new Ei,this.size=0}var Vv=a1;function c1(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var Yv=c1;function l1(t){return this.__data__.get(t)}var Kv=l1;function u1(t){return this.__data__.has(t)}var Zv=u1;var f1=typeof global=="object"&&global&&global.Object===Object&&global,wd=f1;var d1=typeof self=="object"&&self&&self.Object===Object&&self,p1=wd||d1||Function("return this")(),Nt=p1;var h1=Nt.Symbol,Kt=h1;var Jv=Object.prototype,m1=Jv.hasOwnProperty,g1=Jv.toString,pl=Kt?Kt.toStringTag:void 0;function y1(t){var e=m1.call(t,pl),r=t[pl];try{t[pl]=void 0;var n=!0}catch{}var i=g1.call(t);return n&&(e?t[pl]=r:delete t[pl]),i}var Qv=y1;var x1=Object.prototype,T1=x1.toString;function _1(t){return T1.call(t)}var ew=_1;var E1="[object Null]",v1="[object Undefined]",tw=Kt?Kt.toStringTag:void 0;function w1(t){return t==null?t===void 0?v1:E1:tw&&tw in Object(t)?Qv(t):ew(t)}var Xr=w1;function R1(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var zs=R1;var b1="[object AsyncFunction]",A1="[object Function]",I1="[object GeneratorFunction]",S1="[object Proxy]";function k1(t){if(!zs(t))return!1;var e=Xr(t);return e==A1||e==I1||e==b1||e==S1}var Rd=k1;var N1=Nt["__core-js_shared__"],bd=N1;var rw=(function(){var t=/[^.]+$/.exec(bd&&bd.keys&&bd.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function C1(t){return!!rw&&rw in t}var nw=C1;var P1=Function.prototype,O1=P1.toString;function L1(t){if(t!=null){try{return O1.call(t)}catch{}try{return t+""}catch{}}return""}var Gn=L1;var D1=/[\\^$.*+?()[\]{}|]/g,$1=/^\[object .+?Constructor\]$/,M1=Function.prototype,F1=Object.prototype,U1=M1.toString,B1=F1.hasOwnProperty,G1=RegExp("^"+U1.call(B1).replace(D1,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function X1(t){if(!zs(t)||nw(t))return!1;var e=Rd(t)?G1:$1;return e.test(Gn(t))}var iw=X1;function H1(t,e){return t?.[e]}var ow=H1;function z1(t,e){var r=ow(t,e);return iw(r)?r:void 0}var vr=z1;var j1=vr(Nt,"Map"),vi=j1;var q1=vr(Object,"create"),Xn=q1;function W1(){this.__data__=Xn?Xn(null):{},this.size=0}var sw=W1;function V1(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var aw=V1;var Y1="__lodash_hash_undefined__",K1=Object.prototype,Z1=K1.hasOwnProperty;function J1(t){var e=this.__data__;if(Xn){var r=e[t];return r===Y1?void 0:r}return Z1.call(e,t)?e[t]:void 0}var cw=J1;var Q1=Object.prototype,eD=Q1.hasOwnProperty;function tD(t){var e=this.__data__;return Xn?e[t]!==void 0:eD.call(e,t)}var lw=tD;var rD="__lodash_hash_undefined__";function nD(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Xn&&e===void 0?rD:e,this}var uw=nD;function js(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}js.prototype.clear=sw;js.prototype.delete=aw;js.prototype.get=cw;js.prototype.has=lw;js.prototype.set=uw;var zg=js;function iD(){this.size=0,this.__data__={hash:new zg,map:new(vi||Ei),string:new zg}}var fw=iD;function oD(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var dw=oD;function sD(t,e){var r=t.__data__;return dw(e)?r[typeof e=="string"?"string":"hash"]:r.map}var wi=sD;function aD(t){var e=wi(this,t).delete(t);return this.size-=e?1:0,e}var pw=aD;function cD(t){return wi(this,t).get(t)}var hw=cD;function lD(t){return wi(this,t).has(t)}var mw=lD;function uD(t,e){var r=wi(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}var gw=uD;function qs(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}qs.prototype.clear=fw;qs.prototype.delete=pw;qs.prototype.get=hw;qs.prototype.has=mw;qs.prototype.set=gw;var Ao=qs;var fD=200;function dD(t,e){var r=this.__data__;if(r instanceof Ei){var n=r.__data__;if(!vi||n.length<fD-1)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new Ao(n)}return r.set(t,e),this.size=r.size,this}var yw=dD;function Ws(t){var e=this.__data__=new Ei(t);this.size=e.size}Ws.prototype.clear=Vv;Ws.prototype.delete=Yv;Ws.prototype.get=Kv;Ws.prototype.has=Zv;Ws.prototype.set=yw;var Vs=Ws;var pD="__lodash_hash_undefined__";function hD(t){return this.__data__.set(t,pD),this}var xw=hD;function mD(t){return this.__data__.has(t)}var Tw=mD;function Ad(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new Ao;++e<r;)this.add(t[e])}Ad.prototype.add=Ad.prototype.push=xw;Ad.prototype.has=Tw;var Id=Ad;function gD(t,e){for(var r=-1,n=t==null?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}var _w=gD;function yD(t,e){return t.has(e)}var Sd=yD;var xD=1,TD=2;function _D(t,e,r,n,i,o){var s=r&xD,a=t.length,c=e.length;if(a!=c&&!(s&&c>a))return!1;var l=o.get(t),u=o.get(e);if(l&&u)return l==e&&u==t;var f=-1,d=!0,p=r&TD?new Id:void 0;for(o.set(t,e),o.set(e,t);++f<a;){var m=t[f],y=e[f];if(n)var _=s?n(y,m,f,e,t,o):n(m,y,f,t,e,o);if(_!==void 0){if(_)continue;d=!1;break}if(p){if(!_w(e,function(E,T){if(!Sd(p,T)&&(m===E||i(m,E,r,n,o)))return p.push(T)})){d=!1;break}}else if(!(m===y||i(m,y,r,n,o))){d=!1;break}}return o.delete(t),o.delete(e),d}var kd=_D;var ED=Nt.Uint8Array,jg=ED;function vD(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}var Ew=vD;function wD(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}var Ys=wD;var RD=1,bD=2,AD="[object Boolean]",ID="[object Date]",SD="[object Error]",kD="[object Map]",ND="[object Number]",CD="[object RegExp]",PD="[object Set]",OD="[object String]",LD="[object Symbol]",DD="[object ArrayBuffer]",$D="[object DataView]",vw=Kt?Kt.prototype:void 0,qg=vw?vw.valueOf:void 0;function MD(t,e,r,n,i,o,s){switch(r){case $D:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case DD:return!(t.byteLength!=e.byteLength||!o(new jg(t),new jg(e)));case AD:case ID:case ND:return vd(+t,+e);case SD:return t.name==e.name&&t.message==e.message;case CD:case OD:return t==e+"";case kD:var a=Ew;case PD:var c=n&RD;if(a||(a=Ys),t.size!=e.size&&!c)return!1;var l=s.get(t);if(l)return l==e;n|=bD,s.set(t,e);var u=kd(a(t),a(e),n,i,o,s);return s.delete(t),u;case LD:if(qg)return qg.call(t)==qg.call(e)}return!1}var ww=MD;function FD(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}var Nd=FD;var UD=Array.isArray,He=UD;function BD(t,e,r){var n=e(t);return He(t)?n:Nd(n,r(t))}var Rw=BD;function GD(t,e){for(var r=-1,n=t==null?0:t.length,i=0,o=[];++r<n;){var s=t[r];e(s,r,t)&&(o[i++]=s)}return o}var Cd=GD;function XD(){return[]}var bw=XD;var HD=Object.prototype,zD=HD.propertyIsEnumerable,Aw=Object.getOwnPropertySymbols,jD=Aw?function(t){return t==null?[]:(t=Object(t),Cd(Aw(t),function(e){return zD.call(t,e)}))}:bw,Iw=jD;function qD(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}var Sw=qD;function WD(t){return t!=null&&typeof t=="object"}var Hr=WD;var VD="[object Arguments]";function YD(t){return Hr(t)&&Xr(t)==VD}var Wg=YD;var kw=Object.prototype,KD=kw.hasOwnProperty,ZD=kw.propertyIsEnumerable,JD=Wg((function(){return arguments})())?Wg:function(t){return Hr(t)&&KD.call(t,"callee")&&!ZD.call(t,"callee")},Ri=JD;function QD(){return!1}var Nw=QD;var Ow=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Cw=Ow&&typeof module=="object"&&module&&!module.nodeType&&module,e$=Cw&&Cw.exports===Ow,Pw=e$?Nt.Buffer:void 0,t$=Pw?Pw.isBuffer:void 0,r$=t$||Nw,Io=r$;var n$=9007199254740991,i$=/^(?:0|[1-9]\d*)$/;function o$(t,e){var r=typeof t;return e=e??n$,!!e&&(r=="number"||r!="symbol"&&i$.test(t))&&t>-1&&t%1==0&&t<e}var Pd=o$;var s$=9007199254740991;function a$(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=s$}var Ks=a$;var c$="[object Arguments]",l$="[object Array]",u$="[object Boolean]",f$="[object Date]",d$="[object Error]",p$="[object Function]",h$="[object Map]",m$="[object Number]",g$="[object Object]",y$="[object RegExp]",x$="[object Set]",T$="[object String]",_$="[object WeakMap]",E$="[object ArrayBuffer]",v$="[object DataView]",w$="[object Float32Array]",R$="[object Float64Array]",b$="[object Int8Array]",A$="[object Int16Array]",I$="[object Int32Array]",S$="[object Uint8Array]",k$="[object Uint8ClampedArray]",N$="[object Uint16Array]",C$="[object Uint32Array]",rt={};rt[w$]=rt[R$]=rt[b$]=rt[A$]=rt[I$]=rt[S$]=rt[k$]=rt[N$]=rt[C$]=!0;rt[c$]=rt[l$]=rt[E$]=rt[u$]=rt[v$]=rt[f$]=rt[d$]=rt[p$]=rt[h$]=rt[m$]=rt[g$]=rt[y$]=rt[x$]=rt[T$]=rt[_$]=!1;function P$(t){return Hr(t)&&Ks(t.length)&&!!rt[Xr(t)]}var Lw=P$;function O$(t){return function(e){return t(e)}}var Dw=O$;var $w=typeof exports=="object"&&exports&&!exports.nodeType&&exports,hl=$w&&typeof module=="object"&&module&&!module.nodeType&&module,L$=hl&&hl.exports===$w,Vg=L$&&wd.process,D$=(function(){try{var t=hl&&hl.require&&hl.require("util").types;return t||Vg&&Vg.binding&&Vg.binding("util")}catch{}})(),Yg=D$;var Mw=Yg&&Yg.isTypedArray,$$=Mw?Dw(Mw):Lw,Zs=$$;var M$=Object.prototype,F$=M$.hasOwnProperty;function U$(t,e){var r=He(t),n=!r&&Ri(t),i=!r&&!n&&Io(t),o=!r&&!n&&!i&&Zs(t),s=r||n||i||o,a=s?Sw(t.length,String):[],c=a.length;for(var l in t)(e||F$.call(t,l))&&!(s&&(l=="length"||i&&(l=="offset"||l=="parent")||o&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||Pd(l,c)))&&a.push(l);return a}var Fw=U$;var B$=Object.prototype;function G$(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||B$;return t===r}var Od=G$;function X$(t,e){return function(r){return t(e(r))}}var Uw=X$;var H$=Uw(Object.keys,Object),Bw=H$;var z$=Object.prototype,j$=z$.hasOwnProperty;function q$(t){if(!Od(t))return Bw(t);var e=[];for(var r in Object(t))j$.call(t,r)&&r!="constructor"&&e.push(r);return e}var Ld=q$;function W$(t){return t!=null&&Ks(t.length)&&!Rd(t)}var bi=W$;function V$(t){return bi(t)?Fw(t):Ld(t)}var Js=V$;function Y$(t){return Rw(t,Js,Iw)}var Kg=Y$;var K$=1,Z$=Object.prototype,J$=Z$.hasOwnProperty;function Q$(t,e,r,n,i,o){var s=r&K$,a=Kg(t),c=a.length,l=Kg(e),u=l.length;if(c!=u&&!s)return!1;for(var f=c;f--;){var d=a[f];if(!(s?d in e:J$.call(e,d)))return!1}var p=o.get(t),m=o.get(e);if(p&&m)return p==e&&m==t;var y=!0;o.set(t,e),o.set(e,t);for(var _=s;++f<c;){d=a[f];var E=t[d],T=e[d];if(n)var v=s?n(T,E,d,e,t,o):n(E,T,d,t,e,o);if(!(v===void 0?E===T||i(E,T,r,n,o):v)){y=!1;break}_||(_=d=="constructor")}if(y&&!_){var S=t.constructor,D=e.constructor;S!=D&&"constructor"in t&&"constructor"in e&&!(typeof S=="function"&&S instanceof S&&typeof D=="function"&&D instanceof D)&&(y=!1)}return o.delete(t),o.delete(e),y}var Gw=Q$;var eM=vr(Nt,"DataView"),Dd=eM;var tM=vr(Nt,"Promise"),$d=tM;var rM=vr(Nt,"Set"),Ai=rM;var nM=vr(Nt,"WeakMap"),Md=nM;var Xw="[object Map]",iM="[object Object]",Hw="[object Promise]",zw="[object Set]",jw="[object WeakMap]",qw="[object DataView]",oM=Gn(Dd),sM=Gn(vi),aM=Gn($d),cM=Gn(Ai),lM=Gn(Md),So=Xr;(Dd&&So(new Dd(new ArrayBuffer(1)))!=qw||vi&&So(new vi)!=Xw||$d&&So($d.resolve())!=Hw||Ai&&So(new Ai)!=zw||Md&&So(new Md)!=jw)&&(So=function(t){var e=Xr(t),r=e==iM?t.constructor:void 0,n=r?Gn(r):"";if(n)switch(n){case oM:return qw;case sM:return Xw;case aM:return Hw;case cM:return zw;case lM:return jw}return e});var ml=So;var uM=1,Ww="[object Arguments]",Vw="[object Array]",Fd="[object Object]",fM=Object.prototype,Yw=fM.hasOwnProperty;function dM(t,e,r,n,i,o){var s=He(t),a=He(e),c=s?Vw:ml(t),l=a?Vw:ml(e);c=c==Ww?Fd:c,l=l==Ww?Fd:l;var u=c==Fd,f=l==Fd,d=c==l;if(d&&Io(t)){if(!Io(e))return!1;s=!0,u=!1}if(d&&!u)return o||(o=new Vs),s||Zs(t)?kd(t,e,r,n,i,o):ww(t,e,c,r,n,i,o);if(!(r&uM)){var p=u&&Yw.call(t,"__wrapped__"),m=f&&Yw.call(e,"__wrapped__");if(p||m){var y=p?t.value():t,_=m?e.value():e;return o||(o=new Vs),i(y,_,r,n,o)}}return d?(o||(o=new Vs),Gw(t,e,r,n,i,o)):!1}var Kw=dM;function Zw(t,e,r,n,i){return t===e?!0:t==null||e==null||!Hr(t)&&!Hr(e)?t!==t&&e!==e:Kw(t,e,r,n,Zw,i)}var Ud=Zw;var pM=1,hM=2;function mM(t,e,r,n){var i=r.length,o=i,s=!n;if(t==null)return!o;for(t=Object(t);i--;){var a=r[i];if(s&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++i<o;){a=r[i];var c=a[0],l=t[c],u=a[1];if(s&&a[2]){if(l===void 0&&!(c in t))return!1}else{var f=new Vs;if(n)var d=n(l,u,c,t,e,f);if(!(d===void 0?Ud(u,l,pM|hM,n,f):d))return!1}}return!0}var Jw=mM;function gM(t){return t===t&&!zs(t)}var Bd=gM;function yM(t){for(var e=Js(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,Bd(i)]}return e}var Qw=yM;function xM(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}var Gd=xM;function TM(t){var e=Qw(t);return e.length==1&&e[0][2]?Gd(e[0][0],e[0][1]):function(r){return r===t||Jw(r,t,e)}}var eR=TM;var _M="[object Symbol]";function EM(t){return typeof t=="symbol"||Hr(t)&&Xr(t)==_M}var Ii=EM;var vM=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,wM=/^\w*$/;function RM(t,e){if(He(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||Ii(t)?!0:wM.test(t)||!vM.test(t)||e!=null&&t in Object(e)}var Qs=RM;var bM="Expected a function";function Zg(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(bM);var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var s=t.apply(this,n);return r.cache=o.set(i,s)||o,s};return r.cache=new(Zg.Cache||Ao),r}Zg.Cache=Ao;var tR=Zg;var AM=500;function IM(t){var e=tR(t,function(n){return r.size===AM&&r.clear(),n}),r=e.cache;return e}var rR=IM;var SM=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,kM=/\\(\\)?/g,NM=rR(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(SM,function(r,n,i,o){e.push(i?o.replace(kM,"$1"):n||r)}),e}),nR=NM;var CM=1/0,iR=Kt?Kt.prototype:void 0,oR=iR?iR.toString:void 0;function sR(t){if(typeof t=="string")return t;if(He(t))return Ed(t,sR)+"";if(Ii(t))return oR?oR.call(t):"";var e=t+"";return e=="0"&&1/t==-CM?"-0":e}var aR=sR;function PM(t){return t==null?"":aR(t)}var cR=PM;function OM(t,e){return He(t)?t:Qs(t,e)?[t]:nR(cR(t))}var Xd=OM;var LM=1/0;function DM(t){if(typeof t=="string"||Ii(t))return t;var e=t+"";return e=="0"&&1/t==-LM?"-0":e}var Si=DM;function $M(t,e){e=Xd(e,t);for(var r=0,n=e.length;t!=null&&r<n;)t=t[Si(e[r++])];return r&&r==n?t:void 0}var Hd=$M;function MM(t,e,r){var n=t==null?void 0:Hd(t,e);return n===void 0?r:n}var lR=MM;function FM(t,e){return t!=null&&e in Object(t)}var uR=FM;function UM(t,e,r){e=Xd(e,t);for(var n=-1,i=e.length,o=!1;++n<i;){var s=Si(e[n]);if(!(o=t!=null&&r(t,s)))break;t=t[s]}return o||++n!=i?o:(i=t==null?0:t.length,!!i&&Ks(i)&&Pd(s,i)&&(He(t)||Ri(t)))}var fR=UM;function BM(t,e){return t!=null&&fR(t,e,uR)}var dR=BM;var GM=1,XM=2;function HM(t,e){return Qs(t)&&Bd(e)?Gd(Si(t),e):function(r){var n=lR(r,t);return n===void 0&&n===e?dR(r,t):Ud(e,n,GM|XM)}}var pR=HM;function zM(t){return t}var ea=zM;function jM(t){return function(e){return e?.[t]}}var hR=jM;function qM(t){return function(e){return Hd(e,t)}}var mR=qM;function WM(t){return Qs(t)?hR(Si(t)):mR(t)}var gR=WM;function VM(t){return typeof t=="function"?t:t==null?ea:typeof t=="object"?He(t)?pR(t[0],t[1]):eR(t):gR(t)}var ki=VM;function YM(t){return function(e,r,n){for(var i=-1,o=Object(e),s=n(e),a=s.length;a--;){var c=s[t?a:++i];if(r(o[c],c,o)===!1)break}return e}}var yR=YM;var KM=yR(),xR=KM;function ZM(t,e){return t&&xR(t,e,Js)}var TR=ZM;function JM(t,e){return function(r,n){if(r==null)return r;if(!bi(r))return t(r,n);for(var i=r.length,o=e?i:-1,s=Object(r);(e?o--:++o<i)&&n(s[o],o,s)!==!1;);return r}}var _R=JM;var QM=_R(TR),Ni=QM;function eF(t,e){var r=-1,n=bi(t)?Array(t.length):[];return Ni(t,function(i,o,s){n[++r]=e(i,o,s)}),n}var ER=eF;function tF(t,e){var r=He(t)?Ed:ER;return r(t,ki(e,3))}var pr=tF;function rF(t,e){var r=[];return Ni(t,function(n,i,o){e(n,i,o)&&r.push(n)}),r}var vR=rF;function nF(t,e){var r=He(t)?Cd:vR;return r(t,ki(e,3))}var wR=nF;function ko(t,e,r){return`${t.name}_${e}_${r}`}var Ci=1,iF=2,RR=4,bR=5;var No=7,oF=8,sF=9,aF=10,cF=11,AR=12,gl=class{constructor(e){this.target=e}isEpsilon(){return!1}},ta=class extends gl{constructor(e,r){super(e),this.tokenType=r}},yl=class extends gl{constructor(e){super(e)}isEpsilon(){return!0}},ra=class extends gl{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}};function IR(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};lF(e,t);let r=t.length;for(let n=0;n<r;n++){let i=t[n],o=Co(e,i,i);o!==void 0&&_F(e,i,o)}return e}function lF(t,e){let r=e.length;for(let n=0;n<r;n++){let i=e[n],o=Ct(t,i,void 0,{type:iF}),s=Ct(t,i,void 0,{type:No});o.stop=s,t.ruleToStartState.set(i,o),t.ruleToStopState.set(i,s)}}function SR(t,e,r){return r instanceof Te?Jg(t,e,r.terminalType,r):r instanceof Be?TF(t,e,r):r instanceof We?hF(t,e,r):r instanceof Ge?mF(t,e,r):r instanceof we?uF(t,e,r):r instanceof qe?fF(t,e,r):r instanceof Je?dF(t,e,r):r instanceof Qe?pF(t,e,r):Co(t,e,r)}function uF(t,e,r){let n=Ct(t,e,r,{type:bR});Pi(t,n);let i=na(t,e,n,r,Co(t,e,r));return NR(t,e,r,i)}function fF(t,e,r){let n=Ct(t,e,r,{type:bR});Pi(t,n);let i=na(t,e,n,r,Co(t,e,r)),o=Jg(t,e,r.separator,r);return NR(t,e,r,i,o)}function dF(t,e,r){let n=Ct(t,e,r,{type:RR});Pi(t,n);let i=na(t,e,n,r,Co(t,e,r));return kR(t,e,r,i)}function pF(t,e,r){let n=Ct(t,e,r,{type:RR});Pi(t,n);let i=na(t,e,n,r,Co(t,e,r)),o=Jg(t,e,r.separator,r);return kR(t,e,r,i,o)}function hF(t,e,r){let n=Ct(t,e,r,{type:Ci});Pi(t,n);let i=pr(r.definition,s=>SR(t,e,s));return na(t,e,n,r,...i)}function mF(t,e,r){let n=Ct(t,e,r,{type:Ci});Pi(t,n);let i=na(t,e,n,r,Co(t,e,r));return gF(t,e,r,i)}function Co(t,e,r){let n=wR(pr(r.definition,i=>SR(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:xF(t,n)}function kR(t,e,r,n,i){let o=n.left,s=n.right,a=Ct(t,e,r,{type:cF});Pi(t,a);let c=Ct(t,e,r,{type:AR});return o.loopback=a,c.loopback=a,t.decisionMap[ko(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=a,wt(s,a),i===void 0?(wt(a,o),wt(a,c)):(wt(a,c),wt(a,i.left),wt(i.right,o)),{left:o,right:c}}function NR(t,e,r,n,i){let o=n.left,s=n.right,a=Ct(t,e,r,{type:aF});Pi(t,a);let c=Ct(t,e,r,{type:AR}),l=Ct(t,e,r,{type:sF});return a.loopback=l,c.loopback=l,wt(a,o),wt(a,c),wt(s,l),i!==void 0?(wt(l,c),wt(l,i.left),wt(i.right,o)):wt(l,a),t.decisionMap[ko(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=a,{left:a,right:c}}function gF(t,e,r,n){let i=n.left,o=n.right;return wt(i,o),t.decisionMap[ko(e,"Option",r.idx)]=i,n}function Pi(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function na(t,e,r,n,...i){let o=Ct(t,e,n,{type:oF,start:r});r.end=o;for(let a of i)a!==void 0?(wt(r,a.left),wt(a.right,o)):wt(r,o);let s={left:r,right:o};return t.decisionMap[ko(e,yF(n),n.idx)]=r,s}function yF(t){if(t instanceof We)return"Alternation";if(t instanceof Ge)return"Option";if(t instanceof we)return"Repetition";if(t instanceof qe)return"RepetitionWithSeparator";if(t instanceof Je)return"RepetitionMandatory";if(t instanceof Qe)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function xF(t,e){let r=e.length;for(let o=0;o<r-1;o++){let s=e[o],a;s.left.transitions.length===1&&(a=s.left.transitions[0]);let c=a instanceof ra,l=a,u=e[o+1].left;s.left.type===Ci&&s.right.type===Ci&&a!==void 0&&(c&&l.followState===s.right||a.target===s.right)?(c?l.followState=u:a.target=u,EF(t,s.right)):wt(s.right,u)}let n=e[0],i=e[r-1];return{left:n.left,right:i.right}}function Jg(t,e,r,n){let i=Ct(t,e,n,{type:Ci}),o=Ct(t,e,n,{type:Ci});return Qg(i,new ta(o,r)),{left:i,right:o}}function TF(t,e,r){let n=r.referencedRule,i=t.ruleToStartState.get(n),o=Ct(t,e,r,{type:Ci}),s=Ct(t,e,r,{type:Ci}),a=new ra(i,n,s);return Qg(o,a),{left:o,right:s}}function _F(t,e,r){let n=t.ruleToStartState.get(e);wt(n,r.left);let i=t.ruleToStopState.get(e);return wt(r.right,i),{left:n,right:i}}function wt(t,e){let r=new yl(e);Qg(t,r)}function Ct(t,e,r,n){let i=Object.assign({atn:t,production:r,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:t.states.length},n);return t.states.push(i),i}function Qg(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function EF(t,e){t.states.splice(t.states.indexOf(e),1)}var xl={},ia=class{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let r=ey(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return pr(this.configs,e=>e.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}};function ey(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}function vF(t,e,r){for(var n=-1,i=t.length;++n<i;){var o=t[n],s=e(o);if(s!=null&&(a===void 0?s===s&&!Ii(s):r(s,a)))var a=s,c=o}return c}var CR=vF;function wF(t,e){return t<e}var PR=wF;function RF(t){return t&&t.length?CR(t,ea,PR):void 0}var OR=RF;var LR=Kt?Kt.isConcatSpreadable:void 0;function bF(t){return He(t)||Ri(t)||!!(LR&&t&&t[LR])}var DR=bF;function $R(t,e,r,n,i){var o=-1,s=t.length;for(r||(r=DR),i||(i=[]);++o<s;){var a=t[o];e>0&&r(a)?e>1?$R(a,e-1,r,n,i):Nd(i,a):n||(i[i.length]=a)}return i}var zd=$R;function AF(t,e){return zd(pr(t,e),1)}var MR=AF;function IF(t,e,r,n){for(var i=t.length,o=r+(n?1:-1);n?o--:++o<i;)if(e(t[o],o,t))return o;return-1}var FR=IF;function SF(t){return t!==t}var UR=SF;function kF(t,e,r){for(var n=r-1,i=t.length;++n<i;)if(t[n]===e)return n;return-1}var BR=kF;function NF(t,e,r){return e===e?BR(t,e,r):FR(t,UR,r)}var GR=NF;function CF(t,e){var r=t==null?0:t.length;return!!r&&GR(t,e,0)>-1}var XR=CF;function PF(t,e,r){for(var n=-1,i=t==null?0:t.length;++n<i;)if(r(e,t[n]))return!0;return!1}var HR=PF;function OF(){}var zR=OF;var LF=1/0,DF=Ai&&1/Ys(new Ai([,-0]))[1]==LF?function(t){return new Ai(t)}:zR,jR=DF;var $F=200;function MF(t,e,r){var n=-1,i=XR,o=t.length,s=!0,a=[],c=a;if(r)s=!1,i=HR;else if(o>=$F){var l=e?null:jR(t);if(l)return Ys(l);s=!1,i=Sd,c=new Id}else c=e?[]:a;e:for(;++n<o;){var u=t[n],f=e?e(u):u;if(u=r||u!==0?u:0,s&&f===f){for(var d=c.length;d--;)if(c[d]===f)continue e;e&&c.push(f),a.push(u)}else i(c,f,r)||(c!==a&&c.push(f),a.push(u))}return a}var qR=MF;function FF(t,e){return t&&t.length?qR(t,ki(e,2)):[]}var WR=FF;function UF(t){var e=t==null?0:t.length;return e?zd(t,1):[]}var VR=UF;function BF(t,e){for(var r=-1,n=t==null?0:t.length;++r<n&&e(t[r],r,t)!==!1;);return t}var YR=BF;function GF(t){return typeof t=="function"?t:ea}var KR=GF;function XF(t,e){var r=He(t)?YR:Ni;return r(t,KR(e))}var jd=XF;var HF="[object Map]",zF="[object Set]",jF=Object.prototype,qF=jF.hasOwnProperty;function WF(t){if(t==null)return!0;if(bi(t)&&(He(t)||typeof t=="string"||typeof t.splice=="function"||Io(t)||Zs(t)||Ri(t)))return!t.length;var e=ml(t);if(e==HF||e==zF)return!t.size;if(Od(t))return!Ld(t).length;for(var r in t)if(qF.call(t,r))return!1;return!0}var ZR=WF;function VF(t,e,r,n){var i=-1,o=t==null?0:t.length;for(n&&o&&(r=t[++i]);++i<o;)r=e(r,t[i],i,t);return r}var JR=VF;function YF(t,e,r,n,i){return i(t,function(o,s,a){r=n?(n=!1,o):e(r,o,s,a)}),r}var QR=YF;function KF(t,e,r){var n=He(t)?JR:QR,i=arguments.length<3;return n(t,ki(e,4),r,i,Ni)}var ty=KF;function ZF(t,e){let r={};return n=>{let i=n.toString(),o=r[i];return o!==void 0||(o={atnStartState:t,decision:e,states:{}},r[i]=o),o}}var qd=class{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="",r=this.predicates.length;for(let n=0;n<r;n++)e+=this.predicates[n]===!0?"1":"0";return e}},eb=new qd,Tl=class extends Un{constructor(e){var r,n;super(),this.logging=(r=e?.logging)!==null&&r!==void 0?r:(i=>console.log(i)),this.incomplete=(n=e?.incomplete)!==null&&n!==void 0?n:!1}initialize(e){this.atn=IR(e.rules),this.dfas=JF(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:o}=e,s=this.dfas,a=this.logging,c=this.incomplete,l=ko(n,"Alternation",r),f=this.atn.decisionMap[l].decision,d=pr(td({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),p=>pr(p,m=>m[0]));if(tb(d,!1)&&!o){let p=ty(d,(m,y,_)=>(jd(y,E=>{E&&(m[E.tokenTypeIdx]=_,jd(E.categoryMatches,T=>{m[T]=_}))}),m),{});return i?function(m){var y;let _=this.LA_FAST(1),E=p[_.tokenTypeIdx];if(m!==void 0&&E!==void 0){let T=(y=m[E])===null||y===void 0?void 0:y.GATE;if(T!==void 0&&T.call(this)===!1)return}return E}:function(){let m=this.LA_FAST(1);return p[m.tokenTypeIdx]}}else return i?function(p){let m=new qd,y=p===void 0?0:p.length;for(let E=0;E<y;E++){let T=p?.[E].GATE;m.set(E,T===void 0||T.call(this))}let _=ry.call(this,s,f,m,a,c);return typeof _=="number"?_:void 0}:function(){let p=ry.call(this,s,f,eb,a,c);return typeof p=="number"?p:void 0}}buildLookaheadForOptional(e){let{prodOccurrence:r,rule:n,prodType:i,dynamicTokensEnabled:o}=e,s=this.dfas,a=this.logging,c=this.incomplete,l=ko(n,i,r),f=this.atn.decisionMap[l].decision,d=pr(td({maxLookahead:1,occurrence:r,prodType:i,rule:n}),p=>pr(p,m=>m[0]));if(tb(d)&&d[0][0]&&!o){let p=d[0],m=VR(p);if(m.length===1&&ZR(m[0].categoryMatches)){let _=m[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===_}}else{let y=ty(m,(_,E)=>(E!==void 0&&(_[E.tokenTypeIdx]=!0,jd(E.categoryMatches,T=>{_[T]=!0})),_),{});return function(){let _=this.LA_FAST(1);return y[_.tokenTypeIdx]===!0}}}return function(){let p=ry.call(this,s,f,eb,a,c);return typeof p=="object"?!1:p===0}}};function tb(t,e=!0){let r=new Set;for(let n of t){let i=new Set;for(let o of n){if(o===void 0){if(e)break;return!1}let s=[o.tokenTypeIdx].concat(o.categoryMatches);for(let a of s)if(r.has(a)){if(!i.has(a))return!1}else r.add(a),i.add(a)}}return!0}function JF(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;n<e;n++)r[n]=ZF(t.decisionStates[n],n);return r}function ry(t,e,r,n,i){let o=t[e](r),s=o.start;if(s===void 0){let c=l2(o.atnStartState);s=ib(o,nb(c)),o.start=s}return QF.apply(this,[o,s,r,n,i])}function QF(t,e,r,n,i){let o=e,s=1,a=[],c=this.LA_FAST(s++);for(;;){let l=o2(o,c);if(l===void 0&&(l=e2.apply(this,[t,o,c,s,r,n])),l===xl)return i2(a,o,c);if(l.isAcceptState===!0){if(i===!0&&Ms(c,Vt)){let u=y2(o,r);if(u!==void 0)return u}return l.prediction}o=l,a.push(c),c=this.LA(s++)}}function e2(t,e,r,n,i,o){let s=s2(e.configs,r,i);if(s.size===0)return rb(t,e,r,xl),xl;let a=nb(s),c=c2(s,i);if(c!==void 0)a.isAcceptState=!0,a.prediction=c,a.configs.uniqueAlt=c;else if(p2(s)){let l=OR(s.alts);a.isAcceptState=!0,a.prediction=l,a.configs.uniqueAlt=l,t2.apply(this,[t,n,s.alts,o])}return a=rb(t,e,r,a),a}function t2(t,e,r,n){let i=[];for(let l=1;l<=e;l++)i.push(this.LA(l).tokenType);let o=t.atnStartState,s=o.rule,a=o.production,c=r2({topLevelRule:s,ambiguityIndices:r,production:a,prefixPath:i});n(c)}function r2(t){let e=pr(t.prefixPath,i=>$n(i)).join(", "),r=t.production.idx===0?"":t.production.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${n2(t.production)}${r}> inside <${t.topLevelRule.name}> Rule,
124
+ For further details.`);this.skipValidations=Object.hasOwn(r,"skipValidations")?r.skipValidations:Ht.skipValidations}};Ic.DEFER_DEFINITION_ERRORS_HANDLING=!1;nv(Ic,[Xu,zu,Yu,Ku,Ju,Zu,Qu,ef,nf]);var kc=class extends Ic{constructor(e,r=Ht){let n=Object.assign({},r);n.outputCst=!1,super(e,n)}};function PO(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}var sf=PO;function CO(){this.__data__=[],this.size=0}var iv=CO;function OO(t,e){return t===e||t!==t&&e!==e}var af=OO;function LO(t,e){for(var r=t.length;r--;)if(af(t[r][0],e))return r;return-1}var ni=LO;var DO=Array.prototype,MO=DO.splice;function $O(t){var e=this.__data__,r=ni(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():MO.call(e,r,1),--this.size,!0}var ov=$O;function FO(t){var e=this.__data__,r=ni(e,t);return r<0?void 0:e[r][1]}var sv=FO;function UO(t){return ni(this.__data__,t)>-1}var av=UO;function BO(t,e){var r=this.__data__,n=ni(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var cv=BO;function ls(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}ls.prototype.clear=iv;ls.prototype.delete=ov;ls.prototype.get=sv;ls.prototype.has=av;ls.prototype.set=cv;var ii=ls;function GO(){this.__data__=new ii,this.size=0}var lv=GO;function XO(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var uv=XO;function HO(t){return this.__data__.get(t)}var fv=HO;function jO(t){return this.__data__.has(t)}var dv=jO;var zO=typeof global=="object"&&global&&global.Object===Object&&global,cf=zO;var WO=typeof self=="object"&&self&&self.Object===Object&&self,qO=cf||WO||Function("return this")(),bt=qO;var VO=bt.Symbol,jt=VO;var pv=Object.prototype,YO=pv.hasOwnProperty,KO=pv.toString,Nc=jt?jt.toStringTag:void 0;function ZO(t){var e=YO.call(t,Nc),r=t[Nc];try{t[Nc]=void 0;var n=!0}catch{}var i=KO.call(t);return n&&(e?t[Nc]=r:delete t[Nc]),i}var hv=ZO;var JO=Object.prototype,QO=JO.toString;function eL(t){return QO.call(t)}var mv=eL;var tL="[object Null]",rL="[object Undefined]",gv=jt?jt.toStringTag:void 0;function nL(t){return t==null?t===void 0?rL:tL:gv&&gv in Object(t)?hv(t):mv(t)}var Ar=nL;function iL(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var us=iL;var oL="[object AsyncFunction]",sL="[object Function]",aL="[object GeneratorFunction]",cL="[object Proxy]";function lL(t){if(!us(t))return!1;var e=Ar(t);return e==sL||e==aL||e==oL||e==cL}var lf=lL;var uL=bt["__core-js_shared__"],uf=uL;var yv=(function(){var t=/[^.]+$/.exec(uf&&uf.keys&&uf.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function fL(t){return!!yv&&yv in t}var xv=fL;var dL=Function.prototype,pL=dL.toString;function hL(t){if(t!=null){try{return pL.call(t)}catch{}try{return t+""}catch{}}return""}var Rn=hL;var mL=/[\\^$.*+?()[\]{}|]/g,gL=/^\[object .+?Constructor\]$/,yL=Function.prototype,xL=Object.prototype,TL=yL.toString,_L=xL.hasOwnProperty,EL=RegExp("^"+TL.call(_L).replace(mL,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function vL(t){if(!us(t)||xv(t))return!1;var e=lf(t)?EL:gL;return e.test(Rn(t))}var Tv=vL;function bL(t,e){return t?.[e]}var _v=bL;function wL(t,e){var r=_v(t,e);return Tv(r)?r:void 0}var gr=wL;var RL=gr(bt,"Map"),oi=RL;var SL=gr(Object,"create"),Sn=SL;function AL(){this.__data__=Sn?Sn(null):{},this.size=0}var Ev=AL;function IL(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var vv=IL;var kL="__lodash_hash_undefined__",NL=Object.prototype,PL=NL.hasOwnProperty;function CL(t){var e=this.__data__;if(Sn){var r=e[t];return r===kL?void 0:r}return PL.call(e,t)?e[t]:void 0}var bv=CL;var OL=Object.prototype,LL=OL.hasOwnProperty;function DL(t){var e=this.__data__;return Sn?e[t]!==void 0:LL.call(e,t)}var wv=DL;var ML="__lodash_hash_undefined__";function $L(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Sn&&e===void 0?ML:e,this}var Rv=$L;function fs(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}fs.prototype.clear=Ev;fs.prototype.delete=vv;fs.prototype.get=bv;fs.prototype.has=wv;fs.prototype.set=Rv;var Lm=fs;function FL(){this.size=0,this.__data__={hash:new Lm,map:new(oi||ii),string:new Lm}}var Sv=FL;function UL(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var Av=UL;function BL(t,e){var r=t.__data__;return Av(e)?r[typeof e=="string"?"string":"hash"]:r.map}var si=BL;function GL(t){var e=si(this,t).delete(t);return this.size-=e?1:0,e}var Iv=GL;function XL(t){return si(this,t).get(t)}var kv=XL;function HL(t){return si(this,t).has(t)}var Nv=HL;function jL(t,e){var r=si(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}var Pv=jL;function ds(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}ds.prototype.clear=Sv;ds.prototype.delete=Iv;ds.prototype.get=kv;ds.prototype.has=Nv;ds.prototype.set=Pv;var io=ds;var zL=200;function WL(t,e){var r=this.__data__;if(r instanceof ii){var n=r.__data__;if(!oi||n.length<zL-1)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new io(n)}return r.set(t,e),this.size=r.size,this}var Cv=WL;function ps(t){var e=this.__data__=new ii(t);this.size=e.size}ps.prototype.clear=lv;ps.prototype.delete=uv;ps.prototype.get=fv;ps.prototype.has=dv;ps.prototype.set=Cv;var hs=ps;var qL="__lodash_hash_undefined__";function VL(t){return this.__data__.set(t,qL),this}var Ov=VL;function YL(t){return this.__data__.has(t)}var Lv=YL;function ff(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new io;++e<r;)this.add(t[e])}ff.prototype.add=ff.prototype.push=Ov;ff.prototype.has=Lv;var df=ff;function KL(t,e){for(var r=-1,n=t==null?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}var Dv=KL;function ZL(t,e){return t.has(e)}var pf=ZL;var JL=1,QL=2;function e1(t,e,r,n,i,o){var s=r&JL,a=t.length,c=e.length;if(a!=c&&!(s&&c>a))return!1;var l=o.get(t),u=o.get(e);if(l&&u)return l==e&&u==t;var f=-1,d=!0,p=r&QL?new df:void 0;for(o.set(t,e),o.set(e,t);++f<a;){var m=t[f],y=e[f];if(n)var E=s?n(y,m,f,e,t,o):n(m,y,f,t,e,o);if(E!==void 0){if(E)continue;d=!1;break}if(p){if(!Dv(e,function(_,x){if(!pf(p,x)&&(m===_||i(m,_,r,n,o)))return p.push(x)})){d=!1;break}}else if(!(m===y||i(m,y,r,n,o))){d=!1;break}}return o.delete(t),o.delete(e),d}var hf=e1;var t1=bt.Uint8Array,Dm=t1;function r1(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}var Mv=r1;function n1(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}var ms=n1;var i1=1,o1=2,s1="[object Boolean]",a1="[object Date]",c1="[object Error]",l1="[object Map]",u1="[object Number]",f1="[object RegExp]",d1="[object Set]",p1="[object String]",h1="[object Symbol]",m1="[object ArrayBuffer]",g1="[object DataView]",$v=jt?jt.prototype:void 0,Mm=$v?$v.valueOf:void 0;function y1(t,e,r,n,i,o,s){switch(r){case g1:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case m1:return!(t.byteLength!=e.byteLength||!o(new Dm(t),new Dm(e)));case s1:case a1:case u1:return af(+t,+e);case c1:return t.name==e.name&&t.message==e.message;case f1:case p1:return t==e+"";case l1:var a=Mv;case d1:var c=n&i1;if(a||(a=ms),t.size!=e.size&&!c)return!1;var l=s.get(t);if(l)return l==e;n|=o1,s.set(t,e);var u=hf(a(t),a(e),n,i,o,s);return s.delete(t),u;case h1:if(Mm)return Mm.call(t)==Mm.call(e)}return!1}var Fv=y1;function x1(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}var mf=x1;var T1=Array.isArray,Ue=T1;function _1(t,e,r){var n=e(t);return Ue(t)?n:mf(n,r(t))}var Uv=_1;function E1(t,e){for(var r=-1,n=t==null?0:t.length,i=0,o=[];++r<n;){var s=t[r];e(s,r,t)&&(o[i++]=s)}return o}var gf=E1;function v1(){return[]}var Bv=v1;var b1=Object.prototype,w1=b1.propertyIsEnumerable,Gv=Object.getOwnPropertySymbols,R1=Gv?function(t){return t==null?[]:(t=Object(t),gf(Gv(t),function(e){return w1.call(t,e)}))}:Bv,Xv=R1;function S1(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}var Hv=S1;function A1(t){return t!=null&&typeof t=="object"}var Ir=A1;var I1="[object Arguments]";function k1(t){return Ir(t)&&Ar(t)==I1}var $m=k1;var jv=Object.prototype,N1=jv.hasOwnProperty,P1=jv.propertyIsEnumerable,C1=$m((function(){return arguments})())?$m:function(t){return Ir(t)&&N1.call(t,"callee")&&!P1.call(t,"callee")},ai=C1;function O1(){return!1}var zv=O1;var Vv=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Wv=Vv&&typeof module=="object"&&module&&!module.nodeType&&module,L1=Wv&&Wv.exports===Vv,qv=L1?bt.Buffer:void 0,D1=qv?qv.isBuffer:void 0,M1=D1||zv,oo=M1;var $1=9007199254740991,F1=/^(?:0|[1-9]\d*)$/;function U1(t,e){var r=typeof t;return e=e??$1,!!e&&(r=="number"||r!="symbol"&&F1.test(t))&&t>-1&&t%1==0&&t<e}var yf=U1;var B1=9007199254740991;function G1(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=B1}var gs=G1;var X1="[object Arguments]",H1="[object Array]",j1="[object Boolean]",z1="[object Date]",W1="[object Error]",q1="[object Function]",V1="[object Map]",Y1="[object Number]",K1="[object Object]",Z1="[object RegExp]",J1="[object Set]",Q1="[object String]",eD="[object WeakMap]",tD="[object ArrayBuffer]",rD="[object DataView]",nD="[object Float32Array]",iD="[object Float64Array]",oD="[object Int8Array]",sD="[object Int16Array]",aD="[object Int32Array]",cD="[object Uint8Array]",lD="[object Uint8ClampedArray]",uD="[object Uint16Array]",fD="[object Uint32Array]",et={};et[nD]=et[iD]=et[oD]=et[sD]=et[aD]=et[cD]=et[lD]=et[uD]=et[fD]=!0;et[X1]=et[H1]=et[tD]=et[j1]=et[rD]=et[z1]=et[W1]=et[q1]=et[V1]=et[Y1]=et[K1]=et[Z1]=et[J1]=et[Q1]=et[eD]=!1;function dD(t){return Ir(t)&&gs(t.length)&&!!et[Ar(t)]}var Yv=dD;function pD(t){return function(e){return t(e)}}var Kv=pD;var Zv=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Pc=Zv&&typeof module=="object"&&module&&!module.nodeType&&module,hD=Pc&&Pc.exports===Zv,Fm=hD&&cf.process,mD=(function(){try{var t=Pc&&Pc.require&&Pc.require("util").types;return t||Fm&&Fm.binding&&Fm.binding("util")}catch{}})(),Um=mD;var Jv=Um&&Um.isTypedArray,gD=Jv?Kv(Jv):Yv,ys=gD;var yD=Object.prototype,xD=yD.hasOwnProperty;function TD(t,e){var r=Ue(t),n=!r&&ai(t),i=!r&&!n&&oo(t),o=!r&&!n&&!i&&ys(t),s=r||n||i||o,a=s?Hv(t.length,String):[],c=a.length;for(var l in t)(e||xD.call(t,l))&&!(s&&(l=="length"||i&&(l=="offset"||l=="parent")||o&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||yf(l,c)))&&a.push(l);return a}var Qv=TD;var _D=Object.prototype;function ED(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||_D;return t===r}var xf=ED;function vD(t,e){return function(r){return t(e(r))}}var eb=vD;var bD=eb(Object.keys,Object),tb=bD;var wD=Object.prototype,RD=wD.hasOwnProperty;function SD(t){if(!xf(t))return tb(t);var e=[];for(var r in Object(t))RD.call(t,r)&&r!="constructor"&&e.push(r);return e}var Tf=SD;function AD(t){return t!=null&&gs(t.length)&&!lf(t)}var ci=AD;function ID(t){return ci(t)?Qv(t):Tf(t)}var xs=ID;function kD(t){return Uv(t,xs,Xv)}var Bm=kD;var ND=1,PD=Object.prototype,CD=PD.hasOwnProperty;function OD(t,e,r,n,i,o){var s=r&ND,a=Bm(t),c=a.length,l=Bm(e),u=l.length;if(c!=u&&!s)return!1;for(var f=c;f--;){var d=a[f];if(!(s?d in e:CD.call(e,d)))return!1}var p=o.get(t),m=o.get(e);if(p&&m)return p==e&&m==t;var y=!0;o.set(t,e),o.set(e,t);for(var E=s;++f<c;){d=a[f];var _=t[d],x=e[d];if(n)var v=s?n(x,_,d,e,t,o):n(_,x,d,t,e,o);if(!(v===void 0?_===x||i(_,x,r,n,o):v)){y=!1;break}E||(E=d=="constructor")}if(y&&!E){var k=t.constructor,F=e.constructor;k!=F&&"constructor"in t&&"constructor"in e&&!(typeof k=="function"&&k instanceof k&&typeof F=="function"&&F instanceof F)&&(y=!1)}return o.delete(t),o.delete(e),y}var rb=OD;var LD=gr(bt,"DataView"),_f=LD;var DD=gr(bt,"Promise"),Ef=DD;var MD=gr(bt,"Set"),li=MD;var $D=gr(bt,"WeakMap"),vf=$D;var nb="[object Map]",FD="[object Object]",ib="[object Promise]",ob="[object Set]",sb="[object WeakMap]",ab="[object DataView]",UD=Rn(_f),BD=Rn(oi),GD=Rn(Ef),XD=Rn(li),HD=Rn(vf),so=Ar;(_f&&so(new _f(new ArrayBuffer(1)))!=ab||oi&&so(new oi)!=nb||Ef&&so(Ef.resolve())!=ib||li&&so(new li)!=ob||vf&&so(new vf)!=sb)&&(so=function(t){var e=Ar(t),r=e==FD?t.constructor:void 0,n=r?Rn(r):"";if(n)switch(n){case UD:return ab;case BD:return nb;case GD:return ib;case XD:return ob;case HD:return sb}return e});var Cc=so;var jD=1,cb="[object Arguments]",lb="[object Array]",bf="[object Object]",zD=Object.prototype,ub=zD.hasOwnProperty;function WD(t,e,r,n,i,o){var s=Ue(t),a=Ue(e),c=s?lb:Cc(t),l=a?lb:Cc(e);c=c==cb?bf:c,l=l==cb?bf:l;var u=c==bf,f=l==bf,d=c==l;if(d&&oo(t)){if(!oo(e))return!1;s=!0,u=!1}if(d&&!u)return o||(o=new hs),s||ys(t)?hf(t,e,r,n,i,o):Fv(t,e,c,r,n,i,o);if(!(r&jD)){var p=u&&ub.call(t,"__wrapped__"),m=f&&ub.call(e,"__wrapped__");if(p||m){var y=p?t.value():t,E=m?e.value():e;return o||(o=new hs),i(y,E,r,n,o)}}return d?(o||(o=new hs),rb(t,e,r,n,i,o)):!1}var fb=WD;function db(t,e,r,n,i){return t===e?!0:t==null||e==null||!Ir(t)&&!Ir(e)?t!==t&&e!==e:fb(t,e,r,n,db,i)}var wf=db;var qD=1,VD=2;function YD(t,e,r,n){var i=r.length,o=i,s=!n;if(t==null)return!o;for(t=Object(t);i--;){var a=r[i];if(s&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++i<o;){a=r[i];var c=a[0],l=t[c],u=a[1];if(s&&a[2]){if(l===void 0&&!(c in t))return!1}else{var f=new hs;if(n)var d=n(l,u,c,t,e,f);if(!(d===void 0?wf(u,l,qD|VD,n,f):d))return!1}}return!0}var pb=YD;function KD(t){return t===t&&!us(t)}var Rf=KD;function ZD(t){for(var e=xs(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,Rf(i)]}return e}var hb=ZD;function JD(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}var Sf=JD;function QD(t){var e=hb(t);return e.length==1&&e[0][2]?Sf(e[0][0],e[0][1]):function(r){return r===t||pb(r,t,e)}}var mb=QD;var eM="[object Symbol]";function tM(t){return typeof t=="symbol"||Ir(t)&&Ar(t)==eM}var ui=tM;var rM=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,nM=/^\w*$/;function iM(t,e){if(Ue(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||ui(t)?!0:nM.test(t)||!rM.test(t)||e!=null&&t in Object(e)}var Ts=iM;var oM="Expected a function";function Gm(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(oM);var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var s=t.apply(this,n);return r.cache=o.set(i,s)||o,s};return r.cache=new(Gm.Cache||io),r}Gm.Cache=io;var gb=Gm;var sM=500;function aM(t){var e=gb(t,function(n){return r.size===sM&&r.clear(),n}),r=e.cache;return e}var yb=aM;var cM=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,lM=/\\(\\)?/g,uM=yb(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(cM,function(r,n,i,o){e.push(i?o.replace(lM,"$1"):n||r)}),e}),xb=uM;var fM=1/0,Tb=jt?jt.prototype:void 0,_b=Tb?Tb.toString:void 0;function Eb(t){if(typeof t=="string")return t;if(Ue(t))return sf(t,Eb)+"";if(ui(t))return _b?_b.call(t):"";var e=t+"";return e=="0"&&1/t==-fM?"-0":e}var vb=Eb;function dM(t){return t==null?"":vb(t)}var bb=dM;function pM(t,e){return Ue(t)?t:Ts(t,e)?[t]:xb(bb(t))}var Af=pM;var hM=1/0;function mM(t){if(typeof t=="string"||ui(t))return t;var e=t+"";return e=="0"&&1/t==-hM?"-0":e}var fi=mM;function gM(t,e){e=Af(e,t);for(var r=0,n=e.length;t!=null&&r<n;)t=t[fi(e[r++])];return r&&r==n?t:void 0}var If=gM;function yM(t,e,r){var n=t==null?void 0:If(t,e);return n===void 0?r:n}var wb=yM;function xM(t,e){return t!=null&&e in Object(t)}var Rb=xM;function TM(t,e,r){e=Af(e,t);for(var n=-1,i=e.length,o=!1;++n<i;){var s=fi(e[n]);if(!(o=t!=null&&r(t,s)))break;t=t[s]}return o||++n!=i?o:(i=t==null?0:t.length,!!i&&gs(i)&&yf(s,i)&&(Ue(t)||ai(t)))}var Sb=TM;function _M(t,e){return t!=null&&Sb(t,e,Rb)}var Ab=_M;var EM=1,vM=2;function bM(t,e){return Ts(t)&&Rf(e)?Sf(fi(t),e):function(r){var n=wb(r,t);return n===void 0&&n===e?Ab(r,t):wf(e,n,EM|vM)}}var Ib=bM;function wM(t){return t}var _s=wM;function RM(t){return function(e){return e?.[t]}}var kb=RM;function SM(t){return function(e){return If(e,t)}}var Nb=SM;function AM(t){return Ts(t)?kb(fi(t)):Nb(t)}var Pb=AM;function IM(t){return typeof t=="function"?t:t==null?_s:typeof t=="object"?Ue(t)?Ib(t[0],t[1]):mb(t):Pb(t)}var di=IM;function kM(t){return function(e,r,n){for(var i=-1,o=Object(e),s=n(e),a=s.length;a--;){var c=s[t?a:++i];if(r(o[c],c,o)===!1)break}return e}}var Cb=kM;var NM=Cb(),Ob=NM;function PM(t,e){return t&&Ob(t,e,xs)}var Lb=PM;function CM(t,e){return function(r,n){if(r==null)return r;if(!ci(r))return t(r,n);for(var i=r.length,o=e?i:-1,s=Object(r);(e?o--:++o<i)&&n(s[o],o,s)!==!1;);return r}}var Db=CM;var OM=Db(Lb),pi=OM;function LM(t,e){var r=-1,n=ci(t)?Array(t.length):[];return pi(t,function(i,o,s){n[++r]=e(i,o,s)}),n}var Mb=LM;function DM(t,e){var r=Ue(t)?sf:Mb;return r(t,di(e,3))}var ir=DM;function MM(t,e){var r=[];return pi(t,function(n,i,o){e(n,i,o)&&r.push(n)}),r}var $b=MM;function $M(t,e){var r=Ue(t)?gf:$b;return r(t,di(e,3))}var Fb=$M;function ao(t,e,r){return`${t.name}_${e}_${r}`}var hi=1,FM=2,Ub=4,Bb=5;var co=7,UM=8,BM=9,GM=10,XM=11,Gb=12,Oc=class{constructor(e){this.target=e}isEpsilon(){return!1}},Es=class extends Oc{constructor(e,r){super(e),this.tokenType=r}},Lc=class extends Oc{constructor(e){super(e)}isEpsilon(){return!0}},vs=class extends Oc{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}};function Xb(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};HM(e,t);let r=t.length;for(let n=0;n<r;n++){let i=t[n],o=lo(e,i,i);o!==void 0&&e$(e,i,o)}return e}function HM(t,e){let r=e.length;for(let n=0;n<r;n++){let i=e[n],o=wt(t,i,void 0,{type:FM}),s=wt(t,i,void 0,{type:co});o.stop=s,t.ruleToStartState.set(i,o),t.ruleToStopState.set(i,s)}}function Hb(t,e,r){return r instanceof me?Xm(t,e,r.terminalType,r):r instanceof De?QM(t,e,r):r instanceof ze?VM(t,e,r):r instanceof Me?YM(t,e,r):r instanceof ve?jM(t,e,r):r instanceof je?zM(t,e,r):r instanceof Ve?WM(t,e,r):r instanceof Ye?qM(t,e,r):lo(t,e,r)}function jM(t,e,r){let n=wt(t,e,r,{type:Bb});mi(t,n);let i=bs(t,e,n,r,lo(t,e,r));return zb(t,e,r,i)}function zM(t,e,r){let n=wt(t,e,r,{type:Bb});mi(t,n);let i=bs(t,e,n,r,lo(t,e,r)),o=Xm(t,e,r.separator,r);return zb(t,e,r,i,o)}function WM(t,e,r){let n=wt(t,e,r,{type:Ub});mi(t,n);let i=bs(t,e,n,r,lo(t,e,r));return jb(t,e,r,i)}function qM(t,e,r){let n=wt(t,e,r,{type:Ub});mi(t,n);let i=bs(t,e,n,r,lo(t,e,r)),o=Xm(t,e,r.separator,r);return jb(t,e,r,i,o)}function VM(t,e,r){let n=wt(t,e,r,{type:hi});mi(t,n);let i=ir(r.definition,s=>Hb(t,e,s));return bs(t,e,n,r,...i)}function YM(t,e,r){let n=wt(t,e,r,{type:hi});mi(t,n);let i=bs(t,e,n,r,lo(t,e,r));return KM(t,e,r,i)}function lo(t,e,r){let n=Fb(ir(r.definition,i=>Hb(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:JM(t,n)}function jb(t,e,r,n,i){let o=n.left,s=n.right,a=wt(t,e,r,{type:XM});mi(t,a);let c=wt(t,e,r,{type:Gb});return o.loopback=a,c.loopback=a,t.decisionMap[ao(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=a,xt(s,a),i===void 0?(xt(a,o),xt(a,c)):(xt(a,c),xt(a,i.left),xt(i.right,o)),{left:o,right:c}}function zb(t,e,r,n,i){let o=n.left,s=n.right,a=wt(t,e,r,{type:GM});mi(t,a);let c=wt(t,e,r,{type:Gb}),l=wt(t,e,r,{type:BM});return a.loopback=l,c.loopback=l,xt(a,o),xt(a,c),xt(s,l),i!==void 0?(xt(l,c),xt(l,i.left),xt(i.right,o)):xt(l,a),t.decisionMap[ao(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=a,{left:a,right:c}}function KM(t,e,r,n){let i=n.left,o=n.right;return xt(i,o),t.decisionMap[ao(e,"Option",r.idx)]=i,n}function mi(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function bs(t,e,r,n,...i){let o=wt(t,e,n,{type:UM,start:r});r.end=o;for(let a of i)a!==void 0?(xt(r,a.left),xt(a.right,o)):xt(r,o);let s={left:r,right:o};return t.decisionMap[ao(e,ZM(n),n.idx)]=r,s}function ZM(t){if(t instanceof ze)return"Alternation";if(t instanceof Me)return"Option";if(t instanceof ve)return"Repetition";if(t instanceof je)return"RepetitionWithSeparator";if(t instanceof Ve)return"RepetitionMandatory";if(t instanceof Ye)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function JM(t,e){let r=e.length;for(let o=0;o<r-1;o++){let s=e[o],a;s.left.transitions.length===1&&(a=s.left.transitions[0]);let c=a instanceof vs,l=a,u=e[o+1].left;s.left.type===hi&&s.right.type===hi&&a!==void 0&&(c&&l.followState===s.right||a.target===s.right)?(c?l.followState=u:a.target=u,t$(t,s.right)):xt(s.right,u)}let n=e[0],i=e[r-1];return{left:n.left,right:i.right}}function Xm(t,e,r,n){let i=wt(t,e,n,{type:hi}),o=wt(t,e,n,{type:hi});return Hm(i,new Es(o,r)),{left:i,right:o}}function QM(t,e,r){let n=r.referencedRule,i=t.ruleToStartState.get(n),o=wt(t,e,r,{type:hi}),s=wt(t,e,r,{type:hi}),a=new vs(i,n,s);return Hm(o,a),{left:o,right:s}}function e$(t,e,r){let n=t.ruleToStartState.get(e);xt(n,r.left);let i=t.ruleToStopState.get(e);return xt(r.right,i),{left:n,right:i}}function xt(t,e){let r=new Lc(e);Hm(t,r)}function wt(t,e,r,n){let i=Object.assign({atn:t,production:r,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:t.states.length},n);return t.states.push(i),i}function Hm(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function t$(t,e){t.states.splice(t.states.indexOf(e),1)}var Dc={},ws=class{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let r=jm(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return ir(this.configs,e=>e.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}};function jm(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}function r$(t,e,r){for(var n=-1,i=t.length;++n<i;){var o=t[n],s=e(o);if(s!=null&&(a===void 0?s===s&&!ui(s):r(s,a)))var a=s,c=o}return c}var Wb=r$;function n$(t,e){return t<e}var qb=n$;function i$(t){return t&&t.length?Wb(t,_s,qb):void 0}var Vb=i$;var Yb=jt?jt.isConcatSpreadable:void 0;function o$(t){return Ue(t)||ai(t)||!!(Yb&&t&&t[Yb])}var Kb=o$;function Zb(t,e,r,n,i){var o=-1,s=t.length;for(r||(r=Kb),i||(i=[]);++o<s;){var a=t[o];e>0&&r(a)?e>1?Zb(a,e-1,r,n,i):mf(i,a):n||(i[i.length]=a)}return i}var kf=Zb;function s$(t,e){return kf(ir(t,e),1)}var Jb=s$;function a$(t,e,r,n){for(var i=t.length,o=r+(n?1:-1);n?o--:++o<i;)if(e(t[o],o,t))return o;return-1}var Qb=a$;function c$(t){return t!==t}var ew=c$;function l$(t,e,r){for(var n=r-1,i=t.length;++n<i;)if(t[n]===e)return n;return-1}var tw=l$;function u$(t,e,r){return e===e?tw(t,e,r):Qb(t,ew,r)}var rw=u$;function f$(t,e){var r=t==null?0:t.length;return!!r&&rw(t,e,0)>-1}var nw=f$;function d$(t,e,r){for(var n=-1,i=t==null?0:t.length;++n<i;)if(r(e,t[n]))return!0;return!1}var iw=d$;function p$(){}var ow=p$;var h$=1/0,m$=li&&1/ms(new li([,-0]))[1]==h$?function(t){return new li(t)}:ow,sw=m$;var g$=200;function y$(t,e,r){var n=-1,i=nw,o=t.length,s=!0,a=[],c=a;if(r)s=!1,i=iw;else if(o>=g$){var l=e?null:sw(t);if(l)return ms(l);s=!1,i=pf,c=new df}else c=e?[]:a;e:for(;++n<o;){var u=t[n],f=e?e(u):u;if(u=r||u!==0?u:0,s&&f===f){for(var d=c.length;d--;)if(c[d]===f)continue e;e&&c.push(f),a.push(u)}else i(c,f,r)||(c!==a&&c.push(f),a.push(u))}return a}var aw=y$;function x$(t,e){return t&&t.length?aw(t,di(e,2)):[]}var cw=x$;function T$(t){var e=t==null?0:t.length;return e?kf(t,1):[]}var lw=T$;function _$(t,e){for(var r=-1,n=t==null?0:t.length;++r<n&&e(t[r],r,t)!==!1;);return t}var uw=_$;function E$(t){return typeof t=="function"?t:_s}var fw=E$;function v$(t,e){var r=Ue(t)?uw:pi;return r(t,fw(e))}var Nf=v$;var b$="[object Map]",w$="[object Set]",R$=Object.prototype,S$=R$.hasOwnProperty;function A$(t){if(t==null)return!0;if(ci(t)&&(Ue(t)||typeof t=="string"||typeof t.splice=="function"||oo(t)||ys(t)||ai(t)))return!t.length;var e=Cc(t);if(e==b$||e==w$)return!t.size;if(xf(t))return!Tf(t).length;for(var r in t)if(S$.call(t,r))return!1;return!0}var dw=A$;function I$(t,e,r,n){var i=-1,o=t==null?0:t.length;for(n&&o&&(r=t[++i]);++i<o;)r=e(r,t[i],i,t);return r}var pw=I$;function k$(t,e,r,n,i){return i(t,function(o,s,a){r=n?(n=!1,o):e(r,o,s,a)}),r}var hw=k$;function N$(t,e,r){var n=Ue(t)?pw:hw,i=arguments.length<3;return n(t,di(e,4),r,i,pi)}var zm=N$;function P$(t,e){let r={};return n=>{let i=n.toString(),o=r[i];return o!==void 0||(o={atnStartState:t,decision:e,states:{}},r[i]=o),o}}var Pf=class{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="",r=this.predicates.length;for(let n=0;n<r;n++)e+=this.predicates[n]===!0?"1":"0";return e}},mw=new Pf,Mc=class extends bn{constructor(e){var r,n;super(),this.logging=(r=e?.logging)!==null&&r!==void 0?r:(i=>console.log(i)),this.incomplete=(n=e?.incomplete)!==null&&n!==void 0?n:!1}initialize(e){this.atn=Xb(e.rules),this.dfas=C$(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:o}=e,s=this.dfas,a=this.logging,c=this.incomplete,l=ao(n,"Alternation",r),f=this.atn.decisionMap[l].decision,d=ir(Uu({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),p=>ir(p,m=>m[0]));if(gw(d,!1)&&!o){let p=zm(d,(m,y,E)=>(Nf(y,_=>{_&&(m[_.tokenTypeIdx]=E,Nf(_.categoryMatches,x=>{m[x]=E}))}),m),{});return i?function(m){var y;let E=this.LA_FAST(1),_=p[E.tokenTypeIdx];if(m!==void 0&&_!==void 0){let x=(y=m[_])===null||y===void 0?void 0:y.GATE;if(x!==void 0&&x.call(this)===!1)return}return _}:function(){let m=this.LA_FAST(1);return p[m.tokenTypeIdx]}}else return i?function(p){let m=new Pf,y=p===void 0?0:p.length;for(let _=0;_<y;_++){let x=p?.[_].GATE;m.set(_,x===void 0||x.call(this))}let E=Wm.call(this,s,f,m,a,c);return typeof E=="number"?E:void 0}:function(){let p=Wm.call(this,s,f,mw,a,c);return typeof p=="number"?p:void 0}}buildLookaheadForOptional(e){let{prodOccurrence:r,rule:n,prodType:i,dynamicTokensEnabled:o}=e,s=this.dfas,a=this.logging,c=this.incomplete,l=ao(n,i,r),f=this.atn.decisionMap[l].decision,d=ir(Uu({maxLookahead:1,occurrence:r,prodType:i,rule:n}),p=>ir(p,m=>m[0]));if(gw(d)&&d[0][0]&&!o){let p=d[0],m=lw(p);if(m.length===1&&dw(m[0].categoryMatches)){let E=m[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===E}}else{let y=zm(m,(E,_)=>(_!==void 0&&(E[_.tokenTypeIdx]=!0,Nf(_.categoryMatches,x=>{E[x]=!0})),E),{});return function(){let E=this.LA_FAST(1);return y[E.tokenTypeIdx]===!0}}}return function(){let p=Wm.call(this,s,f,mw,a,c);return typeof p=="object"?!1:p===0}}};function gw(t,e=!0){let r=new Set;for(let n of t){let i=new Set;for(let o of n){if(o===void 0){if(e)break;return!1}let s=[o.tokenTypeIdx].concat(o.categoryMatches);for(let a of s)if(r.has(a)){if(!i.has(a))return!1}else r.add(a),i.add(a)}}return!0}function C$(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;n<e;n++)r[n]=P$(t.decisionStates[n],n);return r}function Wm(t,e,r,n,i){let o=t[e](r),s=o.start;if(s===void 0){let c=H$(o.atnStartState);s=Tw(o,xw(c)),o.start=s}return O$.apply(this,[o,s,r,n,i])}function O$(t,e,r,n,i){let o=e,s=1,a=[],c=this.LA_FAST(s++);for(;;){let l=U$(o,c);if(l===void 0&&(l=L$.apply(this,[t,o,c,s,r,n])),l===Dc)return F$(a,o,c);if(l.isAcceptState===!0){if(i===!0&&ns(c,Xt)){let u=Z$(o,r);if(u!==void 0)return u}return l.prediction}o=l,a.push(c),c=this.LA(s++)}}function L$(t,e,r,n,i,o){let s=B$(e.configs,r,i);if(s.size===0)return yw(t,e,r,Dc),Dc;let a=xw(s),c=X$(s,i);if(c!==void 0)a.isAcceptState=!0,a.prediction=c,a.configs.uniqueAlt=c;else if(q$(s)){let l=Vb(s.alts);a.isAcceptState=!0,a.prediction=l,a.configs.uniqueAlt=l,D$.apply(this,[t,n,s.alts,o])}return a=yw(t,e,r,a),a}function D$(t,e,r,n){let i=[];for(let l=1;l<=e;l++)i.push(this.LA(l).tokenType);let o=t.atnStartState,s=o.rule,a=o.production,c=M$({topLevelRule:s,ambiguityIndices:r,production:a,prefixPath:i});n(c)}function M$(t){let e=ir(t.prefixPath,i=>_n(i)).join(", "),r=t.production.idx===0?"":t.production.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${$$(t.production)}${r}> inside <${t.topLevelRule.name}> Rule,
149
125
  <${e}> may appears as a prefix path in all these alternatives.
150
126
  `;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
151
- For Further details.`,n}function n2(t){if(t instanceof Be)return"SUBRULE";if(t instanceof Ge)return"OPTION";if(t instanceof We)return"OR";if(t instanceof Je)return"AT_LEAST_ONE";if(t instanceof Qe)return"AT_LEAST_ONE_SEP";if(t instanceof qe)return"MANY_SEP";if(t instanceof we)return"MANY";if(t instanceof Te)return"CONSUME";throw Error("non exhaustive match")}function i2(t,e,r){let n=MR(e.configs.elements,o=>o.state.transitions),i=WR(n.filter(o=>o instanceof ta).map(o=>o.tokenType),o=>o.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function o2(t,e){return t.edges[e.tokenTypeIdx]}function s2(t,e,r){let n=new ia,i=[];for(let s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===No){i.push(s);continue}let a=s.state.transitions.length;for(let c=0;c<a;c++){let l=s.state.transitions[c],u=a2(l,e);u!==void 0&&n.add({state:u,alt:s.alt,stack:s.stack})}}let o;if(i.length===0&&n.size===1&&(o=n),o===void 0){o=new ia;for(let s of n.elements)Wd(s,o)}if(i.length>0&&!f2(o))for(let s of i)o.add(s);return o}function a2(t,e){if(t instanceof ta&&Ms(e,t.tokenType))return t.target}function c2(t,e){let r;for(let n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function nb(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function rb(t,e,r,n){return n=ib(t,n),e.edges[r.tokenTypeIdx]=n,n}function ib(t,e){if(e===xl)return e;let r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function l2(t){let e=new ia,r=t.transitions.length;for(let n=0;n<r;n++){let o={state:t.transitions[n].target,alt:n,stack:[]};Wd(o,e)}return e}function Wd(t,e){let r=t.state;if(r.type===No){if(t.stack.length>0){let i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};Wd(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let n=r.transitions.length;for(let i=0;i<n;i++){let o=r.transitions[i],s=u2(t,o);s!==void 0&&Wd(s,e)}}function u2(t,e){if(e instanceof yl)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof ra){let r=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:r}}}function f2(t){for(let e of t.elements)if(e.state.type===No)return!0;return!1}function d2(t){for(let e of t.elements)if(e.state.type!==No)return!1;return!0}function p2(t){if(d2(t))return!0;let e=h2(t.elements);return m2(e)&&!g2(e)}function h2(t){let e=new Map;for(let r of t){let n=ey(r,!1),i=e.get(n);i===void 0&&(i={},e.set(n,i)),i[r.alt]=!0}return e}function m2(t){for(let e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function g2(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}function y2(t,e){let r;for(let n of t.configs.elements)if(!(e.is(n.alt)===!1||n.state.type===No)){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}ua();var Il=class{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new fa(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new Do;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new Lo(e.startOffset,e.image.length,bs(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){let r=e.container;if(r){let n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){let r=[];for(let o of e){let s=new Lo(o.startOffset,o.image.length,bs(o),o.tokenType,!0);s.root=this.rootNode,r.push(s)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){let o=n.container.content.indexOf(n);if(o>0){n.container.content.splice(o,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){let r=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=r;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}},Sl=class{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)}},Lo=class extends Sl{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,o=!1){super(),this._hidden=o,this._offset=e,this._tokenType=i,this._length=r,this._range=n}},Do=class extends Sl{constructor(){super(...arguments),this.content=new ox(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){let e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){let{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line<n.start.line?n.start:i.end}}return this._rangeCache}else return{start:Se.create(0,0),end:Se.create(0,0)}}get firstNonHiddenNode(){for(let e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){let r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}},ox=class t extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(let r of e)r.container=this.parent}},fa=class extends Do{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}};var np=Symbol("Datatype");function sx(t){return t.$type===np}var ob="\u200B",sb=t=>t.endsWith(ob)?t:t+ob,kl=class{constructor(e,r){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let n=this.lexer.definition,i=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new ax(n,{...e.parser.ParserConfig,skipValidations:i,errorMessageProvider:e.parser.ParserErrorMessageProvider},r,e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new op(n,{...e.parser.ParserConfig,skipValidations:i,errorMessageProvider:e.parser.ParserErrorMessageProvider},r)}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},Nl=class extends kl{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e,!1),this.nodeBuilder=new Il,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){let n=this.computeRuleType(e),i;mi(e)&&(i=e.name,this.registerPrecedenceMap(e));let o=this.wrapper.DEFINE_RULE(sb(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,o),kt(e)&&e.entry&&(this.mainRule=o),o}registerPrecedenceMap(e){let r=e.name,n=new Map;for(let i=0;i<e.operators.precedences.length;i++){let o=e.operators.precedences[i];for(let s of o.operators)n.set(s.value,{precedence:i,rightAssoc:o.associativity==="right"})}this.operatorPrecedence.set(r,n)}computeRuleType(e){return mi(e)?yi(e):e.fragment?void 0:Kc(e)?np:yi(e)}parse(e,r={}){this.nodeBuilder.buildRootNode(e);let n=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=n.tokens;let i=r.rule?this.allRules.get(r.rule):this.mainRule;if(!i)throw new Error(r.rule?`No rule found with name '${r.rule}'`:"No main rule available.");let o=this.doParse(i);return this.nodeBuilder.addHiddenNodes(n.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,ms(o,{deep:!0}),{value:o,lexerErrors:n.errors,lexerReport:n.report,parserErrors:this.wrapper.errors}}doParse(e){let r=this.wrapper.rule(e);if(this.stack.length>0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{let o=!this.isRecording()&&e!==void 0;if(o){let s={$type:e};this.stack.push(s),e===np?s.value="":r!==void 0&&(s.$infixName=r)}return n(i),o?this.construct():void 0}}extractHiddenTokens(e){let r=this.lexerResult.hidden;if(!r.length)return[];let n=e.startOffset;for(let i=0;i<r.length;i++)if(r[i].startOffset>n)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){let i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){let o=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(o);let s=this.nodeBuilder.buildLeafNode(i,n),{assignment:a,crossRef:c}=this.getAssignment(n),l=this.current;if(a){let u=Er(n)?i.image:this.converter.convert(i.image,s);this.assign(a.operator,a.feature,u,s,c)}else if(sx(l)){let u=i.image;Er(n)||(u=this.converter.convert(u,s).toString()),l.value+=u}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,o){let s;!this.isRecording()&&!n&&(s=this.nodeBuilder.buildCompositeNode(i));let a;try{a=this.wrapper.wrapSubrule(e,r,o)}finally{this.isRecording()||(a===void 0&&!n&&(a=this.construct()),a!==void 0&&s&&s.length>0&&this.performSubruleAssignment(a,i,s))}}performSubruleAssignment(e,r,n){let{assignment:i,crossRef:o}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,o);else if(!i){let s=this.current;if(sx(s))s.value+=e.toString();else if(typeof e=="object"&&e){let c=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(c)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);let o={$type:e};this.stack.push(o),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;let e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):sx(e)?this.converter.convert(e.value,e.$cstNode):(km(this.astReflection,e),e)}constructInfix(e,r){let n=e.parts;if(!Array.isArray(n)||n.length===0)return;let i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let o=0,s=-1;for(let y=0;y<i.length;y++){let _=i[y],E=r.get(_)??{precedence:1/0,rightAssoc:!1};E.precedence>s?(s=E.precedence,o=y):E.precedence===s&&(E.rightAssoc||(o=y))}let a=i.slice(0,o),c=i.slice(o+1),l=n.slice(0,o+1),u=n.slice(o+1),f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:l,operators:a},d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:c},p=this.constructInfix(f,r),m=this.constructInfix(d,r);return{$type:e.$type,$cstNode:e.$cstNode,left:p,operator:i[o],right:m}}getAssignment(e){if(!this.assignmentMap.has(e)){let r=In(e,Fr);this.assignmentMap.set(e,{assignment:r,crossRef:r&&Ur(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,o){let s=this.current,a;switch(o==="single"&&typeof n=="string"?a=this.linker.buildReference(s,r,i,n):o==="multi"&&typeof n=="string"?a=this.linker.buildMultiReference(s,r,i,n):a=n,e){case"=":{s[r]=a;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(a)}}assignWithoutOverride(e,r){for(let[i,o]of Object.entries(r)){let s=e[i];s===void 0?e[i]=o:Array.isArray(s)&&Array.isArray(o)&&(o.push(...s),e[i]=o)}let n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},ip=class{buildMismatchTokenMessage(e){return Fn.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Fn.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Fn.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Fn.buildEarlyExitMessage(e)}},da=class extends ip{buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},Cl=class extends kl{constructor(e){super(e,!0),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){let n=this.wrapper.DEFINE_RULE(sb(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{let n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,o){this.before(i),this.wrapper.wrapSubrule(e,r,o),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}},T2={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new da},op=class extends dl{constructor(e,r,n){let i=r&&"maxLookahead"in r;super(e,{...T2,lookaheadStrategy:i?new Un({maxLookahead:r.maxLookahead}):new Tl({logging:r.skipValidations?()=>{}:void 0,incomplete:n}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}},ax=class extends op{constructor(e,r,n,i){super(e,r,n),this.task=i}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}};function Pl(t,e,r){return _2({parser:e,tokens:r,ruleNames:new Map},t),e}function _2(t,e){let r=Vc(e,!1),n=xe(e.rules).filter(kt).filter(o=>r.has(o));for(let o of n){let s={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(o,$o(s,o.definition))}let i=xe(e.rules).filter(mi).filter(o=>r.has(o));for(let o of i)t.parser.rule(o,E2(t,o))}function E2(t,e){let r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(jt(r))throw new Error("Cannot use terminal rule in infix expression");let n=e.operators.precedences.flatMap(p=>p.operators),i={$type:"Group",elements:[]},o={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},s={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(o,s);let c={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},l={...o,$container:s};s.elements.push(c,l);let f=n.map(p=>t.tokens[p.value]).map((p,m)=>({ALT:()=>t.parser.consume(m,p,c)})),d;return p=>{d??(d=lx(t,r)),t.parser.subrule(0,d,!1,o,p),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,f),t.parser.subrule(1,d,!1,l,p)}})}}function $o(t,e,r=!1){let n;if(Er(e))n=S2(t,e);else if(Cn(e))n=v2(t,e);else if(Fr(e))n=$o(t,e.terminal);else if(Ur(e))n=ab(t,e);else if(Br(e))n=w2(t,e);else if(Cf(e))n=b2(t,e);else if(Df(e))n=A2(t,e);else if(hi(e))n=I2(t,e);else if($m(e)){let i=t.consume++;n=()=>t.parser.consume(i,Vt,e)}else throw new xo(e.$cstNode,`Unexpected element type: ${e.$type}`);return cb(t,r?void 0:sp(e),n,e.cardinality)}function v2(t,e){let r=yi(e);return()=>t.parser.action(r,e)}function w2(t,e){let r=e.rule.ref;if(Nn(r)){let n=t.subrule++,i=kt(r)&&r.fragment,o=e.arguments.length>0?R2(r,e.arguments):()=>({}),s;return a=>{s??(s=lx(t,r)),t.parser.subrule(n,s,i,e,o(a))}}else if(jt(r)){let n=t.consume++,i=cx(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)an(r);else throw new xo(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function R2(t,e){if(e.some(n=>n.calledByName)){let n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:dn(i.value)}));return i=>{let o={};for(let{parameterName:s,predicate:a}of n)s&&(o[s]=a(i));return o}}else{let n=e.map(i=>dn(i.value));return i=>{let o={};for(let s=0;s<n.length;s++)if(s<t.parameters.length){let a=t.parameters[s].name,c=n[s];o[a]=c(i)}return o}}}function dn(t){if(Dm(t)){let e=dn(t.left),r=dn(t.right);return n=>e(n)||r(n)}else if(Lm(t)){let e=dn(t.left),r=dn(t.right);return n=>e(n)&&r(n)}else if(Um(t)){let e=dn(t.value);return r=>!e(r)}else if(Bm(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(Pm(t)){let e=!!t.true;return()=>e}an(t)}function b2(t,e){if(e.elements.length===1)return $o(t,e.elements[0]);{let r=[];for(let i of e.elements){let o={ALT:$o(t,i,!0)},s=sp(i);s&&(o.GATE=dn(s)),r.push(o)}let n=t.or++;return i=>t.parser.alternatives(n,r.map(o=>{let s={ALT:()=>o.ALT(i)},a=o.GATE;return a&&(s.GATE=()=>a(i)),s}))}}function A2(t,e){if(e.elements.length===1)return $o(t,e.elements[0]);let r=[];for(let a of e.elements){let c={ALT:$o(t,a,!0)},l=sp(a);l&&(c.GATE=dn(l)),r.push(c)}let n=t.or++,i=(a,c)=>{let l=c.getRuleStack().join("-");return`uGroup_${a}_${l}`},o=a=>t.parser.alternatives(n,r.map((c,l)=>{let u={ALT:()=>!0},f=t.parser;u.ALT=()=>{if(c.ALT(a),!f.isRecording()){let p=i(n,f);f.unorderedGroups.get(p)||f.unorderedGroups.set(p,[]);let m=f.unorderedGroups.get(p);typeof m?.[l]>"u"&&(m[l]=!0)}};let d=c.GATE;return d?u.GATE=()=>d(a):u.GATE=()=>!f.unorderedGroups.get(i(n,f))?.[l],u})),s=cb(t,sp(e),o,"*");return a=>{s(a),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function I2(t,e){let r=e.elements.map(n=>$o(t,n));return n=>r.forEach(i=>i(n))}function sp(t){if(hi(t))return t.guardCondition}function ab(t,e,r=e.terminal){if(r)if(Br(r)&&kt(r.rule.ref)){let n=r.rule.ref,i=t.subrule++,o;return s=>{o??(o=lx(t,n)),t.parser.subrule(i,o,!1,e,s)}}else if(Br(r)&&jt(r.rule.ref)){let n=t.consume++,i=cx(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(Er(r)){let n=t.consume++,i=cx(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);let i=Gf(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+yi(e.type.ref));return ab(t,e,i)}}function S2(t,e){let r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function cb(t,e,r,n){let i=e&&dn(e);if(!n)if(i){let o=t.or++;return s=>t.parser.alternatives(o,[{ALT:()=>r(s),GATE:()=>i(s)},{ALT:_d(),GATE:()=>!i(s)}])}else return r;if(n==="*"){let o=t.many++;return s=>t.parser.many(o,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else if(n==="+"){let o=t.many++;if(i){let s=t.or++;return a=>t.parser.alternatives(s,[{ALT:()=>t.parser.atLeastOne(o,{DEF:()=>r(a)}),GATE:()=>i(a)},{ALT:_d(),GATE:()=>!i(a)}])}else return s=>t.parser.atLeastOne(o,{DEF:()=>r(s)})}else if(n==="?"){let o=t.optional++;return s=>t.parser.optional(o,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else an(n)}function lx(t,e){let r=k2(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function k2(t,e){if(Nn(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!kt(n);)(hi(n)||Cf(n)||Df(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function cx(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function ux(t){let e=t.Grammar,r=t.parser.Lexer,n=new Cl(t);return Pl(e,n,r.definition),n.finalize(),n}function fx(t){let e=lb(t);return e.finalize(),e}function lb(t){let e=t.Grammar,r=t.parser.Lexer,n=new Nl(t);return Pl(e,n,r.definition)}var Mo=class{constructor(){this.diagnostics=[]}buildTokens(e,r){let n=xe(Vc(e,!1)),i=this.buildTerminalTokens(n),o=this.buildKeywordTokens(n,i,r);return o.push(...i),o}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(jt).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=Is(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=Wc(r)?ct.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){let r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(Nn).flatMap(i=>$r(i).filter(Er)).distinct(i=>i.value).toArray().sort((i,o)=>o.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){let i=this.buildKeywordPattern(e,n),o={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(o.LINE_BREAKS=!0),o}buildKeywordPattern(e,r){return r?new RegExp(gi(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{let o=i?.PATTERN;return o?.source&&ig("^"+o.source+"$",e.value)&&n.push(i),n},[])}};var Fo=class{convert(e,r){let n=r.grammarSource;if(Ur(n)&&(n=ag(n)),Br(n)){let i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return pn.convertInt(r);case"STRING":return pn.convertString(r);case"ID":return pn.convertID(r)}switch(hg(e)?.toLowerCase()){case"number":return pn.convertNumber(r);case"boolean":return pn.convertBoolean(r);case"bigint":return pn.convertBigint(r);case"date":return pn.convertDate(r);default:return r}}},pn;(function(t){function e(l){let u="";for(let f=1;f<l.length-1;f++){let d=l.charAt(f);if(d==="\\"){let p=l.charAt(++f);u+=r(p)}else u+=d}return u}t.convertString=e;function r(l){switch(l){case"b":return"\b";case"f":return"\f";case"n":return`
152
- `;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return l}}function n(l){return l.charAt(0)==="^"?l.substring(1):l}t.convertID=n;function i(l){return parseInt(l)}t.convertInt=i;function o(l){return BigInt(l)}t.convertBigint=o;function s(l){return new Date(l)}t.convertDate=s;function a(l){return Number(l)}t.convertNumber=a;function c(l){return l.toLowerCase()==="true"}t.convertBoolean=c})(pn||(pn={}));var ie={};Ie(ie,Em(hb(),1));function _x(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}var up=0,mb=10;function fp(){return up=performance.now(),new ie.CancellationTokenSource}function gb(t){mb=t}var wr=Symbol("OperationCancelled");function hn(t){return t===wr}async function pt(t){if(t===ie.CancellationToken.None)return;let e=performance.now();if(e-up>=mb&&(up=e,await _x(),up=performance.now()),t.isCancellationRequested)throw wr}var Zt=class{constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}};var dp=class t{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(let n of e)if(t.isIncremental(n)){let i=Tb(n.range),o=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,o)+n.text+this._content.substring(s,this._content.length);let a=Math.max(i.start.line,0),c=Math.max(i.end.line,0),l=this._lineOffsets,u=yb(n.text,!1,o);if(c-a===u.length)for(let d=0,p=u.length;d<p;d++)l[d+a+1]=u[d];else u.length<1e4?l.splice(a+1,c-a,...u):this._lineOffsets=l=l.slice(0,a+1).concat(u,l.slice(c+1));let f=n.text.length-(s-o);if(f!==0)for(let d=a+1+u.length,p=l.length;d<p;d++)l[d]=l[d]+f}else if(t.isFull(n))this._content=n.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=r}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=yb(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return{line:0,character:e};for(;n<i;){let s=Math.floor((n+i)/2);r[s]>e?i=s:n=s+1}let o=n-1;return e=this.ensureBeforeEOL(e,r[o]),{line:o,character:e-r[o]}}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line];if(e.character<=0)return n;let i=e.line+1<r.length?r[e.line+1]:this._content.length,o=Math.min(n+e.character,i);return this.ensureBeforeEOL(o,n)}ensureBeforeEOL(e,r){for(;e>r&&xb(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}},ma;(function(t){function e(i,o,s,a){return new dp(i,o,s,a)}t.create=e;function r(i,o,s){if(i instanceof dp)return i.update(o,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=r;function n(i,o){let s=i.getText(),a=Ex(o.map(U2),(u,f)=>{let d=u.range.start.line-f.range.start.line;return d===0?u.range.start.character-f.range.start.character:d}),c=0,l=[];for(let u of a){let f=i.offsetAt(u.range.start);if(f<c)throw new Error("Overlapping edit");f>c&&l.push(s.substring(c,f)),u.newText.length&&l.push(u.newText),c=i.offsetAt(u.range.end)}return l.push(s.substr(c)),l.join("")}t.applyEdits=n})(ma||(ma={}));function Ex(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);Ex(n,e),Ex(i,e);let o=0,s=0,a=0;for(;o<n.length&&s<i.length;)e(n[o],i[s])<=0?t[a++]=n[o++]:t[a++]=i[s++];for(;o<n.length;)t[a++]=n[o++];for(;s<i.length;)t[a++]=i[s++];return t}function yb(t,e,r=0){let n=e?[r]:[];for(let i=0;i<t.length;i++){let o=t.charCodeAt(i);xb(o)&&(o===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,n.push(r+i+1))}return n}function xb(t){return t===13||t===10}function Tb(t){let e=t.start,r=t.end;return e.line>r.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function U2(t){let e=Tb(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var _b;(()=>{"use strict";var t={975:L=>{function w(b){if(typeof b!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(b))}function O(b,A){for(var I,F="",z=0,U=-1,W=0,Z=0;Z<=b.length;++Z){if(Z<b.length)I=b.charCodeAt(Z);else{if(I===47)break;I=47}if(I===47){if(!(U===Z-1||W===1))if(U!==Z-1&&W===2){if(F.length<2||z!==2||F.charCodeAt(F.length-1)!==46||F.charCodeAt(F.length-2)!==46){if(F.length>2){var pe=F.lastIndexOf("/");if(pe!==F.length-1){pe===-1?(F="",z=0):z=(F=F.slice(0,pe)).length-1-F.lastIndexOf("/"),U=Z,W=0;continue}}else if(F.length===2||F.length===1){F="",z=0,U=Z,W=0;continue}}A&&(F.length>0?F+="/..":F="..",z=2)}else F.length>0?F+="/"+b.slice(U+1,Z):F=b.slice(U+1,Z),z=Z-U-1;U=Z,W=0}else I===46&&W!==-1?++W:W=-1}return F}var $={resolve:function(){for(var b,A="",I=!1,F=arguments.length-1;F>=-1&&!I;F--){var z;F>=0?z=arguments[F]:(b===void 0&&(b=process.cwd()),z=b),w(z),z.length!==0&&(A=z+"/"+A,I=z.charCodeAt(0)===47)}return A=O(A,!I),I?A.length>0?"/"+A:"/":A.length>0?A:"."},normalize:function(b){if(w(b),b.length===0)return".";var A=b.charCodeAt(0)===47,I=b.charCodeAt(b.length-1)===47;return(b=O(b,!A)).length!==0||A||(b="."),b.length>0&&I&&(b+="/"),A?"/"+b:b},isAbsolute:function(b){return w(b),b.length>0&&b.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var b,A=0;A<arguments.length;++A){var I=arguments[A];w(I),I.length>0&&(b===void 0?b=I:b+="/"+I)}return b===void 0?".":$.normalize(b)},relative:function(b,A){if(w(b),w(A),b===A||(b=$.resolve(b))===(A=$.resolve(A)))return"";for(var I=1;I<b.length&&b.charCodeAt(I)===47;++I);for(var F=b.length,z=F-I,U=1;U<A.length&&A.charCodeAt(U)===47;++U);for(var W=A.length-U,Z=z<W?z:W,pe=-1,V=0;V<=Z;++V){if(V===Z){if(W>Z){if(A.charCodeAt(U+V)===47)return A.slice(U+V+1);if(V===0)return A.slice(U+V)}else z>Z&&(b.charCodeAt(I+V)===47?pe=V:V===0&&(pe=0));break}var te=b.charCodeAt(I+V);if(te!==A.charCodeAt(U+V))break;te===47&&(pe=V)}var De="";for(V=I+pe+1;V<=F;++V)V!==F&&b.charCodeAt(V)!==47||(De.length===0?De+="..":De+="/..");return De.length>0?De+A.slice(U+pe):(U+=pe,A.charCodeAt(U)===47&&++U,A.slice(U))},_makeLong:function(b){return b},dirname:function(b){if(w(b),b.length===0)return".";for(var A=b.charCodeAt(0),I=A===47,F=-1,z=!0,U=b.length-1;U>=1;--U)if((A=b.charCodeAt(U))===47){if(!z){F=U;break}}else z=!1;return F===-1?I?"/":".":I&&F===1?"//":b.slice(0,F)},basename:function(b,A){if(A!==void 0&&typeof A!="string")throw new TypeError('"ext" argument must be a string');w(b);var I,F=0,z=-1,U=!0;if(A!==void 0&&A.length>0&&A.length<=b.length){if(A.length===b.length&&A===b)return"";var W=A.length-1,Z=-1;for(I=b.length-1;I>=0;--I){var pe=b.charCodeAt(I);if(pe===47){if(!U){F=I+1;break}}else Z===-1&&(U=!1,Z=I+1),W>=0&&(pe===A.charCodeAt(W)?--W==-1&&(z=I):(W=-1,z=Z))}return F===z?z=Z:z===-1&&(z=b.length),b.slice(F,z)}for(I=b.length-1;I>=0;--I)if(b.charCodeAt(I)===47){if(!U){F=I+1;break}}else z===-1&&(U=!1,z=I+1);return z===-1?"":b.slice(F,z)},extname:function(b){w(b);for(var A=-1,I=0,F=-1,z=!0,U=0,W=b.length-1;W>=0;--W){var Z=b.charCodeAt(W);if(Z!==47)F===-1&&(z=!1,F=W+1),Z===46?A===-1?A=W:U!==1&&(U=1):A!==-1&&(U=-1);else if(!z){I=W+1;break}}return A===-1||F===-1||U===0||U===1&&A===F-1&&A===I+1?"":b.slice(A,F)},format:function(b){if(b===null||typeof b!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof b);return(function(A,I){var F=I.dir||I.root,z=I.base||(I.name||"")+(I.ext||"");return F?F===I.root?F+z:F+"/"+z:z})(0,b)},parse:function(b){w(b);var A={root:"",dir:"",base:"",ext:"",name:""};if(b.length===0)return A;var I,F=b.charCodeAt(0),z=F===47;z?(A.root="/",I=1):I=0;for(var U=-1,W=0,Z=-1,pe=!0,V=b.length-1,te=0;V>=I;--V)if((F=b.charCodeAt(V))!==47)Z===-1&&(pe=!1,Z=V+1),F===46?U===-1?U=V:te!==1&&(te=1):U!==-1&&(te=-1);else if(!pe){W=V+1;break}return U===-1||Z===-1||te===0||te===1&&U===Z-1&&U===W+1?Z!==-1&&(A.base=A.name=W===0&&z?b.slice(1,Z):b.slice(W,Z)):(W===0&&z?(A.name=b.slice(1,U),A.base=b.slice(1,Z)):(A.name=b.slice(W,U),A.base=b.slice(W,Z)),A.ext=b.slice(U,Z)),W>0?A.dir=b.slice(0,W-1):z&&(A.dir="/"),A},sep:"/",delimiter:":",win32:null,posix:null};$.posix=$,L.exports=$}},e={};function r(L){var w=e[L];if(w!==void 0)return w.exports;var O=e[L]={exports:{}};return t[L](O,O.exports,r),O.exports}r.d=(L,w)=>{for(var O in w)r.o(w,O)&&!r.o(L,O)&&Object.defineProperty(L,O,{enumerable:!0,get:w[O]})},r.o=(L,w)=>Object.prototype.hasOwnProperty.call(L,w),r.r=L=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(L,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(L,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:()=>d,Utils:()=>oe}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let o=/^\w[\w\d+.-]*$/,s=/^\//,a=/^\/\//;function c(L,w){if(!L.scheme&&w)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${L.authority}", path: "${L.path}", query: "${L.query}", fragment: "${L.fragment}"}`);if(L.scheme&&!o.test(L.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(L.path){if(L.authority){if(!s.test(L.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(a.test(L.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}let l="",u="/",f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class d{constructor(w,O,$,b,A,I=!1){de(this,"scheme");de(this,"authority");de(this,"path");de(this,"query");de(this,"fragment");typeof w=="object"?(this.scheme=w.scheme||l,this.authority=w.authority||l,this.path=w.path||l,this.query=w.query||l,this.fragment=w.fragment||l):(this.scheme=(function(F,z){return F||z?F:"file"})(w,I),this.authority=O||l,this.path=(function(F,z){switch(F){case"https":case"http":case"file":z?z[0]!==u&&(z=u+z):z=u}return z})(this.scheme,$||l),this.query=b||l,this.fragment=A||l,c(this,I))}static isUri(w){return w instanceof d||!!w&&typeof w.authority=="string"&&typeof w.fragment=="string"&&typeof w.path=="string"&&typeof w.query=="string"&&typeof w.scheme=="string"&&typeof w.fsPath=="string"&&typeof w.with=="function"&&typeof w.toString=="function"}get fsPath(){return T(this,!1)}with(w){if(!w)return this;let{scheme:O,authority:$,path:b,query:A,fragment:I}=w;return O===void 0?O=this.scheme:O===null&&(O=l),$===void 0?$=this.authority:$===null&&($=l),b===void 0?b=this.path:b===null&&(b=l),A===void 0?A=this.query:A===null&&(A=l),I===void 0?I=this.fragment:I===null&&(I=l),O===this.scheme&&$===this.authority&&b===this.path&&A===this.query&&I===this.fragment?this:new m(O,$,b,A,I)}static parse(w,O=!1){let $=f.exec(w);return $?new m($[2]||l,N($[4]||l),N($[5]||l),N($[7]||l),N($[9]||l),O):new m(l,l,l,l,l)}static file(w){let O=l;if(i&&(w=w.replace(/\\/g,u)),w[0]===u&&w[1]===u){let $=w.indexOf(u,2);$===-1?(O=w.substring(2),w=u):(O=w.substring(2,$),w=w.substring($)||u)}return new m("file",O,w,l,l)}static from(w){let O=new m(w.scheme,w.authority,w.path,w.query,w.fragment);return c(O,!0),O}toString(w=!1){return v(this,w)}toJSON(){return this}static revive(w){if(w){if(w instanceof d)return w;{let O=new m(w);return O._formatted=w.external,O._fsPath=w._sep===p?w.fsPath:null,O}}return w}}let p=i?1:void 0;class m extends d{constructor(){super(...arguments);de(this,"_formatted",null);de(this,"_fsPath",null)}get fsPath(){return this._fsPath||(this._fsPath=T(this,!1)),this._fsPath}toString(O=!1){return O?v(this,!0):(this._formatted||(this._formatted=v(this,!1)),this._formatted)}toJSON(){let O={$mid:1};return this._fsPath&&(O.fsPath=this._fsPath,O._sep=p),this._formatted&&(O.external=this._formatted),this.path&&(O.path=this.path),this.scheme&&(O.scheme=this.scheme),this.authority&&(O.authority=this.authority),this.query&&(O.query=this.query),this.fragment&&(O.fragment=this.fragment),O}}let y={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 _(L,w,O){let $,b=-1;for(let A=0;A<L.length;A++){let I=L.charCodeAt(A);if(I>=97&&I<=122||I>=65&&I<=90||I>=48&&I<=57||I===45||I===46||I===95||I===126||w&&I===47||O&&I===91||O&&I===93||O&&I===58)b!==-1&&($+=encodeURIComponent(L.substring(b,A)),b=-1),$!==void 0&&($+=L.charAt(A));else{$===void 0&&($=L.substr(0,A));let F=y[I];F!==void 0?(b!==-1&&($+=encodeURIComponent(L.substring(b,A)),b=-1),$+=F):b===-1&&(b=A)}}return b!==-1&&($+=encodeURIComponent(L.substring(b))),$!==void 0?$:L}function E(L){let w;for(let O=0;O<L.length;O++){let $=L.charCodeAt(O);$===35||$===63?(w===void 0&&(w=L.substr(0,O)),w+=y[$]):w!==void 0&&(w+=L[O])}return w!==void 0?w:L}function T(L,w){let O;return O=L.authority&&L.path.length>1&&L.scheme==="file"?`//${L.authority}${L.path}`:L.path.charCodeAt(0)===47&&(L.path.charCodeAt(1)>=65&&L.path.charCodeAt(1)<=90||L.path.charCodeAt(1)>=97&&L.path.charCodeAt(1)<=122)&&L.path.charCodeAt(2)===58?w?L.path.substr(1):L.path[1].toLowerCase()+L.path.substr(2):L.path,i&&(O=O.replace(/\//g,"\\")),O}function v(L,w){let O=w?E:_,$="",{scheme:b,authority:A,path:I,query:F,fragment:z}=L;if(b&&($+=b,$+=":"),(A||b==="file")&&($+=u,$+=u),A){let U=A.indexOf("@");if(U!==-1){let W=A.substr(0,U);A=A.substr(U+1),U=W.lastIndexOf(":"),U===-1?$+=O(W,!1,!1):($+=O(W.substr(0,U),!1,!1),$+=":",$+=O(W.substr(U+1),!1,!0)),$+="@"}A=A.toLowerCase(),U=A.lastIndexOf(":"),U===-1?$+=O(A,!1,!0):($+=O(A.substr(0,U),!1,!0),$+=A.substr(U))}if(I){if(I.length>=3&&I.charCodeAt(0)===47&&I.charCodeAt(2)===58){let U=I.charCodeAt(1);U>=65&&U<=90&&(I=`/${String.fromCharCode(U+32)}:${I.substr(3)}`)}else if(I.length>=2&&I.charCodeAt(1)===58){let U=I.charCodeAt(0);U>=65&&U<=90&&(I=`${String.fromCharCode(U+32)}:${I.substr(2)}`)}$+=O(I,!0,!1)}return F&&($+="?",$+=O(F,!1,!1)),z&&($+="#",$+=w?z:_(z,!1,!1)),$}function S(L){try{return decodeURIComponent(L)}catch{return L.length>3?L.substr(0,3)+S(L.substr(3)):L}}let D=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function N(L){return L.match(D)?L.replace(D,(w=>S(w))):L}var M=r(975);let B=M.posix||M,G="/";var oe;(function(L){L.joinPath=function(w,...O){return w.with({path:B.join(w.path,...O)})},L.resolvePath=function(w,...O){let $=w.path,b=!1;$[0]!==G&&($=G+$,b=!0);let A=B.resolve($,...O);return b&&A[0]===G&&!w.authority&&(A=A.substring(1)),w.with({path:A})},L.dirname=function(w){if(w.path.length===0||w.path===G)return w;let O=B.dirname(w.path);return O.length===1&&O.charCodeAt(0)===46&&(O=""),w.with({path:O})},L.basename=function(w){return B.basename(w.path)},L.extname=function(w){return B.extname(w.path)}})(oe||(oe={})),_b=n})();var{URI:ht,Utils:ga}=_b;var Et;(function(t){t.basename=ga.basename,t.dirname=ga.dirname,t.extname=ga.extname,t.joinPath=ga.joinPath,t.resolvePath=ga.resolvePath;let e=typeof process=="object"&&process?.platform==="win32";function r(s,a){return s?.toString()===a?.toString()}t.equals=r;function n(s,a){let c=typeof s=="string"?ht.parse(s).path:s.path,l=typeof a=="string"?ht.parse(a).path:a.path,u=c.split("/").filter(y=>y.length>0),f=l.split("/").filter(y=>y.length>0);if(e){let y=/^[A-Z]:$/;if(u[0]&&y.test(u[0])&&(u[0]=u[0].toLowerCase()),f[0]&&y.test(f[0])&&(f[0]=f[0].toLowerCase()),u[0]!==f[0])return l.substring(1)}let d=0;for(;d<u.length&&u[d]===f[d];d++);let p="../".repeat(u.length-d),m=f.slice(d).join("/");return p+m}t.relative=n;function i(s){return ht.parse(s.toString()).toString()}t.normalize=i;function o(s,a){let c=typeof s=="string"?s:s.path,l=typeof a=="string"?a:a.path;return l.charAt(l.length-1)==="/"&&(l=l.slice(0,-1)),c.charAt(c.length-1)==="/"&&(c=c.slice(0,-1)),l===c?!0:l.length<c.length||l.charAt(c.length)!=="/"?!1:l.startsWith(c)}t.contains=o})(Et||(Et={}));var ya=class{constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return Et.normalize(e)}clear(){this.root.children.clear()}insert(e,r){let n=this.getNode(this.normalizeUri(e),!0);n.element=r}delete(e){let r=this.getNode(this.normalizeUri(e),!1);r?.parent&&r.parent.children.delete(r.name)}has(e){return this.getNode(this.normalizeUri(e),!1)?.element!==void 0}hasNode(e){return this.getNode(this.normalizeUri(e),!1)!==void 0}find(e){return this.getNode(this.normalizeUri(e),!1)?.element}findNode(e){let r=this.normalizeUri(e),n=this.getNode(r,!1);if(n)return{name:n.name,uri:Et.joinPath(ht.parse(r),n.name).toString(),element:n.element}}findChildren(e){let r=this.normalizeUri(e),n=this.getNode(r,!1);return n?Array.from(n.children.values()).map(i=>({name:i.name,uri:Et.joinPath(ht.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let r=this.getNode(Et.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){let n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(let o of n){let s=i.children.get(o);if(!s)if(r)s={name:o,children:new Map,parent:i},i.children.set(o,s);else return;i=s}return i}collectValues(e){let r=[];e.element&&r.push(e.element);for(let n of e.children.values())r.push(...this.collectValues(n));return r}};var ye;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(ye||(ye={}));var Ol=class{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=ie.CancellationToken.None){let n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??ht.parse(e.uri),ie.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return ie.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){let i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){let i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{let i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){let i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{let i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let o;if(n)o={parseResult:e,uri:r,state:ye.Parsed,references:[],textDocument:n};else{let s=this.createTextDocumentGetter(r,i);o={parseResult:e,uri:r,state:ye.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=o,o}async update(e,r){let n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),o=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{let s=this.createTextDocumentGetter(e.uri,o);Object.defineProperty(e,"textDocument",{get:s})}return n!==o&&(e.parseResult=await this.parseAsync(e.uri,o,r),e.parseResult.value.$document=e),e.state=ye.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){let n=this.serviceRegistry,i;return()=>i??(i=ma.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},Ll=class{constructor(e){this.documentTrie=new ya,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return xe(this.documentTrie.all())}addDocument(e){let r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){let r=e.toString();return this.documentTrie.find(r)}getDocuments(e){let r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{let i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,ye.Changed),n}deleteDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=ye.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){let r=e.toString(),n=this.documentTrie.findAll(r);for(let i of n)i.state=ye.Changed;return this.documentTrie.delete(r),n}};var Uo=Symbol("RefResolving"),Dl=class{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,r=ie.CancellationToken.None){if(this.profiler?.isActive("linking")){let n=this.profiler.createTask("linking",this.languageId);n.start();try{for(let i of zt(e.parseResult.value))await pt(r),ci(i).forEach(o=>{let s=`${i.$type}:${o.property}`;n.startSubTask(s);try{this.doLink(o,e)}finally{n.stopSubTask(s)}})}finally{n.stop()}}else for(let n of zt(e.parseResult.value))await pt(r),ci(n).forEach(i=>this.doLink(i,e))}doLink(e,r){let n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=Uo;try{let i=this.getCandidate(e);if(no(i))n._ref=i;else{n._nodeDescription=i;let o=this.loadAstNode(i);n._ref=o??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);let o=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${o}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=Uo;try{let i=this.getCandidates(e),o=[];if(no(i))n._linkingError=i;else for(let s of i){let a=this.loadAstNode(s);a&&o.push({ref:a,$nodeDescription:s})}n._items=o}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(let r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){let o=this,s={$refNode:n,$refText:i,_ref:void 0,get ref(){if(dt(this._ref))return this._ref;if(Am(this._nodeDescription)){let a=o.loadAstNode(this._nodeDescription);this._ref=a??o.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=Uo;let a=gs(e).$document,c=o.getLinkedNode({reference:s,container:e,property:r});if(c.error&&a&&a.state<ye.ComputedScopes)return this._ref=void 0;this._ref=c.node??c.error,this._nodeDescription=c.descr,a?.references.push(this)}else this._ref===Uo&&o.throwCyclicReferenceError(e,r,i);return dt(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return no(this._ref)?this._ref:void 0}};return s}buildMultiReference(e,r,n,i){let o=this,s={$refNode:n,$refText:i,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(this._items===void 0){this._items=Uo;let a=gs(e).$document,c=o.getCandidates({reference:s,container:e,property:r}),l=[];if(no(c))this._linkingError=c;else for(let u of c){let f=o.loadAstNode(u);f&&l.push({ref:f,$nodeDescription:u})}this._items=l,a?.references.push(this)}else this._items===Uo&&o.throwCyclicReferenceError(e,r,i);return Array.isArray(this._items)?this._items:[]},get error(){if(this._linkingError)return this._linkingError;if(!(this.items.length>0))return this._linkingError=o.createLinkingError({reference:s,container:e,property:r})}};return s}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{let r=this.getCandidate(e);if(no(r))return{error:r};let n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);let n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;let r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){let n=gs(e.container).$document;n&&n.state<ye.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${n.uri}).`);let i=this.reflection.getReferenceType(e);return{info:e,message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:r}}};function Eb(t){return typeof t.name=="string"}var $l=class{getName(e){if(Eb(e))return e.name}getNameNode(e){return Yc(e.$cstNode,"name")}};var Ml=class{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=zt(e.Grammar).some(r=>Ur(r)&&r.isMulti)}findDeclarations(e){if(e){let r=pg(e),n=e.astNode;if(r&&n){let i=n[r.feature];if(At(i)||lr(i))return gf(i);if(Array.isArray(i)){for(let o of i)if((At(o)||lr(o))&&o.$refNode&&o.$refNode.offset<=e.offset&&o.$refNode.end>=e.end)return gf(o)}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||Km(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){let r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(let i of ci(n))if(lr(i.reference)&&i.reference.items.some(o=>o.ref===e))return i.reference.items.map(o=>o.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;let r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let r=this.findDeclarations(e),n=[];for(let i of r){let o=this.nameProvider.getNameNode(i)??i.$cstNode;o&&n.push(o)}return n}findReferences(e,r){let n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(o=>Et.equals(o.sourceUri,r.documentUri))),n.push(...i),xe(n)}getSelfReferences(e){let r=this.getSelfNodes(e),n=[];for(let i of r){let o=this.nameProvider.getNameNode(i);if(o){let s=Mt(i),a=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:s.uri,sourcePath:a,targetUri:s.uri,targetPath:a,segment:yo(o),local:!0})}}return n}};var Ut=class{constructor(e){if(this.map=new Map,e)for(let[r,n]of e)this.add(r,n)}get size(){return hs.sum(xe(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{let n=this.map.get(e);if(n){let i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){let r=this.map.get(e);return r?xe(r):ai}has(e,r){if(r===void 0)return this.map.has(e);{let n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return xe(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return xe(this.map.keys())}values(){return xe(this.map.values()).flat()}entriesGroupedByKey(){return xe(this.map.entries())}},Bo=class{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}};var Fl=class{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=ie.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=Pc,i=ie.CancellationToken.None){let o=[];this.addExportedSymbol(e,o,r);for(let s of n(e))await pt(i),this.addExportedSymbol(s,o,r);return o}addExportedSymbol(e,r,n){let i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=ie.CancellationToken.None){let n=e.parseResult.value,i=new Ut;for(let o of $r(n))await pt(r),this.addLocalSymbol(o,e,i);return i}addLocalSymbol(e,r,n){let i=e.$container;if(i){let o=this.nameProvider.getName(e);o&&n.add(i,this.descriptions.createDescription(e,o,r))}}};var xa=class{constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}},vx=class{constructor(e,r,n){this.elements=new Map,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let o=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.set(o,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r),i=n?[n]:[];return(this.concatOuterScope||i.length>0)&&this.outerScope?xe(i).concat(this.outerScope.getElements(e)):xe(i)}getAllElements(){let e=xe(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},Ul=class{constructor(e,r,n){this.elements=new Ut,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let o=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(o,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?xe(n).concat(this.outerScope.getElements(e)):xe(n)}getAllElements(){let e=xe(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},B2={getElement(){},getElements(){return ai},getAllElements(){return ai}};var Ta=class{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}},Bl=class extends Ta{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){let n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},Go=class extends Ta{constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();let i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){let o=n();return i.set(r,o),o}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){let r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){let r=this.converter(e),n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}},pp=class extends Go{constructor(e,r){super(n=>n.toString()),r?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(r,n=>{this.clear(n.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{for(let o of i)this.clear(o)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{let o=n.concat(i);for(let s of o)this.clear(s)}))}},_a=class extends Bl{constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}};var Gl=class{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new _a(e.shared)}getScope(e){let r=[],n=this.reflection.getReferenceType(e),i=Mt(e.container).localSymbols;if(i){let s=e.container;do i.has(s)&&r.push(i.getStream(s).filter(a=>this.reflection.isSubtype(a.type,n))),s=s.$container;while(s)}let o=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)o=this.createScope(r[s],o);return o}createScope(e,r,n){return new xa(xe(e),r,n)}createScopeForNodes(e,r,n){let i=xe(e).map(o=>{let s=this.nameProvider.getName(o);if(s)return this.descriptions.createDescription(o,s)}).nonNullable();return new xa(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new Ul(this.indexManager.allElements(e)))}};function wx(t){return typeof t.$comment=="string"}function vb(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}var Xl=class{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){let n=r??{},i=r?.replacer,o=(a,c)=>this.replacer(a,c,n),s=i?(a,c)=>i(a,c,o):o;try{return this.currentDocument=Mt(e),JSON.stringify(e,s,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){let n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:o,comments:s,uriConverter:a}){if(!this.ignoreProperties.has(e))if(At(r)){let c=r.ref,l=n?r.$refText:void 0;if(c){let u=Mt(c),f="";this.currentDocument&&this.currentDocument!==u&&(a?f=a(u.uri,c):f=u.uri.toString());let d=this.astNodeLocator.getAstNodePath(c);return{$ref:`${f}#${d}`,$refText:l}}else return{$error:r.error?.message??"Could not resolve reference",$refText:l}}else if(lr(r)){let c=n?r.$refText:void 0,l=[];for(let u of r.items){let f=u.ref,d=Mt(u.ref),p="";this.currentDocument&&this.currentDocument!==d&&(a?p=a(d.uri,f):p=d.uri.toString());let m=this.astNodeLocator.getAstNodePath(f);l.push(`${p}#${m}`)}return{$refs:l,$refText:c}}else if(dt(r)){let c;if(o&&(c=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&c?.$textRegion&&(c.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(c??(c={...r}),c.$sourceText=r.$cstNode?.text),s){c??(c={...r});let l=this.commentProvider.getComment(r);l&&(c.$comment=l.replace(/\r/g,""))}return c??r}else return r}addAstNodeRegionWithAssignmentsTo(e){let r=n=>({offset:n.offset,end:n.end,length:n.length,range:n.range});if(e.$cstNode){let n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(o=>!o.startsWith("$")).forEach(o=>{let s=lg(e.$cstNode,o).map(r);s.length!==0&&(i[o]=s)}),e}}linkNode(e,r,n,i,o,s){for(let[c,l]of Object.entries(e))if(Array.isArray(l))for(let u=0;u<l.length;u++){let f=l[u];vb(f)?l[u]=this.reviveReference(e,c,r,f,n):dt(f)&&this.linkNode(f,r,n,e,c,u)}else vb(l)?e[c]=this.reviveReference(e,c,r,l,n):dt(l)&&this.linkNode(l,r,n,e,c);let a=e;a.$container=i,a.$containerProperty=o,a.$containerIndex=s}reviveReference(e,r,n,i,o){let s=i.$refText,a=i.$error,c;if(i.$ref){let l=this.getRefNode(n,i.$ref,o.uriConverter);if(dt(l))return s||(s=this.nameProvider.getName(l)),{$refText:s??"",ref:l};a=l}else if(i.$refs){let l=[];for(let u of i.$refs){let f=this.getRefNode(n,u,o.uriConverter);dt(f)&&l.push({ref:f})}if(l.length===0)c={$refText:s??"",items:l},a??(a="Could not resolve multi-reference");else return{$refText:s??"",items:l}}if(a)return c??(c={$refText:s??"",ref:void 0}),c.error={info:{container:e,property:r,reference:c},message:a},c}getRefNode(e,r,n){try{let i=r.indexOf("#");if(i===0){let c=this.astNodeLocator.getAstNode(e,r.substring(1));return c||"Could not resolve path: "+r}if(i<0){let c=n?n(r):ht.parse(r),l=this.langiumDocuments.getDocument(c);return l?l.parseResult.value:"Could not find document for URI: "+r}let o=n?n(r.substring(0,i)):ht.parse(r.substring(0,i)),s=this.langiumDocuments.getDocument(o);if(!s)return"Could not find document for URI: "+r;if(i===r.length-1)return s.parseResult.value;let a=this.astNodeLocator.getAstNode(s.parseResult.value,r.substring(i+1));return a||"Could not resolve URI: "+r}catch(i){return String(i)}}};var Hl=class{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){let r=e.LanguageMetaData;for(let n of r.fileExtensions)this.fileExtensionMap.has(n)&&console.warn(`The file extension ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileExtensionMap.set(n,e);if(r.fileNames)for(let n of r.fileNames)this.fileNameMap.has(n)&&console.warn(`The file name ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileNameMap.set(n,e);this.languageIdMap.set(r.languageId,e)}getServices(e){if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");let r=this.textDocuments?.get(e)?.languageId;if(r!==void 0){let s=this.languageIdMap.get(r);if(s)return s}let n=Et.extname(e),i=Et.basename(e),o=this.fileNameMap.get(i)??this.fileExtensionMap.get(n);if(!o)throw r?new Error(`The service registry contains no services for the extension '${n}' for language '${r}'.`):new Error(`The service registry contains no services for the extension '${n}'.`);return o}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}};function Xo(t){return{code:t}}var hp;(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(hp||(hp={}));var zl=class{constructor(e){this.entries=new Ut,this.knownCategories=new Set(hp.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,r=this,n="fast"){if(n==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");this.knownCategories.add(n);for(let[i,o]of Object.entries(e)){let s=o;if(Array.isArray(s))for(let a of s){let c={check:this.wrapValidationException(a,r),category:n};this.addEntry(i,c)}else if(typeof s=="function"){let a={check:this.wrapValidationException(s,r),category:n};this.addEntry(i,a)}else an(s)}}wrapValidationException(e,r){return async(n,i,o)=>{await this.handleException(()=>e.call(r,n,i,o),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(o){if(hn(o))throw o;console.error(`${r}:`,o),o instanceof Error&&o.stack&&console.error(o.stack);let s=o instanceof Error?o.message:String(o);n("error",`${r}: ${s}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(let n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=xe(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,o,s,a)=>{await this.handleException(()=>e.call(n,i,o,s,a),r,o,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}};var wb=Object.freeze({validateNode:!0,validateChildren:!0}),jl=class{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,r={},n=ie.CancellationToken.None){let i=e.parseResult,o=[];if(await pt(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,o,r),r.stopAfterLexingErrors&&o.some(s=>s.data?.code===Rr.LexingError)||(this.processParsingErrors(i,o,r),r.stopAfterParsingErrors&&o.some(s=>s.data?.code===Rr.ParsingError))||(this.processLinkingErrors(e,o,r),r.stopAfterLinkingErrors&&o.some(s=>s.data?.code===Rr.LinkingError))))return o;try{o.push(...await this.validateAst(i.value,r,n))}catch(s){if(hn(s))throw s;console.error("An error occurred during validation:",s)}return await pt(n),o}processLexingErrors(e,r,n){let i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(let o of i){let s=o.severity??"error",a={severity:mp(s),range:{start:{line:o.line-1,character:o.column-1},end:{line:o.line-1,character:o.column+o.length-1}},message:o.message,data:bb(s),source:this.getSource()};r.push(a)}}processParsingErrors(e,r,n){for(let i of e.parserErrors){let o;if(isNaN(i.token.startOffset)){if("previousToken"in i){let s=i.previousToken;if(isNaN(s.startOffset)){let a={line:0,character:0};o={start:a,end:a}}else{let a={line:s.endLine-1,character:s.endColumn};o={start:a,end:a}}}}else o=bs(i.token);if(o){let s={severity:mp("error"),range:o,message:i.message,data:Xo(Rr.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(let i of e.references){let o=i.error;if(o){let s={node:o.info.container,range:i.$refNode?.range,property:o.info.property,index:o.info.index,data:{code:Rr.LinkingError,containerType:o.info.container.$type,property:o.info.property,refText:o.info.reference.$refText}};r.push(this.toDiagnostic("error",o.message,s))}}}async validateAst(e,r,n=ie.CancellationToken.None){let i=[],o=(s,a,c)=>{i.push(this.toDiagnostic(s,a,c))};return await this.validateAstBefore(e,r,o,n),await this.validateAstNodes(e,r,o,n),await this.validateAstAfter(e,r,o,n),i}async validateAstBefore(e,r,n,i=ie.CancellationToken.None){let o=this.validationRegistry.checksBefore;for(let s of o)await pt(i),await s(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=ie.CancellationToken.None){if(this.profiler?.isActive("validating")){let o=this.profiler.createTask("validating",this.languageId);o.start();try{let s=zt(e).iterator();for(let a of s){o.startSubTask(a.$type);let c=this.validateSingleNodeOptions(a,r);if(c.validateNode)try{let l=this.validationRegistry.getChecks(a.$type,r.categories);for(let u of l)await u(a,n,i)}finally{o.stopSubTask(a.$type)}c.validateChildren||s.prune()}}finally{o.stop()}}else{let o=zt(e).iterator();for(let s of o){await pt(i);let a=this.validateSingleNodeOptions(s,r);if(a.validateNode){let c=this.validationRegistry.getChecks(s.$type,r.categories);for(let l of c)await l(s,n,i)}a.validateChildren||o.prune()}}}validateSingleNodeOptions(e,r){return wb}async validateAstAfter(e,r,n,i=ie.CancellationToken.None){let o=this.validationRegistry.checksAfter;for(let s of o)await pt(i),await s(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:Rb(n),severity:mp(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};function Rb(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=Yc(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=fg(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function mp(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function bb(t){switch(t){case"error":return Xo(Rr.LexingError);case"warning":return Xo(Rr.LexingWarning);case"info":return Xo(Rr.LexingInfo);case"hint":return Xo(Rr.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var Rr;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(Rr||(Rr={}));var ql=class{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){let i=n??Mt(e);r??(r=this.nameProvider.getName(e));let o=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${o} has no name.`);let s,a=()=>s??(s=yo(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:r,get nameSegment(){return a()},selectionSegment:yo(e.$cstNode),type:e.$type,documentUri:i.uri,path:o}}},Wl=class{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=ie.CancellationToken.None){let n=[],i=e.parseResult.value;for(let o of zt(i))await pt(r),ci(o).forEach(s=>{s.reference.error||n.push(...this.createInfoDescriptions(s))});return n}createInfoDescriptions(e){let r=e.reference;if(r.error||!r.$refNode)return[];let n=[];At(r)&&r.$nodeDescription?n=[r.$nodeDescription]:lr(r)&&(n=r.items.map(c=>c.$nodeDescription).filter(c=>c!==void 0));let i=Mt(e.container).uri,o=this.nodeLocator.getAstNodePath(e.container),s=[],a=yo(r.$refNode);for(let c of n)s.push({sourceUri:i,sourcePath:o,targetUri:c.documentUri,targetPath:c.path,segment:a,local:Et.equals(c.documentUri,i)});return s}};var Vl=class{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,o)=>{if(!i||o.length===0)return i;let s=o.indexOf(this.indexSeparator);if(s>0){let a=o.substring(0,s),c=parseInt(o.substring(s+1));return i[a]?.[c]}return i[o]},e)}};var nt={};Ie(nt,Em(yx(),1));var Yl=class{constructor(e){this._ready=new Zt,this.onConfigurationSectionUpdateEmitter=new nt.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){let r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,o)=>{this.updateSectionConfiguration(i.section,n[o])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;let n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}};var Ba=Em(ZS(),1);var Xi;(function(t){function e(r){return{dispose:async()=>await r()}}t.create=e})(Xi||(Xi={}));var ou=class{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Ut,this.documentPhaseListeners=new Ut,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=ye.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=ie.CancellationToken.None){for(let i of e){let o=i.uri.toString();if(i.state===ye.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,ye.IndexedReferences);else if(typeof r.validation=="object"){let s=this.findMissingValidationCategories(i,r);s.length>0&&(this.buildState.set(o,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(o)?.result}),i.state=ye.IndexedReferences)}}else this.buildState.delete(o)}this.currentState=ye.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=ie.CancellationToken.None){this.currentState=ye.Changed;let i=[];for(let c of r){let l=this.langiumDocuments.deleteDocuments(c);for(let u of l)i.push(u.uri),this.cleanUpDeleted(u)}let o=(await Promise.all(e.map(c=>this.findChangedUris(c)))).flat();for(let c of o){let l=this.langiumDocuments.getDocument(c);l===void 0&&(l=this.langiumDocumentFactory.fromModel({$type:"INVALID"},c),l.state=ye.Changed,this.langiumDocuments.addDocument(l)),this.resetToState(l,ye.Changed)}let s=xe(o).concat(i).map(c=>c.toString()).toSet();this.langiumDocuments.all.filter(c=>!s.has(c.uri.toString())&&this.shouldRelink(c,s)).forEach(c=>this.resetToState(c,ye.ComputedScopes)),await this.emitUpdate(o,i),await pt(n);let a=this.sortDocuments(this.langiumDocuments.all.filter(c=>c.state<ye.Validated||!this.buildState.get(c.uri.toString())?.completed||this.resultsAreIncomplete(c,this.updateBuildOptions)).toArray());await this.buildDocuments(a,this.updateBuildOptions,n)}resultsAreIncomplete(e,r){return this.findMissingValidationCategories(e,r).length>=1}findMissingValidationCategories(e,r){let n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),o=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,s=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return xe(s).filter(a=>!o.has(a)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{let n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r<n;){for(;r<e.length&&this.hasTextDocument(e[r]);)r++;for(;n>=0&&!this.hasTextDocument(e[n]);)n--;r<n&&([e[r],e[n]]=[e[n],e[r]])}return e}hasTextDocument(e){return!!this.textDocuments?.get(e.uri)}shouldRelink(e,r){return e.references.some(n=>n.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),Xi.create(()=>{let r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case ye.Changed:case ye.Parsed:this.indexManager.removeContent(e.uri);case ye.IndexedContent:e.localSymbols=void 0;case ye.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case ye.Linked:this.indexManager.removeReferences(e.uri);case ye.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case ye.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=ye.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,ye.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,ye.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,ye.ComputedScopes,n,async s=>{let a=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await a.collectLocalSymbols(s,n)});let i=e.filter(s=>this.shouldLink(s));await this.runCancelable(i,ye.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(i,ye.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));let o=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(o,ye.Validated,n,async s=>{await this.validate(s,n),this.markAsCompleted(s)})}markAsCompleted(e){let r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(let n of e){let i=n.uri.toString(),o=this.buildState.get(i);(!o||o.completed)&&this.buildState.set(i,{completed:!1,options:r,result:o?.result})}}async runCancelable(e,r,n,i){for(let s of e)s.state<r&&(await pt(n),await i(s),s.state=r,await this.notifyDocumentPhase(s,r,n));let o=e.filter(s=>s.state===r);await this.notifyBuildPhase(o,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),Xi.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),Xi.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=ie.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){let i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(wr);if(this.currentState>=e&&e>i.state)return Promise.reject(new Ba.ResponseError(Ba.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${ye[i.state]}, requiring ${ye[e]}, but workspace state is already ${ye[this.currentState]}. Returning undefined.`))}else return Promise.reject(new Ba.ResponseError(Ba.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((o,s)=>{let a=this.onDocumentPhase(e,l=>{Et.equals(l.uri,r)&&(a.dispose(),c.dispose(),o(l.uri))}),c=n.onCancellationRequested(()=>{a.dispose(),c.dispose(),s(wr)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(wr):new Promise((n,i)=>{let o=this.onBuildPhase(e,()=>{o.dispose(),s.dispose(),n()}),s=r.onCancellationRequested(()=>{o.dispose(),s.dispose(),i(wr)})})}async notifyDocumentPhase(e,r,n){let o=this.documentPhaseListeners.get(r).slice();for(let s of o)try{await pt(n),await s(e,n)}catch(a){if(!hn(a))throw a}}async notifyBuildPhase(e,r,n){if(e.length===0)return;let o=this.buildPhaseListeners.get(r).slice();for(let s of o)await pt(n),await s(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){let n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),o=typeof i.validation=="object"?{...i.validation}:{};o.categories=this.findMissingValidationCategories(e,i);let s=await n.validateDocument(e,o,r);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;let a=this.buildState.get(e.uri.toString());a&&(a.result??(a.result={}),a.result.validationChecks?a.result.validationChecks=xe(a.result.validationChecks).concat(o.categories).distinct().toArray():a.result.validationChecks=[...o.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}};var su=class{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Go,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let n=Mt(e).uri,i=[];return this.referenceIndex.forEach(o=>{o.forEach(s=>{Et.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),xe(i)}allElements(e,r){let n=xe(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(o=>this.astReflection.isSubtype(o.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){let r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=ie.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),o=e.uri.toString();this.symbolIndex.set(o,i),this.symbolByTypeIndex.clear(o)}async updateReferences(e,r=ie.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){let n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}};var au=class{constructor(e){this.initialBuildOptions={},this._ready=new Zt,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=ie.CancellationToken.None){let n=await this.performStartup(e);await pt(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){let r=[],n=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};await this.loadAdditionalDocuments(e,n);let i=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,i)));let o=xe(i).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(o,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{let i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return ht.parse(e.uri)}async traverseFolder(e,r){try{let n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){let r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){let r=Et.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}};var cu=class{buildUnexpectedCharactersMessage(e,r,n,i,o){return $s.buildUnexpectedCharactersMessage(e,r,n,i,o)}buildUnableToPopLexerModeMessage(e){return $s.buildUnableToPopLexerModeMessage(e)}},Zp={mode:"full"},qo=class{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);let n=YT(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new ct(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=Zp){let n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(YT(e))return e;let r=KT(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}};function Jp(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function KT(t){return t&&"modes"in t&&"defaultMode"in t}function YT(t){return!Jp(t)&&!KT(t)}ua();function QT(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=Se.create(0,0));let o=ek(t),s=t_(n),a=MU({lines:o,position:i,options:s});return XU({index:0,tokens:a,position:i})}function e_(t,e){let r=t_(e),n=ek(t);if(n.length===0)return!1;let i=n[0],o=n[n.length-1],s=r.start,a=r.end;return!!s?.exec(i)&&!!a?.exec(o)}function ek(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(rg)}var JS=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,$U=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function MU(t){let e=[],r=t.position.line,n=t.position.character;for(let i=0;i<t.lines.length;i++){let o=i===0,s=i===t.lines.length-1,a=t.lines[i],c=0;if(o&&t.options.start){let u=t.options.start?.exec(a);u&&(c=u.index+u[0].length)}else{let u=t.options.line?.exec(a);u&&(c=u.index+u[0].length)}if(s){let u=t.options.end?.exec(a);u&&(a=a.substring(0,u.index))}if(a=a.substring(0,GU(a)),JT(a,c)>=a.length){if(e.length>0){let u=Se.create(r,n);e.push({type:"break",content:"",range:Ee.create(u,u)})}}else{JS.lastIndex=c;let u=JS.exec(a);if(u){let f=u[0],d=u[1],p=Se.create(r,n+c),m=Se.create(r,n+c+f.length);e.push({type:"tag",content:d,range:Ee.create(p,m)}),c+=f.length,c=JT(a,c)}if(c<a.length){let f=a.substring(c),d=Array.from(f.matchAll($U));e.push(...FU(d,f,r,n+c))}}r++,n=0}return e.length>0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function FU(t,e,r,n){let i=[];if(t.length===0){let o=Se.create(r,n),s=Se.create(r,n+e.length);i.push({type:"text",content:e,range:Ee.create(o,s)})}else{let o=0;for(let a of t){let c=a.index,l=e.substring(o,c);l.length>0&&i.push({type:"text",content:e.substring(o,c),range:Ee.create(Se.create(r,o+n),Se.create(r,c+n))});let u=l.length+1,f=a[1];if(i.push({type:"inline-tag",content:f,range:Ee.create(Se.create(r,o+u+n),Se.create(r,o+u+f.length+n))}),u+=f.length,a.length===4){u+=a[2].length;let d=a[3];i.push({type:"text",content:d,range:Ee.create(Se.create(r,o+u+n),Se.create(r,o+u+d.length+n))})}else i.push({type:"text",content:"",range:Ee.create(Se.create(r,o+u+n),Se.create(r,o+u+n))});o=c+a[0].length}let s=e.substring(o);s.length>0&&i.push({type:"text",content:s,range:Ee.create(Se.create(r,o+n),Se.create(r,o+n+s.length))})}return i}var UU=/\S/,BU=/\s*$/;function JT(t,e){let r=t.substring(e).match(UU);return r?e+r.index:t.length}function GU(t){let e=t.match(BU);if(e&&typeof e.index=="number")return e.index}function XU(t){let e=Se.create(t.position.line,t.position.character);if(t.tokens.length===0)return new Qp([],Ee.create(e,e));let r=[];for(;t.index<t.tokens.length;){let o=HU(t,r[r.length-1]);o&&r.push(o)}let n=r[0]?.range.start??e,i=r[r.length-1]?.range.end??e;return new Qp(r,Ee.create(n,i))}function HU(t,e){let r=t.tokens[t.index];if(r.type==="tag")return rk(t,!1);if(r.type==="text"||r.type==="inline-tag")return tk(t);zU(r,e),t.index++}function zU(t,e){if(e){let r=new eh("",t.range);"inlines"in e?e.inlines.push(r):e.content.inlines.push(r)}}function tk(t){let e=t.tokens[t.index],r=e,n=e,i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(jU(t)),n=e,e=t.tokens[t.index];return new uu(i,Ee.create(r.range.start,n.range.end))}function jU(t){return t.tokens[t.index].type==="inline-tag"?rk(t,!0):nk(t)}function rk(t,e){let r=t.tokens[t.index++],n=r.content.substring(1);if(t.tokens[t.index]?.type==="text")if(e){let o=nk(t);return new lu(n,new uu([o],o.range),e,Ee.create(r.range.start,o.range.end))}else{let o=tk(t);return new lu(n,o,e,Ee.create(r.range.start,o.range.end))}else{let o=r.range;return new lu(n,new uu([],o),e,o)}}function nk(t){let e=t.tokens[t.index++];return new eh(e.content,e.range)}function t_(t){if(!t)return t_({start:"/**",end:"*/",line:"*"});let{start:e,end:r,line:n}=t;return{start:ZT(e,!0),end:ZT(r,!1),line:ZT(n,!0)}}function ZT(t,e){if(typeof t=="string"||typeof t=="object"){let r=typeof t=="string"?gi(t):t.source;return e?new RegExp(`^\\s*${r}`):new RegExp(`\\s*${r}\\s*$`)}else return t}var Qp=class{constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let r of this.elements)if(e.length===0)e=r.toString();else{let n=r.toString();e+=QS(e)+n}return e.trim()}toMarkdown(e){let r="";for(let n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{let i=n.toMarkdown(e);r+=QS(r)+i}return r.trim()}},lu=class{constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`,r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e}
153
- ${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let r=this.content.toMarkdown(e);if(this.inline){let o=qU(this.name,r,e??{});if(typeof o=="string")return o}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} \u2014 ${r}`:this.content.inlines.length>1&&(i=`${i}
154
- ${r}`),this.inline?`{${i}}`:i}};function qU(t,e,r){if(t==="linkplain"||t==="linkcode"||t==="link"){let n=e.indexOf(" "),i=e;if(n>0){let s=JT(e,n);i=e.substring(s),e=e.substring(0,n)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(i=`\`${i}\``),r.renderLink?.(e,i)??WU(e,i)}}function WU(t,e){try{return ht.parse(t,!0),`[${e}](${t})`}catch{return t}}var uu=class{constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;r<this.inlines.length;r++){let n=this.inlines[r],i=this.inlines[r+1];e+=n.toString(),i&&i.range.start.line>n.range.start.line&&(e+=`
127
+ For Further details.`,n}function $$(t){if(t instanceof De)return"SUBRULE";if(t instanceof Me)return"OPTION";if(t instanceof ze)return"OR";if(t instanceof Ve)return"AT_LEAST_ONE";if(t instanceof Ye)return"AT_LEAST_ONE_SEP";if(t instanceof je)return"MANY_SEP";if(t instanceof ve)return"MANY";if(t instanceof me)return"CONSUME";throw Error("non exhaustive match")}function F$(t,e,r){let n=Jb(e.configs.elements,o=>o.state.transitions),i=cw(n.filter(o=>o instanceof Es).map(o=>o.tokenType),o=>o.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function U$(t,e){return t.edges[e.tokenTypeIdx]}function B$(t,e,r){let n=new ws,i=[];for(let s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===co){i.push(s);continue}let a=s.state.transitions.length;for(let c=0;c<a;c++){let l=s.state.transitions[c],u=G$(l,e);u!==void 0&&n.add({state:u,alt:s.alt,stack:s.stack})}}let o;if(i.length===0&&n.size===1&&(o=n),o===void 0){o=new ws;for(let s of n.elements)Cf(s,o)}if(i.length>0&&!z$(o))for(let s of i)o.add(s);return o}function G$(t,e){if(t instanceof Es&&ns(e,t.tokenType))return t.target}function X$(t,e){let r;for(let n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function xw(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function yw(t,e,r,n){return n=Tw(t,n),e.edges[r.tokenTypeIdx]=n,n}function Tw(t,e){if(e===Dc)return e;let r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function H$(t){let e=new ws,r=t.transitions.length;for(let n=0;n<r;n++){let o={state:t.transitions[n].target,alt:n,stack:[]};Cf(o,e)}return e}function Cf(t,e){let r=t.state;if(r.type===co){if(t.stack.length>0){let i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};Cf(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let n=r.transitions.length;for(let i=0;i<n;i++){let o=r.transitions[i],s=j$(t,o);s!==void 0&&Cf(s,e)}}function j$(t,e){if(e instanceof Lc)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof vs){let r=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:r}}}function z$(t){for(let e of t.elements)if(e.state.type===co)return!0;return!1}function W$(t){for(let e of t.elements)if(e.state.type!==co)return!1;return!0}function q$(t){if(W$(t))return!0;let e=V$(t.elements);return Y$(e)&&!K$(e)}function V$(t){let e=new Map;for(let r of t){let n=jm(r,!1),i=e.get(n);i===void 0&&(i={},e.set(n,i)),i[r.alt]=!0}return e}function Y$(t){for(let e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function K$(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}function Z$(t,e){let r;for(let n of t.configs.elements)if(!(e.is(n.alt)===!1||n.state.type===co)){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}ks();var jf=class{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new jc(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new Ps;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new Ns(e.startOffset,e.image.length,sc(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){let r=e.container;if(r){let n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){let r=[];for(let o of e){let s=new Ns(o.startOffset,o.image.length,sc(o),o.tokenType,!0);s.root=this.rootNode,r.push(s)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){let o=n.container.content.indexOf(n);if(o>0){n.container.content.splice(o,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){let r=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=r;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}},zf=class{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)}},Ns=class extends zf{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,o=!1){super(),this._hidden=o,this._offset=e,this._tokenType=i,this._length=r,this._range=n}},Ps=class extends zf{constructor(){super(...arguments),this.content=new Zg(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){let e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){let{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line<n.start.line?n.start:i.end}}return this._rangeCache}else return{start: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 r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}},Zg=class t extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(let r of e)r.container=this.parent}},jc=class extends Ps{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}};var Qg=Symbol("Datatype");function Jg(t){return t.$type===Qg}var _w="\u200B",Ew=t=>t.endsWith(_w)?t:t+_w,Wf=class{constructor(e,r){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let n=this.lexer.definition,i=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new ty(n,{...e.parser.ParserConfig,skipValidations:i,errorMessageProvider:e.parser.ParserErrorMessageProvider},r,e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new Yf(n,{...e.parser.ParserConfig,skipValidations:i,errorMessageProvider:e.parser.ParserErrorMessageProvider},r)}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},qf=class extends Wf{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e,!1),this.nodeBuilder=new jf,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){let n=this.computeRuleType(e),i;Ki(e)&&(i=e.name,this.registerPrecedenceMap(e));let o=this.wrapper.DEFINE_RULE(Ew(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,o),Ut(e)&&e.entry&&(this.mainRule=o),o}registerPrecedenceMap(e){let r=e.name,n=new Map;for(let i=0;i<e.operators.precedences.length;i++){let o=e.operators.precedences[i];for(let s of o.operators)n.set(s.value,{precedence:i,rightAssoc:o.associativity==="right"})}this.operatorPrecedence.set(r,n)}computeRuleType(e){return Ki(e)?ei(e):e.fragment?void 0:pc(e)?Qg:ei(e)}parse(e,r={}){this.nodeBuilder.buildRootNode(e);let n=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=n.tokens;let i=r.rule?this.allRules.get(r.rule):this.mainRule;if(!i)throw new Error(r.rule?`No rule found with name '${r.rule}'`:"No main rule available.");let o=this.doParse(i);return this.nodeBuilder.addHiddenNodes(n.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,au(o,{deep:!0}),{value:o,lexerErrors:n.errors,lexerReport:n.report,parserErrors:this.wrapper.errors}}doParse(e){let r=this.wrapper.rule(e);if(this.stack.length>0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{let o=!this.isRecording()&&e!==void 0;if(o){let s={$type:e};this.stack.push(s),e===Qg?s.value="":r!==void 0&&(s.$infixName=r)}return n(i),o?this.construct():void 0}}extractHiddenTokens(e){let r=this.lexerResult.hidden;if(!r.length)return[];let n=e.startOffset;for(let i=0;i<r.length;i++)if(r[i].startOffset>n)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){let i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){let o=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(o);let s=this.nodeBuilder.buildLeafNode(i,n),{assignment:a,crossRef:c}=this.getAssignment(n),l=this.current;if(a){let u=Rr(n)?i.image:this.converter.convert(i.image,s);this.assign(a.operator,a.feature,u,s,c)}else if(Jg(l)){let u=i.image;Rr(n)||(u=this.converter.convert(u,s).toString()),l.value+=u}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,o){let s;!this.isRecording()&&!n&&(s=this.nodeBuilder.buildCompositeNode(i));let a;try{a=this.wrapper.wrapSubrule(e,r,o)}finally{this.isRecording()||(a===void 0&&!n&&(a=this.construct()),a!==void 0&&s&&s.length>0&&this.performSubruleAssignment(a,i,s))}}performSubruleAssignment(e,r,n){let{assignment:i,crossRef:o}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,o);else if(!i){let s=this.current;if(Jg(s))s.value+=e.toString();else if(typeof e=="object"&&e){let c=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(c)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);let o={$type:e};this.stack.push(o),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;let e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):Jg(e)?this.converter.convert(e.value,e.$cstNode):(sE(this.astReflection,e),e)}constructInfix(e,r){let n=e.parts;if(!Array.isArray(n)||n.length===0)return;let i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let o=0,s=-1;for(let y=0;y<i.length;y++){let E=i[y],_=r.get(E)??{precedence:1/0,rightAssoc:!1};_.precedence>s?(s=_.precedence,o=y):_.precedence===s&&(_.rightAssoc||(o=y))}let a=i.slice(0,o),c=i.slice(o+1),l=n.slice(0,o+1),u=n.slice(o+1),f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:l,operators:a},d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:c},p=this.constructInfix(f,r),m=this.constructInfix(d,r);return{$type:e.$type,$cstNode:e.$cstNode,left:p,operator:i[o],right:m}}getAssignment(e){if(!this.assignmentMap.has(e)){let r=Mo(e,Yr);this.assignmentMap.set(e,{assignment:r,crossRef:r&&Kr(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,o){let s=this.current,a;switch(o==="single"&&typeof n=="string"?a=this.linker.buildReference(s,r,i,n):o==="multi"&&typeof n=="string"?a=this.linker.buildMultiReference(s,r,i,n):a=n,e){case"=":{s[r]=a;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(a)}}assignWithoutOverride(e,r){for(let[i,o]of Object.entries(r)){let s=e[i];s===void 0?e[i]=o:Array.isArray(s)&&Array.isArray(o)&&(o.push(...s),e[i]=o)}let n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},ey=class{buildMismatchTokenMessage(e){return vn.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return vn.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return vn.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return vn.buildEarlyExitMessage(e)}},zc=class extends ey{buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},Vf=class extends Wf{constructor(e){super(e,!0),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){let n=this.wrapper.DEFINE_RULE(Ew(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{let n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,o){this.before(i),this.wrapper.wrapSubrule(e,r,o),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}},Q$={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new zc},Yf=class extends kc{constructor(e,r,n){let i=r&&"maxLookahead"in r;super(e,{...Q$,lookaheadStrategy:i?new bn({maxLookahead:r.maxLookahead}):new Mc({logging:r.skipValidations?()=>{}:void 0,incomplete:n}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}},ty=class extends Yf{constructor(e,r,n,i){super(e,r,n),this.task=i}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}};function Zf(t,e,r){return eF({parser:e,tokens:r,ruleNames:new Map},t),e}function eF(t,e){let r=fc(e,!1),n=we(e.rules).filter(Ut).filter(o=>r.has(o));for(let o of n){let s={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(o,fo(s,o.definition))}let i=we(e.rules).filter(Ki).filter(o=>r.has(o));for(let o of i)t.parser.rule(o,tF(t,o))}function tF(t,e){let r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(qt(r))throw new Error("Cannot use terminal rule in infix expression");let n=e.operators.precedences.flatMap(p=>p.operators),i={$type:"Group",elements:[]},o={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},s={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(o,s);let c={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},l={...o,$container:s};s.elements.push(c,l);let f=n.map(p=>t.tokens[p.value]).map((p,m)=>({ALT:()=>t.parser.consume(m,p,c)})),d;return p=>{d??(d=ny(t,r)),t.parser.subrule(0,d,!1,o,p),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,f),t.parser.subrule(1,d,!1,l,p)}})}}function fo(t,e,r=!1){let n;if(Rr(e))n=cF(t,e);else if(Jn(e))n=rF(t,e);else if(Yr(e))n=fo(t,e.terminal);else if(Kr(e))n=vw(t,e);else if(Zr(e))n=nF(t,e);else if(Gh(e))n=oF(t,e);else if(zh(e))n=sF(t,e);else if(Yi(e))n=aF(t,e);else if(TE(e)){let i=t.consume++;n=()=>t.parser.consume(i,Xt,e)}else throw new ac(e.$cstNode,`Unexpected element type: ${e.$type}`);return bw(t,r?void 0:Kf(e),n,e.cardinality)}function rF(t,e){let r=ei(e);return()=>t.parser.action(r,e)}function nF(t,e){let r=e.rule.ref;if(Zn(r)){let n=t.subrule++,i=Ut(r)&&r.fragment,o=e.arguments.length>0?iF(r,e.arguments):()=>({}),s;return a=>{s??(s=ny(t,r)),t.parser.subrule(n,s,i,e,o(a))}}else if(qt(r)){let n=t.consume++,i=ry(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)Qn(r);else throw new ac(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function iF(t,e){if(e.some(n=>n.calledByName)){let n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:rn(i.value)}));return i=>{let o={};for(let{parameterName:s,predicate:a}of n)s&&(o[s]=a(i));return o}}else{let n=e.map(i=>rn(i.value));return i=>{let o={};for(let s=0;s<n.length;s++)if(s<t.parameters.length){let a=t.parameters[s].name,c=n[s];o[a]=c(i)}return o}}}function rn(t){if(xE(t)){let e=rn(t.left),r=rn(t.right);return n=>e(n)||r(n)}else if(yE(t)){let e=rn(t.left),r=rn(t.right);return n=>e(n)&&r(n)}else if(vE(t)){let e=rn(t.value);return r=>!e(r)}else if(bE(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(mE(t)){let e=!!t.true;return()=>e}Qn(t)}function oF(t,e){if(e.elements.length===1)return fo(t,e.elements[0]);{let r=[];for(let i of e.elements){let o={ALT:fo(t,i,!0)},s=Kf(i);s&&(o.GATE=rn(s)),r.push(o)}let n=t.or++;return i=>t.parser.alternatives(n,r.map(o=>{let s={ALT:()=>o.ALT(i)},a=o.GATE;return a&&(s.GATE=()=>a(i)),s}))}}function sF(t,e){if(e.elements.length===1)return fo(t,e.elements[0]);let r=[];for(let a of e.elements){let c={ALT:fo(t,a,!0)},l=Kf(a);l&&(c.GATE=rn(l)),r.push(c)}let n=t.or++,i=(a,c)=>{let l=c.getRuleStack().join("-");return`uGroup_${a}_${l}`},o=a=>t.parser.alternatives(n,r.map((c,l)=>{let u={ALT:()=>!0},f=t.parser;u.ALT=()=>{if(c.ALT(a),!f.isRecording()){let p=i(n,f);f.unorderedGroups.get(p)||f.unorderedGroups.set(p,[]);let m=f.unorderedGroups.get(p);typeof m?.[l]>"u"&&(m[l]=!0)}};let d=c.GATE;return d?u.GATE=()=>d(a):u.GATE=()=>!f.unorderedGroups.get(i(n,f))?.[l],u})),s=bw(t,Kf(e),o,"*");return a=>{s(a),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function aF(t,e){let r=e.elements.map(n=>fo(t,n));return n=>r.forEach(i=>i(n))}function Kf(t){if(Yi(t))return t.guardCondition}function vw(t,e,r=e.terminal){if(r)if(Zr(r)&&Ut(r.rule.ref)){let n=r.rule.ref,i=t.subrule++,o;return s=>{o??(o=ny(t,n)),t.parser.subrule(i,o,!1,e,s)}}else if(Zr(r)&&qt(r.rule.ref)){let n=t.consume++,i=ry(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(Rr(r)){let n=t.consume++,i=ry(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);let i=wu(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+ei(e.type.ref));return vw(t,e,i)}}function cF(t,e){let r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function bw(t,e,r,n){let i=e&&rn(e);if(!n)if(i){let o=t.or++;return s=>t.parser.alternatives(o,[{ALT:()=>r(s),GATE:()=>i(s)},{ALT:of(),GATE:()=>!i(s)}])}else return r;if(n==="*"){let o=t.many++;return s=>t.parser.many(o,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else if(n==="+"){let o=t.many++;if(i){let s=t.or++;return a=>t.parser.alternatives(s,[{ALT:()=>t.parser.atLeastOne(o,{DEF:()=>r(a)}),GATE:()=>i(a)},{ALT:of(),GATE:()=>!i(a)}])}else return s=>t.parser.atLeastOne(o,{DEF:()=>r(s)})}else if(n==="?"){let o=t.optional++;return s=>t.parser.optional(o,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else Qn(n)}function ny(t,e){let r=lF(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function lF(t,e){if(Zn(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!Ut(n);)(Yi(n)||Gh(n)||zh(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function ry(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function ww(t){let e=t.Grammar,r=t.parser.Lexer,n=new Vf(t);return Zf(e,n,r.definition),n.finalize(),n}function Rw(t){let e=uF(t);return e.finalize(),e}function uF(t){let e=t.Grammar,r=t.parser.Lexer,n=new qf(t);return Zf(e,n,r.definition)}var Cs=class{constructor(){this.diagnostics=[]}buildTokens(e,r){let n=we(fc(e,!1)),i=this.buildTerminalTokens(n),o=this.buildKeywordTokens(n,i,r);return o.push(...i),o}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(qt).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=Vo(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=bu(r)?ot.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){let r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(Zn).flatMap(i=>qr(i).filter(Rr)).distinct(i=>i.value).toArray().sort((i,o)=>o.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){let i=this.buildKeywordPattern(e,n),o={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(o.LINE_BREAKS=!0),o}buildKeywordPattern(e,r){return r?new RegExp(Qi(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{let o=i?.PATTERN;return o?.source&&UE("^"+o.source+"$",e.value)&&n.push(i),n},[])}};var Os=class{convert(e,r){let n=r.grammarSource;if(Kr(n)&&(n=Jh(n)),Zr(n)){let i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return In.convertInt(r);case"STRING":return In.convertString(r);case"ID":return In.convertID(r)}switch(om(e)?.toLowerCase()){case"number":return In.convertNumber(r);case"boolean":return In.convertBoolean(r);case"bigint":return In.convertBigint(r);case"date":return In.convertDate(r);default:return r}}},In;(function(t){function e(l){let u="";for(let f=1;f<l.length-1;f++){let d=l.charAt(f);if(d==="\\"){let p=l.charAt(++f);u+=r(p)}else u+=d}return u}t.convertString=e;function r(l){switch(l){case"b":return"\b";case"f":return"\f";case"n":return`
128
+ `;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return l}}function n(l){return l.charAt(0)==="^"?l.substring(1):l}t.convertID=n;function i(l){return parseInt(l)}t.convertInt=i;function o(l){return BigInt(l)}t.convertBigint=o;function s(l){return new Date(l)}t.convertDate=s;function a(l){return Number(l)}t.convertNumber=a;function c(l){return l.toLowerCase()==="true"}t.convertBoolean=c})(In||(In={}));var Te=Rh(wd(),1);function k2(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}var Rd=0,N2=10;function GA(){return Rd=performance.now(),new Te.CancellationTokenSource}var go=Symbol("OperationCancelled");function Ii(t){return t===go}async function pt(t){if(t===Te.CancellationToken.None)return;let e=performance.now();if(e-Rd>=N2&&(Rd=e,await k2(),Rd=performance.now()),t.isCancellationRequested)throw go}var Ai=class{constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}};var Sd=class t{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(let n of e)if(t.isIncremental(n)){let i=jA(n.range),o=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,o)+n.text+this._content.substring(s,this._content.length);let a=Math.max(i.start.line,0),c=Math.max(i.end.line,0),l=this._lineOffsets,u=XA(n.text,!1,o);if(c-a===u.length)for(let d=0,p=u.length;d<p;d++)l[d+a+1]=u[d];else u.length<1e4?l.splice(a+1,c-a,...u):this._lineOffsets=l=l.slice(0,a+1).concat(u,l.slice(c+1));let f=n.text.length-(s-o);if(f!==0)for(let d=a+1+u.length,p=l.length;d<p;d++)l[d]=l[d]+f}else if(t.isFull(n))this._content=n.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=r}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=XA(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return{line:0,character:e};for(;n<i;){let s=Math.floor((n+i)/2);r[s]>e?i=s:n=s+1}let o=n-1;return e=this.ensureBeforeEOL(e,r[o]),{line:o,character:e-r[o]}}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line];if(e.character<=0)return n;let i=e.line+1<r.length?r[e.line+1]:this._content.length,o=Math.min(n+e.character,i);return this.ensureBeforeEOL(o,n)}getLineRange(e){let r=this.getLineOffsets();if(e>=r.length){let s=r.length-1;return{start:{line:s,character:0},end:{line:s,character:this._content.length-r[s]}}}else if(e<0)return{start:{line:0,character:0},end:{line:0,character:0}};let n=r[e],i=e+1<r.length?r[e+1]:this._content.length,o=this.ensureBeforeEOL(i,n);return{start:{line:e,character:0},end:{line:e,character:o-n}}}getEOLCharacters(e){let r=this.getLineOffsets();if(e>=r.length)return"";if(e<0)return"";let n=e+1<r.length?r[e+1]:this._content.length,i=this.ensureBeforeEOL(n,r[e]);return this._content.substring(i,n)}ensureBeforeEOL(e,r){for(;e>r&&HA(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}},nl;(function(t){function e(i,o,s,a){return new Sd(i,o,s,a)}t.create=e;function r(i,o,s){if(i instanceof Sd)return i.update(o,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=r;function n(i,o){let s=i.getText(),a=Mx(o.map(P2),(u,f)=>{let d=u.range.start.line-f.range.start.line;return d===0?u.range.start.character-f.range.start.character:d}),c=0,l=[];for(let u of a){let f=i.offsetAt(u.range.start);if(f<c)throw new Error("Overlapping edit");f>c&&l.push(s.substring(c,f)),u.newText.length&&l.push(u.newText),c=i.offsetAt(u.range.end)}return l.push(s.substr(c)),l.join("")}t.applyEdits=n})(nl||(nl={}));function Mx(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);Mx(n,e),Mx(i,e);let o=0,s=0,a=0;for(;o<n.length&&s<i.length;)e(n[o],i[s])<=0?t[a++]=n[o++]:t[a++]=i[s++];for(;o<n.length;)t[a++]=n[o++];for(;s<i.length;)t[a++]=i[s++];return t}function XA(t,e,r=0){let n=e?[r]:[];for(let i=0;i<t.length;i++){let o=t.charCodeAt(i);HA(o)&&(o===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,n.push(r+i+1))}return n}function HA(t){return t===13||t===10}function jA(t){let e=t.start,r=t.end;return e.line>r.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function P2(t){let e=jA(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var zA;(()=>{"use strict";var t={975:$=>{function w(S){if(typeof S!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(S))}function D(S,A){for(var I,B="",z=0,j=-1,V=0,K=0;K<=S.length;++K){if(K<S.length)I=S.charCodeAt(K);else{if(I===47)break;I=47}if(I===47){if(!(j===K-1||V===1))if(j!==K-1&&V===2){if(B.length<2||z!==2||B.charCodeAt(B.length-1)!==46||B.charCodeAt(B.length-2)!==46){if(B.length>2){var ue=B.lastIndexOf("/");if(ue!==B.length-1){ue===-1?(B="",z=0):z=(B=B.slice(0,ue)).length-1-B.lastIndexOf("/"),j=K,V=0;continue}}else if(B.length===2||B.length===1){B="",z=0,j=K,V=0;continue}}A&&(B.length>0?B+="/..":B="..",z=2)}else B.length>0?B+="/"+S.slice(j+1,K):B=S.slice(j+1,K),z=K-j-1;j=K,V=0}else I===46&&V!==-1?++V:V=-1}return B}var U={resolve:function(){for(var S,A="",I=!1,B=arguments.length-1;B>=-1&&!I;B--){var z;B>=0?z=arguments[B]:(S===void 0&&(S=process.cwd()),z=S),w(z),z.length!==0&&(A=z+"/"+A,I=z.charCodeAt(0)===47)}return A=D(A,!I),I?A.length>0?"/"+A:"/":A.length>0?A:"."},normalize:function(S){if(w(S),S.length===0)return".";var A=S.charCodeAt(0)===47,I=S.charCodeAt(S.length-1)===47;return(S=D(S,!A)).length!==0||A||(S="."),S.length>0&&I&&(S+="/"),A?"/"+S:S},isAbsolute:function(S){return w(S),S.length>0&&S.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var S,A=0;A<arguments.length;++A){var I=arguments[A];w(I),I.length>0&&(S===void 0?S=I:S+="/"+I)}return S===void 0?".":U.normalize(S)},relative:function(S,A){if(w(S),w(A),S===A||(S=U.resolve(S))===(A=U.resolve(A)))return"";for(var I=1;I<S.length&&S.charCodeAt(I)===47;++I);for(var B=S.length,z=B-I,j=1;j<A.length&&A.charCodeAt(j)===47;++j);for(var V=A.length-j,K=z<V?z:V,ue=-1,Y=0;Y<=K;++Y){if(Y===K){if(V>K){if(A.charCodeAt(j+Y)===47)return A.slice(j+Y+1);if(Y===0)return A.slice(j+Y)}else z>K&&(S.charCodeAt(I+Y)===47?ue=Y:Y===0&&(ue=0));break}var ne=S.charCodeAt(I+Y);if(ne!==A.charCodeAt(j+Y))break;ne===47&&(ue=Y)}var Re="";for(Y=I+ue+1;Y<=B;++Y)Y!==B&&S.charCodeAt(Y)!==47||(Re.length===0?Re+="..":Re+="/..");return Re.length>0?Re+A.slice(j+ue):(j+=ue,A.charCodeAt(j)===47&&++j,A.slice(j))},_makeLong:function(S){return S},dirname:function(S){if(w(S),S.length===0)return".";for(var A=S.charCodeAt(0),I=A===47,B=-1,z=!0,j=S.length-1;j>=1;--j)if((A=S.charCodeAt(j))===47){if(!z){B=j;break}}else z=!1;return B===-1?I?"/":".":I&&B===1?"//":S.slice(0,B)},basename:function(S,A){if(A!==void 0&&typeof A!="string")throw new TypeError('"ext" argument must be a string');w(S);var I,B=0,z=-1,j=!0;if(A!==void 0&&A.length>0&&A.length<=S.length){if(A.length===S.length&&A===S)return"";var V=A.length-1,K=-1;for(I=S.length-1;I>=0;--I){var ue=S.charCodeAt(I);if(ue===47){if(!j){B=I+1;break}}else K===-1&&(j=!1,K=I+1),V>=0&&(ue===A.charCodeAt(V)?--V==-1&&(z=I):(V=-1,z=K))}return B===z?z=K:z===-1&&(z=S.length),S.slice(B,z)}for(I=S.length-1;I>=0;--I)if(S.charCodeAt(I)===47){if(!j){B=I+1;break}}else z===-1&&(j=!1,z=I+1);return z===-1?"":S.slice(B,z)},extname:function(S){w(S);for(var A=-1,I=0,B=-1,z=!0,j=0,V=S.length-1;V>=0;--V){var K=S.charCodeAt(V);if(K!==47)B===-1&&(z=!1,B=V+1),K===46?A===-1?A=V:j!==1&&(j=1):A!==-1&&(j=-1);else if(!z){I=V+1;break}}return A===-1||B===-1||j===0||j===1&&A===B-1&&A===I+1?"":S.slice(A,B)},format:function(S){if(S===null||typeof S!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof S);return(function(A,I){var B=I.dir||I.root,z=I.base||(I.name||"")+(I.ext||"");return B?B===I.root?B+z:B+"/"+z:z})(0,S)},parse:function(S){w(S);var A={root:"",dir:"",base:"",ext:"",name:""};if(S.length===0)return A;var I,B=S.charCodeAt(0),z=B===47;z?(A.root="/",I=1):I=0;for(var j=-1,V=0,K=-1,ue=!0,Y=S.length-1,ne=0;Y>=I;--Y)if((B=S.charCodeAt(Y))!==47)K===-1&&(ue=!1,K=Y+1),B===46?j===-1?j=Y:ne!==1&&(ne=1):j!==-1&&(ne=-1);else if(!ue){V=Y+1;break}return j===-1||K===-1||ne===0||ne===1&&j===K-1&&j===V+1?K!==-1&&(A.base=A.name=V===0&&z?S.slice(1,K):S.slice(V,K)):(V===0&&z?(A.name=S.slice(1,j),A.base=S.slice(1,K)):(A.name=S.slice(V,j),A.base=S.slice(V,K)),A.ext=S.slice(j,K)),V>0?A.dir=S.slice(0,V-1):z&&(A.dir="/"),A},sep:"/",delimiter:":",win32:null,posix:null};U.posix=U,$.exports=U}},e={};function r($){var w=e[$];if(w!==void 0)return w.exports;var D=e[$]={exports:{}};return t[$](D,D.exports,r),D.exports}r.d=($,w)=>{for(var D in w)r.o(w,D)&&!r.o($,D)&&Object.defineProperty($,D,{enumerable:!0,get:w[D]})},r.o=($,w)=>Object.prototype.hasOwnProperty.call($,w),r.r=$=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty($,Symbol.toStringTag,{value:"Module"}),Object.defineProperty($,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:()=>d,Utils:()=>oe}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let o=/^\w[\w\d+.-]*$/,s=/^\//,a=/^\/\//;function c($,w){if(!$.scheme&&w)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${$.authority}", path: "${$.path}", query: "${$.query}", fragment: "${$.fragment}"}`);if($.scheme&&!o.test($.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if($.path){if($.authority){if(!s.test($.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(a.test($.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}let l="",u="/",f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class d{constructor(w,D,U,S,A,I=!1){R(this,"scheme");R(this,"authority");R(this,"path");R(this,"query");R(this,"fragment");typeof w=="object"?(this.scheme=w.scheme||l,this.authority=w.authority||l,this.path=w.path||l,this.query=w.query||l,this.fragment=w.fragment||l):(this.scheme=(function(B,z){return B||z?B:"file"})(w,I),this.authority=D||l,this.path=(function(B,z){switch(B){case"https":case"http":case"file":z?z[0]!==u&&(z=u+z):z=u}return z})(this.scheme,U||l),this.query=S||l,this.fragment=A||l,c(this,I))}static isUri(w){return w instanceof d||!!w&&typeof w.authority=="string"&&typeof w.fragment=="string"&&typeof w.path=="string"&&typeof w.query=="string"&&typeof w.scheme=="string"&&typeof w.fsPath=="string"&&typeof w.with=="function"&&typeof w.toString=="function"}get fsPath(){return x(this,!1)}with(w){if(!w)return this;let{scheme:D,authority:U,path:S,query:A,fragment:I}=w;return D===void 0?D=this.scheme:D===null&&(D=l),U===void 0?U=this.authority:U===null&&(U=l),S===void 0?S=this.path:S===null&&(S=l),A===void 0?A=this.query:A===null&&(A=l),I===void 0?I=this.fragment:I===null&&(I=l),D===this.scheme&&U===this.authority&&S===this.path&&A===this.query&&I===this.fragment?this:new m(D,U,S,A,I)}static parse(w,D=!1){let U=f.exec(w);return U?new m(U[2]||l,O(U[4]||l),O(U[5]||l),O(U[7]||l),O(U[9]||l),D):new m(l,l,l,l,l)}static file(w){let D=l;if(i&&(w=w.replace(/\\/g,u)),w[0]===u&&w[1]===u){let U=w.indexOf(u,2);U===-1?(D=w.substring(2),w=u):(D=w.substring(2,U),w=w.substring(U)||u)}return new m("file",D,w,l,l)}static from(w){let D=new m(w.scheme,w.authority,w.path,w.query,w.fragment);return c(D,!0),D}toString(w=!1){return v(this,w)}toJSON(){return this}static revive(w){if(w){if(w instanceof d)return w;{let D=new m(w);return D._formatted=w.external,D._fsPath=w._sep===p?w.fsPath:null,D}}return w}}let p=i?1:void 0;class m extends d{constructor(){super(...arguments);R(this,"_formatted",null);R(this,"_fsPath",null)}get fsPath(){return this._fsPath||(this._fsPath=x(this,!1)),this._fsPath}toString(D=!1){return D?v(this,!0):(this._formatted||(this._formatted=v(this,!1)),this._formatted)}toJSON(){let D={$mid:1};return this._fsPath&&(D.fsPath=this._fsPath,D._sep=p),this._formatted&&(D.external=this._formatted),this.path&&(D.path=this.path),this.scheme&&(D.scheme=this.scheme),this.authority&&(D.authority=this.authority),this.query&&(D.query=this.query),this.fragment&&(D.fragment=this.fragment),D}}let y={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 E($,w,D){let U,S=-1;for(let A=0;A<$.length;A++){let I=$.charCodeAt(A);if(I>=97&&I<=122||I>=65&&I<=90||I>=48&&I<=57||I===45||I===46||I===95||I===126||w&&I===47||D&&I===91||D&&I===93||D&&I===58)S!==-1&&(U+=encodeURIComponent($.substring(S,A)),S=-1),U!==void 0&&(U+=$.charAt(A));else{U===void 0&&(U=$.substr(0,A));let B=y[I];B!==void 0?(S!==-1&&(U+=encodeURIComponent($.substring(S,A)),S=-1),U+=B):S===-1&&(S=A)}}return S!==-1&&(U+=encodeURIComponent($.substring(S))),U!==void 0?U:$}function _($){let w;for(let D=0;D<$.length;D++){let U=$.charCodeAt(D);U===35||U===63?(w===void 0&&(w=$.substr(0,D)),w+=y[U]):w!==void 0&&(w+=$[D])}return w!==void 0?w:$}function x($,w){let D;return D=$.authority&&$.path.length>1&&$.scheme==="file"?`//${$.authority}${$.path}`:$.path.charCodeAt(0)===47&&($.path.charCodeAt(1)>=65&&$.path.charCodeAt(1)<=90||$.path.charCodeAt(1)>=97&&$.path.charCodeAt(1)<=122)&&$.path.charCodeAt(2)===58?w?$.path.substr(1):$.path[1].toLowerCase()+$.path.substr(2):$.path,i&&(D=D.replace(/\//g,"\\")),D}function v($,w){let D=w?_:E,U="",{scheme:S,authority:A,path:I,query:B,fragment:z}=$;if(S&&(U+=S,U+=":"),(A||S==="file")&&(U+=u,U+=u),A){let j=A.indexOf("@");if(j!==-1){let V=A.substr(0,j);A=A.substr(j+1),j=V.lastIndexOf(":"),j===-1?U+=D(V,!1,!1):(U+=D(V.substr(0,j),!1,!1),U+=":",U+=D(V.substr(j+1),!1,!0)),U+="@"}A=A.toLowerCase(),j=A.lastIndexOf(":"),j===-1?U+=D(A,!1,!0):(U+=D(A.substr(0,j),!1,!0),U+=A.substr(j))}if(I){if(I.length>=3&&I.charCodeAt(0)===47&&I.charCodeAt(2)===58){let j=I.charCodeAt(1);j>=65&&j<=90&&(I=`/${String.fromCharCode(j+32)}:${I.substr(3)}`)}else if(I.length>=2&&I.charCodeAt(1)===58){let j=I.charCodeAt(0);j>=65&&j<=90&&(I=`${String.fromCharCode(j+32)}:${I.substr(2)}`)}U+=D(I,!0,!1)}return B&&(U+="?",U+=D(B,!1,!1)),z&&(U+="#",U+=w?z:E(z,!1,!1)),U}function k($){try{return decodeURIComponent($)}catch{return $.length>3?$.substr(0,3)+k($.substr(3)):$}}let F=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function O($){return $.match(F)?$.replace(F,(w=>k(w))):$}var L=r(975);let G=L.posix||L,H="/";var oe;(function($){$.joinPath=function(w,...D){return w.with({path:G.join(w.path,...D)})},$.resolvePath=function(w,...D){let U=w.path,S=!1;U[0]!==H&&(U=H+U,S=!0);let A=G.resolve(U,...D);return S&&A[0]===H&&!w.authority&&(A=A.substring(1)),w.with({path:A})},$.dirname=function(w){if(w.path.length===0||w.path===H)return w;let D=G.dirname(w.path);return D.length===1&&D.charCodeAt(0)===46&&(D=""),w.with({path:D})},$.basename=function(w){return G.basename(w.path)},$.extname=function(w){return G.extname(w.path)}})(oe||(oe={})),zA=n})();var{URI:ht,Utils:Qs}=zA;var Et;(function(t){t.basename=Qs.basename,t.dirname=Qs.dirname,t.extname=Qs.extname,t.joinPath=Qs.joinPath,t.resolvePath=Qs.resolvePath;let e=typeof process=="object"&&process?.platform==="win32";function r(s,a){return s?.toString()===a?.toString()}t.equals=r;function n(s,a){let c=typeof s=="string"?ht.parse(s).path:s.path,l=typeof a=="string"?ht.parse(a).path:a.path,u=c.split("/").filter(y=>y.length>0),f=l.split("/").filter(y=>y.length>0);if(e){let y=/^[A-Z]:$/;if(u[0]&&y.test(u[0])&&(u[0]=u[0].toLowerCase()),f[0]&&y.test(f[0])&&(f[0]=f[0].toLowerCase()),u[0]!==f[0])return l.substring(1)}let d=0;for(;d<u.length&&u[d]===f[d];d++);let p="../".repeat(u.length-d),m=f.slice(d).join("/");return p+m}t.relative=n;function i(s){return ht.parse(s.toString()).toString()}t.normalize=i;function o(s,a){let c=typeof s=="string"?s:s.path,l=typeof a=="string"?a:a.path;return l.charAt(l.length-1)==="/"&&(l=l.slice(0,-1)),c.charAt(c.length-1)==="/"&&(c=c.slice(0,-1)),l===c?!0:l.length<c.length||l.charAt(c.length)!=="/"?!1:l.startsWith(c)}t.contains=o})(Et||(Et={}));var Ad=class{constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return Et.normalize(e)}clear(){this.root.children.clear()}insert(e,r){let n=this.getNode(this.normalizeUri(e),!0);n.element=r}delete(e){let r=this.getNode(this.normalizeUri(e),!1);r?.parent&&r.parent.children.delete(r.name)}has(e){return this.getNode(this.normalizeUri(e),!1)?.element!==void 0}hasNode(e){return this.getNode(this.normalizeUri(e),!1)!==void 0}find(e){return this.getNode(this.normalizeUri(e),!1)?.element}findNode(e){let r=this.normalizeUri(e),n=this.getNode(r,!1);if(n)return{name:n.name,uri:Et.joinPath(ht.parse(r),n.name).toString(),element:n.element}}findChildren(e){let r=this.normalizeUri(e),n=this.getNode(r,!1);return n?Array.from(n.children.values()).map(i=>({name:i.name,uri:Et.joinPath(ht.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let r=this.getNode(Et.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){let n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(let o of n){let s=i.children.get(o);if(!s)if(r)s={name:o,children:new Map,parent:i},i.children.set(o,s);else return;i=s}return i}collectValues(e){let r=[];e.element&&r.push(e.element);for(let n of e.children.values())r.push(...this.collectValues(n));return r}};var ge;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(ge||(ge={}));var Id=class{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=Te.CancellationToken.None){let n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??ht.parse(e.uri),Te.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return Te.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){let i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){let i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{let i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){let i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{let i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let o;if(n)o={parseResult:e,uri:r,state:ge.Parsed,references:[],textDocument:n};else{let s=this.createTextDocumentGetter(r,i);o={parseResult:e,uri:r,state:ge.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=o,o}async update(e,r){let n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),o=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{let s=this.createTextDocumentGetter(e.uri,o);Object.defineProperty(e,"textDocument",{get:s})}return n!==o&&(e.parseResult=await this.parseAsync(e.uri,o,r),e.parseResult.value.$document=e),e.state=ge.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){let n=this.serviceRegistry,i;return()=>i??(i=nl.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},kd=class{constructor(e){this.documentTrie=new Ad,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return we(this.documentTrie.all())}addDocument(e){let r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){let r=e.toString();return this.documentTrie.find(r)}getDocuments(e){let r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{let i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,ge.Changed),n}deleteDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=ge.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){let r=e.toString(),n=this.documentTrie.findAll(r);for(let i of n)i.state=ge.Changed;return this.documentTrie.delete(r),n}};var ea=Symbol("RefResolving"),$x=class{constructor(e,r,n,i,o){this.resolver=e,this.node=r,this.property=n,this._ref=void 0,this.$refNode=i,this.$refText=o}get ref(){return this.resolver.resolveReference(this,this.node,this.property)}get $nodeDescription(){return this._nodeDescription}get error(){return Do(this._ref)?this._ref:void 0}},Fx=class{constructor(e,r,n,i,o){this.resolver=e,this.node=r,this.property=n,this._items=void 0,this.$refNode=i,this.$refText=o}get items(){return this.resolver.resolveMultiReference(this,this.node,this.property)}get error(){return this._linkingError}},Nd=class{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,this.referenceResolver={resolveReference:this.resolveReference.bind(this),resolveMultiReference:this.resolveMultiReference.bind(this)}}async link(e,r=Te.CancellationToken.None){if(this.profiler?.isActive("linking")){let n=this.profiler.createTask("linking",this.languageId);n.start();try{for(let i of Wt(e.parseResult.value))await pt(r),Hi(i).forEach(o=>{let s=`${i.$type}:${o.property}`;n.startSubTask(s);try{this.doLink(o,e)}finally{n.stopSubTask(s)}})}finally{n.stop()}}else for(let n of Wt(e.parseResult.value))await pt(r),Hi(n).forEach(i=>this.doLink(i,e))}doLink(e,r){let n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=ea;try{let i=this.getCandidate(e);if(Do(i))n._ref=i;else{n._nodeDescription=i;let o=this.loadAstNode(i);n._ref=o??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);let o=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${o}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=ea;try{let i=this.getCandidates(e),o=[];if(Do(i))n._linkingError=i;else for(let s of i){let a=this.loadAstNode(s);a&&o.push({ref:a,$nodeDescription:s})}n._items=o}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(let r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){return new $x(this.referenceResolver,e,r,n,i)}buildMultiReference(e,r,n,i){return new Fx(this.referenceResolver,e,r,n,i)}resolveReference(e,r,n){if(yt(e._ref))return e._ref;if(oE(e._nodeDescription)){let i=this.loadAstNode(e._nodeDescription);e._ref=i??this.createLinkingError({reference:e,container:r,property:n},e._nodeDescription)}else if(e._ref===void 0){e._ref=ea;let i=Ka(r).$document,o=this.getLinkedNode({reference:e,container:r,property:n});if(o.error&&i&&i.state<ge.ComputedScopes)return e._ref=void 0;e._ref=o.node??o.error,e._nodeDescription=o.descr,i?.references.push(e)}else e._ref===ea&&this.throwCyclicReferenceError(r,n,e.$refText);return yt(e._ref)?e._ref:void 0}resolveMultiReference(e,r,n){if(Array.isArray(e._items))return e._items;if(e._items===void 0){e._items=ea;let i=Ka(r).$document,o=this.getCandidates({reference:e,container:r,property:n}),s=[];if(Do(o))e._linkingError=o;else{for(let a of o){let c=this.loadAstNode(a);c&&s.push({ref:c,$nodeDescription:a})}s.length===0&&(e._linkingError=this.createLinkingError({reference:e,container:r,property:n}))}e._items=s,i?.references.push(e)}else e._items===ea&&this.throwCyclicReferenceError(r,n,e.$refText);return Array.isArray(e._items)?e._items:[]}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{let r=this.getCandidate(e);if(Do(r))return{error:r};let n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);let n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;let r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){let n=Ka(e.container).$document;n&&n.state<ge.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${n.uri}).`);let i=this.reflection.getReferenceType(e);return{info:e,message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:r}}};function C2(t){return typeof t.name=="string"}var Pd=class{getName(e){if(C2(e))return e.name}getNameNode(e){return dc(e.$cstNode,"name")}};var Cd=class{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=Wt(e.Grammar).some(r=>Kr(r)&&r.isMulti)}findDeclarations(e){if(e){let r=im(e),n=e.astNode;if(r&&n){let i=n[r.feature];if(Pt(i)||hr(i))return Ph(i);if(Array.isArray(i)){for(let o of i)if((Pt(o)||hr(o))&&o.$refNode&&o.$refNode.offset<=e.offset&&o.$refNode.end>=e.end)return Ph(o)}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||LE(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){let r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(let i of Hi(n))if(hr(i.reference)&&i.reference.items.some(o=>o.ref===e))return i.reference.items.map(o=>o.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;let r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let r=this.findDeclarations(e),n=[];for(let i of r){let o=this.nameProvider.getNameNode(i)??i.$cstNode;o&&n.push(o)}return n}findReferences(e,r){let n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(o=>Et.equals(o.sourceUri,r.documentUri))),n.push(...i),we(n)}getSelfReferences(e){let r=this.getSelfNodes(e),n=[];for(let i of r){let o=this.nameProvider.getNameNode(i);if(o){let s=Ft(i),a=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:s.uri,sourcePath:a,targetUri:s.uri,targetPath:a,segment:Wo(o),local:!0})}}return n}};var Or=class{constructor(e){if(this.map=new Map,e)for(let[r,n]of e)this.add(r,n)}get size(){return ou.sum(we(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{let n=this.map.get(e);if(n){let i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){let r=this.map.get(e);return r?we(r):su}has(e,r){if(r===void 0)return this.map.has(e);{let n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return we(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return we(this.map.keys())}values(){return we(this.map.values()).flat()}entriesGroupedByKey(){return we(this.map.entries())}},il=class{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}};var Od=class{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=Te.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=cu,i=Te.CancellationToken.None){let o=[];this.addExportedSymbol(e,o,r);for(let s of n(e))await pt(i),this.addExportedSymbol(s,o,r);return o}addExportedSymbol(e,r,n){let i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=Te.CancellationToken.None){let n=e.parseResult.value,i=new Or;for(let o of qr(n))await pt(r),this.addLocalSymbol(o,e,i);return i}addLocalSymbol(e,r,n){let i=e.$container;if(i){let o=this.nameProvider.getName(e);o&&n.add(i,this.descriptions.createDescription(e,o,r))}}};var ol=class{constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}};var Ld=class{constructor(e,r,n){this.elements=new Or,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let o=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(o,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?we(n).concat(this.outerScope.getElements(e)):we(n)}getAllElements(){let e=we(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}};var Dd=class{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}},Ux=class extends Dd{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){let n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},Md=class extends Dd{constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();let i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){let o=n();return i.set(r,o),o}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){let r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){let r=this.converter(e),n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}};var $d=class extends Ux{constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}};var Fd=class{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new $d(e.shared)}getScope(e){let r=[],n=this.reflection.getReferenceType(e),i=Ft(e.container).localSymbols;if(i){let s=e.container;do i.has(s)&&r.push(i.getStream(s).filter(a=>this.reflection.isSubtype(a.type,n))),s=s.$container;while(s)}let o=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)o=this.createScope(r[s],o);return o}createScope(e,r,n){return new ol(we(e),r,n)}createScopeForNodes(e,r,n){let i=we(e).map(o=>{let s=this.nameProvider.getName(o);if(s)return this.descriptions.createDescription(o,s)}).nonNullable();return new ol(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new Ld(this.indexManager.allElements(e)))}};function qA(t){return typeof t.$comment=="string"}function WA(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}var Ud=class{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){let n=r??{},i=r?.replacer,o=(a,c)=>this.replacer(a,c,n),s=i?(a,c)=>i(a,c,o):o;try{return this.currentDocument=Ft(e),JSON.stringify(e,s,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){let n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:o,comments:s,uriConverter:a}){if(!this.ignoreProperties.has(e))if(Pt(r)){let c=r.ref,l=n?r.$refText:void 0;if(c){let u=Ft(c),f="";this.currentDocument&&this.currentDocument!==u&&(a?f=a(u.uri,c):f=u.uri.toString());let d=this.astNodeLocator.getAstNodePath(c);return{$ref:`${f}#${d}`,$refText:l}}else return{$error:r.error?.message??"Could not resolve reference",$refText:l}}else if(hr(r)){let c=n?r.$refText:void 0,l=[];for(let u of r.items){let f=u.ref,d=Ft(u.ref),p="";this.currentDocument&&this.currentDocument!==d&&(a?p=a(d.uri,f):p=d.uri.toString());let m=this.astNodeLocator.getAstNodePath(f);l.push(`${p}#${m}`)}return{$refs:l,$refText:c}}else if(yt(r)){let c;if(o&&(c=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&c?.$textRegion&&(c.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(c??(c={...r}),c.$sourceText=r.$cstNode?.text),s){c??(c={...r});let l=this.commentProvider.getComment(r);l&&(c.$comment=l.replace(/\r/g,""))}return c??r}else return r}addAstNodeRegionWithAssignmentsTo(e){let r=n=>({offset:n.offset,end:n.end,length:n.length,range:n.range});if(e.$cstNode){let n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(o=>!o.startsWith("$")).forEach(o=>{let s=em(e.$cstNode,o).map(r);s.length!==0&&(i[o]=s)}),e}}linkNode(e,r,n,i,o,s){for(let[c,l]of Object.entries(e))if(Array.isArray(l))for(let u=0;u<l.length;u++){let f=l[u];WA(f)?l[u]=this.reviveReference(e,c,r,f,n):yt(f)&&this.linkNode(f,r,n,e,c,u)}else WA(l)?e[c]=this.reviveReference(e,c,r,l,n):yt(l)&&this.linkNode(l,r,n,e,c);let a=e;a.$container=i,a.$containerProperty=o,a.$containerIndex=s}reviveReference(e,r,n,i,o){let s=i.$refText,a=i.$error,c;if(i.$ref){let l=this.getRefNode(n,i.$ref,o.uriConverter);if(yt(l))return s||(s=this.nameProvider.getName(l)),{$refText:s??"",ref:l};a=l}else if(i.$refs){let l=[];for(let u of i.$refs){let f=this.getRefNode(n,u,o.uriConverter);yt(f)&&l.push({ref:f})}if(l.length===0)c={$refText:s??"",items:l},a??(a="Could not resolve multi-reference");else return{$refText:s??"",items:l}}if(a)return c??(c={$refText:s??"",ref:void 0}),c.error={info:{container:e,property:r,reference:c},message:a},c}getRefNode(e,r,n){try{let i=r.indexOf("#");if(i===0){let c=this.astNodeLocator.getAstNode(e,r.substring(1));return c||"Could not resolve path: "+r}if(i<0){let c=n?n(r):ht.parse(r),l=this.langiumDocuments.getDocument(c);return l?l.parseResult.value:"Could not find document for URI: "+r}let o=n?n(r.substring(0,i)):ht.parse(r.substring(0,i)),s=this.langiumDocuments.getDocument(o);if(!s)return"Could not find document for URI: "+r;if(i===r.length-1)return s.parseResult.value;let a=this.astNodeLocator.getAstNode(s.parseResult.value,r.substring(i+1));return a||"Could not resolve URI: "+r}catch(i){return String(i)}}};var Bd=class{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){let r=e.LanguageMetaData;for(let n of r.fileExtensions)this.fileExtensionMap.has(n)&&console.warn(`The file extension ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileExtensionMap.set(n,e);if(r.fileNames)for(let n of r.fileNames)this.fileNameMap.has(n)&&console.warn(`The file name ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileNameMap.set(n,e);this.languageIdMap.set(r.languageId,e)}getServices(e){if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");let r=this.textDocuments?.get(e)?.languageId;if(r!==void 0){let s=this.languageIdMap.get(r);if(s)return s}let n=Et.extname(e),i=Et.basename(e),o=this.fileNameMap.get(i)??this.fileExtensionMap.get(n);if(!o)throw r?new Error(`The service registry contains no services for the extension '${n}' for language '${r}'.`):new Error(`The service registry contains no services for the extension '${n}'.`);return o}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}};function ta(t){return{code:t}}var Bx;(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(Bx||(Bx={}));var Gd=class{constructor(e){this.entries=new Or,this.knownCategories=new Set(Bx.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,r=this,n="fast"){if(n==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");this.knownCategories.add(n);for(let[i,o]of Object.entries(e)){let s=o;if(Array.isArray(s))for(let a of s){let c={check:this.wrapValidationException(a,r),category:n};this.addEntry(i,c)}else if(typeof s=="function"){let a={check:this.wrapValidationException(s,r),category:n};this.addEntry(i,a)}else Qn(s)}}wrapValidationException(e,r){return async(n,i,o)=>{await this.handleException(()=>e.call(r,n,i,o),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(o){if(Ii(o))throw o;console.error(`${r}:`,o),o instanceof Error&&o.stack&&console.error(o.stack);let s=o instanceof Error?o.message:String(o);n("error",`${r}: ${s}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(let n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=we(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,o,s,a)=>{await this.handleException(()=>e.call(n,i,o,s,a),r,o,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}};var O2=Object.freeze({validateNode:!0,validateChildren:!0}),Xd=class{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,r={},n=Te.CancellationToken.None){let i=e.parseResult,o=[];if(await pt(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,o,r),r.stopAfterLexingErrors&&o.some(s=>s.data?.code===Lr.LexingError)||(this.processParsingErrors(i,o,r),r.stopAfterParsingErrors&&o.some(s=>s.data?.code===Lr.ParsingError))||(this.processLinkingErrors(e,o,r),r.stopAfterLinkingErrors&&o.some(s=>s.data?.code===Lr.LinkingError))))return o;try{o.push(...await this.validateAst(i.value,r,n))}catch(s){if(Ii(s))throw s;console.error("An error occurred during validation:",s)}return await pt(n),o}processLexingErrors(e,r,n){let i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(let o of i){let s=o.severity??"error",a={severity:Gx(s),range:{start:{line:o.line-1,character:o.column-1},end:{line:o.line-1,character:o.column+o.length-1}},message:o.message,data:D2(s),source:this.getSource()};r.push(a)}}processParsingErrors(e,r,n){for(let i of e.parserErrors){let o;if(isNaN(i.token.startOffset)){if("previousToken"in i){let s=i.previousToken;if(isNaN(s.startOffset)){let a={line:0,character:0};o={start:a,end:a}}else{let a={line:s.endLine-1,character:s.endColumn};o={start:a,end:a}}}}else o=sc(i.token);if(o){let s={severity:Gx("error"),range:o,message:i.message,data:ta(Lr.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(let i of e.references){let o=i.error;if(o){let s={node:o.info.container,range:i.$refNode?.range,property:o.info.property,index:o.info.index,data:{code:Lr.LinkingError,containerType:o.info.container.$type,property:o.info.property,refText:o.info.reference.$refText}};r.push(this.toDiagnostic("error",o.message,s))}}}async validateAst(e,r,n=Te.CancellationToken.None){let i=[],o=(s,a,c)=>{i.push(this.toDiagnostic(s,a,c))};return await this.validateAstBefore(e,r,o,n),await this.validateAstNodes(e,r,o,n),await this.validateAstAfter(e,r,o,n),i}async validateAstBefore(e,r,n,i=Te.CancellationToken.None){let o=this.validationRegistry.checksBefore;for(let s of o)await pt(i),await s(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=Te.CancellationToken.None){if(this.profiler?.isActive("validating")){let o=this.profiler.createTask("validating",this.languageId);o.start();try{let s=Wt(e).iterator();for(let a of s){o.startSubTask(a.$type);let c=this.validateSingleNodeOptions(a,r);if(c.validateNode)try{let l=this.validationRegistry.getChecks(a.$type,r.categories);for(let u of l)await u(a,n,i)}finally{o.stopSubTask(a.$type)}c.validateChildren||s.prune()}}finally{o.stop()}}else{let o=Wt(e).iterator();for(let s of o){await pt(i);let a=this.validateSingleNodeOptions(s,r);if(a.validateNode){let c=this.validationRegistry.getChecks(s.$type,r.categories);for(let l of c)await l(s,n,i)}a.validateChildren||o.prune()}}}validateSingleNodeOptions(e,r){return O2}async validateAstAfter(e,r,n,i=Te.CancellationToken.None){let o=this.validationRegistry.checksAfter;for(let s of o)await pt(i),await s(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:L2(n),severity:Gx(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};function L2(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=dc(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=rm(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function Gx(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function D2(t){switch(t){case"error":return ta(Lr.LexingError);case"warning":return ta(Lr.LexingWarning);case"info":return ta(Lr.LexingInfo);case"hint":return ta(Lr.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var Lr;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(Lr||(Lr={}));var Hd=class{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){let i=n??Ft(e);r??(r=this.nameProvider.getName(e));let o=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${o} has no name.`);let s,a=()=>s??(s=Wo(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:r,get nameSegment(){return a()},selectionSegment:Wo(e.$cstNode),type:e.$type,documentUri:i.uri,path:o}}},jd=class{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=Te.CancellationToken.None){let n=[],i=e.parseResult.value;for(let o of Wt(i))await pt(r),Hi(o).forEach(s=>{s.reference.error||n.push(...this.createInfoDescriptions(s))});return n}createInfoDescriptions(e){let r=e.reference;if(r.error||!r.$refNode)return[];let n=[];Pt(r)&&r.$nodeDescription?n=[r.$nodeDescription]:hr(r)&&(n=r.items.map(c=>c.$nodeDescription).filter(c=>c!==void 0));let i=Ft(e.container).uri,o=this.nodeLocator.getAstNodePath(e.container),s=[],a=Wo(r.$refNode);for(let c of n)s.push({sourceUri:i,sourcePath:o,targetUri:c.documentUri,targetPath:c.path,segment:a,local:Et.equals(c.documentUri,i)});return s}};var zd=class{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,o)=>{if(!i||o.length===0)return i;let s=o.indexOf(this.indexSeparator);if(s>0){let a=o.substring(0,s),c=parseInt(o.substring(s+1));return i[a]?.[c]}return i[o]},e)}};var Xx=Rh(wd(),1);var Wd=class{constructor(e){this._ready=new Ai,this.onConfigurationSectionUpdateEmitter=new Xx.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){let r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,o)=>{this.updateSectionConfiguration(i.section,n[o])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;let n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}};var na=Rh(wd(),1);var ra;(function(t){function e(r){return{dispose:async()=>await r()}}t.create=e})(ra||(ra={}));var qd=class{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Or,this.documentPhaseListeners=new Or,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=ge.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=Te.CancellationToken.None){for(let i of e){let o=i.uri.toString();if(i.state===ge.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,ge.IndexedReferences);else if(typeof r.validation=="object"){let s=this.findMissingValidationCategories(i,r);s.length>0&&(this.buildState.set(o,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(o)?.result}),i.state=ge.IndexedReferences)}}else this.buildState.delete(o)}this.currentState=ge.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=Te.CancellationToken.None){this.currentState=ge.Changed;let i=[];for(let c of r){let l=this.langiumDocuments.deleteDocuments(c);for(let u of l)i.push(u.uri),this.cleanUpDeleted(u)}let o=(await Promise.all(e.map(c=>this.findChangedUris(c)))).flat();for(let c of o){let l=this.langiumDocuments.getDocument(c);l===void 0&&(l=this.langiumDocumentFactory.fromModel({$type:"INVALID"},c),l.state=ge.Changed,this.langiumDocuments.addDocument(l)),this.resetToState(l,ge.Changed)}let s=we(o).concat(i).map(c=>c.toString()).toSet();this.langiumDocuments.all.filter(c=>!s.has(c.uri.toString())&&this.shouldRelink(c,s)).forEach(c=>this.resetToState(c,ge.ComputedScopes)),await this.emitUpdate(o,i),await pt(n);let a=this.sortDocuments(this.langiumDocuments.all.filter(c=>c.state<ge.Validated||!this.buildState.get(c.uri.toString())?.completed||this.resultsAreIncomplete(c,this.updateBuildOptions)).toArray());await this.buildDocuments(a,this.updateBuildOptions,n)}resultsAreIncomplete(e,r){return this.findMissingValidationCategories(e,r).length>=1}findMissingValidationCategories(e,r){let n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),o=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,s=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return we(s).filter(a=>!o.has(a)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{let n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r<n;){for(;r<e.length&&this.hasTextDocument(e[r]);)r++;for(;n>=0&&!this.hasTextDocument(e[n]);)n--;r<n&&([e[r],e[n]]=[e[n],e[r]])}return e}hasTextDocument(e){return!!this.textDocuments?.get(e.uri)}shouldRelink(e,r){return e.references.some(n=>n.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),ra.create(()=>{let r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case ge.Changed:case ge.Parsed:this.indexManager.removeContent(e.uri);case ge.IndexedContent:e.localSymbols=void 0;case ge.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case ge.Linked:this.indexManager.removeReferences(e.uri);case ge.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case ge.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=ge.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,ge.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,ge.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,ge.ComputedScopes,n,async s=>{let a=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await a.collectLocalSymbols(s,n)});let i=e.filter(s=>this.shouldLink(s));await this.runCancelable(i,ge.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(i,ge.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));let o=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(o,ge.Validated,n,async s=>{await this.validate(s,n),this.markAsCompleted(s)})}markAsCompleted(e){let r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(let n of e){let i=n.uri.toString(),o=this.buildState.get(i);(!o||o.completed)&&this.buildState.set(i,{completed:!1,options:r,result:o?.result})}}async runCancelable(e,r,n,i){for(let s of e)s.state<r&&(await pt(n),await i(s),s.state=r,await this.notifyDocumentPhase(s,r,n));let o=e.filter(s=>s.state===r);await this.notifyBuildPhase(o,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),ra.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),ra.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=Te.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){let i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(go);if(this.currentState>=e&&e>i.state)return Promise.reject(new na.ResponseError(na.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${ge[i.state]}, requiring ${ge[e]}, but workspace state is already ${ge[this.currentState]}. Returning undefined.`))}else return Promise.reject(new na.ResponseError(na.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((o,s)=>{let a=this.onDocumentPhase(e,l=>{Et.equals(l.uri,r)&&(a.dispose(),c.dispose(),o(l.uri))}),c=n.onCancellationRequested(()=>{a.dispose(),c.dispose(),s(go)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(go):new Promise((n,i)=>{let o=this.onBuildPhase(e,()=>{o.dispose(),s.dispose(),n()}),s=r.onCancellationRequested(()=>{o.dispose(),s.dispose(),i(go)})})}async notifyDocumentPhase(e,r,n){let o=this.documentPhaseListeners.get(r).slice();for(let s of o)try{await pt(n),await s(e,n)}catch(a){if(!Ii(a))throw a}}async notifyBuildPhase(e,r,n){if(e.length===0)return;let o=this.buildPhaseListeners.get(r).slice();for(let s of o)await pt(n),await s(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){let n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),o=typeof i.validation=="object"?{...i.validation}:{};o.categories=this.findMissingValidationCategories(e,i);let s=await n.validateDocument(e,o,r);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;let a=this.buildState.get(e.uri.toString());a&&(a.result??(a.result={}),a.result.validationChecks?a.result.validationChecks=we(a.result.validationChecks).concat(o.categories).distinct().toArray():a.result.validationChecks=[...o.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}};var Vd=class{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Md,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let n=Ft(e).uri,i=[];return this.referenceIndex.forEach(o=>{o.forEach(s=>{Et.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),we(i)}allElements(e,r){let n=we(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(o=>this.astReflection.isSubtype(o.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){let r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=Te.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),o=e.uri.toString();this.symbolIndex.set(o,i),this.symbolByTypeIndex.clear(o)}async updateReferences(e,r=Te.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){let n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}};var Yd=class{constructor(e){this.initialBuildOptions={},this._ready=new Ai,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=Te.CancellationToken.None){let n=await this.performStartup(e);await pt(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){let r=[],n=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};await this.loadAdditionalDocuments(e,n);let i=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,i)));let o=we(i).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(o,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{let i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return ht.parse(e.uri)}async traverseFolder(e,r){try{let n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){let r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){let r=Et.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}};var Kd=class{buildUnexpectedCharactersMessage(e,r,n,i,o){return rs.buildUnexpectedCharactersMessage(e,r,n,i,o)}buildUnableToPopLexerModeMessage(e){return rs.buildUnableToPopLexerModeMessage(e)}},Hx={mode:"full"},ia=class{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);let n=VA(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new ot(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=Hx){let n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(VA(e))return e;let r=YA(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}};function jx(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function YA(t){return t&&"modes"in t&&"defaultMode"in t}function VA(t){return!jx(t)&&!YA(t)}ks();function JA(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=Ie.create(0,0));let o=eI(t),s=qx(n),a=$2({lines:o,position:i,options:s});return X2({index:0,tokens:a,position:i})}function QA(t,e){let r=qx(e),n=eI(t);if(n.length===0)return!1;let i=n[0],o=n[n.length-1],s=r.start,a=r.end;return!!s?.exec(i)&&!!a?.exec(o)}function eI(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split($E)}var KA=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,M2=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function $2(t){let e=[],r=t.position.line,n=t.position.character;for(let i=0;i<t.lines.length;i++){let o=i===0,s=i===t.lines.length-1,a=t.lines[i],c=0;if(o&&t.options.start){let u=t.options.start?.exec(a);u&&(c=u.index+u[0].length)}else{let u=t.options.line?.exec(a);u&&(c=u.index+u[0].length)}if(s){let u=t.options.end?.exec(a);u&&(a=a.substring(0,u.index))}if(a=a.substring(0,G2(a)),Wx(a,c)>=a.length){if(e.length>0){let u=Ie.create(r,n);e.push({type:"break",content:"",range:xe.create(u,u)})}}else{KA.lastIndex=c;let u=KA.exec(a);if(u){let f=u[0],d=u[1],p=Ie.create(r,n+c),m=Ie.create(r,n+c+f.length);e.push({type:"tag",content:d,range:xe.create(p,m)}),c+=f.length,c=Wx(a,c)}if(c<a.length){let f=a.substring(c),d=Array.from(f.matchAll(M2));e.push(...F2(d,f,r,n+c))}}r++,n=0}return e.length>0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function F2(t,e,r,n){let i=[];if(t.length===0){let o=Ie.create(r,n),s=Ie.create(r,n+e.length);i.push({type:"text",content:e,range:xe.create(o,s)})}else{let o=0;for(let a of t){let c=a.index,l=e.substring(o,c);l.length>0&&i.push({type:"text",content:e.substring(o,c),range:xe.create(Ie.create(r,o+n),Ie.create(r,c+n))});let u=l.length+1,f=a[1];if(i.push({type:"inline-tag",content:f,range:xe.create(Ie.create(r,o+u+n),Ie.create(r,o+u+f.length+n))}),u+=f.length,a.length===4){u+=a[2].length;let d=a[3];i.push({type:"text",content:d,range:xe.create(Ie.create(r,o+u+n),Ie.create(r,o+u+d.length+n))})}else i.push({type:"text",content:"",range:xe.create(Ie.create(r,o+u+n),Ie.create(r,o+u+n))});o=c+a[0].length}let s=e.substring(o);s.length>0&&i.push({type:"text",content:s,range:xe.create(Ie.create(r,o+n),Ie.create(r,o+n+s.length))})}return i}var U2=/\S/,B2=/\s*$/;function Wx(t,e){let r=t.substring(e).match(U2);return r?e+r.index:t.length}function G2(t){let e=t.match(B2);if(e&&typeof e.index=="number")return e.index}function X2(t){let e=Ie.create(t.position.line,t.position.character);if(t.tokens.length===0)return new Zd([],xe.create(e,e));let r=[];for(;t.index<t.tokens.length;){let o=H2(t,r[r.length-1]);o&&r.push(o)}let n=r[0]?.range.start??e,i=r[r.length-1]?.range.end??e;return new Zd(r,xe.create(n,i))}function H2(t,e){let r=t.tokens[t.index];if(r.type==="tag")return rI(t,!1);if(r.type==="text"||r.type==="inline-tag")return tI(t);j2(r,e),t.index++}function j2(t,e){if(e){let r=new Jd("",t.range);"inlines"in e?e.inlines.push(r):e.content.inlines.push(r)}}function tI(t){let e=t.tokens[t.index],r=e,n=e,i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(z2(t)),n=e,e=t.tokens[t.index];return new al(i,xe.create(r.range.start,n.range.end))}function z2(t){return t.tokens[t.index].type==="inline-tag"?rI(t,!0):nI(t)}function rI(t,e){let r=t.tokens[t.index++],n=r.content.substring(1);if(t.tokens[t.index]?.type==="text")if(e){let o=nI(t);return new sl(n,new al([o],o.range),e,xe.create(r.range.start,o.range.end))}else{let o=tI(t);return new sl(n,o,e,xe.create(r.range.start,o.range.end))}else{let o=r.range;return new sl(n,new al([],o),e,o)}}function nI(t){let e=t.tokens[t.index++];return new Jd(e.content,e.range)}function qx(t){if(!t)return qx({start:"/**",end:"*/",line:"*"});let{start:e,end:r,line:n}=t;return{start:zx(e,!0),end:zx(r,!1),line:zx(n,!0)}}function zx(t,e){if(typeof t=="string"||typeof t=="object"){let r=typeof t=="string"?Qi(t):t.source;return e?new RegExp(`^\\s*${r}`):new RegExp(`\\s*${r}\\s*$`)}else return t}var Zd=class{constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let r of this.elements)if(e.length===0)e=r.toString();else{let n=r.toString();e+=ZA(e)+n}return e.trim()}toMarkdown(e){let r="";for(let n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{let i=n.toMarkdown(e);r+=ZA(r)+i}return r.trim()}},sl=class{constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`,r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e}
129
+ ${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let r=this.content.toMarkdown(e);if(this.inline){let o=W2(this.name,r,e??{});if(typeof o=="string")return o}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} \u2014 ${r}`:this.content.inlines.length>1&&(i=`${i}
130
+ ${r}`),this.inline?`{${i}}`:i}};function W2(t,e,r){if(t==="linkplain"||t==="linkcode"||t==="link"){let n=e.indexOf(" "),i=e;if(n>0){let s=Wx(e,n);i=e.substring(s),e=e.substring(0,n)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(i=`\`${i}\``),r.renderLink?.(e,i)??q2(e,i)}}function q2(t,e){try{return ht.parse(t,!0),`[${e}](${t})`}catch{return t}}var al=class{constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;r<this.inlines.length;r++){let n=this.inlines[r],i=this.inlines[r+1];e+=n.toString(),i&&i.range.start.line>n.range.start.line&&(e+=`
155
131
  `)}return e}toMarkdown(e){let r="";for(let n=0;n<this.inlines.length;n++){let i=this.inlines[n],o=this.inlines[n+1];r+=i.toMarkdown(e),o&&o.range.start.line>i.range.start.line&&(r+=`
156
- `)}return r}},eh=class{constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}};function QS(t){return t.endsWith(`
132
+ `)}return r}},Jd=class{constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}};function ZA(t){return t.endsWith(`
157
133
  `)?`
158
134
  `:`
159
135
 
160
- `}var fu=class{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&e_(r))return QT(r).toMarkdown({renderLink:(i,o)=>this.documentationLinkRenderer(e,i,o),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,r,n){let i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){let o=i.nameSegment.range.start.line+1,s=i.nameSegment.range.start.character+1,a=i.documentUri.with({fragment:`L${o},${s}`});return`[${n}](${a.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){let i=Mt(e).localSymbols;if(!i)return;let o=e;do{let a=i.getStream(o).find(c=>c.name===r);if(a)return a;o=o.$container}while(o)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}};var du=class{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return wx(e)?e.$comment:Zm(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}};var pu=class{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}},r_=class{constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length<this.threadCount;){let e=this.createWorker();e.onReady(()=>{if(this.queue.length>0){let r=this.queue.shift();r&&(e.lock(),r.resolve(e))}}),this.workerPool.push(e)}}async parse(e,r){let n=await this.acquireParserWorker(r),i=new Zt,o,s=r.onCancellationRequested(()=>{o=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(a=>{let c=this.hydrator.hydrate(a);i.resolve(c)}).catch(a=>{i.reject(a)}).finally(()=>{s.dispose(),clearTimeout(o)}),i.promise}terminateWorker(e){e.terminate();let r=this.workerPool.indexOf(e);r>=0&&this.workerPool.splice(r,1)}async acquireParserWorker(e){this.initializeWorkers();for(let n of this.workerPool)if(n.ready)return n.lock(),n;let r=new Zt;return e.onCancellationRequested(()=>{let n=this.queue.indexOf(r);n>=0&&this.queue.splice(n,1),r.reject(wr)}),this.queue.push(r),r.promise}},n_=class{get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,r,n,i){this.onReadyEmitter=new nt.Emitter,this.deferred=new Zt,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=i,r(o=>{let s=o;this.deferred.resolve(s),this.unlock()}),n(o=>{this.deferred.reject(o),this.unlock()})}terminate(){this.deferred.reject(wr),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 Zt,this.sendMessage(e),this.deferred.promise}};var hu=class{constructor(){this.previousTokenSource=new ie.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let r=fp();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=ie.CancellationToken.None){let i=new Zt,o={action:r,deferred:i,cancellationToken:n};return e.push(o),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{let o=await Promise.resolve().then(()=>r(i));n.resolve(o)}catch(o){hn(o)?n.resolve(void 0):n.reject(o)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}};var mu=class{constructor(e){this.grammarElementIdMap=new Bo,this.tokenTypeIdMap=new Bo,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let r=new Map,n=new Map;for(let i of zt(e))r.set(i,{});if(e.$cstNode)for(let i of go(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(let[i,o]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(o)){let s=[];n[i]=s;for(let a of o)dt(a)?s.push(this.dehydrateAstNode(a,r)):At(a)?s.push(this.dehydrateReference(a,r)):s.push(a)}else dt(o)?n[i]=this.dehydrateAstNode(o,r):At(o)?n[i]=this.dehydrateReference(o,r):o!==void 0&&(n[i]=o);return n}dehydrateReference(e,r){let n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){let n=r.cstNodes.get(e);return Cc(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),Dr(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):si(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){let r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){let r=new Map,n=new Map;for(let o of zt(e))r.set(o,{});let i;if(e.$cstNode)for(let o of go(e.$cstNode)){let s;"fullText"in o?(s=new fa(o.fullText),i=s):"content"in o?s=new Do:"tokenType"in o&&(s=this.hydrateCstLeafNode(o)),s&&(n.set(o,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(let[i,o]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(o)){let s=[];n[i]=s;for(let a of o)dt(a)?s.push(this.setParent(this.hydrateAstNode(a,r),n)):At(a)?s.push(this.hydrateReference(a,n,i,r)):s.push(a)}else dt(o)?n[i]=this.setParent(this.hydrateAstNode(o,r),n):At(o)?n[i]=this.hydrateReference(o,n,i,r):o!==void 0&&(n[i]=o);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){let i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),Dr(i))for(let o of e.content){let s=this.hydrateCstNode(o,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){let r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,o=e.startLine,s=e.startColumn,a=e.endLine,c=e.endColumn,l=e.hidden;return new Lo(n,i,{start:{line:o,character:s},end:{line:a,character:c}},r,l)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let r of zt(this.grammar))Gc(r)&&this.grammarElementIdMap.set(r,e++)}};function gu(t){return{documentation:{CommentProvider:e=>new du(e),DocumentationProvider:e=>new fu(e)},parser:{AsyncParser:e=>new pu(e),GrammarConfig:e=>gg(e),LangiumParser:e=>fx(e),CompletionParser:e=>ux(e),ValueConverter:()=>new Fo,TokenBuilder:()=>new Mo,Lexer:e=>new qo(e),ParserErrorMessageProvider:()=>new da,LexerErrorMessageProvider:()=>new cu},workspace:{AstNodeLocator:()=>new Vl,AstNodeDescriptionProvider:e=>new ql(e),ReferenceDescriptionProvider:e=>new Wl(e)},references:{Linker:e=>new Dl(e),NameProvider:()=>new $l,ScopeProvider:e=>new Gl(e),ScopeComputation:e=>new Fl(e),References:e=>new Ml(e)},serializer:{Hydrator:e=>new mu(e),JsonSerializer:e=>new Xl(e)},validation:{DocumentValidator:e=>new jl(e),ValidationRegistry:e=>new zl(e)},shared:()=>t.shared}}function yu(t){return{ServiceRegistry:e=>new Hl(e),workspace:{LangiumDocuments:e=>new Ll(e),LangiumDocumentFactory:e=>new Ol(e),DocumentBuilder:e=>new ou(e),IndexManager:e=>new su(e),WorkspaceManager:e=>new au(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new hu,ConfigurationProvider:e=>new Yl(e)},profilers:{}}}var i_;(function(t){t.merge=(e,r)=>xu(xu({},e),r)})(i_||(i_={}));function Wo(t,e,r,n,i,o,s,a,c){let l=[t,e,r,n,i,o,s,a,c].reduce(xu,{});return ck(l)}var sk=Symbol("isProxy");function ak(t){if(t&&t[sk])for(let e of Object.values(t))ak(e);return t}function ck(t,e){let r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(n,i)=>i===sk?!0:ok(n,i,t,e||r),getOwnPropertyDescriptor:(n,i)=>(ok(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),has:(n,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return r}var ik=Symbol();function ok(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===ik)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){let i=r[e];t[e]=ik;try{t[e]=typeof i=="function"?i(n):ck(i,n)}catch(o){throw t[e]=o instanceof Error?o:void 0,o}return t[e]}else return}function xu(t,e){if(e){for(let[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){let i=t[r];typeof i=="object"&&i!==null?t[r]=xu(i,n):t[r]=xu({},n)}else t[r]=n}return t}var o_={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]},Vo;(function(t){t.REGULAR="indentation-sensitive",t.IGNORE_INDENTATION="ignore-indentation"})(Vo||(Vo={}));var Ga=class extends Mo{constructor(e=o_){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...o_,...e},this.indentTokenType=xi({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=xi({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,r){let n=super.buildTokens(e,r);if(!Jp(n))throw new Error("Invalid tokens built by default builder");let{indentTokenName:i,dedentTokenName:o,whitespaceTokenName:s,ignoreIndentationDelimiters:a}=this.options,c,l,u,f=[];for(let d of n){for(let[p,m]of a)d.name===p?d.PUSH_MODE=Vo.IGNORE_INDENTATION:d.name===m&&(d.POP_MODE=!0);d.name===o?c=d:d.name===i?l=d:d.name===s?u=d:f.push(d)}if(!c||!l||!u)throw new Error("Some indentation/whitespace tokens not found!");return a.length>0?{modes:{[Vo.REGULAR]:[c,l,...f,u],[Vo.IGNORE_INDENTATION]:[...f,u]},defaultMode:Vo.REGULAR}:[c,l,u,...f]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,r){return r===0||`\r
161
- `.includes(e[r-1])}matchWhitespace(e,r,n,i){this.whitespaceRegExp.lastIndex=r;let o=this.whitespaceRegExp.exec(e);return{currIndentLevel:o?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:o}}createIndentationTokenInstance(e,r,n,i){let o=this.getLineNumber(r,i);return Mn(e,n,i,i+n.length,o,o,1,n.length)}getLineNumber(e,r){return e.substring(0,r).split(/\r\n|\r|\n/).length}indentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:o,prevIndentLevel:s,match:a}=this.matchWhitespace(e,r,n,i);return o<=s?null:(this.indentationStack.push(o),a)}dedentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:o,prevIndentLevel:s,match:a}=this.matchWhitespace(e,r,n,i);if(o>=s)return null;let c=this.indentationStack.lastIndexOf(o);if(c===-1)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${o} at offset: ${r}. Current indentation stack: ${this.indentationStack}`,offset:r,length:a?.[0]?.length??0,line:this.getLineNumber(e,r),column:1}),null;let l=this.indentationStack.length-c-1,u=e.substring(0,r).match(/[\r\n]+$/)?.[0].length??1;for(let f=0;f<l;f++){let d=this.createIndentationTokenInstance(this.dedentTokenType,e,"",r-(u-1));n.push(d),this.indentationStack.pop()}return null}buildTerminalToken(e){let r=super.buildTerminalToken(e),{indentTokenName:n,dedentTokenName:i,whitespaceTokenName:o}=this.options;return r.name===n?this.indentTokenType:r.name===i?this.dedentTokenType:r.name===o?xi({name:o,pattern:this.whitespaceRegExp,group:ct.SKIPPED}):r}flushRemainingDedents(e){let r=[];for(;this.indentationStack.length>1;)r.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],r}},Tu=class extends qo{constructor(e){if(super(e),e.parser.TokenBuilder instanceof Ga)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,r=Zp){let n=super.tokenize(e),i=n.report;r?.mode==="full"&&n.tokens.push(...i.remainingDedents),i.remainingDedents=[];let{indentTokenType:o,dedentTokenType:s}=this.indentationTokenBuilder,a=o.tokenTypeIdx,c=s.tokenTypeIdx,l=[],u=n.tokens.length-1;for(let f=0;f<u;f++){let d=n.tokens[f],p=n.tokens[f+1];if(d.tokenTypeIdx===a&&p.tokenTypeIdx===c){f++;continue}l.push(d)}return u>=0&&l.push(n.tokens[u]),n.tokens=l,n}};var Pe={};rn(Pe,{AstUtils:()=>yf,BiMap:()=>Bo,Cancellation:()=>ie,ContextCache:()=>Go,CstUtils:()=>Mf,DONE_RESULT:()=>$t,Deferred:()=>Zt,Disposable:()=>Xi,DisposableCache:()=>Ta,DocumentCache:()=>pp,EMPTY_STREAM:()=>ai,ErrorWithLocation:()=>xo,GrammarUtils:()=>ks,MultiMap:()=>Ut,OperationCancelled:()=>wr,Reduction:()=>hs,RegExpUtils:()=>Bf,SimpleCache:()=>Bl,StreamImpl:()=>ur,TreeStreamImpl:()=>nn,URI:()=>ht,UriTrie:()=>ya,UriUtils:()=>Et,WorkspaceCache:()=>_a,assertCondition:()=>v0,assertUnreachable:()=>an,delayNextTick:()=>_x,interruptAndCheck:()=>pt,isOperationCancelled:()=>hn,loadGrammarFromJson:()=>rh,setInterruptionPeriod:()=>gb,startCancelableOperation:()=>fp,stream:()=>xe});Ie(Pe,nt);var th=class{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[]}},_u={fileSystemProvider:()=>new th};var VU={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},YU={AstReflection:()=>new Rs};function KU(){let t=Wo(yu(_u),YU),e=Wo(gu({shared:t}),VU);return t.ServiceRegistry.register(e),e}function rh(t){let e=KU(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,ht.parse(`memory:/${r.name??"grammar"}.langium`)),r}Ie(ut,Pe);var s_=class{constructor(e){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=e??new Set(this.allCategories),this.records=new Ut}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(r=>this.activeCategories.add(r)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(r=>this.activeCategories.delete(r)):this.activeCategories.clear()}createTask(e,r){if(!this.isActive(e))throw new Error(`Category "${e}" is not active.`);return console.log(`Creating profiling task for '${e}.${r}'.`),new nh(n=>this.records.add(e,this.dumpRecord(e,n)),r)}dumpRecord(e,r){console.info(`Task ${e}.${r.identifier} executed in ${r.duration.toFixed(2)}ms and ended at ${r.date.toISOString()}`);let n=[];for(let s of r.entries.keys()){let a=r.entries.get(s),c=a.reduce((l,u)=>l+u);n.push({name:`${r.identifier}.${s}`,count:a.length,duration:c})}let i=r.duration-n.map(s=>s.duration).reduce((s,a)=>s+a,0);n.push({name:r.identifier,count:1,duration:i}),n.sort((s,a)=>a.duration-s.duration);function o(s){return Math.round(100*s)/100}return console.table(n.map(s=>({Element:s.name,Count:s.count,"Self %":o(100*s.duration/r.duration),"Time (ms)":o(s.duration)}))),r}getRecords(...e){return e.length===0?this.records.values():this.records.entries().filter(r=>e.some(n=>n===r[0])).flatMap(r=>r[1])}},nh=class{constructor(e,r){this.stack=[],this.entries=new Ut,this.addRecord=e,this.identifier=r}start(){if(this.startTime!==void 0)throw new Error(`Task "${this.identifier}" is already started.`);this.startTime=performance.now()}stop(){if(this.startTime===void 0)throw new Error(`Task "${this.identifier}" was not started.`);if(this.stack.length!==0)throw new Error(`Task "${this.identifier}" cannot be stopped before sub-task(s): ${this.stack.map(r=>r.id).join(", ")}.`);let e={identifier:this.identifier,date:new Date,duration:performance.now()-this.startTime,entries:this.entries};this.addRecord(e),this.startTime=void 0,this.entries.clear()}startSubTask(e){this.stack.push({id:e,start:performance.now(),content:0})}stopSubTask(e){let r=this.stack.pop();if(!r)throw new Error(`Task "${this.identifier}.${e}" was not started.`);if(r.id!==e)throw new Error(`Sub-Task "${r.id}" is not already stopped.`);let n=performance.now()-r.start;this.stack.at(-1)!==void 0&&(this.stack[this.stack.length-1].content+=n);let i=n-r.content;this.entries.add(e,i)}};var Ha={$type:"AnchorDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function bu(t){return St.isInstance(t,Ha.$type)}var a_={$type:"BlockProperty",key:"key",value:"value"};var d_={$type:"CalendarBlock",properties:"properties"};function lh(t){return St.isInstance(t,d_.$type)}var Xa={$type:"ConfigEntry"};var ch={$type:"DefaultDeclaration",entityType:"entityType",properties:"properties"};function Hi(t){return St.isInstance(t,ch.$type)}var p_={$type:"DescriptionDirective",text:"text"};function g_(t){return St.isInstance(t,p_.$type)}var ih={$type:"EntityProperty",key:"key",value:"value",values:"values"};var za={$type:"FootnoteDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Au(t){return St.isInstance(t,za.$type)}var ja={$type:"GroupBlock",content:"content",name:"name",properties:"properties",title:"title"};function qr(t){return St.isInstance(t,ja.$type)}var Eu={$type:"GroupContent"};var c_={$type:"IncludeDeclaration",options:"options",path:"path"};var l_={$type:"IncludeOption",key:"key",value:"value"};var qa={$type:"ItemDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function gr(t){return St.isInstance(t,qa.$type)}var Wa={$type:"LabelDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Iu(t){return St.isInstance(t,Wa.$type)}var Va={$type:"MilestoneDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Su(t){return St.isInstance(t,Va.$type)}var u_={$type:"NowlineDirective",properties:"properties",version:"version"};var Yo={$type:"NowlineFile",configEntries:"configEntries",directive:"directive",hasConfig:"hasConfig",includes:"includes",roadmapDecl:"roadmapDecl",roadmapEntries:"roadmapEntries"};var Ya={$type:"ParallelBlock",content:"content",name:"name",properties:"properties",title:"title"};function Wr(t){return St.isInstance(t,Ya.$type)}var oh={$type:"ParallelContent"};var Ka={$type:"PersonDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function jn(t){return St.isInstance(t,Ka.$type)}var h_={$type:"PersonMemberRef",ref:"ref"};function lk(t){return St.isInstance(t,h_.$type)}var sh={$type:"RoadmapDeclaration",name:"name",properties:"properties",title:"title"};var Tn={$type:"RoadmapEntry"};var m_={$type:"ScaleBlock",properties:"properties"};function uk(t){return St.isInstance(t,m_.$type)}var Za={$type:"SizeDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Ko(t){return St.isInstance(t,Za.$type)}var Ja={$type:"StatusDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function rc(t){return St.isInstance(t,Ja.$type)}var wu={$type:"StyleDeclaration",name:"name",properties:"properties",title:"title"};function ku(t){return St.isInstance(t,wu.$type)}var f_={$type:"StyleProperty",key:"key",value:"value"};var vu={$type:"SwimlaneContent"};var Qa={$type:"SwimlaneDeclaration",content:"content",name:"name",properties:"properties",title:"title"};function Ir(t){return St.isInstance(t,Qa.$type)}var ec={$type:"SymbolDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Nu(t){return St.isInstance(t,ec.$type)}var ah={$type:"TeamContent"};var tc={$type:"TeamDeclaration",content:"content",name:"name",properties:"properties",title:"title"};function Sr(t){return St.isInstance(t,tc.$type)}var Ru=class extends ro{constructor(){super(...arguments);de(this,"types",{AnchorDeclaration:{name:Ha.$type,properties:{description:{name:Ha.description},name:{name:Ha.name},properties:{name:Ha.properties,defaultValue:[]},title:{name:Ha.title}},superTypes:[Tn.$type]},BlockProperty:{name:a_.$type,properties:{key:{name:a_.key},value:{name:a_.value}},superTypes:[]},CalendarBlock:{name:d_.$type,properties:{properties:{name:d_.properties,defaultValue:[]}},superTypes:[Xa.$type]},ConfigEntry:{name:Xa.$type,properties:{},superTypes:[]},DefaultDeclaration:{name:ch.$type,properties:{entityType:{name:ch.entityType},properties:{name:ch.properties,defaultValue:[]}},superTypes:[Xa.$type]},DescriptionDirective:{name:p_.$type,properties:{text:{name:p_.text}},superTypes:[Eu.$type,oh.$type,vu.$type,ah.$type]},EntityProperty:{name:ih.$type,properties:{key:{name:ih.key},value:{name:ih.value},values:{name:ih.values,defaultValue:[]}},superTypes:[]},FootnoteDeclaration:{name:za.$type,properties:{description:{name:za.description},name:{name:za.name},properties:{name:za.properties,defaultValue:[]},title:{name:za.title}},superTypes:[Tn.$type]},GroupBlock:{name:ja.$type,properties:{content:{name:ja.content,defaultValue:[]},name:{name:ja.name},properties:{name:ja.properties,defaultValue:[]},title:{name:ja.title}},superTypes:[Eu.$type,oh.$type,vu.$type]},GroupContent:{name:Eu.$type,properties:{},superTypes:[]},IncludeDeclaration:{name:c_.$type,properties:{options:{name:c_.options,defaultValue:[]},path:{name:c_.path}},superTypes:[]},IncludeOption:{name:l_.$type,properties:{key:{name:l_.key},value:{name:l_.value}},superTypes:[]},ItemDeclaration:{name:qa.$type,properties:{description:{name:qa.description},name:{name:qa.name},properties:{name:qa.properties,defaultValue:[]},title:{name:qa.title}},superTypes:[Eu.$type,oh.$type,vu.$type]},LabelDeclaration:{name:Wa.$type,properties:{description:{name:Wa.description},name:{name:Wa.name},properties:{name:Wa.properties,defaultValue:[]},title:{name:Wa.title}},superTypes:[Tn.$type]},MilestoneDeclaration:{name:Va.$type,properties:{description:{name:Va.description},name:{name:Va.name},properties:{name:Va.properties,defaultValue:[]},title:{name:Va.title}},superTypes:[Tn.$type]},NowlineDirective:{name:u_.$type,properties:{properties:{name:u_.properties,defaultValue:[]},version:{name:u_.version}},superTypes:[]},NowlineFile:{name:Yo.$type,properties:{configEntries:{name:Yo.configEntries,defaultValue:[]},directive:{name:Yo.directive},hasConfig:{name:Yo.hasConfig,defaultValue:!1},includes:{name:Yo.includes,defaultValue:[]},roadmapDecl:{name:Yo.roadmapDecl},roadmapEntries:{name:Yo.roadmapEntries,defaultValue:[]}},superTypes:[]},ParallelBlock:{name:Ya.$type,properties:{content:{name:Ya.content,defaultValue:[]},name:{name:Ya.name},properties:{name:Ya.properties,defaultValue:[]},title:{name:Ya.title}},superTypes:[Eu.$type,vu.$type]},ParallelContent:{name:oh.$type,properties:{},superTypes:[]},PersonDeclaration:{name:Ka.$type,properties:{description:{name:Ka.description},name:{name:Ka.name},properties:{name:Ka.properties,defaultValue:[]},title:{name:Ka.title}},superTypes:[Tn.$type]},PersonMemberRef:{name:h_.$type,properties:{ref:{name:h_.ref}},superTypes:[ah.$type]},RoadmapDeclaration:{name:sh.$type,properties:{name:{name:sh.name},properties:{name:sh.properties,defaultValue:[]},title:{name:sh.title}},superTypes:[]},RoadmapEntry:{name:Tn.$type,properties:{},superTypes:[]},ScaleBlock:{name:m_.$type,properties:{properties:{name:m_.properties,defaultValue:[]}},superTypes:[Xa.$type]},SizeDeclaration:{name:Za.$type,properties:{description:{name:Za.description},name:{name:Za.name},properties:{name:Za.properties,defaultValue:[]},title:{name:Za.title}},superTypes:[Tn.$type]},StatusDeclaration:{name:Ja.$type,properties:{description:{name:Ja.description},name:{name:Ja.name},properties:{name:Ja.properties,defaultValue:[]},title:{name:Ja.title}},superTypes:[Tn.$type]},StyleDeclaration:{name:wu.$type,properties:{name:{name:wu.name},properties:{name:wu.properties,defaultValue:[]},title:{name:wu.title}},superTypes:[Xa.$type]},StyleProperty:{name:f_.$type,properties:{key:{name:f_.key},value:{name:f_.value}},superTypes:[]},SwimlaneContent:{name:vu.$type,properties:{},superTypes:[]},SwimlaneDeclaration:{name:Qa.$type,properties:{content:{name:Qa.content,defaultValue:[]},name:{name:Qa.name},properties:{name:Qa.properties,defaultValue:[]},title:{name:Qa.title}},superTypes:[Tn.$type]},SymbolDeclaration:{name:ec.$type,properties:{description:{name:ec.description},name:{name:ec.name},properties:{name:ec.properties,defaultValue:[]},title:{name:ec.title}},superTypes:[Xa.$type]},TeamContent:{name:ah.$type,properties:{},superTypes:[]},TeamDeclaration:{name:tc.$type,properties:{content:{name:tc.content,defaultValue:[]},name:{name:tc.name},properties:{name:tc.properties,defaultValue:[]},title:{name:tc.title}},superTypes:[Tn.$type,ah.$type]}})}},St=new Ru;var fk,dk=()=>fk??(fk=rh(`{
136
+ `}var Qd=class{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&QA(r))return JA(r).toMarkdown({renderLink:(i,o)=>this.documentationLinkRenderer(e,i,o),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,r,n){let i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){let o=i.nameSegment.range.start.line+1,s=i.nameSegment.range.start.character+1,a=i.documentUri.with({fragment:`L${o},${s}`});return`[${n}](${a.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){let i=Ft(e).localSymbols;if(!i)return;let o=e;do{let a=i.getStream(o).find(c=>c.name===r);if(a)return a;o=o.$container}while(o)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}};var ep=class{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return qA(e)?e.$comment:ME(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}};var tp=class{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}};var rp=class{constructor(){this.previousTokenSource=new Te.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let r=GA();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=Te.CancellationToken.None){let i=new Ai,o={action:r,deferred:i,cancellationToken:n};return e.push(o),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{let o=await Promise.resolve().then(()=>r(i));n.resolve(o)}catch(o){Ii(o)?n.resolve(void 0):n.reject(o)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}};var np=class{constructor(e){this.grammarElementIdMap=new il,this.tokenTypeIdMap=new il,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let r=new Map,n=new Map;for(let i of Wt(e))r.set(i,{});if(e.$cstNode)for(let i of oc(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(let[i,o]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(o)){let s=[];n[i]=s;for(let a of o)yt(a)?s.push(this.dehydrateAstNode(a,r)):Pt(a)?s.push(this.dehydrateReference(a,r)):s.push(a)}else yt(o)?n[i]=this.dehydrateAstNode(o,r):Pt(o)?n[i]=this.dehydrateReference(o,r):o!==void 0&&(n[i]=o);return n}dehydrateReference(e,r){let n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){let n=r.cstNodes.get(e);return nu(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),Vn(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):ru(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){let r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){let r=new Map,n=new Map;for(let o of Wt(e))r.set(o,{});let i;if(e.$cstNode)for(let o of oc(e.$cstNode)){let s;"fullText"in o?(s=new jc(o.fullText),i=s):"content"in o?s=new Ps:"tokenType"in o&&(s=this.hydrateCstLeafNode(o)),s&&(n.set(o,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(let[i,o]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(o)){let s=[];n[i]=s;for(let a of o)yt(a)?s.push(this.setParent(this.hydrateAstNode(a,r),n)):Pt(a)?s.push(this.hydrateReference(a,n,i,r)):s.push(a)}else yt(o)?n[i]=this.setParent(this.hydrateAstNode(o,r),n):Pt(o)?n[i]=this.hydrateReference(o,n,i,r):o!==void 0&&(n[i]=o);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){let i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),Vn(i))for(let o of e.content){let s=this.hydrateCstNode(o,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){let r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,o=e.startLine,s=e.startColumn,a=e.endLine,c=e.endColumn,l=e.hidden;return new Ns(n,i,{start:{line:o,character:s},end:{line:a,character:c}},r,l)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let r of Wt(this.grammar))Tu(r)&&this.grammarElementIdMap.set(r,e++)}};function ip(t){return{documentation:{CommentProvider:e=>new ep(e),DocumentationProvider:e=>new Qd(e)},parser:{AsyncParser:e=>new tp(e),GrammarConfig:e=>qE(e),LangiumParser:e=>Rw(e),CompletionParser:e=>ww(e),ValueConverter:()=>new Os,TokenBuilder:()=>new Cs,Lexer:e=>new ia(e),ParserErrorMessageProvider:()=>new zc,LexerErrorMessageProvider:()=>new Kd},workspace:{AstNodeLocator:()=>new zd,AstNodeDescriptionProvider:e=>new Hd(e),ReferenceDescriptionProvider:e=>new jd(e)},references:{Linker:e=>new Nd(e),NameProvider:()=>new Pd,ScopeProvider:e=>new Fd(e),ScopeComputation:e=>new Od(e),References:e=>new Cd(e)},serializer:{Hydrator:e=>new np(e),JsonSerializer:e=>new Ud(e)},validation:{DocumentValidator:e=>new Xd(e),ValidationRegistry:e=>new Gd(e)},shared:()=>t.shared}}function op(t){return{ServiceRegistry:e=>new Bd(e),workspace:{LangiumDocuments:e=>new kd(e),LangiumDocumentFactory:e=>new Id(e),DocumentBuilder:e=>new qd(e),IndexManager:e=>new Vd(e),WorkspaceManager:e=>new Yd(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new rp,ConfigurationProvider:e=>new Wd(e)},profilers:{}}}var iI;(function(t){t.merge=(e,r)=>cl(cl({},e),r)})(iI||(iI={}));function oa(t,e,r,n,i,o,s,a,c){let l=[t,e,r,n,i,o,s,a,c].reduce(cl,{});return aI(l)}var V2=Symbol("isProxy");function aI(t,e){let r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(n,i)=>i===V2?!0:sI(n,i,t,e||r),getOwnPropertyDescriptor:(n,i)=>(sI(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),has:(n,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return r}var oI=Symbol();function sI(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===oI)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){let i=r[e];t[e]=oI;try{t[e]=typeof i=="function"?i(n):aI(i,n)}catch(o){throw t[e]=o instanceof Error?o:void 0,o}return t[e]}else return}function cl(t,e){if(e){for(let[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){let i=t[r];typeof i=="object"&&i!==null?t[r]=cl(i,n):t[r]=cl({},n)}else t[r]=n}return t}var cI={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]},sa;(function(t){t.REGULAR="indentation-sensitive",t.IGNORE_INDENTATION="ignore-indentation"})(sa||(sa={}));var ll=class extends Cs{constructor(e=cI){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...cI,...e},this.indentTokenType=ti({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=ti({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,r){let n=super.buildTokens(e,r);if(!jx(n))throw new Error("Invalid tokens built by default builder");let{indentTokenName:i,dedentTokenName:o,whitespaceTokenName:s,ignoreIndentationDelimiters:a}=this.options,c,l,u,f=[];for(let d of n){for(let[p,m]of a)d.name===p?d.PUSH_MODE=sa.IGNORE_INDENTATION:d.name===m&&(d.POP_MODE=!0);d.name===o?c=d:d.name===i?l=d:d.name===s?u=d:f.push(d)}if(!c||!l||!u)throw new Error("Some indentation/whitespace tokens not found!");return a.length>0?{modes:{[sa.REGULAR]:[c,l,...f,u],[sa.IGNORE_INDENTATION]:[...f,u]},defaultMode:sa.REGULAR}:[c,l,u,...f]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,r){return r===0||`\r
137
+ `.includes(e[r-1])}matchWhitespace(e,r,n,i){this.whitespaceRegExp.lastIndex=r;let o=this.whitespaceRegExp.exec(e);return{currIndentLevel:o?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:o}}createIndentationTokenInstance(e,r,n,i){let o=this.getLineNumber(r,i);return En(e,n,i,i+n.length,o,o,1,n.length)}getLineNumber(e,r){return e.substring(0,r).split(/\r\n|\r|\n/).length}indentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:o,prevIndentLevel:s,match:a}=this.matchWhitespace(e,r,n,i);return o<=s?null:(this.indentationStack.push(o),a)}dedentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:o,prevIndentLevel:s,match:a}=this.matchWhitespace(e,r,n,i);if(o>=s)return null;let c=this.indentationStack.lastIndexOf(o);if(c===-1)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${o} at offset: ${r}. Current indentation stack: ${this.indentationStack}`,offset:r,length:a?.[0]?.length??0,line:this.getLineNumber(e,r),column:1}),null;let l=this.indentationStack.length-c-1,u=e.substring(0,r).match(/[\r\n]+$/)?.[0].length??1;for(let f=0;f<l;f++){let d=this.createIndentationTokenInstance(this.dedentTokenType,e,"",r-(u-1));n.push(d),this.indentationStack.pop()}return null}buildTerminalToken(e){let r=super.buildTerminalToken(e),{indentTokenName:n,dedentTokenName:i,whitespaceTokenName:o}=this.options;return r.name===n?this.indentTokenType:r.name===i?this.dedentTokenType:r.name===o?ti({name:o,pattern:this.whitespaceRegExp,group:ot.SKIPPED}):r}flushRemainingDedents(e){let r=[];for(;this.indentationStack.length>1;)r.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],r}},sp=class extends ia{constructor(e){if(super(e),e.parser.TokenBuilder instanceof ll)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,r=Hx){let n=super.tokenize(e),i=n.report;r?.mode==="full"&&n.tokens.push(...i.remainingDedents),i.remainingDedents=[];let{indentTokenType:o,dedentTokenType:s}=this.indentationTokenBuilder,a=o.tokenTypeIdx,c=s.tokenTypeIdx,l=[],u=n.tokens.length-1;for(let f=0;f<u;f++){let d=n.tokens[f],p=n.tokens[f+1];if(d.tokenTypeIdx===a&&p.tokenTypeIdx===c){f++;continue}l.push(d)}return u>=0&&l.push(n.tokens[u]),n.tokens=l,n}};var Vx=class{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[]}},ap={fileSystemProvider:()=>new Vx};var Y2={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},K2={AstReflection:()=>new ic};function Z2(){let t=oa(op(ap),K2),e=oa(ip({shared:t}),Y2);return t.ServiceRegistry.register(e),e}function lI(t){let e=Z2(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,ht.parse(`memory:/${r.name??"grammar"}.langium`)),r}var ca={$type:"AnchorDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function hl(t){return vt.isInstance(t,ca.$type)}var Yx={$type:"BlockProperty",key:"key",value:"value"};var eT={$type:"CalendarBlock",properties:"properties"};function pp(t){return vt.isInstance(t,eT.$type)}var aa={$type:"ConfigEntry"};var dp={$type:"DefaultDeclaration",entityType:"entityType",properties:"properties"};function ki(t){return vt.isInstance(t,dp.$type)}var tT={$type:"DescriptionDirective",text:"text"};function iT(t){return vt.isInstance(t,tT.$type)}var cp={$type:"EntityProperty",key:"key",value:"value",values:"values"};var la={$type:"FootnoteDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function ml(t){return vt.isInstance(t,la.$type)}var ua={$type:"GroupBlock",content:"content",name:"name",properties:"properties",title:"title"};function Dr(t){return vt.isInstance(t,ua.$type)}var ul={$type:"GroupContent"};var Kx={$type:"IncludeDeclaration",options:"options",path:"path"};var Zx={$type:"IncludeOption",key:"key",value:"value"};var fa={$type:"ItemDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function ar(t){return vt.isInstance(t,fa.$type)}var da={$type:"LabelDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function gl(t){return vt.isInstance(t,da.$type)}var pa={$type:"MilestoneDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function yl(t){return vt.isInstance(t,pa.$type)}var Jx={$type:"NowlineDirective",properties:"properties",version:"version"};var yo={$type:"NowlineFile",configEntries:"configEntries",directive:"directive",hasConfig:"hasConfig",includes:"includes",roadmapDecl:"roadmapDecl",roadmapEntries:"roadmapEntries"};var ha={$type:"ParallelBlock",content:"content",name:"name",properties:"properties",title:"title"};function Mr(t){return vt.isInstance(t,ha.$type)}var lp={$type:"ParallelContent"};var ma={$type:"PersonDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function On(t){return vt.isInstance(t,ma.$type)}var rT={$type:"PersonMemberRef",ref:"ref"};function uI(t){return vt.isInstance(t,rT.$type)}var up={$type:"RoadmapDeclaration",name:"name",properties:"properties",title:"title"};var sn={$type:"RoadmapEntry"};var nT={$type:"ScaleBlock",properties:"properties"};function fI(t){return vt.isInstance(t,nT.$type)}var ga={$type:"SizeDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function xo(t){return vt.isInstance(t,ga.$type)}var ya={$type:"StatusDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Ea(t){return vt.isInstance(t,ya.$type)}var dl={$type:"StyleDeclaration",name:"name",properties:"properties",title:"title"};function xl(t){return vt.isInstance(t,dl.$type)}var Qx={$type:"StyleProperty",key:"key",value:"value"};var fl={$type:"SwimlaneContent"};var xa={$type:"SwimlaneDeclaration",content:"content",name:"name",properties:"properties",title:"title"};function yr(t){return vt.isInstance(t,xa.$type)}var Ta={$type:"SymbolDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Tl(t){return vt.isInstance(t,Ta.$type)}var fp={$type:"TeamContent"};var _a={$type:"TeamDeclaration",content:"content",name:"name",properties:"properties",title:"title"};function xr(t){return vt.isInstance(t,_a.$type)}var pl=class extends Lo{constructor(){super(...arguments);R(this,"types",{AnchorDeclaration:{name:ca.$type,properties:{description:{name:ca.description,optional:!0},name:{name:ca.name,optional:!0},properties:{name:ca.properties,defaultValue:[],optional:!0},title:{name:ca.title,optional:!0}},superTypes:[sn.$type]},BlockProperty:{name:Yx.$type,properties:{key:{name:Yx.key},value:{name:Yx.value}},superTypes:[]},CalendarBlock:{name:eT.$type,properties:{properties:{name:eT.properties,defaultValue:[],optional:!0}},superTypes:[aa.$type]},ConfigEntry:{name:aa.$type,properties:{},superTypes:[]},DefaultDeclaration:{name:dp.$type,properties:{entityType:{name:dp.entityType},properties:{name:dp.properties,defaultValue:[],optional:!0}},superTypes:[aa.$type]},DescriptionDirective:{name:tT.$type,properties:{text:{name:tT.text}},superTypes:[ul.$type,lp.$type,fl.$type,fp.$type]},EntityProperty:{name:cp.$type,properties:{key:{name:cp.key},value:{name:cp.value,optional:!0},values:{name:cp.values,defaultValue:[],optional:!0}},superTypes:[]},FootnoteDeclaration:{name:la.$type,properties:{description:{name:la.description,optional:!0},name:{name:la.name,optional:!0},properties:{name:la.properties,defaultValue:[],optional:!0},title:{name:la.title,optional:!0}},superTypes:[sn.$type]},GroupBlock:{name:ua.$type,properties:{content:{name:ua.content,defaultValue:[]},name:{name:ua.name,optional:!0},properties:{name:ua.properties,defaultValue:[],optional:!0},title:{name:ua.title,optional:!0}},superTypes:[ul.$type,lp.$type,fl.$type]},GroupContent:{name:ul.$type,properties:{},superTypes:[]},IncludeDeclaration:{name:Kx.$type,properties:{options:{name:Kx.options,defaultValue:[],optional:!0},path:{name:Kx.path}},superTypes:[]},IncludeOption:{name:Zx.$type,properties:{key:{name:Zx.key},value:{name:Zx.value}},superTypes:[]},ItemDeclaration:{name:fa.$type,properties:{description:{name:fa.description,optional:!0},name:{name:fa.name,optional:!0},properties:{name:fa.properties,defaultValue:[],optional:!0},title:{name:fa.title,optional:!0}},superTypes:[ul.$type,lp.$type,fl.$type]},LabelDeclaration:{name:da.$type,properties:{description:{name:da.description,optional:!0},name:{name:da.name,optional:!0},properties:{name:da.properties,defaultValue:[],optional:!0},title:{name:da.title,optional:!0}},superTypes:[sn.$type]},MilestoneDeclaration:{name:pa.$type,properties:{description:{name:pa.description,optional:!0},name:{name:pa.name,optional:!0},properties:{name:pa.properties,defaultValue:[],optional:!0},title:{name:pa.title,optional:!0}},superTypes:[sn.$type]},NowlineDirective:{name:Jx.$type,properties:{properties:{name:Jx.properties,defaultValue:[],optional:!0},version:{name:Jx.version}},superTypes:[]},NowlineFile:{name:yo.$type,properties:{configEntries:{name:yo.configEntries,defaultValue:[],optional:!0},directive:{name:yo.directive,optional:!0},hasConfig:{name:yo.hasConfig,defaultValue:!1,optional:!0},includes:{name:yo.includes,defaultValue:[],optional:!0},roadmapDecl:{name:yo.roadmapDecl,optional:!0},roadmapEntries:{name:yo.roadmapEntries,defaultValue:[],optional:!0}},superTypes:[]},ParallelBlock:{name:ha.$type,properties:{content:{name:ha.content,defaultValue:[]},name:{name:ha.name,optional:!0},properties:{name:ha.properties,defaultValue:[],optional:!0},title:{name:ha.title,optional:!0}},superTypes:[ul.$type,fl.$type]},ParallelContent:{name:lp.$type,properties:{},superTypes:[]},PersonDeclaration:{name:ma.$type,properties:{description:{name:ma.description,optional:!0},name:{name:ma.name,optional:!0},properties:{name:ma.properties,defaultValue:[],optional:!0},title:{name:ma.title,optional:!0}},superTypes:[sn.$type]},PersonMemberRef:{name:rT.$type,properties:{ref:{name:rT.ref}},superTypes:[fp.$type]},RoadmapDeclaration:{name:up.$type,properties:{name:{name:up.name,optional:!0},properties:{name:up.properties,defaultValue:[],optional:!0},title:{name:up.title,optional:!0}},superTypes:[]},RoadmapEntry:{name:sn.$type,properties:{},superTypes:[]},ScaleBlock:{name:nT.$type,properties:{properties:{name:nT.properties,defaultValue:[],optional:!0}},superTypes:[aa.$type]},SizeDeclaration:{name:ga.$type,properties:{description:{name:ga.description,optional:!0},name:{name:ga.name,optional:!0},properties:{name:ga.properties,defaultValue:[],optional:!0},title:{name:ga.title,optional:!0}},superTypes:[sn.$type]},StatusDeclaration:{name:ya.$type,properties:{description:{name:ya.description,optional:!0},name:{name:ya.name,optional:!0},properties:{name:ya.properties,defaultValue:[],optional:!0},title:{name:ya.title,optional:!0}},superTypes:[sn.$type]},StyleDeclaration:{name:dl.$type,properties:{name:{name:dl.name,optional:!0},properties:{name:dl.properties,defaultValue:[],optional:!0},title:{name:dl.title,optional:!0}},superTypes:[aa.$type]},StyleProperty:{name:Qx.$type,properties:{key:{name:Qx.key},value:{name:Qx.value}},superTypes:[]},SwimlaneContent:{name:fl.$type,properties:{},superTypes:[]},SwimlaneDeclaration:{name:xa.$type,properties:{content:{name:xa.content,defaultValue:[],optional:!0},name:{name:xa.name,optional:!0},properties:{name:xa.properties,defaultValue:[],optional:!0},title:{name:xa.title,optional:!0}},superTypes:[sn.$type]},SymbolDeclaration:{name:Ta.$type,properties:{description:{name:Ta.description,optional:!0},name:{name:Ta.name,optional:!0},properties:{name:Ta.properties,defaultValue:[],optional:!0},title:{name:Ta.title,optional:!0}},superTypes:[aa.$type]},TeamContent:{name:fp.$type,properties:{},superTypes:[]},TeamDeclaration:{name:_a.$type,properties:{content:{name:_a.content,defaultValue:[],optional:!0},name:{name:_a.name,optional:!0},properties:{name:_a.properties,defaultValue:[],optional:!0},title:{name:_a.title,optional:!0}},superTypes:[sn.$type,fp.$type]}})}},vt=new pl;var dI,pI=()=>dI??(dI=lI(`{
162
138
  "$type": "Grammar",
163
139
  "isDeclared": true,
164
140
  "name": "Nowline",
@@ -2659,6 +2635,6 @@ ${r}`),this.inline?`{${i}}`:i}};function qU(t,e,r){if(t==="linkplain"||t==="link
2659
2635
  "imports": [],
2660
2636
  "interfaces": [],
2661
2637
  "types": []
2662
- }`));var ZU={languageId:"nowline",fileExtensions:[".nowline"],caseInsensitive:!1,mode:"development"},pk={AstReflection:()=>new Ru},hk={Grammar:()=>dk(),LanguageMetaData:()=>ZU,parser:{}};var mk={"NL.E0001":()=>"Config section must appear before roadmap.","NL.E0002":()=>"Include declarations must appear before the config section.","NL.E0003":()=>"Include declarations must appear before the roadmap section.","NL.E0004":()=>"At least one swimlane is required.","NL.E0005":t=>`Line ${t.line}: mixed tabs and spaces in indentation. Use either tabs or spaces consistently.`,"NL.E0100":t=>`Invalid version format "${t.version}". Expected format: v1, v2, etc.`,"NL.E0101":t=>`This file requires Nowline ${t.version}, but the parser only supports up to ${t.supported}.`,"NL.E0102":t=>`Unknown directive property "${t.key}". Allowed: ${t.allowed}.`,"NL.E0103":t=>`Duplicate directive property "${t.key}".`,"NL.E0104":t=>`Invalid locale "${t.value}". Use a BCP-47 tag like "en-US", "fr", or "fr-CA".`,"NL.E0200":t=>`Invalid include mode "${t.value}". Must be merge, ignore, or isolate.`,"NL.E0201":t=>`Duplicate "${t.key}" option on include.`,"NL.E0300":t=>`Duplicate identifier "${t.name}". First declared at ${t.location}.`,"NL.E0301":t=>`${t.type} must have an identifier, a title, or both.`,"NL.E0400":t=>`Invalid duration "${t.value}". Use a raw duration literal like 0.5d, 2w, 1m, 2q. Use "size:NAME" to reference a declared size.`,"NL.E0401":t=>`Invalid size "${t.value}". Use the id of a declared size (e.g. xs, m, lg).`,"NL.E0402":t=>`Invalid effort "${t.value}". Use a raw duration literal like 0.5d, 2w, 1m, 2q.`,"NL.E0403":t=>`Invalid remaining value "${t.value}". Use a percentage like 30% or a duration literal like 1w, 0.5d.`,"NL.E0404":t=>`Remaining must be between 0% and 100%, got ${t.value}.`,"NL.E0405":t=>`Invalid ${t.key} "${t.value}". Use ISO 8601 format: YYYY-MM-DD.`,"NL.E0406":t=>`Invalid scale "${t.value}". Use a raw duration literal like 1w, 2w, 1q (no name lookup).`,"NL.E0407":t=>`Invalid calendar "${t.value}". Must be business, full, or custom.`,"NL.E0408":t=>`Property "${t.key}" requires at least one reference.`,"NL.E0410":t=>`"${t.key}:" accepts at most one inline date per direction; collapse the multiple dates to a single binding date or use a declared anchor.`,"NL.E0411":t=>`Inline date in "${t.key}:" is not allowed on ${t.type}. Allowed only on item, parallel, and group; for a milestone use "date:" instead.`,"NL.E0412":t=>`Inline date "${t.date}" in "${t.key}:" requires the roadmap to declare "start:". Add start:YYYY-MM-DD to the roadmap.`,"NL.E0413":t=>`Inline date "${t.date}" in "${t.key}:" is before roadmap start ${t.start}.`,"NL.E0500":t=>`Anchor "${t.name}" requires a "date:" property.`,"NL.E0501":t=>`Anchor "${t.name}" has a date but the roadmap is missing "start:". Add start:YYYY-MM-DD to the roadmap.`,"NL.E0502":t=>`Anchor "${t.name}" date ${t.date} is before roadmap start ${t.start}.`,"NL.E0503":t=>`Milestone "${t.name}" requires at least one of "date:" or "after:".`,"NL.E0504":t=>`Milestone "${t.name}" date ${t.date} is before roadmap start ${t.start}.`,"NL.E0505":()=>'Footnote requires an "on:" property referencing one or more entities.',"NL.E0600":t=>`Item "${t.name}" requires a "size:" or "duration:" property.`,"NL.W0700":t=>`Unknown property "${t.key}" on ${t.entity}. The renderer ignores it.${t.suggested?` Did you mean "${t.suggested}"?`:""}`,"NL.W1000":t=>`Now-line date ${t.date} is outside the roadmap window (${t.start} \u2013 ${t.end}); it will not be drawn.`,"NL.I1000":t=>`Title on item "${t.name}" is wider than its bar at this scale; it rendered to the right of the bar.`,"NL.I1001":t=>`Label chips on item "${t.name}" did not fit inside the bar; they rendered in a spill column to the right.`,"NL.I1002":t=>`Item "${t.name}" is too narrow to show its marker at this scale; decorations spilled beside the bar.`,"NL.I1003":t=>t.anchor?`Item "${t.name}" extends past its "before:" anchor "${t.anchor}".`:`Item "${t.name}" extends past its "before:" anchor.`,"NL.I1004":t=>`Swimlane "${t.lane}" packed into ${t.rows} rows to avoid overlap.`,"NL.I1005":t=>`Swimlane "${t.lane}" is over capacity in one or more periods (red utilization band).`};var gk={"NL.E0001":()=>"La section config doit pr\xE9c\xE9der la section roadmap.","NL.E0002":()=>"Les d\xE9clarations include doivent pr\xE9c\xE9der la section config.","NL.E0003":()=>"Les d\xE9clarations include doivent pr\xE9c\xE9der la section roadmap.","NL.E0004":()=>"Au moins une swimlane est requise.","NL.E0005":t=>`Ligne ${t.line}\xA0: tabulations et espaces m\xE9lang\xE9s dans l'indentation. Utilisez l'un ou l'autre, mais pas les deux.`,"NL.E0100":t=>`Format de version invalide \xAB\xA0${t.version}\xA0\xBB. Format attendu\xA0: v1, v2, etc.`,"NL.E0101":t=>`Ce fichier requiert Nowline ${t.version}, mais l'analyseur ne prend en charge que jusqu'\xE0 ${t.supported}.`,"NL.E0102":t=>`Propri\xE9t\xE9 de directive inconnue \xAB\xA0${t.key}\xA0\xBB. Valeurs admises\xA0: ${t.allowed}.`,"NL.E0103":t=>`Propri\xE9t\xE9 de directive \xAB\xA0${t.key}\xA0\xBB en double.`,"NL.E0104":t=>`Locale invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez une \xE9tiquette BCP-47 telle que \xAB\xA0en-US\xA0\xBB, \xAB\xA0fr\xA0\xBB ou \xAB\xA0fr-CA\xA0\xBB.`,"NL.E0200":t=>`Mode d'include invalide \xAB\xA0${t.value}\xA0\xBB. Doit \xEAtre merge, ignore ou isolate.`,"NL.E0201":t=>`Option \xAB\xA0${t.key}\xA0\xBB en double sur include.`,"NL.E0300":t=>`Identifiant en double \xAB\xA0${t.name}\xA0\xBB. Premi\xE8re d\xE9claration \xE0 ${t.location}.`,"NL.E0301":t=>`${t.type} doit comporter un identifiant, un titre, ou les deux.`,"NL.E0400":t=>`Dur\xE9e invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un litt\xE9ral de dur\xE9e brut comme 0.5d, 2w, 1m, 2q. Utilisez \xAB\xA0size:NOM\xA0\xBB pour r\xE9f\xE9rencer une taille d\xE9clar\xE9e.`,"NL.E0401":t=>`Taille invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez l'identifiant d'une taille d\xE9clar\xE9e (p.\xA0ex. xs, m, lg).`,"NL.E0402":t=>`Effort invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un litt\xE9ral de dur\xE9e brut comme 0.5d, 2w, 1m, 2q.`,"NL.E0403":t=>`Valeur restante invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un pourcentage tel que 30% ou un litt\xE9ral de dur\xE9e comme 1w, 0.5d.`,"NL.E0404":t=>`La valeur restante doit \xEAtre comprise entre 0 % et 100 %, re\xE7u ${t.value}.`,"NL.E0405":t=>`${t.key} invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez le format ISO 8601\xA0: AAAA-MM-JJ.`,"NL.E0406":t=>`\xC9chelle invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un litt\xE9ral de dur\xE9e brut comme 1w, 2w, 1q (pas de recherche par nom).`,"NL.E0407":t=>`Calendrier invalide \xAB\xA0${t.value}\xA0\xBB. Doit \xEAtre business, full ou custom.`,"NL.E0408":t=>`La propri\xE9t\xE9 \xAB\xA0${t.key}\xA0\xBB exige au moins une r\xE9f\xE9rence.`,"NL.E0410":t=>`\xAB\xA0${t.key}:\xA0\xBB n'accepte qu'une seule date inline par direction\xA0; regroupez les dates en une seule date contraignante ou utilisez une ancre d\xE9clar\xE9e.`,"NL.E0411":t=>`Une date inline dans \xAB\xA0${t.key}:\xA0\xBB n'est pas autoris\xE9e sur ${t.type}. Autoris\xE9e seulement sur item, parallel et group\xA0; pour un milestone utilisez \xAB\xA0date:\xA0\xBB \xE0 la place.`,"NL.E0412":t=>`La date inline \xAB\xA0${t.date}\xA0\xBB dans \xAB\xA0${t.key}:\xA0\xBB exige que la roadmap d\xE9clare \xAB\xA0start:\xA0\xBB. Ajoutez start:AAAA-MM-JJ \xE0 la roadmap.`,"NL.E0413":t=>`La date inline \xAB\xA0${t.date}\xA0\xBB dans \xAB\xA0${t.key}:\xA0\xBB pr\xE9c\xE8de le d\xE9but de la roadmap (${t.start}).`,"NL.E0500":t=>`L'ancre \xAB\xA0${t.name}\xA0\xBB exige une propri\xE9t\xE9 \xAB\xA0date:\xA0\xBB.`,"NL.E0501":t=>`L'ancre \xAB\xA0${t.name}\xA0\xBB a une date, mais \xAB\xA0start:\xA0\xBB manque sur la roadmap. Ajoutez start:AAAA-MM-JJ \xE0 la roadmap.`,"NL.E0502":t=>`La date ${t.date} de l'ancre \xAB\xA0${t.name}\xA0\xBB pr\xE9c\xE8de le d\xE9but de la roadmap (${t.start}).`,"NL.E0503":t=>`Le jalon \xAB\xA0${t.name}\xA0\xBB exige au moins l'une des propri\xE9t\xE9s \xAB\xA0date:\xA0\xBB ou \xAB\xA0after:\xA0\xBB.`,"NL.E0504":t=>`La date ${t.date} du jalon \xAB\xA0${t.name}\xA0\xBB pr\xE9c\xE8de le d\xE9but de la roadmap (${t.start}).`,"NL.E0505":()=>"Une note de bas de page exige une propri\xE9t\xE9 \xAB\xA0on:\xA0\xBB r\xE9f\xE9ren\xE7ant au moins une entit\xE9.","NL.E0600":t=>`L'\xE9l\xE9ment \xAB\xA0${t.name}\xA0\xBB exige une propri\xE9t\xE9 \xAB\xA0size:\xA0\xBB ou \xAB\xA0duration:\xA0\xBB.`,"NL.W0700":t=>`Propri\xE9t\xE9 inconnue \xAB\xA0${t.key}\xA0\xBB sur ${t.entity}. Le moteur de rendu l'ignore.${t.suggested?` Vouliez-vous dire \xAB\xA0${t.suggested}\xA0\xBB\xA0?`:""}`};var yk={};var xk={};var JU=new Map([["en-US",mk],["fr",gk],["fr-CA",yk],["fr-FR",xk]]);function Cu(t,e,...r){for(let n of QU(t)){let o=JU.get(n)?.[e];if(o)return o(...r)}return e}var Tk="en-US";function QU(t){let e=[],r=eB(t);for(;r.length>0;){e.includes(r)||e.push(r);let n=r.lastIndexOf("-");if(n<=0)break;r=r.slice(0,n)}return e.includes(Tk)||e.push(Tk),e}function eB(t){return t.split("-").map((r,n)=>n===0?r.toLowerCase():/^[a-zA-Z]{2}$/.test(r)?r.toUpperCase():r).join("-")}var tB=/[\\/]/;function vk(t){for(let e=t.length-1;e>=0;e--){let r=t.charCodeAt(e);if(r===47||r===92)return e}return-1}function _k(...t){for(let e of t)if(e){if(e.includes("\\")&&!e.includes("/"))return"\\";if(e.includes("/"))return"/"}return"/"}function rB(t){return t?t[0]==="/"||t[0]==="\\"?!0:t.length>=3&&/^[A-Za-z]:[\\/]/.test(t):!1}function wk(t){let e=vk(t);return e<0?".":e===0?t[0]:e===2&&/^[A-Za-z]:[\\/]/.test(t)?t.slice(0,3):t.slice(0,e)}function uh(t){let e=vk(t);return e<0?t:t.slice(e+1)}function y_(t,e){if(rB(e))return Ek(e,_k(e));let r=_k(t,e);return Ek(`${t}${r}${e}`,r)}function Ek(t,e){let r="",n=t,i=/^([A-Za-z]:)([\\/])?/.exec(n);i?(r=i[1]+(i[2]?e:""),n=n.slice(i[0].length)):(n[0]==="/"||n[0]==="\\")&&(r=e,n=n.replace(/^[\\/]+/,""));let o=[];for(let s of n.split(tB))if(!(s===""||s===".")){if(s===".."){o.length>0&&o[o.length-1]!==".."?o.pop():r||o.push("..");continue}o.push(s)}return r+o.join(e)}var iB=/^\d{4}-\d{2}-\d{2}$/;function Ak(t){let e=t?.properties.find(r=>r.key==="start");if(e?.value&&iB.test(e.value)&&!Number.isNaN(new Date(e.value).getTime()))return e.value}function oB(t,e,r){return e&&r?`Included "${t}" declares start:${r}, which doesn't match this file's start:${e}. Both files must declare the same start date, or neither should.`:e?`Included "${t}" has no start:, but this file declares start:${e}. Both files must declare the same start date, or neither should.`:`Included "${t}" declares start:${r}, but this file has no start:. Both files must declare the same start date, or neither should.`}function Ik(){return{styles:new Map,defaults:new Map,symbols:new Map}}function Sk(){return{persons:new Map,teams:new Map,anchors:new Map,labels:new Map,sizes:new Map,statuses:new Map,swimlanes:new Map,milestones:new Map,footnotes:new Map,isolatedRegions:[]}}async function T_(t,e,r){let n=r.readFile??(async c=>{let{nodeReadFile:l}=await Promise.resolve().then(()=>(bk(),Rk));return l(c)}),i={services:r.services,diagnostics:[],resolving:[],processed:new Map,readFile:n},o=y_("",e),{config:s,content:a}=await Nk(t,o,i);return{config:s,content:a,diagnostics:i.diagnostics,processedFiles:new Set(i.processed.keys())}}async function Nk(t,e,r){if(r.processed.has(e))return r.processed.get(e);if(r.resolving.includes(e)){r.diagnostics.push({severity:"error",message:`Circular include detected: ${[...r.resolving,e].join(" \u2192 ")}`,sourcePath:e});let a={config:Ik(),content:Sk()};return r.processed.set(e,a),a}r.resolving.push(e);let n=Ik(),i=Sk();lB(n,t),dB(i,t);let o=new Set;for(let a of t.includes){let c=a.path,l=y_(wk(e),c);if(o.has(l)){r.diagnostics.push({severity:"error",message:`Duplicate include "${c}" in ${uh(e)}.`,sourcePath:e,line:a.$cstNode?.range.start.line});continue}o.add(l);let u=kk(a,"config")??"merge",f=kk(a,"roadmap")??"merge",d;try{let y=await r.readFile(l);d=await sB(r.services,y,l)}catch(y){r.diagnostics.push({severity:"error",message:`Could not read include "${c}": ${y.message}`,sourcePath:e,line:a.$cstNode?.range.start.line});continue}let{config:p,content:m}=await Nk(d,l,r);if(aB(n,p,u,l,r.diagnostics),cB(i,m,p,f,l,c,r.diagnostics),f==="isolate"&&!m.roadmap&&r.diagnostics.push({severity:"error",message:`Cannot isolate "${c}": it has no roadmap declaration.`,sourcePath:e,line:a.$cstNode?.range.start.line}),f!=="ignore"&&d.roadmapDecl){let y=Ak(t.roadmapDecl),_=Ak(d.roadmapDecl);y!==_&&r.diagnostics.push({severity:"error",message:oB(c,y,_),sourcePath:e,line:a.$cstNode?.range.start.line})}}r.resolving.pop();let s={config:n,content:i};return r.processed.set(e,s),s}function kk(t,e){let r=t.options.find(n=>n.key===e);if(r&&(r.value==="merge"||r.value==="ignore"||r.value==="isolate"))return r.value}async function sB(t,e,r){let n=ht.file(r),o=t.shared.workspace.LangiumDocumentFactory.fromString(e,n);return await t.shared.workspace.DocumentBuilder.build([o],{validation:!1}),o.parseResult.value}function aB(t,e,r,n,i){if(r==="ignore"||r==="isolate")return;let o=(s,a)=>i.push({severity:"warning",message:`${a} "${s}" from ${uh(n)} is shadowed by the parent's definition.`,sourcePath:n});x_(t.styles,e.styles,s=>o(s,"Style")),x_(t.defaults,e.defaults,s=>o(s,"Default")),x_(t.symbols,e.symbols,s=>o(s,"Symbol")),e.scale&&!t.scale&&(t.scale=e.scale),e.calendar&&!t.calendar&&(t.calendar=e.calendar)}function cB(t,e,r,n,i,o,s){if(n==="ignore")return;if(n==="isolate"){e.roadmap&&t.isolatedRegions.push({sourcePath:o,config:r,content:e});return}let a=(c,l)=>s.push({severity:"warning",message:`${l} "${c}" from ${uh(i)} is shadowed by the parent's definition.`,sourcePath:i});qn(t.persons,e.persons,c=>a(c,"Person")),qn(t.teams,e.teams,c=>a(c,"Team")),qn(t.anchors,e.anchors,c=>a(c,"Anchor")),qn(t.labels,e.labels,c=>a(c,"Label")),qn(t.sizes,e.sizes,c=>a(c,"Size")),qn(t.statuses,e.statuses,c=>a(c,"Status")),qn(t.swimlanes,e.swimlanes,c=>a(c,"Swimlane")),qn(t.milestones,e.milestones,c=>a(c,"Milestone")),qn(t.footnotes,e.footnotes,c=>a(c,"Footnote")),e.roadmap&&!t.roadmap&&(t.roadmap=e.roadmap)}function x_(t,e,r){for(let[n,i]of e){if(t.has(n)){r(n);continue}t.set(n,i)}}function qn(t,e,r){for(let[n,i]of e){if(!i.name&&i.title){t.set(Pk(t,Ck(i.title)),i);continue}if(t.has(n)){r(n);continue}t.set(n,i)}}function lB(t,e){for(let r of e.configEntries)uB(t,r)}function uB(t,e){uk(e)?t.scale||(t.scale=e):lh(e)?t.calendar||(t.calendar=e):ku(e)?e.name&&!t.styles.has(e.name)&&t.styles.set(e.name,e):Nu(e)?e.name&&!t.symbols.has(e.name)&&t.symbols.set(e.name,e):Hi(e)&&(t.defaults.has(e.entityType)||t.defaults.set(e.entityType,e))}function fB(t){let e={swimlanes:new Set,persons:new Set,teams:new Set,anchors:new Set,labels:new Set,sizes:new Set,statuses:new Set,milestones:new Set,footnotes:new Set};for(let r of t){let n=r.name;n&&(Ir(r)?e.swimlanes.add(n):jn(r)?e.persons.add(n):Sr(r)?e.teams.add(n):bu(r)?e.anchors.add(n):Iu(r)?e.labels.add(n):Ko(r)?e.sizes.add(n):rc(r)?e.statuses.add(n):Su(r)?e.milestones.add(n):Au(r)&&e.footnotes.add(n))}return e}function dB(t,e){e.roadmapDecl&&!t.roadmap&&(t.roadmap=e.roadmapDecl);let r=fB(e.roadmapEntries);for(let n of e.roadmapEntries)pB(t,n,r)}function Ck(t){return t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"entity"}function Pk(t,e,r){let n=o=>t.has(o)||(r?.has(o)??!1);if(!n(e))return e;let i=2;for(;n(`${e}-${i}`);)i++;return`${e}-${i}`}function Wn(t,e,r){e.name?t.has(e.name)||t.set(e.name,e):e.title&&t.set(Pk(t,Ck(e.title),r),e)}function pB(t,e,r){Ir(e)?Wn(t.swimlanes,e,r.swimlanes):jn(e)?Wn(t.persons,e,r.persons):Sr(e)?Wn(t.teams,e,r.teams):bu(e)?Wn(t.anchors,e,r.anchors):Iu(e)?Wn(t.labels,e,r.labels):Ko(e)?Wn(t.sizes,e,r.sizes):rc(e)?Wn(t.statuses,e,r.statuses):Su(e)?Wn(t.milestones,e,r.milestones):Au(e)&&Wn(t.footnotes,e,r.footnotes)}var Ok="v1",__=new Set(["planned","in-progress","active","done","completed","at-risk","blocked"]),fh=new Set(["bg","fg","text","border","icon","shadow","font","weight","italic","text-size","padding","spacing","header-height","corner-radius","bracket","header-position","capacity-icon","timeline-position","minor-grid"]),b_=new Set(["none","multiplier","person","people","points","time"]),dh=new Set([...b_,"shield","warning","lock","calendar"]),Hk="none",ph={border:new Set(["solid","dashed","dotted"]),shadow:new Set(["none","subtle","soft","hard"]),font:new Set(["sans","serif","mono"]),weight:new Set(["thin","light","normal","bold"]),italic:new Set(["true","false"]),"text-size":new Set(["none","xs","sm","md","lg","xl"]),padding:new Set(["none","xs","sm","md","lg","xl"]),spacing:new Set(["none","xs","sm","md","lg","xl"]),"header-height":new Set(["none","xs","sm","md","lg","xl"]),"corner-radius":new Set(["none","xs","sm","md","lg","xl","full"]),bracket:new Set(["none","solid","dashed"]),"header-position":new Set(["beside","above"]),"timeline-position":new Set(["top","bottom","both"]),"minor-grid":new Set(["true","false"])},hB=new Set(["red","blue","yellow","green","orange","purple","violet","gray","grey","navy","white","none"]),mB=new Set(["business","full","custom"]),E_=new Set(["days-per-week","days-per-month","days-per-quarter","days-per-year"]),Lk=new Set(["name","label-every","label"]),Dk=new Set(["item","label","swimlane","roadmap","milestone","footnote","anchor","parallel","group"]),gB={item:new Set(["size","duration","after","before","remaining","link","description","owner"]),milestone:new Set(["date","after","link","description"]),anchor:new Set(["date","link","description"]),footnote:new Set(["on","link","description"]),label:new Set(["link","description"]),swimlane:new Set(["capacity"]),roadmap:new Set,parallel:new Set,group:new Set},$k=new Set(["labels","link","style","description"]),yB={RoadmapDeclaration:new Set(["author","start","length","scale","calendar","logo","logo-size"]),AnchorDeclaration:new Set(["date"]),SwimlaneDeclaration:new Set(["owner","capacity","utilization-warn-at","utilization-over-at","status","after","before"]),ItemDeclaration:new Set(["size","duration","status","owner","after","before","remaining","capacity","date","start"]),ParallelBlock:new Set(["owner","after","before","status"]),GroupBlock:new Set(["owner","after","before","status"]),MilestoneDeclaration:new Set(["date","after"]),FootnoteDeclaration:new Set(["on"]),PersonDeclaration:new Set,TeamDeclaration:new Set,LabelDeclaration:new Set,SizeDeclaration:new Set(["effort"]),StatusDeclaration:new Set};function xB(t,e,r){if(t===e)return 0;let n=t.length,i=e.length;if(Math.abs(n-i)>r)return r+1;if(n===0)return i;if(i===0)return n;let o=new Array(i+1),s=new Array(i+1);for(let a=0;a<=i;a++)o[a]=a;for(let a=1;a<=n;a++){s[0]=a;let c=a;for(let u=1;u<=i;u++){let f=t.charCodeAt(a-1)===e.charCodeAt(u-1)?0:1;s[u]=Math.min(o[u]+1,s[u-1]+1,o[u-1]+f),s[u]<c&&(c=s[u])}if(c>r)return r+1;let l=o;o=s,s=l}return o[i]}function TB(t,e,r=2){let n,i=r+1;for(let o of e){let s=xB(t,o,r);if(s<i&&(n=o,i=s,s===0))break}return n}var _B=[{keys:new Set(["progress","percent","percentage","pct","complete","completion"]),requires:"remaining",suggest:"status: + remaining:"}];function EB(t,e){let r=t.toLowerCase();for(let n of _B)if(n.keys.has(r)&&e.has(n.requires))return n.suggest}function ke(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}var Pu=/^\d+(?:\.\d+)?[dwmqy]$/,vB=/^\d+%$/,zi=/^\d{4}-\d{2}-\d{2}$/,wB=/^#[0-9a-fA-F]{3,8}$/,RB=/^v\d+$/,Mk=/^\d+$/,bB=/^[dwmqy]$/,Fk=/^\d+(\.\d+)?$/,A_=/^\d+(\.\d+)?%$/,zk=/^\d+\.\d+$/,AB=/^\d+$/,IB=/^[\x20-\x7E]{1,3}$/,SB=/^[a-zA-Z]{2,3}(-[a-zA-Z]{2}|-\d{3})?$/,kB=new Set(["merge","ignore","isolate"]),Uk=new Set(["locale"]);function v_(t){let e=t?.roadmapDecl?.properties.find(i=>ke(i)==="start");if(!e)return{kind:"missing"};let r=e.value;if(!r||!zi.test(r))return{kind:"invalid"};let n=new Date(r);return Number.isNaN(n.getTime())?{kind:"invalid"}:{kind:"valid",iso:r,date:n}}function Vr(t){return t.name??t.title??"<unnamed>"}function NB(t){return t.$type.replace(/Declaration$|Block$/,"").toLowerCase()}function Re(t,e,r,n,...i){t(e,Cu("en-US",n,...i),{...r,data:{code:n,args:i}})}function jk(t){let e=t.validation.ValidationRegistry,r=t.validation.NowlineValidator,n={NowlineFile:[r.checkFileStructure,r.checkUniqueIdentifiers,r.checkSwimlaneRequired,r.checkIndentationConsistency,r.checkRoadmapOnlyKeywordsPosition,r.checkForwardReferences,r.checkReferenceResolution,r.checkInlineDatePins,r.checkCircularDependencies,r.checkDuplicateSizeIds,r.checkCalendarBlockConsistency,r.checkPersonDeclarations,r.checkDuplicateSymbolIds,r.checkSymbolReferences],NowlineDirective:[r.checkDirectiveVersion,r.checkDirectiveProperties],IncludeOption:[r.checkIncludeMode],IncludeDeclaration:[r.checkIncludeDuplicateOptions],EntityProperty:[r.checkPropertyValues],RoadmapDeclaration:[r.checkEntityIdOrTitle,r.checkRoadmapProperties,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],AnchorDeclaration:[r.checkEntityIdOrTitle,r.checkAnchorRequiredDate,r.checkAnchorAgainstStart,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],SwimlaneDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkUtilizationOrdering,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],ItemDeclaration:[r.checkEntityIdOrTitle,r.checkItemRequiredDuration,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],ParallelBlock:[r.checkParallelMinChildren,r.checkNoComputedProperties,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],GroupBlock:[r.checkGroupMinChildren,r.checkNoComputedProperties,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],MilestoneDeclaration:[r.checkEntityIdOrTitle,r.checkMilestoneRequirement,r.checkMilestoneAgainstStart,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],FootnoteDeclaration:[r.checkEntityIdOrTitle,r.checkFootnoteOn,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],PersonDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],TeamDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],StyleDeclaration:[r.checkEntityIdOrTitle],StyleProperty:[r.checkStylePropertyEnum],SymbolDeclaration:[r.checkEntityIdOrTitle,r.checkSymbolDeclaration],LabelDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],SizeDeclaration:[r.checkEntityIdOrTitle,r.checkSizeDeclaration,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],StatusDeclaration:[r.checkEntityIdOrTitle,r.checkStatusDeclaration,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],DefaultDeclaration:[r.checkDefaultDeclaration,r.checkUtilizationOrdering],CalendarBlock:[r.checkCalendarBlock],ScaleBlock:[r.checkScaleBlock]};e.register(n,r)}var mh=class{checkFileStructure(e,r){let n=e.hasConfig?ks.findNodeForKeyword(e.$cstNode,"config")?.offset:void 0,i=e.roadmapDecl?.$cstNode?.offset;n!==void 0&&i!==void 0&&n>i&&Re(r,"error",{node:e,property:"hasConfig"},"NL.E0001");for(let o of e.includes){let s=o.$cstNode?.offset??0;n!==void 0&&s>n&&Re(r,"error",{node:o},"NL.E0002"),i!==void 0&&s>i&&Re(r,"error",{node:o},"NL.E0003")}}checkRoadmapOnlyKeywordsPosition(e,r){}checkDirectiveVersion(e,r){if(!RB.test(e.version)){Re(r,"error",{node:e,property:"version"},"NL.E0100",{version:e.version});return}let n=parseInt(e.version.slice(1),10),i=parseInt(Ok.slice(1),10);n>i&&Re(r,"error",{node:e,property:"version"},"NL.E0101",{version:e.version,supported:Ok})}checkDirectiveProperties(e,r){let n=new Set;for(let i of e.properties){let o=ke(i);if(!Uk.has(o)){Re(r,"error",{node:i,property:"key"},"NL.E0102",{key:o,allowed:[...Uk].join(", ")});continue}if(n.has(o)&&Re(r,"error",{node:i,property:"key"},"NL.E0103",{key:o}),n.add(o),o==="locale"){let s=i.value;SB.test(s)||Re(r,"error",{node:i,property:"value"},"NL.E0104",{value:s})}}}checkEntityIdOrTitle(e,r){!e.name&&!e.title&&Re(r,"error",{node:e},"NL.E0301",{type:e.$type})}checkUniqueIdentifiers(e,r){let n=new Map,i=(o,s)=>{if(!o)return;let a=n.get(o);a?Re(r,"error",{node:s},"NL.E0300",{name:o,location:hh(a)}):n.set(o,s)};e.roadmapDecl?.name&&i(e.roadmapDecl.name,e.roadmapDecl);for(let o of e.roadmapEntries)OB(o,i);for(let o of e.configEntries)ku(o)&&o.name&&i(o.name,o)}checkIndentationConsistency(e,r){let n=e.$document?.textDocument.getText()??e.$cstNode?.text;if(!n)return;let i=n.split(/\r?\n/);for(let o=0;o<i.length;o++){let s=i[o];if(s.length===0)continue;let a=s.match(/^([\t ]+)/);if(!a)continue;let c=a[1];if(c.includes(" ")&&c.includes(" ")){Re(r,"error",{node:e},"NL.E0005",{line:o+1});return}}}checkSwimlaneRequired(e,r){let n=e.roadmapEntries.some(Ir);e.roadmapDecl&&!n&&Re(r,"error",{node:e.roadmapDecl},"NL.E0004")}checkIncludeMode(e,r){kB.has(e.value)||Re(r,"error",{node:e,property:"value"},"NL.E0200",{value:e.value})}checkIncludeDuplicateOptions(e,r){let n=new Set;for(let i of e.options){let o=i.key.replace(/:$/,"");n.has(o)&&Re(r,"error",{node:i},"NL.E0201",{key:o}),n.add(o)}}checkPropertyValues(e,r){let n=ke(e),i=e.value,o=e.values,s=i?[i]:o;switch(n){case"status":break;case"duration":i&&!Pu.test(i)&&Re(r,"error",{node:e,property:"value"},"NL.E0400",{value:i});break;case"size":i&&!Bk(i)&&Re(r,"error",{node:e,property:"value"},"NL.E0401",{value:i});break;case"effort":i&&!Pu.test(i)&&Re(r,"error",{node:e,property:"value"},"NL.E0402",{value:i});break;case"remaining":{if(i)if(vB.test(i)){let a=parseFloat(i);(a<0||a>100)&&Re(r,"error",{node:e,property:"value"},"NL.E0404",{value:i})}else Pu.test(i)||Re(r,"error",{node:e,property:"value"},"NL.E0403",{value:i});break}case"date":case"start":i&&(!zi.test(i)||Number.isNaN(new Date(i).getTime()))&&Re(r,"error",{node:e,property:"value"},"NL.E0405",{key:n,value:i});break;case"scale":i&&!Pu.test(i)&&Re(r,"error",{node:e,property:"value"},"NL.E0406",{value:i});break;case"calendar":i&&!mB.has(i)&&Re(r,"error",{node:e,property:"value"},"NL.E0407",{value:i});break;case"on":case"after":case"before":s.length===0&&Re(r,"error",{node:e},"NL.E0408",{key:n});break;case"capacity":{if(!i)break;let a=e.$container,c=CB(a);if(c==="invalid")break;c==="lane"?(!Fk.test(i)||parseFloat(i)<=0)&&r("error",`Invalid swimlane capacity "${i}". Use a positive integer (e.g. capacity:5) or decimal (e.g. capacity:1.5). Percent literals are not allowed on swimlanes.`,{node:e,property:"value"}):A_.test(i)?parseFloat(i)<=0&&r("error",`Item capacity "${i}" must be positive.`,{node:e,property:"value"}):Fk.test(i)?parseFloat(i)<=0&&r("error",`Item capacity "${i}" must be positive.`,{node:e,property:"value"}):r("error",`Invalid item capacity "${i}". Use a positive integer (capacity:2), decimal (capacity:0.5), or percent literal (capacity:50%).`,{node:e,property:"value"});break}case"overcapacity":{r("error",'"overcapacity:" was removed. Use "utilization-over-at:none" (and/or "utilization-warn-at:none") to suppress the lane utilization underline.',{node:e});break}case"utilization-warn-at":case"utilization-over-at":{if(!i)break;if(!PB(e.$container)){r("error",`"${n}:" is only valid on "swimlane" or "default swimlane".`,{node:e});break}if(i===Hk)break;if(A_.test(i)){parseFloat(i)<=0&&r("error",`${n} value "${i}" must be positive.`,{node:e,property:"value"});break}if(zk.test(i)){parseFloat(i)<=0&&r("error",`${n} value "${i}" must be positive.`,{node:e,property:"value"});break}if(AB.test(i)){r("error",`Ambiguous ${n} value "${i}". Use the percent form ("${i}%") or the decimal-fraction form ("0.${i}") to make the intent explicit.`,{node:e,property:"value"});break}r("error",`Invalid ${n} value "${i}". Use a positive percent (e.g. 80%), a positive decimal fraction (e.g. 0.8), or "none" to opt out.`,{node:e,property:"value"});break}case"capacity-icon":break;case"icon":break;default:if(fh.has(n)){if(n==="bg"||n==="fg"||n==="text")i&&!w_(i)&&r("error",`Invalid color "${i}" for "${n}". Use a named color, hex value, or "none".`,{node:e,property:"value"});else if(n in ph){let a=ph[n];i&&!a.has(i)&&!w_(i)&&r("error",`Invalid value "${i}" for "${n}". Allowed: ${[...a].join(", ")}.`,{node:e,property:"value"})}}break}}checkAnchorRequiredDate(e,r){e.properties.find(i=>ke(i)==="date")||Re(r,"error",{node:e},"NL.E0500",{name:Vr(e)})}checkAnchorAgainstStart(e,r){let n=e.properties.find(a=>ke(a)==="date");if(!n?.value)return;let i=n.value;if(!zi.test(i))return;let o=new Date(i);if(Number.isNaN(o.getTime()))return;let s=v_(e.$container);switch(s.kind){case"invalid":return;case"missing":Re(r,"error",{node:n,property:"value"},"NL.E0501",{name:Vr(e)});return;case"valid":o<s.date&&Re(r,"error",{node:n,property:"value"},"NL.E0502",{name:Vr(e),date:i,start:s.iso});return}}checkMilestoneRequirement(e,r){let n=e.properties.some(o=>ke(o)==="date"),i=e.properties.some(o=>ke(o)==="after");!n&&!i&&Re(r,"error",{node:e},"NL.E0503",{name:Vr(e)})}checkMilestoneAgainstStart(e,r){let n=e.properties.find(a=>ke(a)==="date");if(!n?.value)return;let i=n.value;if(!zi.test(i))return;let o=new Date(i);if(Number.isNaN(o.getTime()))return;let s=v_(e.$container);switch(s.kind){case"invalid":return;case"missing":r("error",`Milestone "${Vr(e)}" has a date but the roadmap is missing "start:". Add start:YYYY-MM-DD to the roadmap.`,{node:n,property:"value"});return;case"valid":o<s.date&&Re(r,"error",{node:n,property:"value"},"NL.E0504",{name:Vr(e),date:i,start:s.iso});return}}checkFootnoteOn(e,r){e.properties.some(i=>ke(i)==="on")||Re(r,"error",{node:e},"NL.E0505")}checkNoFootnoteProperty(e,r){for(let n of e.properties)ke(n)==="footnote"&&r("error",`Property "footnote:" is not valid on ${R_(e)}. Footnotes attach via "on:" on the footnote declaration \u2014 declare \`footnote <id> on:<target-id>\` instead.`,{node:n})}checkItemRequiredDuration(e,r){let n=e.properties.some(o=>ke(o)==="duration"),i=e.properties.some(o=>ke(o)==="size");!n&&!i&&Re(r,"error",{node:e},"NL.E0600",{name:Vr(e)})}checkNoComputedProperties(e,r){for(let n of e.properties){let i=ke(n);(i==="size"||i==="duration"||i==="remaining"||i==="capacity")&&r("error",`"${i}" is not valid on ${e.$type==="ParallelBlock"?"parallel":"group"} (computed from children).`,{node:n})}}checkParallelMinChildren(e,r){let n=e.content.filter(i=>!g_(i));n.length===0?r("error","Parallel block must contain at least 2 children.",{node:e}):n.length===1&&r("warning","Parallel block has only 1 child. Use at least 2 for parallel execution.",{node:e})}checkGroupMinChildren(e,r){e.content.filter(i=>!g_(i)).length===0&&r("error","Group must contain at least 1 child.",{node:e})}checkNoRawStyleProperties(e,r){for(let n of e.properties){let i=ke(n);fh.has(i)&&r("error",`Raw style property "${i}" is not allowed on ${R_(e)}. Declare a named style in config and reference it via "style:id".`,{node:n})}}checkUnknownEntityProperties(e,r){let n=yB[e.$type];if(!n)return;let i=e.$type==="ParallelBlock"||e.$type==="GroupBlock"?new Set(["size","duration","remaining","capacity"]):null;for(let o of e.properties){let s=ke(o);if(n.has(s)||$k.has(s)||fh.has(s)||s==="footnote"||i?.has(s))continue;let a=[...n,...$k],c=EB(s,n)??TB(s,a)??"";Re(r,"warning",{node:o,property:"key"},"NL.W0700",{key:s,entity:R_(e),suggested:c})}}checkRoadmapProperties(e,r){}checkStylePropertyEnum(e,r){let n=ke(e),i=e.value;if(n==="bg"||n==="fg"||n==="text")w_(i)||r("error",`Invalid color "${i}" for "${n}". Use a named color, hex value, or "none".`,{node:e,property:"value"});else if(n in ph){let o=ph[n];o.has(i)||r("error",`Invalid value "${i}" for "${n}". Allowed: ${[...o].join(", ")}.`,{node:e,property:"value"})}else fh.has(n)||r("error",`Unknown style property "${n}".`,{node:e,property:"key"})}checkSizeDeclaration(e,r){e.properties.find(i=>ke(i)==="effort")||r("error",`Size "${Vr(e)}" requires an "effort:" property.`,{node:e}),e.name&&(Pu.test(e.name)||bB.test(e.name))&&r("error",`Size id "${e.name}" collides with the raw duration pattern. Choose a different name (e.g. "xs", "small", "quarter").`,{node:e,property:"name"})}checkStatusDeclaration(e,r){e.name&&__.has(e.name)&&r("error",`Status id "${e.name}" collides with the built-in status value. Built-ins: ${[...__].join(", ")}.`,{node:e,property:"name"})}checkDuplicateSizeIds(e,r){let n=new Map;for(let i of e.roadmapEntries)if(Ko(i)&&i.name){let o=n.get(i.name);o?r("error",`Duplicate size id "${i.name}". First declared at ${hh(o)}.`,{node:i,property:"name"}):n.set(i.name,i)}}checkUtilizationOrdering(e,r){if(Hi(e)&&e.entityType!=="swimlane")return;let n=e.properties.find(a=>ke(a)==="utilization-warn-at"),i=e.properties.find(a=>ke(a)==="utilization-over-at");if(!n||!i)return;let o=Gk(n.value),s=Gk(i.value);o===null||s===null||o>s&&r("error",`utilization-warn-at (${n.value}) must be \u2264 utilization-over-at (${i.value}). Warn fires below over; if both fire at the same point, the warn band collapses to zero.`,{node:n,property:"value"})}checkDefaultDeclaration(e,r){if(!Dk.has(e.entityType)){r("error",`"${e.entityType}" is not a supported entity type for default. Allowed: ${[...Dk].join(", ")}.`,{node:e,property:"entityType"});return}let n=e.$container,i=-1;for(let s=0;s<n.configEntries.length;s++){let a=n.configEntries[s];if(Hi(a)&&a.entityType===e.entityType){if(i<0)i=s;else if(a===e){r("error",`Duplicate "default ${e.entityType}" declaration. Only one is allowed per entity type per file.`,{node:e});break}}}let o=gB[e.entityType];if(o)for(let s of e.properties){let a=ke(s);o.has(a)&&r("error",`"${a}" cannot be set on "default ${e.entityType}". Identity-defining, sizing, sequencing, reference, and prose properties must be explicit on each entity.`,{node:s})}}checkCalendarBlockConsistency(e,r){let n=e.configEntries.filter(lh),o=e.roadmapDecl?.properties.find(s=>ke(s)==="calendar")?.value;if(n.length>0&&o!=="custom")for(let s of n)r("error",'A "calendar" config block is only valid when the roadmap declares calendar:custom.',{node:s});if(o==="custom"&&n.length===0&&r("error",'calendar:custom requires a "calendar" config block with days-per-week, days-per-month, days-per-quarter, and days-per-year.',{node:e.roadmapDecl,property:"properties"}),o==="custom"&&n.length>0)for(let s of n){let a=new Set(s.properties.map(c=>ke(c)));for(let c of E_)a.has(c)||r("error",`calendar:custom requires "${c}" in the calendar config block.`,{node:s})}}checkCalendarBlock(e,r){let n=new Set;for(let i of e.properties){let o=ke(i);if(!E_.has(o)){r("error",`Unknown calendar property "${o}". Allowed: ${[...E_].join(", ")}.`,{node:i,property:"key"});continue}n.has(o)&&r("error",`Duplicate calendar property "${o}".`,{node:i,property:"key"}),n.add(o),(!Mk.test(i.value)||parseInt(i.value,10)<=0)&&r("error",`"${o}" must be a positive integer, got "${i.value}".`,{node:i,property:"value"})}}checkScaleBlock(e,r){let n=new Set;for(let i of e.properties){let o=ke(i);if(!Lk.has(o)){r("error",`Unknown scale property "${o}". Allowed: ${[...Lk].join(", ")}.`,{node:i,property:"key"});continue}n.has(o)&&r("error",`Duplicate scale property "${o}".`,{node:i,property:"key"}),n.add(o),o==="label-every"&&(!Mk.test(i.value)||parseInt(i.value,10)<=0)&&r("error",`"label-every" must be a positive integer, got "${i.value}".`,{node:i,property:"value"})}}checkForwardReferences(e,r){let n=new Map,i=new Map;for(let o=0;o<e.roadmapEntries.length;o++){let s=e.roadmapEntries[o];Ko(s)&&s.name?n.has(s.name)||n.set(s.name,o):rc(s)&&s.name&&(i.has(s.name)||i.set(s.name,o))}for(let o=0;o<e.roadmapEntries.length;o++){let s=e.roadmapEntries[o];Xk(s,a=>{let c=ke(a);if(c==="size"&&a.value){let l=a.value,u=n.get(l);u===void 0?r("error",`Size "${l}" is not declared. Add "size ${l} effort:<literal>" earlier in the roadmap section.`,{node:a,property:"value"}):u>=o&&r("error",`Size "${l}" is referenced before its declaration. Move "size ${l}" above this entity.`,{node:a,property:"value"})}else if(c==="status"&&a.value){let l=a.value;if(__.has(l))return;let u=i.get(l);u===void 0?r("error",`Status "${l}" is not a built-in and has no declaration. Add "status ${l}" earlier in the roadmap section.`,{node:a,property:"value"}):u>=o&&r("error",`Status "${l}" is referenced before its declaration. Move "status ${l}" above this entity.`,{node:a,property:"value"})}})}}checkReferenceResolution(e,r){let n=LB(e),i=o=>{Xk(o,s=>{let a=ke(s);if(a!=="after"&&a!=="before"&&a!=="on")return;let c=s.value?[s.value]:s.values;for(let l of c)l&&((a==="after"||a==="before")&&zi.test(l)||n.has(l)||r("error",`${a}: reference "${l}" does not resolve to any declared entity in this file.`,{node:s}))})};for(let o of e.roadmapEntries)i(o)}checkInlineDatePins(e,r){let n=v_(e),i=o=>{let s=o.properties??[],a=gr(o)||Wr(o)||qr(o);for(let c of s){let l=ke(c);if(l!=="after"&&l!=="before")continue;let f=(c.value?[c.value]:c.values).filter(d=>!!d&&zi.test(d));if(f.length!==0){if(!a){Re(r,"error",{node:c},"NL.E0411",{key:l,type:NB(o)});continue}f.length>1&&Re(r,"error",{node:c},"NL.E0410",{key:l});for(let d of f)switch(n.kind){case"invalid":continue;case"missing":Re(r,"error",{node:c},"NL.E0412",{key:l,date:d});continue;case"valid":{let p=new Date(d);if(Number.isNaN(p.getTime()))continue;p<n.date&&Re(r,"error",{node:c},"NL.E0413",{key:l,date:d,start:n.iso})}}}}if(Ir(o))for(let c of o.content)i(c);else if(Wr(o)||qr(o))for(let c of o.content)i(c)};for(let o of e.roadmapEntries)i(o)}checkCircularDependencies(e,r){let n=new Map,i=(p,m)=>{n.has(p)||n.set(p,new Set),n.get(p).add(m)},o=(p,m,y)=>{if(p)for(let _ of m){let E=ke(_);if(E==="after"){let T=_.value?[_.value]:_.values;for(let v of T)v&&(zi.test(v)||i(p,v))}else if(E==="before"){let T=_.value?[_.value]:_.values;for(let v of T)v&&(zi.test(v)||i(v,p))}}},s=p=>{let m=p.name,y=p.properties??[];if(o(m,y,e),Ir(p))for(let _ of p.content)s(_);else if(Wr(p)||qr(p))for(let _ of p.content)s(_)};for(let p of e.roadmapEntries)s(p);let a=0,c=1,l=2,u=new Map;for(let p of n.keys())u.set(p,a);let f=new Set,d=(p,m)=>{u.set(p,c),m.push(p);for(let y of n.get(p)??[]){let _=u.get(y)??a;if(_===c){let E=m.indexOf(y),T=m.slice(E).concat(y),v=[...T].sort().join("\u2192");f.has(v)||(f.add(v),r("error",`Circular dependency detected: ${T.join(" \u2192 ")}.`,{node:e.roadmapDecl??e}))}else _===a&&d(y,m)}m.pop(),u.set(p,l)};for(let p of n.keys())(u.get(p)??a)===a&&d(p,[])}checkPersonDeclarations(e,r){let n=new Map,i=a=>!!a.title||a.properties.length>0||a.description!==void 0,o=a=>{if(!a.name)return;let c=i(a);n.has(a.name)||n.set(a.name,[]),n.get(a.name).push({node:a,isDeclaration:c}),!c&&a.$container.$type==="NowlineFile"&&r("warning",`Bare "person ${a.name}" at roadmap top level has no declaration. Either add properties (title, link, etc.) or remove the line.`,{node:a})},s=a=>{for(let c of a.content)jn(c)?o(c):Sr(c)&&s(c)};for(let a of e.roadmapEntries)jn(a)?o(a):Sr(a)&&s(a);for(let[a,c]of n){let l=c.filter(u=>u.isDeclaration);if(l.length>1)for(let u=1;u<l.length;u++)r("error",`Person "${a}" is declared more than once. First declaration at ${hh(l[0].node)}.`,{node:l[u].node})}}checkSymbolDeclaration(e,r){e.name&&dh.has(e.name)&&r("error",`Symbol id "${e.name}" collides with a built-in icon name. Reserved built-ins: ${[...dh].sort().join(", ")}.`,{node:e,property:"name"});let n=e.properties.find(o=>ke(o)==="unicode");n?(!n.value||n.value.length===0)&&r("error",`Symbol "${Vr(e)}" unicode: must be a non-empty value.`,{node:n,property:"value"}):r("error",`Symbol "${Vr(e)}" requires a "unicode:" property (e.g. unicode:"\u{1F4B0}" or unicode:"\\u{1F464}").`,{node:e});let i=e.properties.find(o=>ke(o)==="ascii");if(i){let o=i.value??"";IB.test(o)||r("error",`Symbol "${Vr(e)}" ascii: must be 1-3 ASCII characters (got ${o.length} character${o.length===1?"":"s"}).`,{node:i,property:"value"})}for(let o of e.properties){let s=ke(o);s!=="unicode"&&s!=="ascii"&&s!=="link"&&s!=="description"&&r("error",`Unknown symbol property "${s}". Allowed: unicode, ascii, link, description.`,{node:o,property:"key"})}}checkDuplicateSymbolIds(e,r){let n=new Map;for(let i of e.configEntries)if(Nu(i)&&i.name){let o=n.get(i.name);o?r("error",`Duplicate symbol id "${i.name}". First declared at ${hh(o)}.`,{node:i,property:"name"}):n.set(i.name,i)}}checkSymbolReferences(e,r){let n=new Map;for(let o=0;o<e.configEntries.length;o++){let s=e.configEntries[o];Nu(s)&&s.name&&(n.has(s.name)||n.set(s.name,o))}let i=(o,s,a,c)=>{if(s!=="icon"&&s!=="capacity-icon"||!a||!Bk(a)||s==="capacity-icon"&&b_.has(a)||s==="icon"&&dh.has(a))return;let l=n.get(a);if(l===void 0){let u=s==="capacity-icon"?[...b_].sort().join(", "):[...dh].sort().join(", ");r("error",`${s}: "${a}" is neither a built-in (${u}) nor a declared symbol. Add "symbol ${a} unicode:..." earlier in config or use a quoted Unicode literal.`,{node:c,property:"value"})}else l>=o&&r("error",`${s}: symbol "${a}" is referenced before its declaration. Move "symbol ${a}" above this entry.`,{node:c,property:"value"})};for(let o=0;o<e.configEntries.length;o++){let s=e.configEntries[o];if(ku(s))for(let a of s.properties)i(o,ke(a),a.value,a);else if(Hi(s))for(let a of s.properties)i(o,ke(a),a.value,a)}}};function w_(t){return hB.has(t)||wB.test(t)}function Bk(t){return/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(t)}function CB(t){return t?Ir(t)?"lane":gr(t)?"item":Hi(t)?t.entityType==="swimlane"?"lane":"item":"invalid":"invalid"}function PB(t){return t?!!(Ir(t)||Hi(t)&&t.entityType==="swimlane"):!1}function Gk(t){if(!t||t===Hk)return null;if(A_.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e/100:null}if(zk.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e:null}return null}function hh(t){let e=t.$cstNode;return e?`line ${e.range.start.line+1}`:"unknown location"}function R_(t){let e=t.$type.replace(/Declaration$|Block$/,"").toLowerCase(),r=t.name??t.title;return r?`${e} "${r}"`:e}function OB(t,e){if(Ir(t)){e(t.name,t);for(let r of t.content)I_(r,e)}else jn(t)?e(t.name,t):Sr(t)?qk(t,e):(bu(t)||Su(t)||Au(t)||Iu(t)||Ko(t)||rc(t))&&e(t.name,t)}function qk(t,e){e(t.name,t);for(let r of t.content)Sr(r)&&qk(r,e)}function I_(t,e){if(gr(t))e(t.name,t);else if(Wr(t)){e(t.name,t);for(let r of t.content)I_(r,e)}else if(qr(t)){e(t.name,t);for(let r of t.content)I_(r,e)}}function Xk(t,e){let r=n=>{let i=n.properties;if(Array.isArray(i))for(let o of i)e(o);if(Ir(n))for(let o of n.content)r(o);else if(Wr(n)||qr(n))for(let o of n.content)r(o);else if(Sr(n))for(let o of n.content)(Sr(o)||jn(o))&&r(o)};r(t)}function LB(t){let e=new Set;t.roadmapDecl?.name&&e.add(t.roadmapDecl.name);let r=n=>{let i=n.name;if(i&&e.add(i),Ir(n))for(let o of n.content)r(o);else if(Wr(n)||qr(n))for(let o of n.content)r(o);else if(Sr(n))for(let o of n.content)Sr(o)||jn(o)?r(o):lk(o)};for(let n of t.roadmapEntries)r(n);return e}var S_=class extends Fo{runConverter(e,r,n){return e.name==="PROPERTY_KEY_WITH_COLON"||e.name==="INCLUDE_OPTION_KEY"?r.endsWith(":")?r.slice(0,-1):r:super.runConverter(e,r,n)}},k_=class extends Ga{isStartOfLine(e,r){if(!super.isStartOfLine(e,r))return!1;let n=r-1;for(;n>=0&&(e[n]===" "||e[n]===" ");)n--;for(;n>=0&&(e[n]==="\r"||e[n]===`
2663
- `);)n--;for(;n>=0&&(e[n]===" "||e[n]===" ");)n--;return n<0||e[n]!=="\\"}},Wk={parser:{TokenBuilder:()=>new k_({indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[["[","]"]]}),Lexer:t=>new Tu(t),ParserConfig:()=>({maxLookahead:4}),ValueConverter:()=>new S_},validation:{NowlineValidator:()=>new mh}};function N_(t={}){let e=t.shared??Wo(yu(_u),pk),r=Wo(gu({shared:e}),hk,Wk);return e.ServiceRegistry.register(r),jk(r),{shared:e,Nowline:r}}function Vk(t){return t.endsWith(":")?t.slice(0,-1):t}function ae(t,e){return t.find(r=>Vk(r.key)===e)?.value}function gt(t,e){let r=t.find(n=>Vk(n.key)===e);return r?r.value!==void 0?[r.value]:[...r.values]:[]}function vt(t){if(!t)return null;let e=/^(\d{4})-(\d{2})-(\d{2})$/.exec(t);if(!e)return null;let r=new Date(Date.UTC(parseInt(e[1],10),parseInt(e[2],10)-1,parseInt(e[3],10)));return Number.isNaN(r.getTime())?null:r}var nc={mode:"business",daysPerWeek:5,daysPerMonth:22,daysPerQuarter:65,daysPerYear:260},DB={mode:"full",daysPerWeek:7,daysPerMonth:30,daysPerQuarter:91,daysPerYear:365};function Yk(t,e){let n=t.roadmapDecl?.properties.find(i=>C_(i.key)==="calendar")?.value??"business";if(n==="business")return{...nc};if(n==="full")return{...DB};if(e){let i=(o,s)=>{let a=e.properties.find(l=>C_(l.key)===o),c=a?parseInt(a.value,10):NaN;return Number.isFinite(c)&&c>0?c:s};return{mode:"custom",daysPerWeek:i("days-per-week",nc.daysPerWeek),daysPerMonth:i("days-per-month",nc.daysPerMonth),daysPerQuarter:i("days-per-quarter",nc.daysPerQuarter),daysPerYear:i("days-per-year",nc.daysPerYear)}}return{...nc}}var gh=/^(\d+(?:\.\d+)?)([dwmqy])$/;function yh(t,e){let r=gh.exec(t);if(!r)return 0;let n=parseFloat(r[1]);switch(r[2]){case"d":return n;case"w":return n*e.daysPerWeek;case"m":return n*e.daysPerMonth;case"q":return n*e.daysPerQuarter;case"y":return n*e.daysPerYear;default:return 0}}function Kk(t,e,r){return t?gh.test(t)?yh(t,r):e.get(t)?.effortDays??0:0}function ji(t,e,r){let n=ae(t,"duration");if(n&&gh.test(n))return yh(n,r);let i=ae(t,"size"),o=i?e.get(i):void 0;if(!o)return 0;let s=oi(ae(t,"capacity"))??1;return o.effortDays/s}function Zk(t,e,r){let n=ae(t,"size"),i=n?e.get(n):void 0;if(i)return i.effortDays;let o=ae(t,"duration");if(o&&gh.test(o)){let s=oi(ae(t,"capacity"))??1;return yh(o,r)*s}return 0}function xh(t,e){let r=new Map;for(let[n,i]of t){let s=i.properties.find(c=>C_(c.key)==="effort")?.value;if(!s)continue;let a=yh(s,e);a<=0||r.set(n,{name:n,title:i.title||void 0,effortDays:a,effortLiteral:s})}return r}function C_(t){return t.endsWith(":")?t.slice(0,-1):t}function kr(t,e){return Math.round((e.getTime()-t.getTime())/864e5)}function Zo(t,e){let r=new Date(t.getTime());return r.setUTCDate(r.getUTCDate()+e),r}var Th=class{constructor(e){de(this,"items");de(this,"brackets");this.items=e.itemBars,this.brackets=e.brackets}hasObstacle(e,r,n){let i=Math.min(r,n),o=Math.max(r,n);for(let s of this.items)if(!(e<=s.x||e>=s.x+s.width)&&!(s.y+s.height<=i||s.y>=o))return!0;return!1}bracketsNear(e,r,n,i){let o=Math.min(r,n),s=Math.max(r,n),a=[];for(let c of this.brackets)Math.abs(c.x-e)>i||c.yBottom<=o||c.yTop>=s||a.push(c);return a}};function Jk(t,e){let r=[],n=[],i=s=>{if(s.kind==="item"){r.push(s.box);return}if(s.kind==="parallel"){if(s.style.bracket==="solid"||s.style.bracket==="dashed"){let l=s.box.y-12,u=s.box.y+s.box.height+12,f=s.box.x,d=s.box.x+s.box.width;n.push({x:f,yTop:l,yBottom:u}),n.push({x:d,yTop:l,yBottom:u}),n.push({x:f+4,yTop:l-1,yBottom:l+1}),n.push({x:f+4,yTop:u-1,yBottom:u+1}),n.push({x:d-4,yTop:l-1,yBottom:l+1}),n.push({x:d-4,yTop:u-1,yBottom:u+1})}for(let a of s.children)i(a);return}if(s.kind==="group"){!(s.style.bg!=="none"&&s.style.bg!=="#ffffff")&&s.style.bracket&&s.style.bracket!=="none"&&n.push({x:s.box.x,yTop:s.box.y,yBottom:s.box.y+s.box.height});for(let c of s.children)i(c);return}},o=s=>{for(let a of s.children)i(a);for(let a of s.nested)o(a)};for(let s of t)o(s);for(let s of e)for(let a of s.nestedSwimlanes)o(a);return{itemBars:r,brackets:n}}function $B(t,e){let{from:r,to:n}=t;if(Math.abs(r.y-n.y)<.5)return{x:(r.x+n.x)/2,underBar:!1,range:null};let i=Math.min(r.y,n.y),o=Math.max(r.y,n.y);if(r.x<=n.x){let a=r.x+6,c=n.x-6;if(a>c)return{x:n.x-6,underBar:!0,range:null};let l={minX:a,maxX:c},u=(r.x+n.x)/2,f=Math.max(a,Math.min(c,u));if(!e.hasObstacle(f,i,o))return{x:f,underBar:!1,range:l};let d=c-a;for(let p=1;p<=d;p++){let m=f-p;if(m>=a&&!e.hasObstacle(m,i,o))return{x:m,underBar:!1,range:l};let y=f+p;if(y<=c&&!e.hasObstacle(y,i,o))return{x:y,underBar:!1,range:l}}return{x:f,underBar:!0,range:l}}let s=[r.x+10,n.x-10];for(let a of s)if(a>0&&!e.hasObstacle(a,i,o))return{x:a,underBar:!1,range:null};return{x:r.x+10,underBar:!0,range:null}}function MB(t,e,r,n){let i=Math.min(r.from.y,r.to.y),o=Math.max(r.from.y,r.to.y),s=n.bracketsNear(t,i,o,4);if(s.length===0)return{x:t,forceUnderBar:!1};let a=s[0],c=Math.abs(s[0].x-t);for(let d=1;d<s.length;d++){let p=Math.abs(s[d].x-t);p<c&&(a=s[d],c=p)}let l=[a.x+4,a.x-4],u=4-.01;for(let d of l){if(e&&(d<e.minX||d>e.maxX))continue;let p=e?d:Math.max(Math.min(r.from.x,r.to.x)+1,Math.min(Math.max(r.from.x,r.to.x)-1,d));if(n.bracketsNear(p,i,o,u).length===0)return{x:p,forceUnderBar:!1}}return{x:e?Math.min(Math.max(t,e.minX),e.maxX):t,forceUnderBar:!0}}function FB(t){let e=[...t].sort((i,o)=>Math.abs(i.channelX-o.channelX)>=1?i.channelX-o.channelX:i.orderIndex-o.orderIndex),r=new Map,n=0;for(;n<e.length;){let i=n+1;for(;i<e.length&&Math.abs(e[i].channelX-e[n].channelX)<1;)i++;let s=[...e.slice(n,i)].sort((c,l)=>{let u=Math.min(c.req.from.y,c.req.to.y),f=Math.min(l.req.from.y,l.req.to.y);return Math.abs(u-f)>.5?u-f:c.orderIndex-l.orderIndex}),a=[];for(let c of s){let l=Math.min(c.req.from.y,c.req.to.y),u=Math.max(c.req.from.y,c.req.to.y),f=-1;for(let d=0;d<a.length;d++)if(a[d]<=l){f=d,a[d]=u;break}f===-1&&(f=a.length,a.push(u)),r.set(c.orderIndex,f)}n=i}return r}function UB(t){if(t===0||t>4)return 0;let e=Math.ceil(t/2);return(t%2===1?1:-1)*e*3}function BB(t){let e=t.from.x>=t.to.x?{x:t.to.x-1,y:t.from.y}:t.from;return{fromId:t.fromId,toId:t.toId,waypoints:[e,t.to],underBar:!1}}function Qk(t,e){let r=new Array(t.length),n=[];for(let o=0;o<t.length;o++){let s=t[o];if(s.isMarkerSource){r[o]=BB(s);continue}if(Math.abs(s.from.y-s.to.y)<.5&&s.to.x-s.from.x<20){r[o]={fromId:s.fromId,toId:s.toId,waypoints:[s.from,s.to],underBar:!1};continue}let{x:a,underBar:c,range:l}=$B(s,e),{x:u,forceUnderBar:f}=MB(a,l,s,e),d=c||f;n.push({req:s,channelX:u,underBar:d,orderIndex:o})}let i=FB(n);for(let o of n){let s=UB(i.get(o.orderIndex)??0),a=o.channelX+s;r[o.orderIndex]={fromId:o.req.fromId,toId:o.req.toId,waypoints:GB(o.req.from,o.req.to,a),underBar:o.underBar}}return r}function GB(t,e,r){return Math.abs(t.y-e.y)<.5?[t,e]:[t,{x:r,y:t.y},{x:r,y:e.y},e]}var Ou="en-US",XB={"en-US":{nowLabel:"now",quarterPrefix:"Q"},fr:{nowLabel:"maint.",quarterPrefix:"T"}};function eN(t,e){return e??t??Ou}function _h(t){let e={};for(let r of HB(t)){let n=XB[r];if(n)for(let i of Object.keys(n))e[i]===void 0&&n[i]!==void 0&&(e[i]=n[i])}return e}function HB(t){let e=[],r=zB(t);for(;r.length>0;){e.includes(r)||e.push(r);let n=r.lastIndexOf("-");if(n<=0)break;r=r.slice(0,n)}return e.includes(Ou)||e.push(Ou),e}function zB(t){return t.split("-").map((r,n)=>n===0?r.toLowerCase():/^[a-zA-Z]{2}$/.test(r)?r.toUpperCase():r).join("-")}function iN(t){let{box:e,afterDate:r,beforeDate:n,hasLinkIcon:i,footnoteCount:o}=t;if(!r&&!n)return[];let s=[],a=12,c=e.y+5,l=e.width<40;if(r){let u=i?e.x+6+14+4:e.x+6,f=l?{x:e.x-6-a,y:c}:{x:u,y:c};s.push({side:"after",isoDate:r,glyphTopLeft:f,glyphSize:a,spilled:l})}if(n){let u=e.x+e.width,f;o>0?f=u-22-(o-1)*8-4:f=u-12-5-4;let d=f-a,p=l?{x:u+6,y:c}:{x:d,y:c};s.push({side:"before",isoDate:n,glyphTopLeft:p,glyphSize:a,spilled:l})}return s}function vh(t){let{box:e,afterDate:r,beforeDate:n}=t;if(!r&&!n)return[];let i=[],o=12,s=e.y+5;return r&&i.push({side:"after",isoDate:r,glyphTopLeft:{x:e.x+6,y:s},glyphSize:o,spilled:!1}),n&&i.push({side:"before",isoDate:n,glyphTopLeft:{x:e.x+e.width-6-o,y:s},glyphSize:o,spilled:!1}),i}function Vn(t){for(let e of t)if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e}function wh(t,e){return{x:t,y:e,height:0,maxX:t}}var sc=class{constructor(e){de(this,"rows");de(this,"opts");this.opts=e,this.rows=[{y:e.originY,height:e.minRowHeight,rightEdge:e.laneLeftX,spillX:e.laneLeftX,placedChildren:[]}]}placeItem(e){for(let n=0;n<this.rows.length;n+=1){let i=this.rows[n];if(!(e.desiredStart<i.rightEdge)&&!(e.desiredStart<i.spillX)&&!this.rowIntersectsCorridor(i,e))return{rowIndex:n,y:i.y}}let r=this.appendRow(Math.max(this.opts.minRowHeight,e.predictedHeight));return{rowIndex:this.rows.length-1,y:r.y}}placeBlock(){let e=this.rows[this.rows.length-1];if(e.rightEdge>this.opts.laneLeftX){let r=this.appendRow(this.opts.minRowHeight);return{rowIndex:this.rows.length-1,y:r.y}}return{rowIndex:this.rows.length-1,y:e.y}}commitItem(e){let r=this.rows[e.rowIndex],n=Math.max(e.placed.box.height,e.rowHeight??0);this.growRowHeight(e.rowIndex,n),r.rightEdge=e.logicalEnd,r.spillX=e.spillReservation??this.opts.laneLeftX,r.placedChildren.push(e.placed)}commitBlock(e){let r=this.rows[e.rowIndex];this.growRowHeight(e.rowIndex,e.blockHeight),r.rightEdge=e.blockEnd,r.spillX=this.opts.laneLeftX,r.placedChildren.push(e.placed)}usedHeight(){let e=this.rows[this.rows.length-1];return e.y+e.height-this.opts.originY}usedRightX(){let e=this.opts.laneLeftX;for(let r of this.rows)r.rightEdge>e&&(e=r.rightEdge),r.spillX>e&&(e=r.spillX);return e}rowIntersectsCorridor(e,r){return this.opts.slackCorridors.some(n=>n.y>=e.y&&n.y<e.y+e.height&&r.desiredStart<n.xEnd&&r.desiredEnd>n.xStart&&n.slackPredId!==r.childId)}appendRow(e){let r=this.rows[this.rows.length-1],n={y:r.y+r.height,height:e,rightEdge:this.opts.laneLeftX,spillX:this.opts.laneLeftX,placedChildren:[]};return this.rows.push(n),n}growRowHeight(e,r){let n=this.rows[e],i=r-n.height;if(!(i<=0)){n.height=r;for(let o=e+1;o<this.rows.length;o+=1){let s=this.rows[o];s.y+=i;for(let a of s.placedChildren)oN(a,i)}}}};function oN(t,e){if(t.box.y+=e,t.kind==="item"){for(let r of t.labelChips)r.box.y+=e;t.overflowBox&&(t.overflowBox.y+=e);return}for(let r of t.children)oN(r,e)}var sN={red:"#f87171",blue:"#60a5fa",yellow:"#facc15",green:"#34d399",orange:"#fb923c",purple:"#a78bfa",gray:"#94a3b8",navy:"#818cf8",white:"#e2e8f0"},Yn={bg:"none",fg:"#e2e8f0",text:"#e2e8f0",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},P_={name:"dark",surface:{page:"#0b1220",chart:"#111827",headerBox:"#1e293b"},entities:{roadmap:{...Yn,headerHeight:"md",padding:"md"},swimlane:{...Yn,fg:"#e2e8f0",text:"#e2e8f0",padding:"sm",spacing:"none",textSize:"sm"},item:{...Yn,bg:"#0f172a",fg:"#94a3b8",text:"#e2e8f0",shadow:"subtle",cornerRadius:"sm"},parallel:{...Yn,bracket:"none",padding:"xs"},group:{...Yn,bracket:"solid",padding:"xs",fg:"#94a3b8"},anchor:{...Yn,bg:"#0b1220",fg:"#cbd5e1",text:"#cbd5e1",cornerRadius:"sm"},milestone:{...Yn,bg:"#e2e8f0",fg:"#e2e8f0",text:"#0b1220",border:"solid"},footnote:{...Yn,bg:"none",fg:"#94a3b8",text:"#e2e8f0",textSize:"sm"},label:{...Yn,bg:"#1e293b",fg:"#94a3b8",text:"#e2e8f0",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#111827",bandOdd:"#0f172a",separator:"#1f2937",frameTabText:"#e2e8f0",frameTabMuted:"#94a3b8",border:"#334155",tabFill:"#1e293b",tabStroke:"#475569",tabText:"#e2e8f0",ownerText:"#94a3b8",footnoteIndicator:"#f87171",rowTintEven:"#0f172a",rowTintOdd:"#1e293b",utilizationOk:"#34d399",utilizationWarn:"#fbbf24",utilizationOver:"#f87171"},timeline:{gridLine:"#475569",minorGridLine:"#334155",tickMark:"#334155",labelText:"#cbd5e1",panelFill:"#0f172a",border:"#334155"},header:{cardBorder:"#475569",author:"#94a3b8"},item:{overflowX:"#f87171",linkIconFg:"#94a3b8",overflowTailFill:"#7f1d1d",overflowTailStroke:"#f87171",overflowCaption:"#fecaca"},parallel:{bracketStroke:"#cbd5e1"},anchorDiamond:{fill:"#0f172a",stroke:"#cbd5e1",label:"#cbd5e1",cutLine:"#94a3b8"},milestoneDiamond:{fill:"#e2e8f0",label:"#e2e8f0",cutLineNormal:"#a5b4fc",cutLineOverrun:"#ef4444",slack:"#cbd5e1"},footnotePanel:{fill:"#0f172a",border:"#334155",header:"#e2e8f0",title:"#e2e8f0",description:"#94a3b8",number:"#f87171"},nowline:{stroke:"#f87171",labelText:"#0b1220",labelBg:"#f87171"},milestone:{dashedInk:"#a5b4fc",overrun:"#ef4444"},anchor:{predecessorLine:"#94a3b8"},dependency:{edgeStroke:"#cbd5e1",overflowStroke:"#ef5350"},footnote:{indicatorText:"#f87171",descriptionMuted:"#94a3b8"},includeRegion:{border:"#475569",label:"#cbd5e1",badge:"#94a3b8",fill:"#0b1220",tabFill:"#111827",tabStroke:"#475569",tabText:"#e2e8f0",badgeFill:"#1e293b",badgeStroke:"#475569",badgeText:"#94a3b8"},arrowhead:{neutral:"#94a3b8",light:"#64748b",dark:"#e2e8f0"},status:{done:"#34d399",inProgress:"#60a5fa",atRisk:"#facc15",blocked:"#ef4444",planned:"#94a3b8",neutral:"#94a3b8"},statusDot:{onLight:{done:"#065f46",inProgress:"#1e3a8a",atRisk:"#92400e",blocked:"#991b1b",planned:"#334155",neutral:"#334155"},onDark:{done:"#d1fae5",inProgress:"#dbeafe",atRisk:"#fef3c7",blocked:"#fee2e2",planned:"#e2e8f0",neutral:"#e2e8f0"}},attribution:{mark:"#cbd5e1",link:"#f87171"},diagnostic:{overlayBg:"#7f1d1d",errorText:"#fecaca"}};var aN={red:"#4a4a4a",blue:"#6b6b6b",green:"#8a8a8a",yellow:"#c8c8c8",orange:"#5c5c5c",purple:"#3a3a3a",gray:"#9e9e9e",navy:"#2a2a2a",white:"#ffffff"},Kn={bg:"none",fg:"#1a1a1a",text:"#1a1a1a",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},O_={name:"grayscale",surface:{page:"#f5f5f5",chart:"#ffffff",headerBox:"#ffffff"},entities:{roadmap:{...Kn,headerHeight:"md",padding:"md"},swimlane:{...Kn,fg:"#3a3a3a",text:"#3a3a3a",padding:"sm",spacing:"none",textSize:"sm"},item:{...Kn,bg:"#ffffff",fg:"#9e9e9e",text:"#1a1a1a",shadow:"subtle",cornerRadius:"sm"},parallel:{...Kn,bracket:"none",padding:"xs"},group:{...Kn,bracket:"solid",padding:"xs",fg:"#595959"},anchor:{...Kn,bg:"#1a1a1a",fg:"#1a1a1a",text:"#1a1a1a",cornerRadius:"sm"},milestone:{...Kn,bg:"#2a2a2a",fg:"#2a2a2a",text:"#ffffff",border:"solid"},footnote:{...Kn,bg:"none",fg:"#595959",text:"#595959",textSize:"sm"},label:{...Kn,bg:"#e8e8e8",fg:"#595959",text:"#595959",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#ffffff",bandOdd:"#f5f5f5",separator:"#d4d4d4",frameTabText:"#3a3a3a",frameTabMuted:"#737373",border:"#d4d4d4",tabFill:"#e8e8e8",tabStroke:"#bdbdbd",tabText:"#3a3a3a",ownerText:"#737373",footnoteIndicator:"#4a4a4a",rowTintEven:"#ffffff",rowTintOdd:"#f5f5f5",utilizationOk:"#8a8a8a",utilizationWarn:"#595959",utilizationOver:"#1a1a1a"},timeline:{gridLine:"#bdbdbd",minorGridLine:"#d4d4d4",tickMark:"#bdbdbd",labelText:"#737373",panelFill:"#ffffff",border:"#d4d4d4"},header:{cardBorder:"#d4d4d4",author:"#737373"},item:{overflowX:"#1a1a1a",linkIconFg:"#1a1a1a",overflowTailFill:"#e8e8e8",overflowTailStroke:"#4a4a4a",overflowCaption:"#3a3a3a"},parallel:{bracketStroke:"#3a3a3a"},anchorDiamond:{fill:"#ffffff",stroke:"#3a3a3a",label:"#3a3a3a",cutLine:"#737373"},milestoneDiamond:{fill:"#1a1a1a",label:"#1a1a1a",cutLineNormal:"#2a2a2a",cutLineOverrun:"#4a4a4a",slack:"#1a1a1a"},footnotePanel:{fill:"#ffffff",border:"#d4d4d4",header:"#1a1a1a",title:"#1a1a1a",description:"#737373",number:"#4a4a4a"},nowline:{stroke:"#1a1a1a",labelText:"#ffffff",labelBg:"#1a1a1a"},milestone:{dashedInk:"#9e9e9e",overrun:"#4a4a4a"},anchor:{predecessorLine:"#9e9e9e"},dependency:{edgeStroke:"#595959",overflowStroke:"#1a1a1a"},footnote:{indicatorText:"#4a4a4a",descriptionMuted:"#737373"},includeRegion:{border:"#9e9e9e",label:"#3a3a3a",badge:"#737373",fill:"#f5f5f5",tabFill:"#ffffff",tabStroke:"#bdbdbd",tabText:"#1a1a1a",badgeFill:"#e8e8e8",badgeStroke:"#bdbdbd",badgeText:"#595959"},arrowhead:{neutral:"#595959",light:"#9e9e9e",dark:"#1a1a1a"},status:{done:"#8a8a8a",inProgress:"#595959",atRisk:"#737373",blocked:"#3a3a3a",planned:"#bdbdbd",neutral:"#bdbdbd"},statusDot:{onLight:{done:"#3a3a3a",inProgress:"#2a2a2a",atRisk:"#4a4a4a",blocked:"#1a1a1a",planned:"#595959",neutral:"#595959"},onDark:{done:"#d4d4d4",inProgress:"#e8e8e8",atRisk:"#c8c8c8",blocked:"#f0f0f0",planned:"#d4d4d4",neutral:"#d4d4d4"}},attribution:{mark:"#9e9e9e",link:"#1a1a1a"},diagnostic:{overlayBg:"#e8e8e8",errorText:"#1a1a1a"}};var cN={red:"#e53935",blue:"#1e88e5",yellow:"#fdd835",green:"#43a047",orange:"#fb8c00",purple:"#8e24aa",gray:"#9e9e9e",navy:"#0d47a1",white:"#ffffff"},Zn={bg:"none",fg:"#0f172a",text:"#0f172a",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},L_={name:"light",surface:{page:"#f8fafc",chart:"#ffffff",headerBox:"#ffffff"},entities:{roadmap:{...Zn,headerHeight:"md",padding:"md"},swimlane:{...Zn,fg:"#334155",text:"#334155",padding:"sm",spacing:"none",textSize:"sm"},item:{...Zn,bg:"#ffffff",fg:"#94a3b8",text:"#0f172a",shadow:"subtle",cornerRadius:"sm"},parallel:{...Zn,bracket:"none",padding:"xs"},group:{...Zn,bracket:"solid",padding:"xs",fg:"#475569"},anchor:{...Zn,bg:"#0f172a",fg:"#0f172a",text:"#0f172a",cornerRadius:"sm"},milestone:{...Zn,bg:"#312e81",fg:"#312e81",text:"#ffffff",border:"solid"},footnote:{...Zn,bg:"none",fg:"#475569",text:"#475569",textSize:"sm"},label:{...Zn,bg:"#f1f5f9",fg:"#475569",text:"#475569",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#ffffff",bandOdd:"#f8fafc",separator:"#e2e8f0",frameTabText:"#334155",frameTabMuted:"#64748b",border:"#e2e8f0",tabFill:"#f1f5f9",tabStroke:"#cbd5e1",tabText:"#334155",ownerText:"#64748b",footnoteIndicator:"#dc2626",rowTintEven:"#ffffff",rowTintOdd:"#f8fafc",utilizationOk:"#10b981",utilizationWarn:"#f59e0b",utilizationOver:"#ef4444"},timeline:{gridLine:"#cbd5e1",minorGridLine:"#e2e8f0",tickMark:"#cbd5e1",labelText:"#64748b",panelFill:"#ffffff",border:"#e2e8f0"},header:{cardBorder:"#e2e8f0",author:"#64748b"},item:{overflowX:"#dc2626",linkIconFg:"#0f172a",overflowTailFill:"#fee2e2",overflowTailStroke:"#ef4444",overflowCaption:"#b91c1c"},parallel:{bracketStroke:"#334155"},anchorDiamond:{fill:"#ffffff",stroke:"#334155",label:"#334155",cutLine:"#64748b"},milestoneDiamond:{fill:"#0f172a",label:"#0f172a",cutLineNormal:"#1e1b4b",cutLineOverrun:"#b91c1c",slack:"#0f172a"},footnotePanel:{fill:"#ffffff",border:"#e2e8f0",header:"#0f172a",title:"#0f172a",description:"#64748b",number:"#dc2626"},nowline:{stroke:"#e53e3e",labelText:"#ffffff",labelBg:"#e53e3e"},milestone:{dashedInk:"#94a3b8",overrun:"#ef4444"},anchor:{predecessorLine:"#94a3b8"},dependency:{edgeStroke:"#475569",overflowStroke:"#d32f2f"},footnote:{indicatorText:"#e53e3e",descriptionMuted:"#64748b"},includeRegion:{border:"#94a3b8",label:"#334155",badge:"#64748b",fill:"#f8fafc",tabFill:"#ffffff",tabStroke:"#cbd5e1",tabText:"#0f172a",badgeFill:"#e2e8f0",badgeStroke:"#cbd5e1",badgeText:"#475569"},arrowhead:{neutral:"#475569",light:"#94a3b8",dark:"#0f172a"},status:{done:"#10b981",inProgress:"#3b82f6",atRisk:"#f59e0b",blocked:"#ef4444",planned:"#94a3b8",neutral:"#94a3b8"},statusDot:{onLight:{done:"#065f46",inProgress:"#1e3a8a",atRisk:"#92400e",blocked:"#991b1b",planned:"#334155",neutral:"#334155"},onDark:{done:"#d1fae5",inProgress:"#dbeafe",atRisk:"#fef3c7",blocked:"#fee2e2",planned:"#e2e8f0",neutral:"#e2e8f0"}},attribution:{mark:"#94a3b8",link:"#e53e3e"},diagnostic:{overlayBg:"#fee2e2",errorText:"#991b1b"}};var D_={light:L_,dark:P_,grayscale:O_};var VB={greyscale:"grayscale"};function $_(t){let e=t.toLowerCase(),r=VB[e]??e;if(r==="light"||r==="dark"||r==="grayscale")return r}var YB={grey:"gray",violet:"purple"};function Jo(t,e){if(t==="none")return"none";if(t.startsWith("#"))return t;let r=e.name==="dark"?sN:e.name==="grayscale"?aN:cN,n=YB[t]??t,i=r[n];return typeof i=="string"?i:t}function ac(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}function KB(t,e){return{bg:Jo(t.bg,e),fg:Jo(t.fg,e),text:Jo(t.text,e),border:t.border,icon:t.icon,shadow:t.shadow,font:t.font,weight:t.weight,italic:t.italic,textSize:t.textSize,padding:t.padding,spacing:t.spacing,headerHeight:t.headerHeight,cornerRadius:t.cornerRadius,bracket:t.bracket,headerPosition:"beside",capacityIcon:t.capacityIcon,timelinePosition:"top",minorGrid:!1}}function M_(t,e,r,n){switch(e){case"bg":t.bg=Jo(r,n);break;case"fg":t.fg=Jo(r,n);break;case"text":t.text=Jo(r,n);break;case"border":(r==="solid"||r==="dashed"||r==="dotted")&&(t.border=r);break;case"icon":t.icon=r;break;case"shadow":(r==="none"||r==="subtle"||r==="soft"||r==="hard")&&(t.shadow=r);break;case"font":(r==="sans"||r==="serif"||r==="mono")&&(t.font=r);break;case"weight":(r==="thin"||r==="light"||r==="normal"||r==="bold")&&(t.weight=r);break;case"italic":t.italic=r==="true";break;case"text-size":t.textSize=$u(r,"xl");break;case"padding":t.padding=$u(r,"xl");break;case"spacing":t.spacing=$u(r,"xl");break;case"header-height":t.headerHeight=$u(r,"xl");break;case"corner-radius":t.cornerRadius=$u(r,"full");break;case"bracket":(r==="none"||r==="solid"||r==="dashed")&&(t.bracket=r);break;case"header-position":(r==="beside"||r==="above")&&(t.headerPosition=r);break;case"capacity-icon":t.capacityIcon=r;break;case"timeline-position":(r==="top"||r==="bottom"||r==="both")&&(t.timelinePosition=r);break;case"minor-grid":t.minorGrid=r==="true";break;default:break}}function $u(t,e){let r=["none","xs","sm","md","lg","xl","full"],n=r.indexOf(e),i=r.indexOf(t);return i<0?"md":i>n?r[n]:r[i]}function lN(t,e,r){if(e)for(let n of e.properties)M_(t,ac(n),n.value,r)}function ZB(t,e,r){for(let n of e){let i=ac(n);n.value!==void 0&&M_(t,i,n.value,r)}}function JB(t,e,r){let n=e.find(o=>ac(o)==="labels");if(!n)return;let i=n.value?[n.value]:n.values;for(let o of i){let s=r.labels.get(o);if(!s)continue;let a=s.properties.find(c=>ac(c)==="style");a?.value&&lN(t,r.styles.get(a.value),r.theme)}}function QB(t,e,r){let n=e.find(i=>ac(i)==="style");n?.value&&lN(t,r.styles.get(n.value),r.theme)}function yt(t,e,r){let n=r.theme.entities[t],i=KB(n,r.theme),o=r.defaults.get(t);if(o)for(let s of o.properties)s.value!==void 0&&M_(i,ac(s),s.value,r.theme);return JB(i,e,r),QB(i,e,r),ZB(i,e,r.theme),i}function uN(t,e){return yt("label",t.properties,e)}var fN={none:0,xs:2,sm:4,md:8,lg:16,xl:24},dN={none:0,xs:4,sm:8,md:12,lg:20,xl:32};var cc={none:0,xs:10,sm:12,md:14,lg:18,xl:24},Rh={none:0,xs:2,sm:4,md:8,lg:12,xl:20,full:9999};var Nr=8,_n=4,Mu=24,bh=15,Fu=8,Ah=22,Ih=15,Uu=16,Sh=6,F_=4,U_=11,B_=9,G_=5.5,X_=4,lc=12,kh="6 4",H_=36,qi=16,z_=qi/2,Bu=10,j_=qi-4,uc=6,Nh=2.25,Yr=6,Kr=2*Yr,pN=5,hN=120,q_=240,Ch=72,Gu=28,Zr=16,W_=22,Xu=18,Ph="Powered by",V_="https://nowline.io",Hu=.22,Wi=40,Oh=32,mN=.58,e4=Ph.length*Oh*mN,t4=10,zu=e4+t4,Y_=zu+74,K_=5,Lh=zu+81,r4=3*Wi*mN,n4=Lh+r4,i4=12+Wi,Z_=n4*Hu,gN=i4*Hu,J_=4;var Q_={sans:'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',serif:'Georgia, "Times New Roman", serif',mono:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},yN={days:7,weeks:4,months:3,quarters:4,years:5};var Dh=class{constructor(e,r){de(this,"node");de(this,"deps");this.node=e,this.deps=r}get id(){return this.node.name??""}place(e,r){let{node:n}=this,{deps:i}=this,o=yt("group",n.properties,r.styleCtx),s=e.x,a=n.title??n.name,c=r.currentFlowKey;r.nextGroupId+=1,r.currentFlowKey=`${c}/group:${n.name??`group-${r.nextGroupId}`}`;let l=o.bg!=="none"&&o.bg!=="#ffffff"&&!!a,u=l?Uu+F_:0,f=l?X_:0,d=!l&&a?lc:0,p=e.y+d,m=r.bandScale.step(),y=s,_=new sc({laneLeftX:y,originY:p+u,minRowHeight:m,slackCorridors:r.slackCorridors}),E=y,T=[];for(let G of n.content){if(G.$type==="DescriptionDirective")continue;if(!gr(G)){let te=G.properties??[],De=i.resolveChildStart(te,E,y,r),{rowIndex:Ne,y:Xe}=_.placeBlock(),q=i.newCursor(De,Xe),J=i.sequenceOne(G,q,r);T.push(J);let re=J.box.x+J.box.width,C=Math.max(m,q.height);_.commitBlock({rowIndex:Ne,placed:J,blockHeight:C,blockEnd:re}),E=Math.max(E,re);continue}let oe=G.properties,L=i.resolveChildStart(oe,E,y,r),w=ji(oe,r.sizes,r.cal),O=Math.max(Nr,w*r.timeline.pixelsPerDay),$=L+O,b=G.name??"",A=i.predictItemChipExtraHeight(G,r),I=m+A,{rowIndex:F,y:z}=_.placeItem({childId:b,desiredStart:L,desiredEnd:$,predictedHeight:I}),U=i.newCursor(L,z),W=i.sequenceItem(G,U,r);T.push(W);let Z=W.box.x+W.box.width+Yr;E=Math.max(E,Z);let pe=null;(W.textSpills||W.chipsOutside||W.dotSpills||W.iconSpills||W.footnoteSpills)&&(pe=Math.max(W.decorationsRightX,W.chipsOutside?W.chipsRightX:0)+6),_.commitItem({rowIndex:F,placed:W,logicalEnd:Z,spillReservation:pe,rowHeight:I})}let v=Math.max(m,_.usedHeight()),S=Math.max(E,_.usedRightX()),D={x:s,y:p,width:S-s,height:u+v+f};e.x=E+Fu,e.maxX=Math.max(e.maxX,e.x);let N=r.bandScale.step()-r.bandScale.bandwidth();e.height=Math.max(e.height,d+D.height+N);let M=n.name;M&&(r.entityLeftEdges.set(M,D.x),r.entityRightEdges.set(M,D.x+D.width)),r.currentFlowKey=c;let B=vh({box:D,afterDate:Vn(gt(n.properties,"after")),beforeDate:Vn(gt(n.properties,"before"))});return{kind:"group",id:M,title:a,box:D,children:T,style:o,inlineDatePins:B.length>0?B:void 0}}};var eE=12,o4=4,s4=13,a4=11;function xN(t,e){return t.length*e*.58}var $h=class{constructor(e){de(this,"input");this.input=e}get id(){return this.input.id}measure(e){return{width:Math.max(Nr,this.input.logicalRightX-this.input.logicalLeftX),height:e.bands.bandwidth()}}place(e,r){let n=this.measure(r),i=Math.max(Nr,n.width-2*Yr),o=e.x+Yr,s={x:o,y:e.y,width:i,height:n.height},a=this.input.hasLinkIcon?20+c4-eE:0,c=eE+Math.max(0,a),l=Math.max(0,i-c-eE),u=this.input.title,f=u?xN(u,s4):0,d=this.input.metaText?xN(this.input.metaText,a4):0,p=this.input.metaTrailingWidth??0,m=d+p,y=this.input.metaText!==void 0||p>0,_=u.length>0&&f>l||y&&m>l,E=_?o+i+o4:o+c;return{id:this.input.id,box:s,textX:E,textSpills:_}}},c4=4;var Mh=class{constructor(e,r){de(this,"node");de(this,"deps");this.node=e,this.deps=r}get id(){return this.node.name??""}place(e,r){let{node:n}=this,{deps:i}=this,o=yt("parallel",n.properties,r.styleCtx),s=e.x,a=e.y,c=[],l=s,u=0,f=r.currentFlowKey;r.nextParallelId+=1;let d=n.name??`parallel-${r.nextParallelId}`,p=0;for(let E of n.content){if(E.$type==="DescriptionDirective")continue;r.currentFlowKey=`${f}/par:${d}#${p}`;let T=i.newCursor(s,a+u),v=i.sequenceOne(E,T,r);c.push(v),u+=Math.max(r.bandScale.step(),T.height),l=Math.max(l,T.maxX),p++}r.currentFlowKey=f;let m={x:s,y:a,width:l-s,height:u};e.x=l+Fu,e.maxX=Math.max(e.maxX,e.x),e.height=Math.max(e.height,u);let y=n.name;y&&(r.entityLeftEdges.set(y,m.x),r.entityRightEdges.set(y,m.x+m.width));let _=vh({box:m,afterDate:Vn(gt(n.properties,"after")),beforeDate:Vn(gt(n.properties,"before"))});return{kind:"parallel",id:y,title:n.title??n.name,box:m,children:c,style:o,inlineDatePins:_.length>0?_:void 0}}};function Qo(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function tE(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function es(t){let e,r,n;t.length!==2?(e=Qo,r=(a,c)=>Qo(t(a),c),n=(a,c)=>t(a)-c):(e=t===Qo||t===tE?t:l4,r=t,n=t);function i(a,c,l=0,u=a.length){if(l<u){if(e(c,c)!==0)return u;do{let f=l+u>>>1;r(a[f],c)<0?l=f+1:u=f}while(l<u)}return l}function o(a,c,l=0,u=a.length){if(l<u){if(e(c,c)!==0)return u;do{let f=l+u>>>1;r(a[f],c)<=0?l=f+1:u=f}while(l<u)}return l}function s(a,c,l=0,u=a.length){let f=i(a,c,l,u-1);return f>l&&n(a[f-1],c)>-n(a[f],c)?f-1:f}return{left:i,center:s,right:o}}function l4(){return 0}function rE(t){return t===null?NaN:+t}var TN=es(Qo),_N=TN.right,u4=TN.left,f4=es(rE).center,nE=_N;var fc=class extends Map{constructor(e,r=h4){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(let[n,i]of e)this.set(n,i)}get(e){return super.get(EN(this,e))}has(e){return super.has(EN(this,e))}set(e,r){return super.set(d4(this,e),r)}delete(e){return super.delete(p4(this,e))}};function EN({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):r}function d4({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function p4({_intern:t,_key:e},r){let n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function h4(t){return t!==null&&typeof t=="object"?t.valueOf():t}var m4=Math.sqrt(50),g4=Math.sqrt(10),y4=Math.sqrt(2);function vN(t,e,r){let n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),o=n/Math.pow(10,i),s=o>=m4?10:o>=g4?5:o>=y4?2:1,a,c,l;return i<0?(l=Math.pow(10,-i)/s,a=Math.round(t*l),c=Math.round(e*l),a/l<t&&++a,c/l>e&&--c,l=-l):(l=Math.pow(10,i)*s,a=Math.round(t/l),c=Math.round(e/l),a*l<t&&++a,c*l>e&&--c),c<a&&.5<=r&&r<2?vN(t,e,r*2):[a,c,l]}function iE(t,e,r){return e=+e,t=+t,r=+r,vN(t,e,r)[2]}function Fh(t,e,r){e=+e,t=+t,r=+r;let n=e<t,i=n?iE(e,t,r):iE(t,e,r);return(n?-1:1)*(i<0?1/-i:i)}function Uh(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,o=new Array(i);++n<i;)o[n]=t+n*r;return o}function dc(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}var wN=Symbol("implicit");function Bh(){var t=new fc,e=[],r=[],n=wN;function i(o){let s=t.get(o);if(s===void 0){if(n!==wN)return n;t.set(o,s=e.push(o)-1)}return r[s%r.length]}return i.domain=function(o){if(!arguments.length)return e.slice();e=[],t=new fc;for(let s of o)t.has(s)||t.set(s,e.push(s)-1);return i},i.range=function(o){return arguments.length?(r=Array.from(o),i):r.slice()},i.unknown=function(o){return arguments.length?(n=o,i):n},i.copy=function(){return Bh(e,r).unknown(n)},dc.apply(i,arguments),i}function ju(){var t=Bh().unknown(void 0),e=t.domain,r=t.range,n=0,i=1,o,s,a=!1,c=0,l=0,u=.5;delete t.unknown;function f(){var d=e().length,p=i<n,m=p?i:n,y=p?n:i;o=(y-m)/Math.max(1,d-c+l*2),a&&(o=Math.floor(o)),m+=(y-m-o*(d-c))*u,s=o*(1-c),a&&(m=Math.round(m),s=Math.round(s));var _=Uh(d).map(function(E){return m+o*E});return r(p?_.reverse():_)}return t.domain=function(d){return arguments.length?(e(d),f()):e()},t.range=function(d){return arguments.length?([n,i]=d,n=+n,i=+i,f()):[n,i]},t.rangeRound=function(d){return[n,i]=d,n=+n,i=+i,a=!0,f()},t.bandwidth=function(){return s},t.step=function(){return o},t.round=function(d){return arguments.length?(a=!!d,f()):a},t.padding=function(d){return arguments.length?(c=Math.min(1,l=+d),f()):c},t.paddingInner=function(d){return arguments.length?(c=Math.min(1,d),f()):c},t.paddingOuter=function(d){return arguments.length?(l=+d,f()):l},t.align=function(d){return arguments.length?(u=Math.max(0,Math.min(1,d)),f()):u},t.copy=function(){return ju(e(),[n,i]).round(a).paddingInner(c).paddingOuter(l).align(u)},dc.apply(f(),arguments)}function Gh(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function oE(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function Vu(){}var qu=.7,zh=1/qu,pc="\\s*([+-]?\\d+)\\s*",Wu="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",En="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",x4=/^#([0-9a-f]{3,8})$/,T4=new RegExp(`^rgb\\(${pc},${pc},${pc}\\)$`),_4=new RegExp(`^rgb\\(${En},${En},${En}\\)$`),E4=new RegExp(`^rgba\\(${pc},${pc},${pc},${Wu}\\)$`),v4=new RegExp(`^rgba\\(${En},${En},${En},${Wu}\\)$`),w4=new RegExp(`^hsl\\(${Wu},${En},${En}\\)$`),R4=new RegExp(`^hsla\\(${Wu},${En},${En},${Wu}\\)$`),RN={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Gh(Vu,Vi,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:bN,formatHex:bN,formatHex8:b4,formatHsl:A4,formatRgb:AN,toString:AN});function bN(){return this.rgb().formatHex()}function b4(){return this.rgb().formatHex8()}function A4(){return PN(this).formatHsl()}function AN(){return this.rgb().formatRgb()}function Vi(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=x4.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?IN(e):r===3?new ar(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?Xh(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?Xh(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=T4.exec(t))?new ar(e[1],e[2],e[3],1):(e=_4.exec(t))?new ar(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=E4.exec(t))?Xh(e[1],e[2],e[3],e[4]):(e=v4.exec(t))?Xh(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=w4.exec(t))?NN(e[1],e[2]/100,e[3]/100,1):(e=R4.exec(t))?NN(e[1],e[2]/100,e[3]/100,e[4]):RN.hasOwnProperty(t)?IN(RN[t]):t==="transparent"?new ar(NaN,NaN,NaN,0):null}function IN(t){return new ar(t>>16&255,t>>8&255,t&255,1)}function Xh(t,e,r,n){return n<=0&&(t=e=r=NaN),new ar(t,e,r,n)}function I4(t){return t instanceof Vu||(t=Vi(t)),t?(t=t.rgb(),new ar(t.r,t.g,t.b,t.opacity)):new ar}function hc(t,e,r,n){return arguments.length===1?I4(t):new ar(t,e,r,n??1)}function ar(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}Gh(ar,hc,oE(Vu,{brighter(t){return t=t==null?zh:Math.pow(zh,t),new ar(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?qu:Math.pow(qu,t),new ar(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new ar(rs(this.r),rs(this.g),rs(this.b),jh(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:SN,formatHex:SN,formatHex8:S4,formatRgb:kN,toString:kN}));function SN(){return`#${ts(this.r)}${ts(this.g)}${ts(this.b)}`}function S4(){return`#${ts(this.r)}${ts(this.g)}${ts(this.b)}${ts((isNaN(this.opacity)?1:this.opacity)*255)}`}function kN(){let t=jh(this.opacity);return`${t===1?"rgb(":"rgba("}${rs(this.r)}, ${rs(this.g)}, ${rs(this.b)}${t===1?")":`, ${t})`}`}function jh(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function rs(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function ts(t){return t=rs(t),(t<16?"0":"")+t.toString(16)}function NN(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new Jr(t,e,r,n)}function PN(t){if(t instanceof Jr)return new Jr(t.h,t.s,t.l,t.opacity);if(t instanceof Vu||(t=Vi(t)),!t)return new Jr;if(t instanceof Jr)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),o=Math.max(e,r,n),s=NaN,a=o-i,c=(o+i)/2;return a?(e===o?s=(r-n)/a+(r<n)*6:r===o?s=(n-e)/a+2:s=(e-r)/a+4,a/=c<.5?o+i:2-o-i,s*=60):a=c>0&&c<1?0:s,new Jr(s,a,c,t.opacity)}function ON(t,e,r,n){return arguments.length===1?PN(t):new Jr(t,e,r,n??1)}function Jr(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}Gh(Jr,ON,oE(Vu,{brighter(t){return t=t==null?zh:Math.pow(zh,t),new Jr(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?qu:Math.pow(qu,t),new Jr(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new ar(sE(t>=240?t-240:t+120,i,n),sE(t,i,n),sE(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new Jr(CN(this.h),Hh(this.s),Hh(this.l),jh(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=jh(this.opacity);return`${t===1?"hsl(":"hsla("}${CN(this.h)}, ${Hh(this.s)*100}%, ${Hh(this.l)*100}%${t===1?")":`, ${t})`}`}}));function CN(t){return t=(t||0)%360,t<0?t+360:t}function Hh(t){return Math.max(0,Math.min(1,t||0))}function sE(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}function aE(t,e,r,n,i){var o=t*t,s=o*t;return((1-3*t+3*o-s)*e+(4-6*o+3*s)*r+(1+3*t+3*o-3*s)*n+s*i)/6}function LN(t){var e=t.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),i=t[n],o=t[n+1],s=n>0?t[n-1]:2*i-o,a=n<e-1?t[n+2]:2*o-i;return aE((r-n/e)*e,s,i,o,a)}}function DN(t){var e=t.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*e),i=t[(n+e-1)%e],o=t[n%e],s=t[(n+1)%e],a=t[(n+2)%e];return aE((r-n/e)*e,i,o,s,a)}}var Yu=t=>()=>t;function k4(t,e){return function(r){return t+r*e}}function N4(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function $N(t){return(t=+t)==1?qh:function(e,r){return r-e?N4(e,r,t):Yu(isNaN(e)?r:e)}}function qh(t,e){var r=e-t;return r?k4(t,r):Yu(isNaN(t)?e:t)}var cE=(function t(e){var r=$N(e);function n(i,o){var s=r((i=hc(i)).r,(o=hc(o)).r),a=r(i.g,o.g),c=r(i.b,o.b),l=qh(i.opacity,o.opacity);return function(u){return i.r=s(u),i.g=a(u),i.b=c(u),i.opacity=l(u),i+""}}return n.gamma=t,n})(1);function MN(t){return function(e){var r=e.length,n=new Array(r),i=new Array(r),o=new Array(r),s,a;for(s=0;s<r;++s)a=hc(e[s]),n[s]=a.r||0,i[s]=a.g||0,o[s]=a.b||0;return n=t(n),i=t(i),o=t(o),a.opacity=1,function(c){return a.r=n(c),a.g=i(c),a.b=o(c),a+""}}}var Tne=MN(LN),_ne=MN(DN);function FN(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(o){for(i=0;i<r;++i)n[i]=t[i]*(1-o)+e[i]*o;return n}}function UN(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function BN(t,e){var r=e?e.length:0,n=t?Math.min(r,t.length):0,i=new Array(n),o=new Array(r),s;for(s=0;s<n;++s)i[s]=ns(t[s],e[s]);for(;s<r;++s)o[s]=e[s];return function(a){for(s=0;s<n;++s)o[s]=i[s](a);return o}}function GN(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}function Yi(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function XN(t,e){var r={},n={},i;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(i in e)i in t?r[i]=ns(t[i],e[i]):n[i]=e[i];return function(o){for(i in r)n[i]=r[i](o);return n}}var uE=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,lE=new RegExp(uE.source,"g");function C4(t){return function(){return t}}function P4(t){return function(e){return t(e)+""}}function HN(t,e){var r=uE.lastIndex=lE.lastIndex=0,n,i,o,s=-1,a=[],c=[];for(t=t+"",e=e+"";(n=uE.exec(t))&&(i=lE.exec(e));)(o=i.index)>r&&(o=e.slice(r,o),a[s]?a[s]+=o:a[++s]=o),(n=n[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,c.push({i:s,x:Yi(n,i)})),r=lE.lastIndex;return r<e.length&&(o=e.slice(r),a[s]?a[s]+=o:a[++s]=o),a.length<2?c[0]?P4(c[0].x):C4(e):(e=c.length,function(l){for(var u=0,f;u<e;++u)a[(f=c[u]).i]=f.x(l);return a.join("")})}function ns(t,e){var r=typeof e,n;return e==null||r==="boolean"?Yu(e):(r==="number"?Yi:r==="string"?(n=Vi(e))?(e=n,cE):HN:e instanceof Vi?cE:e instanceof Date?GN:UN(e)?FN:Array.isArray(e)?BN:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?XN:Yi)(t,e)}function fE(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}function dE(t){return function(){return t}}function pE(t){return+t}var zN=[0,1];function mc(t){return t}function hE(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:dE(isNaN(e)?NaN:.5)}function O4(t,e){var r;return t>e&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function L4(t,e,r){var n=t[0],i=t[1],o=e[0],s=e[1];return i<n?(n=hE(i,n),o=r(s,o)):(n=hE(n,i),o=r(o,s)),function(a){return o(n(a))}}function D4(t,e,r){var n=Math.min(t.length,e.length)-1,i=new Array(n),o=new Array(n),s=-1;for(t[n]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++s<n;)i[s]=hE(t[s],t[s+1]),o[s]=r(e[s],e[s+1]);return function(a){var c=nE(t,a,1,n)-1;return o[c](i[c](a))}}function jN(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function $4(){var t=zN,e=zN,r=ns,n,i,o,s=mc,a,c,l;function u(){var d=Math.min(t.length,e.length);return s!==mc&&(s=O4(t[0],t[d-1])),a=d>2?D4:L4,c=l=null,f}function f(d){return d==null||isNaN(d=+d)?o:(c||(c=a(t.map(n),e,r)))(n(s(d)))}return f.invert=function(d){return s(i((l||(l=a(e,t.map(n),Yi)))(d)))},f.domain=function(d){return arguments.length?(t=Array.from(d,pE),u()):t.slice()},f.range=function(d){return arguments.length?(e=Array.from(d),u()):e.slice()},f.rangeRound=function(d){return e=Array.from(d),r=fE,u()},f.clamp=function(d){return arguments.length?(s=d?!0:mc,u()):s!==mc},f.interpolate=function(d){return arguments.length?(r=d,u()):r},f.unknown=function(d){return arguments.length?(o=d,f):o},function(d,p){return n=d,i=p,u()}}function mE(){return $4()(mc,mc)}function gE(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],o=t[n],s;return o<i&&(s=r,r=n,n=s,s=i,i=o,o=s),t[r]=e.floor(i),t[n]=e.ceil(o),t}var yE=new Date,xE=new Date;function Ve(t,e,r,n){function i(o){return t(o=arguments.length===0?new Date:new Date(+o)),o}return i.floor=o=>(t(o=new Date(+o)),o),i.ceil=o=>(t(o=new Date(o-1)),e(o,1),t(o),o),i.round=o=>{let s=i(o),a=i.ceil(o);return o-s<a-o?s:a},i.offset=(o,s)=>(e(o=new Date(+o),s==null?1:Math.floor(s)),o),i.range=(o,s,a)=>{let c=[];if(o=i.ceil(o),a=a==null?1:Math.floor(a),!(o<s)||!(a>0))return c;let l;do c.push(l=new Date(+o)),e(o,a),t(o);while(l<o&&o<s);return c},i.filter=o=>Ve(s=>{if(s>=s)for(;t(s),!o(s);)s.setTime(s-1)},(s,a)=>{if(s>=s)if(a<0)for(;++a<=0;)for(;e(s,-1),!o(s););else for(;--a>=0;)for(;e(s,1),!o(s););}),r&&(i.count=(o,s)=>(yE.setTime(+o),xE.setTime(+s),t(yE),t(xE),Math.floor(r(yE,xE))),i.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?i.filter(n?s=>n(s)%o===0:s=>i.count(0,s)%o===0):i)),i}var Ku=Ve(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Ku.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?Ve(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):Ku);var rie=Ku.range;var vn=Ve(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),qN=vn.range;var gc=Ve(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),M4=gc.range,Wh=Ve(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),F4=Wh.range;var yc=Ve(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3-t.getMinutes()*6e4)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getHours()),U4=yc.range,Vh=Ve(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),B4=Vh.range;var Jn=Ve(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1),G4=Jn.range,Ju=Ve(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),X4=Ju.range,Yh=Ve(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),H4=Yh.range;function ss(t){return Ve(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}var Qn=ss(0),xc=ss(1),VN=ss(2),YN=ss(3),Ki=ss(4),KN=ss(5),ZN=ss(6),JN=Qn.range,z4=xc.range,j4=VN.range,q4=YN.range,W4=Ki.range,V4=KN.range,Y4=ZN.range;function as(t){return Ve(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/6048e5)}var cs=as(0),Tc=as(1),QN=as(2),eC=as(3),Zi=as(4),tC=as(5),rC=as(6),nC=cs.range,K4=Tc.range,Z4=QN.range,J4=eC.range,Q4=Zi.range,e3=tC.range,t3=rC.range;var _c=Ve(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),r3=_c.range,Kh=Ve(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),n3=Kh.range;var yr=Ve(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());yr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ve(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});var i3=yr.range,Qr=Ve(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());Qr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ve(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});var o3=Qr.range;function oC(t,e,r,n,i,o){let s=[[vn,1,1e3],[vn,5,5*1e3],[vn,15,15*1e3],[vn,30,30*1e3],[o,1,6e4],[o,5,5*6e4],[o,15,15*6e4],[o,30,30*6e4],[i,1,36e5],[i,3,3*36e5],[i,6,6*36e5],[i,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[e,1,2592e6],[e,3,3*2592e6],[t,1,31536e6]];function a(l,u,f){let d=u<l;d&&([l,u]=[u,l]);let p=f&&typeof f.range=="function"?f:c(l,u,f),m=p?p.range(l,+u+1):[];return d?m.reverse():m}function c(l,u,f){let d=Math.abs(u-l)/f,p=es(([,,_])=>_).right(s,d);if(p===s.length)return t.every(Fh(l/31536e6,u/31536e6,f));if(p===0)return Ku.every(Math.max(Fh(l,u,f),1));let[m,y]=s[d/s[p-1][2]<s[p][2]/d?p-1:p];return m.every(y)}return[a,c]}var[a3,c3]=oC(Qr,Kh,cs,Yh,Vh,Wh),[TE,_E]=oC(yr,_c,Qn,Jn,yc,gc);function EE(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function vE(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Qu(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function wE(t){var e=t.dateTime,r=t.date,n=t.time,i=t.periods,o=t.days,s=t.shortDays,a=t.months,c=t.shortMonths,l=ef(i),u=tf(i),f=ef(o),d=tf(o),p=ef(s),m=tf(s),y=ef(a),_=tf(a),E=ef(c),T=tf(c),v={a:I,A:F,b:z,B:U,c:null,d:fC,e:fC,f:C3,g:G3,G:H3,H:S3,I:k3,j:N3,L:gC,m:P3,M:O3,p:W,q:Z,Q:hC,s:mC,S:L3,u:D3,U:$3,V:M3,w:F3,W:U3,x:null,X:null,y:B3,Y:X3,Z:z3,"%":pC},S={a:pe,A:V,b:te,B:De,c:null,d:dC,e:dC,f:V3,g:iG,G:sG,H:j3,I:q3,j:W3,L:xC,m:Y3,M:K3,p:Ne,q:Xe,Q:hC,s:mC,S:Z3,u:J3,U:Q3,V:eG,w:tG,W:rG,x:null,X:null,y:nG,Y:oG,Z:aG,"%":pC},D={a:oe,A:L,b:w,B:O,c:$,d:lC,e:lC,f:R3,g:cC,G:aC,H:uC,I:uC,j:_3,L:w3,m:T3,M:E3,p:G,q:x3,Q:A3,s:I3,S:v3,u:p3,U:h3,V:m3,w:d3,W:g3,x:b,X:A,y:cC,Y:aC,Z:y3,"%":b3};v.x=N(r,v),v.X=N(n,v),v.c=N(e,v),S.x=N(r,S),S.X=N(n,S),S.c=N(e,S);function N(q,J){return function(re){var C=[],be=-1,me=0,ve=q.length,Tt,X,Cr;for(re instanceof Date||(re=new Date(+re));++be<ve;)q.charCodeAt(be)===37&&(C.push(q.slice(me,be)),(X=sC[Tt=q.charAt(++be)])!=null?Tt=q.charAt(++be):X=Tt==="e"?" ":"0",(Cr=J[Tt])&&(Tt=Cr(re,X)),C.push(Tt),me=be+1);return C.push(q.slice(me,be)),C.join("")}}function M(q,J){return function(re){var C=Qu(1900,void 0,1),be=B(C,q,re+="",0),me,ve;if(be!=re.length)return null;if("Q"in C)return new Date(C.Q);if("s"in C)return new Date(C.s*1e3+("L"in C?C.L:0));if(J&&!("Z"in C)&&(C.Z=0),"p"in C&&(C.H=C.H%12+C.p*12),C.m===void 0&&(C.m="q"in C?C.q:0),"V"in C){if(C.V<1||C.V>53)return null;"w"in C||(C.w=1),"Z"in C?(me=vE(Qu(C.y,0,1)),ve=me.getUTCDay(),me=ve>4||ve===0?Tc.ceil(me):Tc(me),me=Ju.offset(me,(C.V-1)*7),C.y=me.getUTCFullYear(),C.m=me.getUTCMonth(),C.d=me.getUTCDate()+(C.w+6)%7):(me=EE(Qu(C.y,0,1)),ve=me.getDay(),me=ve>4||ve===0?xc.ceil(me):xc(me),me=Jn.offset(me,(C.V-1)*7),C.y=me.getFullYear(),C.m=me.getMonth(),C.d=me.getDate()+(C.w+6)%7)}else("W"in C||"U"in C)&&("w"in C||(C.w="u"in C?C.u%7:"W"in C?1:0),ve="Z"in C?vE(Qu(C.y,0,1)).getUTCDay():EE(Qu(C.y,0,1)).getDay(),C.m=0,C.d="W"in C?(C.w+6)%7+C.W*7-(ve+5)%7:C.w+C.U*7-(ve+6)%7);return"Z"in C?(C.H+=C.Z/100|0,C.M+=C.Z%100,vE(C)):EE(C)}}function B(q,J,re,C){for(var be=0,me=J.length,ve=re.length,Tt,X;be<me;){if(C>=ve)return-1;if(Tt=J.charCodeAt(be++),Tt===37){if(Tt=J.charAt(be++),X=D[Tt in sC?J.charAt(be++):Tt],!X||(C=X(q,re,C))<0)return-1}else if(Tt!=re.charCodeAt(C++))return-1}return C}function G(q,J,re){var C=l.exec(J.slice(re));return C?(q.p=u.get(C[0].toLowerCase()),re+C[0].length):-1}function oe(q,J,re){var C=p.exec(J.slice(re));return C?(q.w=m.get(C[0].toLowerCase()),re+C[0].length):-1}function L(q,J,re){var C=f.exec(J.slice(re));return C?(q.w=d.get(C[0].toLowerCase()),re+C[0].length):-1}function w(q,J,re){var C=E.exec(J.slice(re));return C?(q.m=T.get(C[0].toLowerCase()),re+C[0].length):-1}function O(q,J,re){var C=y.exec(J.slice(re));return C?(q.m=_.get(C[0].toLowerCase()),re+C[0].length):-1}function $(q,J,re){return B(q,e,J,re)}function b(q,J,re){return B(q,r,J,re)}function A(q,J,re){return B(q,n,J,re)}function I(q){return s[q.getDay()]}function F(q){return o[q.getDay()]}function z(q){return c[q.getMonth()]}function U(q){return a[q.getMonth()]}function W(q){return i[+(q.getHours()>=12)]}function Z(q){return 1+~~(q.getMonth()/3)}function pe(q){return s[q.getUTCDay()]}function V(q){return o[q.getUTCDay()]}function te(q){return c[q.getUTCMonth()]}function De(q){return a[q.getUTCMonth()]}function Ne(q){return i[+(q.getUTCHours()>=12)]}function Xe(q){return 1+~~(q.getUTCMonth()/3)}return{format:function(q){var J=N(q+="",v);return J.toString=function(){return q},J},parse:function(q){var J=M(q+="",!1);return J.toString=function(){return q},J},utcFormat:function(q){var J=N(q+="",S);return J.toString=function(){return q},J},utcParse:function(q){var J=M(q+="",!0);return J.toString=function(){return q},J}}}var sC={"-":"",_:" ",0:"0"},Ot=/^\s*\d+/,l3=/^%/,u3=/[\\^$*+?|[\]().{}]/g;function Oe(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",o=i.length;return n+(o<r?new Array(r-o+1).join(e)+i:i)}function f3(t){return t.replace(u3,"\\$&")}function ef(t){return new RegExp("^(?:"+t.map(f3).join("|")+")","i")}function tf(t){return new Map(t.map((e,r)=>[e.toLowerCase(),r]))}function d3(t,e,r){var n=Ot.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function p3(t,e,r){var n=Ot.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function h3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function m3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function g3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function aC(t,e,r){var n=Ot.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function cC(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function y3(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function x3(t,e,r){var n=Ot.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function T3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function lC(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function _3(t,e,r){var n=Ot.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function uC(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function E3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function v3(t,e,r){var n=Ot.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function w3(t,e,r){var n=Ot.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function R3(t,e,r){var n=Ot.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function b3(t,e,r){var n=l3.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function A3(t,e,r){var n=Ot.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function I3(t,e,r){var n=Ot.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function fC(t,e){return Oe(t.getDate(),e,2)}function S3(t,e){return Oe(t.getHours(),e,2)}function k3(t,e){return Oe(t.getHours()%12||12,e,2)}function N3(t,e){return Oe(1+Jn.count(yr(t),t),e,3)}function gC(t,e){return Oe(t.getMilliseconds(),e,3)}function C3(t,e){return gC(t,e)+"000"}function P3(t,e){return Oe(t.getMonth()+1,e,2)}function O3(t,e){return Oe(t.getMinutes(),e,2)}function L3(t,e){return Oe(t.getSeconds(),e,2)}function D3(t){var e=t.getDay();return e===0?7:e}function $3(t,e){return Oe(Qn.count(yr(t)-1,t),e,2)}function yC(t){var e=t.getDay();return e>=4||e===0?Ki(t):Ki.ceil(t)}function M3(t,e){return t=yC(t),Oe(Ki.count(yr(t),t)+(yr(t).getDay()===4),e,2)}function F3(t){return t.getDay()}function U3(t,e){return Oe(xc.count(yr(t)-1,t),e,2)}function B3(t,e){return Oe(t.getFullYear()%100,e,2)}function G3(t,e){return t=yC(t),Oe(t.getFullYear()%100,e,2)}function X3(t,e){return Oe(t.getFullYear()%1e4,e,4)}function H3(t,e){var r=t.getDay();return t=r>=4||r===0?Ki(t):Ki.ceil(t),Oe(t.getFullYear()%1e4,e,4)}function z3(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Oe(e/60|0,"0",2)+Oe(e%60,"0",2)}function dC(t,e){return Oe(t.getUTCDate(),e,2)}function j3(t,e){return Oe(t.getUTCHours(),e,2)}function q3(t,e){return Oe(t.getUTCHours()%12||12,e,2)}function W3(t,e){return Oe(1+Ju.count(Qr(t),t),e,3)}function xC(t,e){return Oe(t.getUTCMilliseconds(),e,3)}function V3(t,e){return xC(t,e)+"000"}function Y3(t,e){return Oe(t.getUTCMonth()+1,e,2)}function K3(t,e){return Oe(t.getUTCMinutes(),e,2)}function Z3(t,e){return Oe(t.getUTCSeconds(),e,2)}function J3(t){var e=t.getUTCDay();return e===0?7:e}function Q3(t,e){return Oe(cs.count(Qr(t)-1,t),e,2)}function TC(t){var e=t.getUTCDay();return e>=4||e===0?Zi(t):Zi.ceil(t)}function eG(t,e){return t=TC(t),Oe(Zi.count(Qr(t),t)+(Qr(t).getUTCDay()===4),e,2)}function tG(t){return t.getUTCDay()}function rG(t,e){return Oe(Tc.count(Qr(t)-1,t),e,2)}function nG(t,e){return Oe(t.getUTCFullYear()%100,e,2)}function iG(t,e){return t=TC(t),Oe(t.getUTCFullYear()%100,e,2)}function oG(t,e){return Oe(t.getUTCFullYear()%1e4,e,4)}function sG(t,e){var r=t.getUTCDay();return t=r>=4||r===0?Zi(t):Zi.ceil(t),Oe(t.getUTCFullYear()%1e4,e,4)}function aG(){return"+0000"}function pC(){return"%"}function hC(t){return+t}function mC(t){return Math.floor(+t/1e3)}var Ec,Zh,_C,EC,vC;RE({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function RE(t){return Ec=wE(t),Zh=Ec.format,_C=Ec.parse,EC=Ec.utcFormat,vC=Ec.utcParse,Ec}function cG(t){return new Date(t)}function lG(t){return t instanceof Date?+t:+new Date(+t)}function wC(t,e,r,n,i,o,s,a,c,l){var u=mE(),f=u.invert,d=u.domain,p=l(".%L"),m=l(":%S"),y=l("%I:%M"),_=l("%I %p"),E=l("%a %d"),T=l("%b %d"),v=l("%B"),S=l("%Y");function D(N){return(c(N)<N?p:a(N)<N?m:s(N)<N?y:o(N)<N?_:n(N)<N?i(N)<N?E:T:r(N)<N?v:S)(N)}return u.invert=function(N){return new Date(f(N))},u.domain=function(N){return arguments.length?d(Array.from(N,lG)):d().map(cG)},u.ticks=function(N){var M=d();return t(M[0],M[M.length-1],N??10)},u.tickFormat=function(N,M){return M==null?D:l(M)},u.nice=function(N){var M=d();return(!N||typeof N.range!="function")&&(N=e(M[0],M[M.length-1],N??10)),N?d(gE(M,N)):u},u.copy=function(){return jN(u,wC(t,e,r,n,i,o,s,a,c,l))},u}function Jh(){return dc.apply(wC(TE,_E,yr,_c,Qn,Jn,yc,gc,vn,Zh).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}var bE=class t{constructor(e,r,n){de(this,"bandwidthPx");de(this,"stepPx");de(this,"d3");this.bandwidthPx=e,this.stepPx=r,this.d3=n}static fixedRow(e){return new t(e.bandwidth,e.step)}static forRows(e){let r=Array.from({length:e.count},(i,o)=>String(o)),n=ju().domain(r).range(e.range).paddingInner(e.paddingInner??0).paddingOuter(e.paddingOuter??0);return new t(n.bandwidth(),n.step(),n)}bandwidth(){return this.bandwidthPx}step(){return this.stepPx}forward(e){if(!this.d3)throw new Error("BandScale.forward is only available on closed-domain bands (BandScale.forRows)");let r=this.d3(e);if(r===void 0)throw new Error(`BandScale: unknown band id "${e}"`);return r}},uG={bandwidth:56,step:64};function RC(){return bE.fixedRow(uG)}var Qh=class{constructor(e){de(this,"domain");de(this,"range");de(this,"pixelsPerDay");de(this,"calendar");de(this,"d3");this.domain=e.domain,this.range=e.range,this.calendar=e.calendar;let r=Math.max(1,kr(e.domain[0],e.domain[1]));this.pixelsPerDay=(e.range[1]-e.range[0])/r,this.d3=Jh().domain(e.domain).range(e.range)}forward(e){let r=kr(this.domain[0],e);return this.range[0]+r*this.pixelsPerDay}forwardWithinDomain(e){return e<this.domain[0]||e>this.domain[1]?null:this.forward(e)}invert(e){return this.d3.invert(e)}get originX(){return this.range[0]}get widthPx(){return this.range[1]-this.range[0]}};function em(t){return t.endsWith(":")?t.slice(0,-1):t}function bC(t,e){let n=t.roadmapDecl?.properties.find(c=>em(c.key)==="scale")?.value,i="weeks",o,s;if(n)if(n==="days"||n==="weeks"||n==="months"||n==="quarters"||n==="years")i=n;else{let c=/^(\d+)([dwmqy])$/.exec(n);if(c){let l=Math.max(1,parseInt(c[1],10));switch(c[2]){case"d":i="days";break;case"w":i="weeks";break;case"m":i="months";break;case"q":i="quarters";break;case"y":i="years";break}o=tm(i)*l,s=1}}let a=s??yN[i]??4;if(e){let l=e.properties.find(m=>em(m.key)==="unit")?.value??i,u=e.properties.find(m=>em(m.key)==="label-every"),f=e.properties.find(m=>em(m.key)==="pixels-per-unit"),d=u?Math.max(1,parseInt(u.value,10)||a):a,p=f?Math.max(1,parseInt(f.value,10)||tm(l)):o??tm(l);return{unit:l,labelEvery:d,pixelsPerUnit:p}}return{unit:i,labelEvery:a,pixelsPerUnit:o??tm(i)}}function tm(t){switch(t){case"days":return pN;case"weeks":return 40;case"months":return 80;case"quarters":return 160;case"years":return 320}}function AC(t,e,r,n=Ou){let i=r.daysPerUnit(e.unit),o=i*t.pixelsPerDay,s=Math.max(1,Math.round(t.widthPx/t.pixelsPerDay)),a=Math.floor(s/i)+1,c=[];for(let l=0;l<a;l++){let u=l*i,f=t.originX+u*t.pixelsPerDay,d=l%e.labelEvery===0,p=l===a-1;c.push({x:f,labelX:p?void 0:f+o/2,major:d,label:d&&!p?fG(e.unit,Zo(t.domain[0],u),l,n):void 0})}return c}function fG(t,e,r,n){switch(t){case"days":return`${e.getUTCMonth()+1}/${e.getUTCDate()}`;case"weeks":{let i=e.toLocaleString(n,{month:"short",timeZone:"UTC"}),o=e.getUTCDate().toString().padStart(2,"0");return`${i} ${o}`}case"months":return e.toLocaleString(n,{month:"short",timeZone:"UTC"});case"quarters":{let i=Math.floor(e.getUTCMonth()/3)+1;return`${_h(n).quarterPrefix}${i} ${e.getUTCFullYear()}`}case"years":return`${e.getUTCFullYear()}`}}function IC(t){return{daysPerUnit:e=>AE(e,t),addUnits:(e,r,n)=>Zo(e,r*AE(n,t)),isWorkingDay:()=>!0}}function SC(t,e){return AE(t,e)}function AE(t,e){switch(t){case"days":return 1;case"weeks":return e.daysPerWeek;case"months":return e.daysPerMonth;case"quarters":return e.daysPerQuarter;case"years":return e.daysPerYear}}var IE=class{constructor(e,r){de(this,"id");de(this,"anchor");this.id=e,this.anchor=r}place(e,r){let n=ae(this.anchor.properties,"date"),i=vt(n);if(!i)return null;let o=e.scale.forwardWithinDomain(i);if(o===null)return null;let s=yt("anchor",this.anchor.properties,e.styleCtx),a=e.markerRowPlacements.get(this.id),c=a?.centerY??e.timeline.markerRow.y,l={x:o,y:c},u=a?.labelBox??{x:o+6+6,y:c-4,width:0,height:12},f=a?.labelSide??"right";return e.entityLeftEdges.set(this.id,o),e.entityRightEdges.set(this.id,o),e.entityMidpoints.set(this.id,l),{id:this.id,title:this.anchor.title??this.id,center:l,radius:6,style:s,predecessorPoints:[],cutTopY:e.chartTopY,cutBottomY:e.swimlaneBottomY,bumpedUp:(a?.rowIndex??0)>0,labelBox:u,labelSide:f}}};function NC(t,e,r){let n=[];for(let[i,o]of t){let s=new IE(i,o).place(e,r);s&&n.push(s)}return n}function SE(t,e,r){let n=[],i=new Map,o=new Map;return[...t.entries()].sort(([c],[l])=>c.localeCompare(l)).forEach(([c,l],u)=>{let f=u+1;i.set(c,f),o.set(c,gt(l.properties,"on")),n.push({number:f,title:l.title??c,description:l.description?.text,style:yt("footnote",l.properties,e.styleCtx)})}),{area:{box:{x:Zr,y:r+Zr,width:e.chartRightX-2*Zr,height:n.length===0?0:Gu+n.length*Xu+Zr},entries:n},index:i,hosts:o}}var dG=.8,pG=1;function hG(t){let e=[];return PC(t,e),e}function PC(t,e){for(let r of t)if(r.kind==="item"){let n=mG(r);n>0&&r.box.width>0&&e.push({startX:r.box.x,endX:r.box.x+r.box.width,load:n})}else(r.kind==="parallel"||r.kind==="group")&&PC(r.children,e)}function mG(t){return t.capacity?t.capacity.value:t.size?1:0}function OC(t){if(t.capacityValue<=0||t.warnFraction===null&&t.overFraction===null)return null;let e=hG(t.children);if(e.length===0)return null;let r=new Set;for(let s of e)r.add(s.startX),r.add(s.endX);let n=Array.from(r).sort((s,a)=>s-a);if(n.length<2)return null;let i=[];for(let s=0;s<n.length-1;s++){let a=n[s],c=n[s+1],l=(a+c)/2,u=0;for(let f of e)f.startX<=l&&l<f.endX&&(u+=f.load);i.push({startX:a,endX:c,load:u,classification:gG(u,t.capacityValue,t.warnFraction,t.overFraction)})}let o=[];for(let s of i){let a=o[o.length-1];a&&a.classification===s.classification&&a.endX===s.startX?a.endX=s.endX:o.push({...s})}return{segments:o,capacityValue:t.capacityValue,warnFraction:t.warnFraction,overFraction:t.overFraction}}function gG(t,e,r,n){let i=t/e;return n!==null&&i>=n?"red":r!==null&&i>=r?"yellow":"green"}function LC(t,e){let r=e.get("swimlane"),n=CC(ae(t.properties,"utilization-warn-at"),r?ae(r.properties,"utilization-warn-at"):void 0,dG),i=CC(ae(t.properties,"utilization-over-at"),r?ae(r.properties,"utilization-over-at"):void 0,pG);return{warn:n,over:i}}function CC(t,e,r){let i=TG(t??e);return i.kind==="unset"?r:i.kind==="none"?null:i.value}var yG=/^\d+(?:\.\d+)?%$/,xG=/^\d+\.\d+$/;function TG(t){if(t===void 0)return{kind:"unset"};if(t==="none")return{kind:"none"};if(yG.test(t)){let e=parseFloat(t)/100;return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}if(xG.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}return{kind:"unset"}}var DC=10;function _G(t,e,r){let n=ae(t.properties,"capacity"),i=oi(n);if(i===null)return{capacity:null,badgeWidthPx:0};let o=Ic(i),s=Sc(e.capacityIcon,r),a=to(o,s,DC);return{capacity:{value:i,text:o,icon:s},badgeWidthPx:a}}var EG=10,vG=38,wG=8;function RG(t,e,r){let n=t.title??t.name??"";if(!n)return 0;let i=ae(t.properties,"owner");return kc(0,n,i??void 0,e,r).rightX}function bG(t,e){if(!t.name)return[];let r=[];for(let[n,i]of e.footnoteHosts.entries())if(i.includes(t.name)){let o=e.footnoteIndex.get(n);o!==void 0&&r.push(o)}return r.sort((n,i)=>n-i),r}function AG(t,e,r,n){for(let i of t.content){if(i.$type==="DescriptionDirective")continue;let o=gr(i)?i.properties:i.properties??[];return n.resolveChildStart(o,e,e,r)}}var vc=class{constructor(e,r){de(this,"input");de(this,"deps");this.input=e,this.deps=r}get id(){return this.input.lane.name??""}place(e,r){let{lane:n,bandIndex:i}=this.input,{deps:o}=this,s=yt("swimlane",n.properties,r.styleCtx),a=e.x,c=r.bandScale.step(),l=r.currentFlowKey;r.currentFlowKey=`lane:${n.name??i}`;let{capacity:u,badgeWidthPx:f}=_G(n,s,r.symbols),d=bG(n,r),p=d.length>0?o.estimateTextWidth(d.join(","),DC):0,m=RG(n,f,p),y=AG(n,a,r,o),_=!n.title||y===void 0||y>=m+wG,E=e.y+(_?EG:vG),T=new sc({laneLeftX:a,originY:E,minRowHeight:c,slackCorridors:r.slackCorridors}),v=a,S=[];for(let w of n.content){if(w.$type==="DescriptionDirective")continue;if(!gr(w)){let Xe=w.properties??[],q=o.resolveChildStart(Xe,v,a,r),{rowIndex:J,y:re}=T.placeBlock(),C=o.newCursor(q,re),be=o.sequenceOne(w,C,r);S.push(be);let me=be.box.x+be.box.width,ve=Math.max(c,C.height);T.commitBlock({rowIndex:J,placed:be,blockHeight:ve,blockEnd:me}),v=Math.max(v,me);continue}let O=w.properties,$=o.resolveChildStart(O,v,a,r),b=ji(O,r.sizes,r.cal),A=Math.max(Nr,b*r.timeline.pixelsPerDay),I=$+A,F=w.name??"",z=o.predictItemChipExtraHeight(w,r),U=c+z,{rowIndex:W,y:Z}=T.placeItem({childId:F,desiredStart:$,desiredEnd:I,predictedHeight:U}),pe=o.newCursor($,Z),V=o.sequenceItem(w,pe,r);S.push(V);let te=V.box.x+V.box.width+Yr;v=Math.max(v,te);let De=null;(V.textSpills||V.chipsOutside||V.dotSpills||V.iconSpills||V.footnoteSpills)&&(De=Math.max(V.decorationsRightX,V.chipsOutside?V.chipsRightX:0)+6),T.commitItem({rowIndex:W,placed:V,logicalEnd:te,spillReservation:De,rowHeight:U})}let D=E-e.y,N=Math.max(c+32,D+T.usedHeight()+16),M=Math.max(T.usedRightX(),m),B={x:0,y:e.y,width:r.chartRightX,height:N},G=ae(n.properties,"owner"),oe;if(G){let w=r.teams.get(G),O=r.persons.get(G);oe=w?.title??O?.title??G}let L=u?(()=>{let{warn:w,over:O}=LC(n,r.styleCtx.defaults);return OC({children:S,capacityValue:u.value,warnFraction:w,overFraction:O})})():null;return r.currentFlowKey=l,{positioned:{id:n.name,title:n.title??n.name??"",box:B,bandIndex:i,children:S,nested:[],style:s,owner:oe,footnoteIndicators:d,capacity:u,utilization:L},usedHeight:N,usedRightX:M}}};var IG=18,SG=14,kG=14,NG=16,CG=32;function $C(t,e,r,n){let i=r+IG,o=[],s=!0;for(let a of t){s||(i+=NG),s=!1;let c=a.content.roadmap?.title??a.sourcePath,l=i+SG,u={cal:e.cal,styleCtx:{theme:e.styleCtx.theme,styles:a.config.styles,defaults:a.config.defaults,labels:a.content.labels},sizes:xh(a.content.sizes,e.cal),labels:a.content.labels,teams:a.content.teams,persons:a.content.persons,symbols:a.config.symbols,footnoteIndex:new Map,footnoteHosts:new Map,timeline:e.timeline,scale:e.scale,calendar:e.calendar,bandScale:e.bandScale,entityLeftEdges:new Map,entityRightEdges:new Map,entityMidpoints:new Map,entityVisualLeftX:new Map,entityVisualRightX:new Map,itemArrowSource:new Map,itemFlowKey:new Map,currentFlowKey:"",itemSlackAttachY:new Map,slackCorridors:[],markerRowPlacements:new Map,chartTopY:l,chartBottomY:l,swimlaneBottomY:l,chartRightX:e.chartRightX,nextParallelId:0,nextGroupId:0},f=[],d=l,p=0,m=u.timeline.originX;for(let N of a.content.swimlanes.values()){u.nextParallelId=0,u.nextGroupId=0;let{positioned:M,usedHeight:B,usedRightX:G}=new vc({lane:N,bandIndex:p},n).place({x:u.timeline.originX,y:d},u);f.push(M),d+=B,p++,G>m&&(m=G)}let y=d,_=Math.max(e.bandScale.bandwidth(),y-i+kG),E=0,{chromeRightX:T}=Nc(E,c,a.sourcePath),v=Math.max(T,m)+CG,S=Math.min(e.chartRightX-E,v-E),D={x:E,y:i,width:S,height:_};for(let N of f)N.box.width=S;o.push({sourcePath:a.sourcePath,label:c,box:D,nestedSwimlanes:f,style:yt("swimlane",[],e.styleCtx)}),i+=_}return{regions:o,endY:i}}function im(t,e){let r=[];for(let n of t){let o=e.entityVisualRightX.get(n)??e.entityRightEdges.get(n);if(o===void 0)continue;let s=e.itemSlackAttachY.get(n)??e.entityMidpoints.get(n)?.y??0,a=e.itemFlowKey.get(n)??`marker:${n}`;r.push({ref:n,x:o,y:s,flowKey:a})}return r}function om(t){let e=new Map;for(let r of t){let n=e.get(r.flowKey);(!n||r.x>n.x)&&e.set(r.flowKey,r)}return Array.from(e.values())}function MC(t,e,r,n,i,o,s,a){let c=n.length*i*.58*(o?1.05:1),l=t+r+6,u=t-r-6-c,f=l+c<=a,d=u>=s,p=f?"right":d?"left":"right";return{box:{x:p==="right"?l:u,y:e-4,width:c,height:12},side:p}}var kE=class{constructor(e,r){de(this,"id");de(this,"milestone");this.id=e,this.milestone=r}place(e){let r=this.milestone,n=yt("milestone",r.properties,e.styleCtx),i=ae(r.properties,"date"),o=gt(r.properties,"after"),s=vt(i),a=e.timeline.markerRow.y,c=6,l=r.title??this.id,u=null,f=a,d=null,p="right",m=!1,y,_=!1;if(s){let T=e.scale.forwardWithinDomain(s);if(T===null)return null;u=T,m=!0;let v=e.markerRowPlacements.get(this.id);v&&(f=v.centerY,d=v.labelBox,p=v.labelSide);let S=im(o,e),D=om(S),N=null;for(let M of D)(!N||M.x>N.x)&&(N=M);N&&N.x>T&&(_=!0,y=[{x:N.x,y:N.y>0?N.y:f}])}else if(o.length>0){let T=im(o,e),v=om(T);v.sort((M,B)=>B.x-M.x);let S=v[0]?.x??e.timeline.originX;u=S,m=!1;let D=MC(u,a,c,l,10,!0,e.timeline.box.x,e.chartRightX);f=a,d=D.box,p=D.side,e.markerRowPlacements.set(this.id,{rowIndex:0,centerY:f,labelBox:d,labelSide:p});let N=[];for(let M=1;M<v.length;M++){let B=v[M];B.x<S&&B.y>0&&N.push({x:B.x,y:B.y})}N.length>0&&(y=N)}if(u===null)return null;if(!d){let T=MC(u,f,c,l,10,!0,e.timeline.box.x,e.chartRightX);d=T.box,p=T.side}let E={x:u,y:f};return e.entityLeftEdges.set(this.id,E.x),e.entityRightEdges.set(this.id,E.x),e.entityMidpoints.set(this.id,E),{id:this.id,title:l,center:E,radius:c,fixed:m,slackArrows:y,isOverrun:_,style:n,cutTopY:e.chartTopY,cutBottomY:e.swimlaneBottomY,labelBox:d,labelSide:p}}};function FC(t,e){let r=[];for(let[n,i]of t){let o=new kE(n,i).place(e);o&&r.push(o)}return r}var OG=4;function LG(t,e){e>t.chartRightX&&(t.chartRightX=e)}var am=class{place(e,r,n,i){let o=n.theme??"light",s=D_[o],a=n.width??1280,c=eN(n.locale,MG(e)),l=Yk(e,r.config.calendar),u=bC(e,r.config.scale),f=xh(r.content.sizes,l),d={theme:s,styles:r.config.styles,defaults:r.config.defaults,labels:r.content.labels},{startDate:p,endDate:m}=i.computeDateWindow(e,{cal:l,sizes:f},r,n.today,u),y=yt("roadmap",e.roadmapDecl?.properties??[],d),_=y.headerPosition==="beside",E=y.timelinePosition!=="bottom",T=y.timelinePosition==="bottom"||y.timelinePosition==="both",v=e.roadmapDecl?.title??e.roadmapDecl?.name??"",S=ae(e.roadmapDecl?.properties??[],"author"),D=i.sizeBesideHeader(v,S),N=_?{x:0,y:0,width:D.boxWidth,height:0}:{x:0,y:0,width:0,height:Ch},M=_?D.boxWidth:0,B=_?8:Ch+8,G=IC(l),oe=u.pixelsPerUnit/G.daysPerUnit(u.unit),w=Math.max(1,kr(p,m))*oe,O=M+Kr,$=w,b=M+Kr+$+Kr,A=Math.min(a,b),I=n.today!==void 0&&n.today>=p&&n.today<=m,F=r.content.anchors.size+r.content.milestones.size>0,z=I?qi:0,U=E?Mu:0,W=new Qh({domain:[p,m],range:[O,O+w],calendar:G}),Z=Math.max(A,O+$+Kr),pe=[];for(let[K,le]of r.content.anchors){let ze=vt(ae(le.properties,"date"));if(!ze)continue;let Lr=W.forwardWithinDomain(ze);Lr!==null&&pe.push({id:K,centerX:Lr,radius:6,title:le.title??K,fontSize:10,bold:!1,date:ze,isMilestone:!1})}for(let[K,le]of r.content.milestones){let ze=vt(ae(le.properties,"date"));if(!ze)continue;let Lr=W.forwardWithinDomain(ze);Lr!==null&&pe.push({id:K,centerX:Lr,radius:6,title:le.title??K,fontSize:10,bold:!0,date:ze,isMilestone:!0})}let V=BC(pe,M,Z,i.estimateTextWidth),te=F?Math.max(1,V.rowCount):0,De=te*26,Ne=z+U+De,Xe=Ne+8,q=_?D.cardHeight+OG:0,J=Math.max(B,q-Ne),re=J+z,C=re+U,be=C+De,me=AC(W,u,G,c),ve={box:{x:O,y:J,width:w,height:0},ticks:me,pixelsPerDay:oe,originX:O,startDate:p,endDate:m,labelStyle:yt("roadmap",[],d),pillRowHeight:z,tickPanelY:re,tickPanelHeight:U,markerRow:{y:C+13,height:De,collisionY:C-8},minorGrid:y.minorGrid},Tt=new Map;for(let[K,le]of V.placements){let ze=C+13+le.rowIndex*26;Tt.set(K,{rowIndex:le.rowIndex,centerY:ze,labelBox:{...le.labelBox,y:ze-4},labelSide:le.labelSide})}let X={cal:l,styleCtx:d,sizes:f,labels:r.content.labels,teams:r.content.teams,persons:r.content.persons,symbols:r.config.symbols,footnoteIndex:new Map,footnoteHosts:new Map,timeline:ve,scale:W,calendar:G,bandScale:RC(),entityLeftEdges:new Map,entityRightEdges:new Map,entityMidpoints:new Map,entityVisualLeftX:new Map,entityVisualRightX:new Map,itemArrowSource:new Map,itemFlowKey:new Map,currentFlowKey:"",itemSlackAttachY:new Map,slackCorridors:[],markerRowPlacements:Tt,chartTopY:J+Xe,chartBottomY:0,swimlaneBottomY:0,chartRightX:Z,nextParallelId:0,nextGroupId:0};for(let K of pe){let le=Tt.get(K.id);le&&(X.entityLeftEdges.set(K.id,K.centerX),X.entityRightEdges.set(K.id,K.centerX),X.entityMidpoints.set(K.id,{x:K.centerX,y:le.centerY}))}let Cr=SE(r.content.footnotes,X,0);X.footnoteIndex=Cr.index,X.footnoteHosts=Cr.hosts;let Tr=new Map(X.entityLeftEdges),Pr=new Map(X.entityRightEdges),ds=new Map(X.entityMidpoints),_e=[...r.content.swimlanes.values()],Or=yt("swimlane",[],d),Qi=fN[Or.spacing]??0,bn=()=>{X.nextParallelId=0,X.nextGroupId=0;let K=[],le=X.chartTopY,ze=0,Lr=X.timeline.originX;for(let eo of _e){ze>0&&(le+=Qi);let{positioned:ni,usedHeight:_m,usedRightX:df}=new vc({lane:eo,bandIndex:ze},i).place({x:X.timeline.originX,y:le},X);K.push(ni),le+=_m,df>Lr&&(Lr=df),ze++}return{swimlanes:K,nextY:le,maxRightX:Lr}},_r=bn(),Ht=_r.swimlanes,bt=_r.nextY,x=DG(r.content.milestones,X);x.length>0&&(X.entityLeftEdges=new Map(Tr),X.entityRightEdges=new Map(Pr),X.entityMidpoints=new Map(ds),X.itemSlackAttachY=new Map,X.entityVisualLeftX=new Map,X.entityVisualRightX=new Map,X.itemArrowSource=new Map,X.itemFlowKey=new Map,X.currentFlowKey="",X.slackCorridors=x,_r=bn(),Ht=_r.swimlanes,bt=_r.nextY),LG(X,_r.maxRightX+Kr);for(let K of Ht)K.box.width=X.chartRightX;let P=r.content.isolatedRegions,j=[];if(P.length>0){let K=$C(P,X,bt+8,i);j=K.regions,bt=K.endY}X.chartBottomY=bt,X.swimlaneBottomY=bt,ve.box.height=X.chartBottomY-ve.box.y;let Y=FC(r.content.milestones,X),$e=pe.map(K=>({id:K.id,centerX:K.centerX,radius:K.radius,title:K.title,fontSize:K.fontSize,bold:K.bold}));for(let K of Y)K.fixed||$e.push({id:K.id??"",centerX:K.center.x,radius:K.radius,title:K.title,fontSize:10,bold:!0});let Ce=BC($e,M,X.chartRightX,i.estimateTextWidth);X.markerRowPlacements.clear();for(let[K,le]of Ce.placements){let ze=C+13+le.rowIndex*26;X.markerRowPlacements.set(K,{rowIndex:le.rowIndex,centerY:ze,labelBox:{...le.labelBox,y:ze-4},labelSide:le.labelSide})}for(let K of Y){let le=X.markerRowPlacements.get(K.id??"");le&&(K.center={x:K.center.x,y:le.centerY},K.labelBox=le.labelBox,K.labelSide=le.labelSide)}for(let K of pe){let le=X.markerRowPlacements.get(K.id);le&&X.entityMidpoints.set(K.id,{x:K.centerX,y:le.centerY})}for(let K of Y)K.fixed||X.entityMidpoints.set(K.id??"",{x:K.center.x,y:K.center.y});let je=F?Math.max(1,Ce.rowCount):0;if(je>te){let K=(je-te)*26;X.timeline.markerRow.height=je*26,X.timeline.box.height+=K,X.chartTopY+=K,X.chartBottomY+=K,X.swimlaneBottomY+=K;for(let le of Ht)NE(le,K);for(let le of j)$G(le,K);for(let[le,ze]of X.entityMidpoints)X.markerRowPlacements.has(le)||X.entityMidpoints.set(le,{x:ze.x,y:ze.y+K});for(let[le,ze]of X.itemSlackAttachY)X.itemSlackAttachY.set(le,ze+K);for(let le of Y)if(le.cutTopY=X.chartTopY,le.cutBottomY=X.swimlaneBottomY,le.slackArrows)for(let ze of le.slackArrows)ze.y+=K}T&&(X.timeline.bottomTickPanelY=X.chartBottomY+8,X.timeline.bottomTickPanelHeight=Mu,X.chartBottomY+=8+Mu);let Ye=new Set(Y.map(K=>K.center.x)),ge=NC(r.content.anchors,X,Ye),Ue=i.collectItems(_e),Ae=i.buildDependencies(Ue,Ht,j,X),Ke=i.buildNowline(n.today,X,c),st=SE(r.content.footnotes,X,X.chartBottomY);X.footnoteIndex=st.index,X.footnoteHosts=st.hosts,N.height=N.height||X.chartBottomY,_||(N.width=X.chartRightX);let Jt=_?{x:6,y:be-D.cardHeight,width:D.cardWidth,height:D.cardHeight}:{x:0,y:0,width:X.chartRightX,height:Ch},ps=st.area.entries.length>0?st.area.box.y+st.area.box.height:X.chartBottomY,uf={x:X.chartRightX-Kr-Z_,y:ps+Kr,width:Z_,height:gN},Qt=uf.y+uf.height+Kr,tn={box:N,position:y.headerPosition,title:v,author:S,titleLines:D.titleLines,authorLines:D.authorLines,cardBox:Jt,logo:void 0,style:y,attributionBox:uf};return{width:X.chartRightX,height:Qt,theme:o,palette:s,backgroundColor:s.surface.page,header:tn,timeline:ve,nowline:Ke,swimlanes:Ht,anchors:ge,milestones:Y,edges:Ae,footnotes:st.area,includes:j,chartBox:{x:M,y:X.chartTopY,width:X.chartRightX-M,height:X.chartBottomY-X.chartTopY}}}};function DG(t,e){let r=[];for(let[n,i]of t){let o=ae(i.properties,"date"),s=gt(i.properties,"after"),a=vt(o),c=im(s,e),l=om(c);if(a){let f=e.scale.forwardWithinDomain(a);if(f===null)continue;let d=null;for(let p of l)(!d||p.x>d.x)&&(d=p);d&&d.x>f&&d.y>0&&r.push({xStart:Math.min(d.x,f),xEnd:Math.max(d.x,f),y:d.y,slackPredId:d.ref,milestoneId:n});continue}if(l.length===0)continue;l.sort((f,d)=>d.x-f.x);let u=l[0].x;for(let f=1;f<l.length;f++){let d=l[f];d.x<u&&d.y>0&&r.push({xStart:d.x,xEnd:u,y:d.y,slackPredId:d.ref,milestoneId:n})}}return r}function NE(t,e){t.box.y+=e;for(let r of t.children)GC(r,e);for(let r of t.nested)NE(r,e)}function GC(t,e){if(t.box.y+=e,t.kind==="item"){t.overflowBox&&(t.overflowBox.y+=e);for(let r of t.labelChips)r.box.y+=e;return}for(let r of t.children)GC(r,e)}function $G(t,e){t.box.y+=e;for(let r of t.nestedSwimlanes)NE(r,e)}function BC(t,e,r,n){let i=[...t].sort((a,c)=>a.centerX-c.centerX),o=new Map,s=[];for(let a of i){let c=n(a.title,a.fontSize)*(a.bold?1.05:1),l=a.centerX+a.radius+6,u=a.centerX-a.radius-6-c,f=l+c<=r,d=u>=e,p=a.centerX-a.radius,m=a.centerX+a.radius,y=M=>M==="right"?l:u,_=M=>M==="right"?f:d,E=(M,B)=>{let G=Math.min(p,M),oe=Math.max(m,M+c);return s[B].some(L=>L.left<oe&&L.right>G)},T=-1,v="right",S=l;e:for(let M=s.length-1;M>=0;M--)for(let B of["right","left"]){if(!_(B))continue;let G=y(B);if(!E(G,M)){T=M,v=B,S=G;break e}}if(T===-1){for(let[M,B]of o)o.set(M,{...B,rowIndex:B.rowIndex+1});s=[[],...s],T=0,v=f?"right":"left",S=y(v)}let D=Math.min(p,S),N=Math.max(m,S+c);s[T].push({left:D,right:N}),o.set(a.id,{rowIndex:T,labelBox:{x:S,y:0,width:c,height:12},labelSide:v})}return{placements:o,rowCount:s.length}}function MG(t){return t.directive?.properties.find(r=>FG(r.key)==="locale")?.value}function FG(t){return t.endsWith(":")?t.slice(0,-1):t}function GG(t){switch(t){case"done":case"completed":return"done";case"in-progress":case"active":return"in-progress";case"at-risk":case"blocked":case"planned":return t;case void 0:return"planned";default:return"neutral"}}function XG(t){if(!t)return 0;let e=/^(\d{1,3})%$/.exec(t);return e?Math.max(0,Math.min(100,parseInt(e[1],10)))/100:0}function HG(t,e){if(t)return/^\d+(?:\.\d+)?[dwmqy]$/.test(t)||/^\d+%$/.test(t)?t:e.sizes.get(t)?.effortLiteral??t}function zG(t,e){if(t)return e.teams.get(t)?.title??e.persons.get(t)?.title??t}function jG(t){if(!t)return{icon:"none"};let e=t.toLowerCase();return e.includes("linear.app")?{icon:"linear",href:t}:e.includes("github.com")?{icon:"github",href:t}:e.includes("atlassian.net")||e.includes("jira.")?{icon:"jira",href:t}:{icon:"generic",href:t}}function cm(t,e,r,n,i){let o=uN(t,e),s=t.name??t.title??"",a=o.padding==="none"?"xs":o.padding,c=dN[a],l=Math.max(20,Math.round(s.length*5.5+c*2));return i!==void 0&&(l=Math.min(l,i)),{text:s,style:o,box:{x:r,y:n,width:l,height:13}}}function $E(t,e,r,n){let i=t.properties,o=yt("item",i,r.styleCtx),s=ae(i,"size"),a=s?r.sizes.get(s)??null:null,c=ji(i,r.sizes,r.cal),l=Zk(i,r.sizes,r.cal),u=gt(i,"after"),f=gt(i,"before"),d=ae(i,"date"),p=Kk(ae(i,"remaining"),r.sizes,r.cal),m=e.x,y=vt(d);if(y){let ue=r.scale.forwardWithinDomain(y);ue!==null&&(m=ue)}else if(u.length>0){let ue=e.x;for(let tt of u){let _t=vt(tt);if(_t){let ii=r.scale.forwardWithinDomain(_t);ii!==null&&(ue=Math.max(ue,ii));continue}let An=r.entityRightEdges.get(tt);An!==void 0&&(ue=Math.max(ue,An))}m=Math.max(e.x,ue)}let _=Math.max(Nr,c*r.timeline.pixelsPerDay),E=m,T=m+_,v=ae(i,"link"),S=jG(v),D=S.icon!=="none",N=Math.max(Nr,_-2*Yr),M=gt(i,"labels"),B=[];for(let ue of M){let tt=r.labels.get(ue);if(!tt)continue;let _t=cm(tt,r.styleCtx,0,0);B.push({id:tt,width:_t.box.width})}let G=0;for(let ue=0;ue<B.length;ue+=1)ue>0&&(G+=4),G+=B[ue].width;let oe=Math.max(0,N-24),L=B.length>0&&G>oe,w=!1,O,$;if(f.length>0){let ue,tt;for(let _t of f){let An=vt(_t),ii=An?r.scale.forwardWithinDomain(An)??void 0:r.entityLeftEdges.get(_t);ii!==void 0&&(ue===void 0||ii<ue)&&(ue=ii,tt=_t)}ue!==void 0&&T>ue&&(w=!0,O={x:ue,y:e.y,width:T-ue,height:r.bandScale.bandwidth()},$=tt)}let b=ae(i,"status"),A=GG(b),I=XG(b);I===0&&A==="done"&&(I=1);let F=/^(\d{1,3})%$/.exec(ae(i,"remaining")??"");I===0&&A==="in-progress"&&F&&(I=1-Math.max(0,Math.min(100,parseInt(F[1],10)))/100),I===0&&A==="in-progress"&&p>0&&l>0&&(I=Math.max(0,Math.min(1,1-p/l)));let z={done:"#ecfdf5","in-progress":"#eff6ff","at-risk":"#fffbeb",blocked:"#fee2e2",planned:"#f8fafc",neutral:"#f8fafc"},U={done:"#052e16","in-progress":"#172554","at-risk":"#422006",blocked:"#7f1d1d",planned:"#1e293b",neutral:"#1e293b"},W={done:"#ebebeb","in-progress":"#e4e4e4","at-risk":"#eeeeee",blocked:"#dcdcdc",planned:"#f5f5f5",neutral:"#f5f5f5"},Z={done:r.styleCtx.theme.status.done,"in-progress":r.styleCtx.theme.status.inProgress,"at-risk":r.styleCtx.theme.status.atRisk,blocked:r.styleCtx.theme.status.blocked,planned:r.styleCtx.theme.status.planned,neutral:r.styleCtx.theme.status.neutral},pe=r.styleCtx.theme.name,V=pe==="dark",te=V?"#0f172a":"#ffffff",De=pe==="grayscale"?"#9e9e9e":"#94a3b8";o.bg===te&&(o.bg=pe==="grayscale"?W[A]:V?U[A]:z[A]),o.fg===De&&(o.fg=Z[A]);let Ne=ae(i,"duration"),Xe=!!Ne&&/^\d+(?:\.\d+)?[dwmqy]$/.test(Ne),q=a?a.title??a.name:"",J=Xe?Ne:q||void 0,re=ae(i,"remaining"),C=HG(re,r),be=zG(n??ae(i,"owner"),r),me=()=>[J,be].filter(Boolean).join(" "),ve;if(A==="in-progress"&&C){let ue=me();ve=ue?`${ue} \u2014 ${C} remaining`:`${C} remaining`}else if(A==="in-progress"&&I>0&&I<1){let ue=Math.round((1-I)*100),tt=me();ve=tt?`${tt} \u2014 ${ue}% remaining`:`${ue}% remaining`}else(be||J)&&(ve=me()||void 0);let Tt=ae(i,"capacity"),X=oi(Tt),Cr=null,Tr=0;if(X!==null){let ue=Ic(X),tt=Sc(o.capacityIcon,r.symbols);Cr={value:X,text:ue,icon:tt};let _t=11;Tr=(ve?Rn(" ",_t):0)+to(ue,tt,_t)}let Pr=t.title??t.name??"",ds=new $h({id:t.name??"",title:Pr,logicalLeftX:E,logicalRightX:T,metaText:ve,metaTrailingWidth:Tr,hasLinkIcon:D}).place({x:E,y:e.y},{time:r.scale,bands:r.bandScale,style:o}),_e=ds.box,Or=r.bandScale.bandwidth(),Qi=_e.width<17,bn=D&&_e.width<41,_r=_e.width<23,Ht=ds.textSpills||bn,bt=null;L&&(bt=vm(B,_e.width));let x=bt?bt.rows.length:B.length>0?1:0,P=ve!==void 0||Cr!==null,j=VC(L,Ht,x,Or,P);j>0&&(_e.height=Or+j);let Y=[],$e=_e.y+Or-_n-13-3,Ce=_e.y+38+3,Ye=L&&Ht||!L&&P&&B.length>0?Math.max($e,Ce):$e,ge=L?_e.x+_e.width+6:_e.x+12,Ue=ge;if(bt)for(let ue=0;ue<bt.rows.length;ue+=1){let tt=Ye+ue*17,_t=ge;for(let ii of bt.rows[ue]){let l0=cm(ii.id,r.styleCtx,_t,tt);Y.push(l0),_t+=l0.box.width+4}let An=_t-4;An>Ue&&(Ue=An)}else{let ue=ge;for(let tt of B){let _t=cm(tt.id,r.styleCtx,ue,Ye);Y.push(_t),ue+=_t.box.width+4}Ue=B.length>0?ue-4:ge}let Ae=new Set;if(t.name){for(let[ue,tt]of r.footnoteHosts.entries())if(tt.includes(t.name)){let _t=r.footnoteIndex.get(ue);_t!==void 0&&Ae.add(_t)}}let Ke=[...Ae].sort((ue,tt)=>ue-tt),st=be??n??ae(i,"owner"),Jt=t.description?.text,ps=Ke.length>0&&_r,Qt=_e.x+_e.width+6,tn=!1,ff=null;bn&&(tn&&(Qt+=4),ff=Qt,Qt=ff+14,tn=!0);let K=0;if(Ht){tn&&(Qt+=4);let ue=Rn(Pr,13),tt=(ve?Rn(ve,11):0)+Tr;K=Math.max(ue,tt),Qt+=K,tn=!0}let le=null;ps&&(tn&&(Qt+=4),le=Qt,Qt+=Ke.length*8,tn=!0);let ze=null;Qi&&(tn&&(Qt+=4),ze=Qt+5,Qt=ze+5,tn=!0);let Lr=Math.max(_e.x+_e.width,Qt),eo=t.name;eo&&(r.entityLeftEdges.set(eo,E),r.entityRightEdges.set(eo,T));let ni=eo??WC(t);r.entityMidpoints.set(ni,{x:(E+T)/2,y:_e.y+_e.height/2}),r.entityVisualLeftX.set(ni,_e.x),r.entityVisualRightX.set(ni,_e.x+_e.width);let _m=Ht?{x:_e.x+_e.width,y:_e.y+_e.height-_n/2}:{x:_e.x+_e.width,y:_e.y+_e.height/2};r.itemArrowSource.set(ni,_m),r.itemFlowKey.set(ni,r.currentFlowKey);let df=Ht?_e.y+_e.height-_n/2:_e.y+_e.height/2;r.itemSlackAttachY.set(ni,df),e.x=T,e.maxX=Math.max(e.maxX,e.x),e.height=Math.max(e.height,r.bandScale.step()+j);let c0=iN({box:_e,afterDate:Vn(u),beforeDate:Vn(f),hasLinkIcon:D,footnoteCount:Ke.length});return{kind:"item",id:eo,title:Pr,box:_e,status:A,progressFraction:I,footnoteIndicators:Ke,labelChips:Y,chipsOutside:L,chipsRightX:Ue,linkIcon:S.icon,linkHref:S.href,hasOverflow:w,overflowBox:O,overflowAnchorId:$,owner:st,description:Jt,metaText:ve,textSpills:Ht,dotSpills:Qi,iconSpills:bn,footnoteSpills:ps,dotSpillCx:ze,iconSpillX:ff,footnoteSpillStartX:le,decorationsRightX:Lr,capacity:Cr,size:a,style:o,inlineDatePins:c0.length>0?c0:void 0}}function qG(t,e,r){return new Mh(t,{sequenceOne:ME,newCursor:wh}).place(e,r)}function WG(t,e,r){return new Dh(t,{sequenceItem:$E,sequenceOne:ME,resolveChildStart:KC,newCursor:wh,estimateTextWidth:Rn,predictItemChipExtraHeight:YC}).place(e,r)}function ME(t,e,r){if(gr(t))return $E(t,e,r);if(Wr(t))return qG(t,e,r);if(qr(t))return WG(t,e,r);throw new Error(`Unknown swimlane child type: ${t.$type??"unknown"}`)}function Rn(t,e){return t.length*e*.58}function WC(t){let e=t.$cstNode?.range.start;return`#item@${e?e.line+1:0}:${e?e.character+1:0}`}function VC(t,e,r,n,i){if(r===0)return 0;let o=n-_n-13-3,s=41,a;t&&e?a=s:!t&&i?a=Math.max(o,s):a=o;let l=a+(r-1)*17+13+3+_n;return Math.max(0,l-n)}function YC(t,e){let r=t.properties,n=gt(r,"labels");if(n.length===0)return 0;let i=ji(r,e.sizes,e.cal),o=Math.max(Nr,i*e.timeline.pixelsPerDay),s=Math.max(Nr,o-2*Yr),a=[];for(let E of n){let T=e.labels.get(E);if(!T)continue;let v=cm(T,e.styleCtx,0,0);a.push({id:T,width:v.box.width})}if(a.length===0)return 0;let c=0;for(let E=0;E<a.length;E+=1)E>0&&(c+=4),c+=a[E].width;let l=Math.max(0,s-24),u=c>l,f=ae(r,"duration")!==void 0||ae(r,"size")!==void 0||ae(r,"owner")!==void 0||ae(r,"remaining")!==void 0||ae(r,"capacity")!==void 0,d=t.title??t.name??"",m=(d?Rn(d,13):0)>l,y=u?vm(a,s):null,_=y?y.rows.length:a.length>0?1:0;return VC(u,m,_,e.bandScale.bandwidth(),f)}function KC(t,e,r,n){let i=vt(ae(t,"date"))??vt(ae(t,"start"));if(i){let s=n.scale.forwardWithinDomain(i);if(s!==null)return s}let o=gt(t,"after");if(o.length>0){let s=r;for(let a of o){let c=vt(a);if(c){let u=n.scale.forwardWithinDomain(c);u!==null&&(s=Math.max(s,u));continue}let l=n.entityRightEdges.get(a);l!==void 0&&(s=Math.max(s,l))}return Math.max(r,s)}return e}var CE=6;function XC(t,e,r){if(!t)return[];let n=t.split(/\s+/).filter(s=>s.length>0);if(n.length===0)return[];let i=[],o="";for(let s of n){let a=o?`${o} ${s}`:s;o&&Rn(a,r)>e?(i.push(o),o=s):o=a}return o&&i.push(o),i}function VG(t,e){let r=q_-32,n=XC(t,r,16),i=XC(e??"",r,11),o=0;for(let d of n)o=Math.max(o,Rn(d,16));for(let d of i)o=Math.max(o,Rn(d,11));let s=o+32,a=Math.max(hN-CE,Math.min(q_-CE,s)),c=n.length>0?(n.length-1)*20:0,l=i.length>0?18+(i.length-1)*14:0,u=26+c+l+14,f=a+CE;return{titleLines:n,authorLines:i,cardWidth:a,cardHeight:u,boxWidth:f}}function YG(t,e,r,n,i){let s=t.roadmapDecl?.properties??[],a=ae(s,"start"),c=vt(a)??KG(n),l=ae(s,"length");if(l){let p=ZG(l,e.cal);if(p>0)return{startDate:c,endDate:Zo(c,p)}}let u=ZC(r,e,c,n),f=SC(i.unit,e.cal),d=u>0?Math.ceil(u/f)*f:4*e.cal.daysPerWeek;return{startDate:c,endDate:Zo(c,Math.max(1,d))}}function KG(t){let e=t??new Date;return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()))}function ZG(t,e){let r=/^(\d+(?:\.\d+)?)([dwmqy])$/.exec(t);if(!r)return 0;let n=parseFloat(r[1]);switch(r[2]){case"d":return n;case"w":return n*e.daysPerWeek;case"m":return n*e.daysPerMonth;case"q":return n*e.daysPerQuarter;case"y":return n*e.daysPerYear;default:return 0}}function ZC(t,e,r,n){let i=new Map,o=new Map,s=new Map,a=0,c=f=>{let d=vt(f);return d?kr(r,d):i.has(f)?i.get(f):o.has(f)?o.get(f):s.has(f)?s.get(f):0};for(let f of t.content.anchors.values()){let d=vt(ae(f.properties,"date"));if(d&&f.name){let p=kr(r,d);o.set(f.name,p),a=Math.max(a,p)}}let l=(f,d)=>{let p=d;for(let m of f)m.$type!=="DescriptionDirective"&&(p=u(m,p),a=Math.max(a,p));return p},u=(f,d)=>{if(gr(f)){let p=ji(f.properties,e.sizes,e.cal),m=vt(ae(f.properties,"date")),y=vt(ae(f.properties,"start")),_=gt(f.properties,"after"),E=d;m?E=kr(r,m):y?E=kr(r,y):_.length>0&&(E=Math.max(d,..._.map(c)));let T=E+p;return f.name&&i.set(f.name,T),T}if(Wr(f)){let p=gt(f.properties,"after"),m=p.length>0?Math.max(d,...p.map(c)):d,y=m;for(let _ of f.content){if(_.$type==="DescriptionDirective")continue;let E=u(_,m);y=Math.max(y,E)}return y}if(qr(f)){let p=gt(f.properties,"after"),m=p.length>0?Math.max(d,...p.map(c)):d;return l(f.content,m)}return d};for(let f of t.content.swimlanes.values())l(f.content,0);for(let f of t.content.milestones.values()){let d=vt(ae(f.properties,"date"));if(d){let m=kr(r,d);f.name&&s.set(f.name,m),a=Math.max(a,m);continue}let p=gt(f.properties,"after");if(p.length>0){let m=Math.max(0,...p.map(c));f.name&&s.set(f.name,m),a=Math.max(a,m)}}for(let f of t.content.isolatedRegions){let d=ZC({config:f.config,content:f.content,diagnostics:[],processedFiles:new Set},e,r,void 0);a=Math.max(a,d)}if(n){let f=kr(r,n);f>0&&(a=Math.max(a,f))}return a}function JG(t,e,r,n){let i=new Th(Jk(e,r)),o=[],s=[];for(let[l,u]of t){let f=gt(u.properties,"after"),d=n.entityMidpoints.get(l),p=n.entityVisualLeftX.get(l);if(!d||p===void 0)continue;let m={x:p,y:d.y};for(let y of f){let _=n.itemArrowSource.get(y),E,T=_===void 0;if(_)E=_;else{let v=n.entityMidpoints.get(y);if(!v)continue;E={x:v.x,y:d.y}}!T&&Math.abs(E.y-m.y)<.5&&m.x-E.x<20||(o.push({fromId:y,toId:l,from:E,to:m,isMarkerSource:T}),s.push({fromId:y,toId:l}))}}let a=Qk(o,i),c=[];for(let l=0;l<a.length;l++){let u=a[l];c.push({fromId:s[l].fromId,toId:s[l].toId,waypoints:u.waypoints,kind:u.underBar?"underBar":"normal",style:yt("item",[],n.styleCtx)})}return c}function QG(t,e,r){if(!t)return null;let n=e.scale.forwardWithinDomain(t);if(n===null)return null;let i=e.timeline.box.y,o=e.timeline.tickPanelY,s=_h(r).nowLabel,a=Rn(s,Bu),c=Math.max(H_,Math.ceil(a+2*uc)),l=e.timeline.originX-Kr,u=c/2,f;n-u<l?f="flag-right":n+u>e.chartRightX?f="flag-left":f="center";let d=e.timeline.bottomTickPanelY,p=e.timeline.bottomTickPanelHeight??0,m=d!==void 0&&p>0?d+p:e.swimlaneBottomY;return{x:n,topY:o,bottomY:m,pillTopY:i,pillMode:f,label:s,pillWidth:c,style:yt("item",[],e.styleCtx)}}function eX(t){let e=new Map,r=n=>{if(gr(n)){e.set(n.name??WC(n),n);return}if(Wr(n)){for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return}if(qr(n)){for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return}};for(let n of t)for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return e}function FE(t,e,r={}){return new am().place(t,e,r,{sequenceItem:$E,sequenceOne:ME,resolveChildStart:KC,newCursor:wh,estimateTextWidth:Rn,predictItemChipExtraHeight:YC,computeDateWindow:YG,sizeBesideHeader:VG,collectItems:eX,buildDependencies:JG,buildNowline:QG})}function UE(t){return t.toISOString().slice(0,10)}function tX(t){return t.id??t.title}function JC(t,e){for(let r of t)r.kind==="item"?e(r):JC(r.children,e)}function rX(t,e,r){let n=tX(t);t.textSpills&&r.push(ls(e,"NL.I1000","info",{name:n},n)),t.chipsOutside&&r.push(ls(e,"NL.I1001","info",{name:n},n)),(t.box.width<17||t.dotSpills||t.iconSpills||t.footnoteSpills)&&r.push(ls(e,"NL.I1002","info",{name:n},n)),t.hasOverflow&&r.push(ls(e,"NL.I1003","info",{name:n,anchor:t.overflowAnchorId},n))}function ls(t,e,r,n,i){return{message:Cu(t,e,n),severity:r,code:e,entityId:i,lspSeverity:r==="warning"?2:3,data:{code:e,args:n}}}function QC(t,e,r){let n=t.id??t.title,i=[];JC(t.children,a=>i.push(a));for(let a of i)rX(a,e,r);let o=new Set(i.map(a=>a.box.y));o.size>1&&r.push(ls(e,"NL.I1004","info",{lane:n,rows:o.size},n)),(t.utilization?.segments.some(a=>a.classification==="red")??!1)&&r.push(ls(e,"NL.I1005","info",{lane:n},n));for(let a of t.nested)QC(a,e,r)}function BE(t,e={}){let r=e.locale??"en-US",n=[];for(let i of t.swimlanes)QC(i,r,n);if(e.today){let i=e.today,o=t.timeline.startDate,s=t.timeline.endDate;(i<o||i>s)&&n.push(ls(r,"NL.W1000","warning",{date:UE(i),start:UE(o),end:UE(s)}))}return n}var us=class extends Error{constructor(e){super(e),this.name="TimezoneError"}};function GE(t){if(!t||t.toLowerCase()==="local")return{kind:"local"};if(t.toUpperCase()==="UTC")return{kind:"utc"};if(t==="Z")return{kind:"offset",ms:0};let e=/^([+-])(\d{2})(?::?(\d{2}))?$/.exec(t);if(e){let r=e[1]==="+"?1:-1,n=parseInt(e[2],10),i=e[3]!==void 0?parseInt(e[3],10):0;if(n>23||i>59)throw new us(`nowline: invalid timezone offset "${t}". Hours must be 0\u201323 and minutes 0\u201359.`);return{kind:"offset",ms:r*(n*60+i)*6e4}}try{return{kind:"iana",name:Intl.DateTimeFormat(void 0,{timeZone:t}).resolvedOptions().timeZone}}catch{throw new us(`nowline: unrecognised timezone "${t}". Use "local", "UTC", an ISO 8601 offset (e.g. "+05:30", "-07:00", "Z"), or an IANA timezone name (e.g. "America/Los_Angeles", "Asia/Kolkata").`)}}function pm(t,e){switch(e.kind){case"local":return new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate()));case"utc":return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()));case"offset":{let r=new Date(t.getTime()+e.ms);return new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate()))}case"iana":{let r=new Intl.DateTimeFormat("en-CA",{timeZone:e.name,year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(t),n=0,i=0,o=0;for(let s of r)s.type==="year"?n=parseInt(s.value,10):s.type==="month"?i=parseInt(s.value,10)-1:s.type==="day"&&(o=parseInt(s.value,10));return new Date(Date.UTC(n,i,o))}}}var nX=/^(\d{4})-(\d{2})-(\d{2})$/,iX=/^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?)(Z|([+-])(\d{2})(?::?(\d{2}))?)$/,oX=/^(\d{4})-(\d{2})-(\d{2})T\d{2}:\d{2}:\d{2}(?:\.\d+)?$/;function XE(t={}){let e=t.zone??{kind:"local"},r=t.clock??(()=>new Date),n=t.now;if(!(n==="-"||n===null)){if(n instanceof Date)return n;if(n!==void 0){let i=nX.exec(n);if(i)return new Date(Date.UTC(parseInt(i[1],10),parseInt(i[2],10)-1,parseInt(i[3],10)));let o=iX.exec(n);if(o){let a=new Date(n);if(!Number.isNaN(a.getTime())){if(o[2]==="Z")return pm(a,{kind:"utc"});let l=o[3]==="+"?1:-1,u=parseInt(o[4],10),f=o[5]!==void 0?parseInt(o[5],10):0,d=l*(u*60+f)*6e4;return pm(a,{kind:"offset",ms:d})}}let s=oX.exec(n);return s?new Date(Date.UTC(parseInt(s[1],10),parseInt(s[2],10)-1,parseInt(s[3],10))):void 0}return pm(r(),e)}}function sX(t){return t===2?"warning":t===3?"info":"error"}function eP(t,e){return{severity:sX(t.severity),code:bm(t),message:t.message,suggestion:Rm(t.message),file:e,line:(t.range?.start.line??0)+1,column:(t.range?.start.character??0)+1}}function tP(t,e){return{severity:"error",code:"parse-error",message:t.message,file:e,line:t.token?.startLine??1,column:t.token?.startColumn??1}}function rP(t,e){return{severity:"error",code:"lex-error",message:t.message,file:e,line:t.line??1,column:t.column??1}}function nP(t){return{severity:t.severity,code:"include",message:t.message,file:t.sourcePath,line:t.line!==void 0?t.line+1:1,column:1}}function iP(t,e,r="warning"){return{severity:r,code:"render.warning",message:t,file:e,line:1,column:1}}function oP(t,e){return{severity:t.severity,code:t.code,message:t.message,file:e,line:1,column:1}}var sP="__nowline_browser_noop_include__";async function aP(t){throw new Error(`${sP}: include "${t}" was skipped \u2014 running in single-file mode.`)}function cP(t){return t.includes(sP)}var Ji={person:{viewBox:"0 0 24 24",body:'<circle cx="12" cy="8" r="4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 21a8 8 0 0 1 16 0" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"p"},people:{viewBox:"0 0 24 24",body:'<path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><circle cx="9" cy="7" r="4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M22 21v-2a4 4 0 0 0-3-3.87" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M16 3.13a4 4 0 0 1 0 7.75" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"P"},points:{viewBox:"0 0 24 24",body:'<polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" fill="currentColor" stroke="currentColor" stroke-width="1" stroke-linejoin="round"/>',ascii:"*"},time:{viewBox:"0 0 24 24",body:'<line x1="10" x2="14" y1="2" y2="2" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="12" x2="15" y1="14" y2="11" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><circle cx="12" cy="14" r="8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"t"}},aX={calendar:{viewBox:"0 0 24 24",body:'<rect x="3" y="4" width="18" height="18" rx="2" ry="2" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="16" x2="16" y1="2" y2="6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="8" x2="8" y1="2" y2="6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="3" x2="21" y1="10" y2="10" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"d"}},lP={...Ji,...aX};var tae={none:"",multiplier:"x",person:Ji.person.ascii,people:Ji.people.ascii,points:Ji.points.ascii,time:Ji.time.ascii};var hm=class{constructor(e="nl"){de(this,"prefix");de(this,"counter",0);this.prefix=e}next(e){let r=`${this.prefix}-${this.counter++}`;return e?`${r}-${e}`:r}};var cX=new Set(["svg","g","defs","symbol","use","path","rect","circle","ellipse","line","polyline","polygon","text","tspan","title","desc","linearGradient","radialGradient","stop","clipPath","mask","pattern","filter","feGaussianBlur","feColorMatrix","feOffset","feMerge","feMergeNode","feFlood","feComposite","feBlend","feDropShadow","image"]),lX=new Set(["d","x","y","x1","y1","x2","y2","cx","cy","r","rx","ry","width","height","viewBox","preserveAspectRatio","fill","fill-opacity","fill-rule","stroke","stroke-width","stroke-opacity","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-dasharray","stroke-dashoffset","opacity","transform","points","id","class","clip-path","mask","filter","font-family","font-size","font-weight","font-style","text-anchor","dx","dy","rotate","letter-spacing","word-spacing","style","xmlns","href","xlink:href","offset","stop-color","stop-opacity","gradientUnits","gradientTransform","spreadMethod","maskUnits","maskContentUnits","stdDeviation","values","in","in2","mode","type","result","flood-color","flood-opacity","patternUnits","patternContentUnits","role","aria-label"]);function uX(t){let e=[],r=0,n=t.length;for(;r<n;){if(t[r]!=="<"){let u=r;for(;r<n&&t[r]!=="<";)r++;let f=t.slice(u,r);f.trim().length>0?e.push({kind:"text",text:f}):f.length>0&&e.push({kind:"text",text:f});continue}if(t.startsWith("<!--",r)){let u=t.indexOf("-->",r+4);if(u<0)break;e.push({kind:"comment",text:t.slice(r+4,u)}),r=u+3;continue}if(t.startsWith("<![CDATA[",r)){let u=t.indexOf("]]>",r+9);if(u<0)break;e.push({kind:"cdata",text:t.slice(r+9,u)}),r=u+3;continue}if(t.startsWith("<?",r)){let u=t.indexOf("?>",r+2);if(u<0)break;e.push({kind:"decl",text:t.slice(r+2,u)}),r=u+2;continue}if(t.startsWith("<!",r)){let u=t.indexOf(">",r+2);if(u<0)break;e.push({kind:"decl",text:t.slice(r+2,u)}),r=u+1;continue}if(t[r+1]==="/"){let u=t.indexOf(">",r+2);if(u<0)break;let f=t.slice(r+2,u).trim();e.push({kind:"close",name:f}),r=u+1;continue}let i=fX(t,r);if(i<0)break;let o=t.slice(r+1,i).trim(),s=o.endsWith("/"),a=s?o.slice(0,-1).trim():o,{name:c,attrs:l}=dX(a);e.push({kind:s?"self":"open",name:c,attrs:l}),r=i+1}return e}function fX(t,e){let r=e+1,n=null;for(;r<t.length;){let i=t[r];if(n)i===n&&(n=null);else if(i==='"'||i==="'")n=i;else if(i===">")return r;r++}return-1}function dX(t){let e=0;for(;e<t.length&&/\s/.test(t[e]);)e++;let r=e;for(;e<t.length&&!/\s/.test(t[e]);)e++;let n=t.slice(r,e),i={};for(;e<t.length;){for(;e<t.length&&/\s/.test(t[e]);)e++;if(e>=t.length)break;let o=e;for(;e<t.length&&t[e]!=="="&&!/\s/.test(t[e]);)e++;let s=t.slice(o,e);if(e>=t.length||t[e]!=="="){s&&(i[s]="");continue}if(e++,e>=t.length)break;let a=t[e];if(a!=='"'&&a!=="'"){let l=e;for(;e<t.length&&!/\s/.test(t[e]);)e++;i[s]=t.slice(l,e);continue}e++;let c=e;for(;e<t.length&&t[e]!==a;)e++;i[s]=t.slice(c,e),e<t.length&&e++}return{name:n,attrs:i}}function of(t){return t.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function pX(t,e){if(t.startsWith("#")){let r=e.get(t.slice(1));return r?`#${r}`:null}if(/^url\(#[^)]+\)$/.test(t)){let r=t.slice(5,-1),n=e.get(r);return n?`url(#${n})`:null}return null}function uP(t,e={}){let r=e.idPrefix??"nl-logo",n=e.onWarn??(()=>{}),i=uX(t),o=new Map,s=0;for(let l of i)if((l.kind==="open"||l.kind==="self")&&l.attrs&&"id"in l.attrs){let u=l.attrs.id;u&&!o.has(u)&&o.set(u,`${r}-${s++}`)}let a=[],c=[];for(let l of i)if(l.kind!=="comment"&&l.kind!=="decl"){if(l.kind==="cdata"){c[c.length-1]&&a.push(of(l.text??""));continue}if(l.kind==="text"){if(c.length===0||c[c.length-1]){let u=(l.text??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");a.push(u)}continue}if(l.kind==="open"||l.kind==="self"){let u=l.name??"";if(u==="script"||u==="foreignObject"||u==="animate"||u==="animateTransform"||u==="animateMotion"||u==="set"){n(`sanitizer: dropping <${u}>`),l.kind==="open"&&c.push(!1);continue}if(!cX.has(u)){n(`sanitizer: dropping unknown element <${u}>`),l.kind==="open"&&c.push(!1);continue}let f=[`<${u}`],d=Object.keys(l.attrs??{}).sort();for(let p of d){let m=l.attrs[p];if(/^on/i.test(p)){n(`sanitizer: dropping event handler ${p}`);continue}if(!lX.has(p)){n(`sanitizer: dropping attribute ${p}`);continue}if(p==="href"||p==="xlink:href"){let y=pX(m,o);if(y===null){n(`sanitizer: dropping external href ${m}`);continue}f.push(` ${p}="${of(y)}"`);continue}if(p==="style"){n("sanitizer: dropping inline style");continue}if(p==="id"){let y=o.get(m);y&&f.push(` id="${of(y)}"`);continue}if(/\burl\(#/i.test(m)){let y=m.replace(/url\(#([^)]+)\)/gi,(_,E)=>{let T=o.get(E);return T?`url(#${T})`:"none"});f.push(` ${p}="${of(y)}"`);continue}if(/data:|javascript:|vbscript:/i.test(m)){n(`sanitizer: dropping suspicious value at ${p}`);continue}f.push(` ${p}="${of(m)}"`)}f.push(l.kind==="self"?"/>":">"),a.push(f.join("")),l.kind==="open"&&c.push(!0);continue}l.kind==="close"&&c.pop()&&a.push(`</${l.name}>`)}return a.join("")}var fP=/&/g,dP=/</g,pP=/>/g,hX=/"/g,mX=/'/g;function cr(t){return t.replace(fP,"&amp;").replace(dP,"&lt;").replace(pP,"&gt;")}function ei(t){return t.replace(fP,"&amp;").replace(dP,"&lt;").replace(pP,"&gt;").replace(hX,"&quot;").replace(mX,"&#39;")}function bc(t){let e=Object.keys(t).sort(),r=[];for(let n of e){let i=t[n];i==null||i===!1||(i===!0?r.push(n):r.push(`${n}="${ei(String(i))}"`))}return r.length?` ${r.join(" ")}`:""}function Q(t,e,r){return r===void 0||r===""?`<${t}${bc(e)}/>`:`<${t}${bc(e)}>${r}</${t}>`}function Le(t,e){return`<text${bc(t)}>${cr(e)}</text>`}function h(t){return Number.isFinite(t)?Number.isInteger(t)?t.toString():(Math.round(t*100)/100).toString():"0"}var gX={none:{dx:0,dy:0,stdDeviation:0,opacity:0},subtle:{dx:0,dy:1,stdDeviation:1.5,opacity:.2},soft:{dx:0,dy:3,stdDeviation:5,opacity:.3},hard:{dx:2,dy:2,stdDeviation:0,opacity:.45}};function yX(t,e){let r=`${t}-shadow-${e}`,n=gX[e],i=`<feGaussianBlur in="SourceAlpha" stdDeviation="${n.stdDeviation}"/><feOffset dx="${n.dx}" dy="${n.dy}" result="offsetblur"/><feComponentTransfer><feFuncA type="linear" slope="${n.opacity}"/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in="SourceGraphic"/></feMerge>`;return Q("filter",{id:r,x:"-50%",y:"-50%",width:"200%",height:"200%"},i)}function hP(t,e){return e==="none"?null:`url(#${t}-shadow-${e})`}function mP(t){return["subtle","soft","hard"].map(e=>yX(t,e)).join("")}var vX={thin:100,light:300,normal:400,bold:700};function wX(t){return cc[t]??14}function zE(t,e,r){return{"font-family":e[t.font],"font-size":r??wX(t.textSize),"font-weight":vX[t.weight]??400,"font-style":t.italic?"italic":"normal",fill:t.text}}function RX(t){if(t.border==="dashed")return"4 3";if(t.border==="dotted")return"1 3"}function bX(t){if(!t||t==="none"||t==="transparent")return 1;let e=t.startsWith("#")?t.slice(1):t;if(e.length===3&&(e=e.split("").map(s=>s+s).join("")),e.length!==6)return 1;let r=parseInt(e.slice(0,2),16)/255,n=parseInt(e.slice(2,4),16)/255,i=parseInt(e.slice(4,6),16)/255,o=s=>s<=.03928?s/12.92:((s+.055)/1.055)**2.4;return .2126*o(r)+.7152*o(n)+.0722*o(i)}function AX(t,e){return bX(t)>=.24?e.statusDot.onLight:e.statusDot.onDark}function HE(t,e){return t.length*e*.58}function TP(t,e,r,n,i,o,s){let a=i*.58,c=e?HE(e,i):0,l=e?a:0,u=r+c+l,{text:f,icon:d}=t,p=HE(f,i),m={"font-family":o,"font-size":i,fill:s};if(!d)return Le({x:h(u),y:h(n),...m},f);if(d.kind==="builtin"&&d.name==="multiplier")return Le({x:h(u),y:h(n),...m},`${f}\xD7`);if(d.kind==="builtin"){let _=Ji[d.name],E=Le({x:h(u),y:h(n),...m},f),T=i*.1,v=i,S=u+p+T,D=n-i*.85,N=`<svg x="${h(S)}" y="${h(D)}" width="${h(v)}" height="${h(v)}" viewBox="${_.viewBox}" style="color:${ei(s)}" aria-hidden="true">${_.body}</svg>`;return E+N}let y=h(i*.1);return`<text x="${h(u)}" y="${h(n)}" font-family="${ei(o)}" font-size="${i}" fill="${ei(s)}">${cr(f)}<tspan dx="${y}">${cr(d.text)}</tspan></text>`}var gP=.6,IX=.5;function SX(t){let{metaText:e,capacity:r,x:n,baselineY:i,fontSize:o,fontFamily:s,color:a}=t;if(!e&&!r)return"";let c={"font-family":s,"font-size":o,fill:a};if(!r)return Le({x:h(n),y:h(i),...c},e);if(!e)return TP(r,void 0,n,i,o,s,a);let l=h(o*gP),u=`<text x="${h(n)}" y="${h(i)}" font-family="${ei(s)}" font-size="${o}" fill="${ei(a)}">`,{text:f,icon:d}=r;if(!d)return u+cr(e)+`<tspan dx="${l}">${cr(f)}</tspan></text>`;if(d.kind==="builtin"&&d.name==="multiplier")return u+cr(e)+`<tspan dx="${l}">${cr(f)}\xD7</tspan></text>`;if(d.kind==="literal"){let N=h(o*.1);return u+cr(e)+`<tspan dx="${l}">${cr(f)}</tspan><tspan dx="${N}">${cr(d.text)}</tspan></text>`}let p=Ji[d.name],m=N=>N.length*o*IX,y=n+m(e)+o*gP,_=o*.1,E=o,T=y+m(f)+_,v=i-o*.85,S=u+cr(e)+`<tspan dx="${l}">${cr(f)}</tspan></text>`,D=`<svg x="${h(T)}" y="${h(v)}" width="${h(E)}" height="${h(E)}" viewBox="${p.viewBox}" style="color:${ei(a)}" aria-hidden="true">${p.body}</svg>`;return S+D}function kX(t,e){let r=lP.calendar,n=`<svg x="${h(t.glyphTopLeft.x)}" y="${h(t.glyphTopLeft.y)}" width="${h(t.glyphSize)}" height="${h(t.glyphSize)}" viewBox="${r.viewBox}" style="color:${ei(e)}" aria-hidden="true">${r.body}</svg>`,i=`<title>${cr(t.isoDate)}</title>`;return Q("g",{"data-layer":"inline-date-pin","data-side":t.side,"data-date":t.isoDate,"data-spilled":t.spilled?"true":null},i+n)}function jE(t,e){return!t||t.length===0?"":t.map(r=>kX(r,e)).join("")}function NX(t,e,r,n,i,o={}){let s=Math.min(Rh[i.cornerRadius]??4,n/2);return Q("rect",{x:h(t),y:h(e),width:h(r),height:h(n),rx:h(s),ry:h(s),fill:i.bg==="none"?"transparent":i.bg,stroke:i.fg,"stroke-width":1,"stroke-dasharray":RX(i)??null,...o})}function CX(t,e,r,n){let i=t.box.x+t.cardBox.x,o=t.box.y+t.cardBox.y,s=t.cardBox.width,a=t.cardBox.height,c=t.style.bg==="none"?r.surface.headerBox:t.style.bg,l=r.header.cardBorder,u=Q("rect",{x:h(i),y:h(o),width:h(s),height:h(a),rx:6,ry:6,fill:c,stroke:l,"stroke-width":1,filter:`url(#${e}-shadow-subtle)`}),f=[];t.titleLines.forEach((E,T)=>{f.push(Le({x:h(i+16),y:h(o+26+T*20),"font-family":n[t.style.font],"font-size":16,"font-weight":600,fill:t.style.text},E))});let d=f.join(""),p=o+26+Math.max(0,t.titleLines.length-1)*20,m=r.header.author,y=[];t.authorLines.forEach((E,T)=>{y.push(Le({x:h(i+16),y:h(p+18+T*14),"font-family":n[t.style.font],"font-size":11,fill:m},E))});let _=y.join("");return Q("g",{"data-layer":"header","data-id":`${e}-header`},u+d+_)}function PX(t,e,r){let n=r.timeline.gridLine,i=r.timeline.minorGridLine,o=t.bottomTickPanelHeight??0,s=t.bottomTickPanelY!==void 0&&o>0,a=t.tickPanelY,c=s?t.bottomTickPanelY+o:t.box.y+t.box.height,l=e,u=t.box.y+t.box.height,f=[];for(let d of t.ticks)if(d.major)f.push(Q("line",{x1:h(d.x),y1:h(a),x2:h(d.x),y2:h(c),stroke:n,"stroke-width":1}));else if(t.minorGrid){if(d.labelX===void 0)continue;f.push(Q("line",{x1:h(d.x),y1:h(l),x2:h(d.x),y2:h(u),stroke:i,"stroke-width":1}))}return Q("g",{"data-layer":"grid"},f.join(""))}function OX(t,e,r){let n=e.timeline.panelFill,i=e.timeline.border,o=e.timeline.labelText,s=[],a=t.tickPanelY,c=t.tickPanelHeight,l=c>0,u=t.markerRow.height>0,f=a+c,d=t.markerRow.height,p=t.bottomTickPanelY,m=t.bottomTickPanelHeight??0,y=p!==void 0&&m>0;l&&s.push(Q("rect",{x:h(t.box.x),y:h(a),width:h(t.box.width),height:h(c),rx:4,ry:4,fill:n,stroke:i,"stroke-width":1})),u&&s.push(Q("rect",{x:h(t.box.x),y:h(f),width:h(t.box.width),height:h(d),rx:4,ry:4,fill:n,stroke:i,"stroke-width":1})),y&&s.push(Q("rect",{x:h(t.box.x),y:h(p),width:h(t.box.width),height:h(m),rx:4,ry:4,fill:n,stroke:i,"stroke-width":1}));for(let _ of t.ticks)_.major&&(!_.label||_.labelX===void 0||(l&&s.push(Le({x:h(_.labelX),y:h(a+bh),"font-family":r.sans,"font-size":10,fill:o,"text-anchor":"middle"},_.label)),y&&s.push(Le({x:h(_.labelX),y:h(p+bh),"font-family":r.sans,"font-size":10,fill:o,"text-anchor":"middle"},_.label))));return Q("g",{"data-layer":"timeline"},s.join(""))}function LX(t,e,r){if(!t)return"";let n=e.nowline.stroke,i=e.nowline.labelText,o=Q("line",{x1:h(t.x),y1:h(t.topY),x2:h(t.x),y2:h(t.bottomY),stroke:n,"stroke-width":Nh}),s=DX(t,n),a=$X(t,i,r);return Q("g",{"data-layer":"nowline"},o+s+a)}function _P(t){let e=Nh/2;return t.pillMode==="flag-right"?t.x-e:t.pillMode==="flag-left"?t.x+e:t.x}function DX(t,e){let r=t.pillTopY,n=t.pillTopY+qi,i=z_,o=t.pillWidth;if(t.pillMode==="center")return Q("rect",{x:h(t.x-o/2),y:h(r),width:h(o),height:h(qi),rx:i,ry:i,fill:e});let s=_P(t);if(t.pillMode==="flag-right"){let l=s+o,u=[`M ${h(s)} ${h(r)}`,`L ${h(l-i)} ${h(r)}`,`A ${i} ${i} 0 0 1 ${h(l)} ${h(r+i)}`,`L ${h(l)} ${h(n-i)}`,`A ${i} ${i} 0 0 1 ${h(l-i)} ${h(n)}`,`L ${h(s)} ${h(n)}`,"Z"].join(" ");return Q("path",{d:u,fill:e})}let a=s-o,c=[`M ${h(s)} ${h(r)}`,`L ${h(a+i)} ${h(r)}`,`A ${i} ${i} 0 0 0 ${h(a)} ${h(r+i)}`,`L ${h(a)} ${h(n-i)}`,`A ${i} ${i} 0 0 0 ${h(a+i)} ${h(n)}`,`L ${h(s)} ${h(n)}`,"Z"].join(" ");return Q("path",{d:c,fill:e})}function $X(t,e,r){let n=t.pillTopY+j_,i=_P(t),o,s;return t.pillMode==="center"?(o=t.x,s="middle"):t.pillMode==="flag-right"?(o=i+uc,s="start"):(o=i-uc,s="end"),Le({x:h(o),y:h(n),"font-family":r.sans,"font-size":Bu,"font-weight":700,fill:e,"text-anchor":s},t.label)}function MX(t,e,r,n,i){let o=[],s=hP(r,t.style.shadow);o.push(NX(t.box.x,t.box.y,t.box.width,t.box.height,t.style,{filter:s??null}));let a=AX(t.style.bg,n),c={done:a.done,"in-progress":a.inProgress,"at-risk":a.atRisk,blocked:a.blocked,planned:a.planned,neutral:a.neutral},l=c[t.status]??c.neutral;if(t.progressFraction>0){let _=Math.max(0,Math.min(t.box.width,t.box.width*t.progressFraction));o.push(Q("rect",{x:h(t.box.x),y:h(t.box.y+t.box.height-_n),width:h(_),height:_n,fill:t.style.fg,opacity:.55}))}let u=t.dotSpills&&t.dotSpillCx!==null?t.dotSpillCx:t.box.x+t.box.width-12;o.push(Q("circle",{cx:h(u),cy:h(t.box.y+12),r:5,fill:l})),o.push(jE(t.inlineDatePins,t.style.fg));let f;t.textSpills?(f=t.box.x+t.box.width+6,t.iconSpills&&(f+=18)):f=t.box.x+12;let d=t.style.text,p=n.entities.item.text,m=t.textSpills?p:d,y=t.textSpills?p:t.style.fg;if(t.title&&o.push(Le({x:h(f),y:h(t.box.y+20),"font-family":i[t.style.font],"font-size":13,"font-weight":600,fill:m},t.title)),(t.metaText||t.capacity)&&o.push(SX({metaText:t.metaText,capacity:t.capacity,x:f,baselineY:t.box.y+38,fontSize:11,fontFamily:i[t.style.font],color:y})),t.footnoteIndicators.length>0){let _=t.box.y+14;if(t.footnoteSpills&&t.footnoteSpillStartX!==null){let E=t.footnoteSpillStartX;for(let T=0;T<t.footnoteIndicators.length;T++){let v=t.footnoteIndicators[T];o.push(Le({x:h(E),y:h(_),"font-family":i.sans,"font-size":10,"font-weight":700,fill:p},String(v))),E+=8}}else{let E=t.box.x+t.box.width-22;for(let T=t.footnoteIndicators.length-1;T>=0;T--){let v=t.footnoteIndicators[T];o.push(Le({x:h(E),y:h(_),"font-family":i.sans,"font-size":10,"font-weight":700,fill:t.style.text,"text-anchor":"end"},String(v))),E-=8}}}if(!e.noLinks&&t.linkIcon&&t.linkIcon!=="none"){let _={linear:"#5e6ad2",github:"#0f172a",jira:"#0052cc",generic:n.item.linkIconFg},E=_[t.linkIcon]??_.generic,T=14,v=t.iconSpills&&t.iconSpillX!==null?t.iconSpillX:t.box.x+6,S=t.box.y+6,D=Q("rect",{x:h(v),y:h(S),width:T,height:T,rx:2,ry:2,fill:E}),N=v,M=S,B=Q("path",{d:`M${h(N+4)} ${h(M+10)} L${h(N+10)} ${h(M+4)} M${h(N+6)} ${h(M+4)} H${h(N+10)} V${h(M+8)}`,stroke:"#ffffff",fill:"none","stroke-width":1.1,"stroke-linecap":"round","stroke-linejoin":"round"}),G=D+B,oe=t.linkHref?Q("a",{href:t.linkHref,target:"_blank",rel:"noopener"},G):G;o.push(oe)}if(t.hasOverflow&&t.overflowBox){let _=n.item.overflowTailFill,E=n.item.overflowTailStroke,T=n.item.overflowCaption;o.push(Q("rect",{x:h(t.overflowBox.x),y:h(t.overflowBox.y),width:h(t.overflowBox.width),height:h(t.overflowBox.height),fill:_,stroke:E,"stroke-width":1})),t.overflowAnchorId&&t.overflowBox.width>60&&o.push(Le({x:h(t.overflowBox.x+t.overflowBox.width/2),y:h(t.overflowBox.y+t.overflowBox.height/2+3),"font-family":i.sans,"font-size":9,"font-weight":700,fill:T,"text-anchor":"middle"},`past ${t.overflowAnchorId}`))}for(let _ of t.labelChips){let E=Math.min(Rh[_.style.cornerRadius]??8,_.box.height/2);o.push(Q("rect",{x:h(_.box.x),y:h(_.box.y),width:h(_.box.width),height:h(_.box.height),rx:h(E),ry:h(E),fill:_.style.bg==="none"?"transparent":_.style.bg,stroke:_.style.fg,"stroke-width":.5})),o.push(Le({x:h(_.box.x+_.box.width/2),y:h(_.box.y+_.box.height/2+3),...zE(_.style,i,cc.xs),"text-anchor":"middle"},_.text))}return Q("g",{"data-layer":"item","data-id":t.id??null},o.join(""))}function FX(t,e,r,n,i){let o=[];if(t.style.bg!=="none"&&t.style.bg!=="#ffffff"){if(o.push(Q("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),rx:6,ry:6,fill:t.style.bg,stroke:t.style.fg,"stroke-width":1,"fill-opacity":.18,filter:`url(#${r}-shadow-subtle)`})),t.title){let a=t.title.length*G_+2*Sh,c=t.box.x,l=t.box.y,u=Uu,f=6,d=`M${h(c+f)} ${h(l)}H${h(c+a)}V${h(l+u-f)}A${f} ${f} 0 0 1 ${h(c+a-f)} ${h(l+u)}H${h(c)}V${h(l+f)}A${f} ${f} 0 0 1 ${h(c+f)} ${h(l)}Z`;o.push(Q("path",{d,fill:t.style.fg})),o.push(Le({x:h(c+Sh),y:h(l+U_),"font-family":i[t.style.font],"font-size":B_,"font-weight":600,fill:"#ffffff"},t.title))}}else{let a=t.style.fg;if(t.style.bracket!=="none"){let l=t.box.y+t.box.height,u=t.style.bracket==="dashed"?"3 2":null,f=t.title?`M${h(t.box.x+4)} ${h(t.box.y-lc)} L${h(t.box.x)} ${h(t.box.y-lc)} L${h(t.box.x)} ${h(l)} L${h(t.box.x+4)} ${h(l)}`:`M${h(t.box.x)} ${h(t.box.y)} L${h(t.box.x)} ${h(l)} L${h(t.box.x+4)} ${h(l)}`;o.push(Q("path",{d:f,fill:"none",stroke:a,"stroke-width":1,"stroke-dasharray":u}))}t.title&&o.push(Le({x:h(t.box.x+6),y:h(t.box.y-2),...zE(t.style,i,cc.xs),"fill-opacity":.7},t.title))}o.push(jE(t.inlineDatePins,t.style.fg));for(let a of t.children)o.push(qE(a,e,r,n,i));return Q("g",{"data-layer":"group","data-id":t.id??null},o.join(""))}function UX(t,e,r,n,i){let o=[];if(t.style.bracket==="solid"||t.style.bracket==="dashed"){let c=t.box.y-12,l=t.box.y+t.box.height+12,u=t.box.x,f=t.box.x+t.box.width,d=n.parallel.bracketStroke;o.push(Q("path",{d:`M${h(u+4)} ${h(c)} H${h(u)} V${h(l)} H${h(u+4)}`,fill:"none",stroke:d,"stroke-width":1.25,"stroke-dasharray":t.style.bracket==="dashed"?"3 3":null,"stroke-linejoin":"round"})),o.push(Q("path",{d:`M${h(f-4)} ${h(c)} H${h(f)} V${h(l)} H${h(f-4)}`,fill:"none",stroke:d,"stroke-width":1.25,"stroke-dasharray":t.style.bracket==="dashed"?"3 3":null,"stroke-linejoin":"round"}))}t.title&&o.push(Le({x:h(t.box.x+4),y:h(t.box.y-2),...zE(t.style,i,cc.xs),"fill-opacity":.7},t.title)),o.push(jE(t.inlineDatePins,t.style.fg));for(let s of t.children)o.push(qE(s,e,r,n,i));return Q("g",{"data-layer":"parallel","data-id":t.id??null},o.join(""))}function qE(t,e,r,n,i){return t.kind==="item"?MX(t,e,r,n,i):t.kind==="group"?FX(t,e,r,n,i):UX(t,e,r,n,i)}var yP=2;function BX(t,e){switch(t){case"green":return e.swimlane.utilizationOk;case"yellow":return e.swimlane.utilizationWarn;case"red":return e.swimlane.utilizationOver}}function GX(t,e){if(!t.utilization||t.utilization.segments.length===0)return"";let r=t.box.y+t.box.height-yP,n=t.utilization.segments.map(i=>{let o=i.endX-i.startX;return o<=0?"":Q("rect",{x:h(i.startX),y:h(r),width:h(o),height:yP,fill:BX(i.classification,e),"data-utilization":i.classification,"data-load":h(i.load)})});return Q("g",{"data-layer":"lane-utilization","data-id":t.id??null},n.join(""))}function XX(t,e){let r=t.bandIndex%2===0?e.swimlane.rowTintEven:e.swimlane.rowTintOdd,n=e.swimlane.border;return Q("g",{"data-layer":"swimlane-bg","data-id":t.id??null},Q("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),fill:r,stroke:n,"stroke-width":1}))}function EP(t,e,r,n,i){let o=n.swimlane.tabFill,s=n.swimlane.tabStroke,a=n.swimlane.tabText,c=n.swimlane.ownerText,l=n.swimlane.footnoteIndicator,u=[];if(t.title){let d=t.capacity?to(t.capacity.text,t.capacity.icon,10):0,p=t.footnoteIndicators.length>0?t.footnoteIndicators.join(","):"",m=p?HE(p,10):0,y=kc(t.box.x,t.title,t.owner,d,m),_=Ah,E=t.box.y+10,T=E+Ih;u.push(Q("rect",{x:h(y.tabX),y:h(E),width:h(y.tabW),height:h(_),rx:4,ry:4,fill:o,stroke:s,"stroke-width":1})),u.push(Le({x:h(y.titleX),y:h(T),"font-family":i[t.style.font],"font-size":12,"font-weight":600,fill:a},t.title)),t.owner&&u.push(Le({x:h(y.ownerX),y:h(T),"font-family":i[t.style.font],"font-size":10,fill:c},`owner: ${t.owner}`)),t.capacity&&u.push(TP(t.capacity,void 0,y.badgeX,T,10,i[t.style.font],c)),p&&u.push(Le({x:h(y.footnoteRightX),y:h(E+14),"font-family":i.sans,"font-size":10,"font-weight":700,fill:l,"text-anchor":"end"},p))}for(let f of t.children)u.push(qE(f,e,r,n,i));return u.push(GX(t,n)),Q("g",{"data-layer":"swimlane","data-id":t.id??null},u.join(""))}function HX(t,e,r){let n=t.radius,i=t.center.x,o=t.center.y,s=e.anchorDiamond.fill,a=e.anchorDiamond.stroke,c=Q("path",{d:`M${h(i)} ${h(o-n)} L${h(i+n)} ${h(o)} L${h(i)} ${h(o+n)} L${h(i-n)} ${h(o)} Z`,fill:s,stroke:a,"stroke-width":1.25}),l=e.anchorDiamond.label,u=t.labelSide==="left"?t.labelBox.x+t.labelBox.width:t.labelBox.x,f={x:h(u),y:h(o+4),"font-family":r.sans,"font-size":10,fill:l};t.labelSide==="left"&&(f["text-anchor"]="end");let d=t.title?Le(f,t.title):"";return Q("g",{"data-layer":"anchor","data-id":t.id??null},c+d)}function zX(t,e){let r=e.anchorDiamond.cutLine;return Q("line",{x1:h(t.center.x),y1:h(t.center.y+t.radius+1),x2:h(t.center.x),y2:h(t.cutBottomY),stroke:r,"stroke-width":1,"stroke-dasharray":"1 3"})}function jX(t,e,r){let n=t.center.x,i=t.center.y,o=t.radius,s=e.milestoneDiamond.fill,a=Q("path",{d:`M${h(n)} ${h(i-o)} L${h(n+o)} ${h(i)} L${h(n)} ${h(i+o)} L${h(n-o)} ${h(i)} Z`,fill:s,stroke:s,"stroke-width":1}),c=e.milestoneDiamond.label,l=t.labelSide==="left"?t.labelBox.x+t.labelBox.width:t.labelBox.x,u={x:h(l),y:h(i+4),"font-family":r.sans,"font-size":10,"font-weight":600,fill:c};t.labelSide==="left"&&(u["text-anchor"]="end");let f=t.title?Le(u,t.title):"";return Q("g",{"data-layer":"milestone","data-id":t.id??null},a+f)}function qX(t,e){let r=t.isOverrun?e.milestoneDiamond.cutLineOverrun:e.milestoneDiamond.cutLineNormal,n=[];if(n.push(Q("line",{x1:h(t.center.x),y1:h(t.center.y+t.radius+1),x2:h(t.center.x),y2:h(t.cutBottomY),stroke:r,"stroke-width":2,"stroke-dasharray":kh,"stroke-linecap":"round"})),t.slackArrows&&t.slackArrows.length>0){let i=e.milestoneDiamond.slack;for(let o of t.slackArrows)n.push(Q("path",{d:`M${h(o.x)} ${h(o.y)} H${h(t.center.x-6)}`,fill:"none",stroke:i,"stroke-width":1.1,"stroke-dasharray":"3 3","stroke-linecap":"round","marker-end":"url(#nl-arrow-dark)"}))}return n.join("")}function xP(t,e){let r=t.kind==="overflow"?e.dependency.overflowStroke:e.dependency.edgeStroke,n=t.waypoints;if(n.length<2)return"";let i=t.kind==="underBar"?.8:1.1;return Q("path",{d:WX(n,J_),fill:"none",stroke:r,"stroke-width":i,"stroke-dasharray":t.kind==="overflow"?"4 2":null,"stroke-linejoin":"round","marker-end":"url(#nl-arrow)"})}function WX(t,e){if(t.length<2)return"";let r=[`M${h(t[0].x)} ${h(t[0].y)}`];for(let n=1;n<t.length;n++){let i=t[n-1],o=t[n];if(n===t.length-1){r.push(`L${h(o.x)} ${h(o.y)}`);continue}let s=t[n+1],a=Math.sign(o.x-i.x),c=Math.sign(o.y-i.y),l=Math.sign(s.x-o.x),u=Math.sign(s.y-o.y),f=Math.hypot(o.x-i.x,o.y-i.y),d=Math.hypot(s.x-o.x,s.y-o.y),p=Math.min(e,f/2,d/2);if(p<=0||a!==0&&l!==0||c!==0&&u!==0){r.push(`L${h(o.x)} ${h(o.y)}`);continue}let m={x:o.x-a*p,y:o.y-c*p},y={x:o.x+l*p,y:o.y+u*p};r.push(`L${h(m.x)} ${h(m.y)}`),r.push(`Q${h(o.x)} ${h(o.y)} ${h(y.x)} ${h(y.y)}`)}return r.join(" ")}function VX(t,e,r,n){if(t.entries.length===0)return"";let i=r.footnotePanel.fill,o=r.footnotePanel.border,s=r.footnotePanel.header,a=r.footnotePanel.title,c=r.footnotePanel.description,l=r.footnotePanel.number,u=[];u.push(Q("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),rx:6,ry:6,fill:i,stroke:o,"stroke-width":1,filter:`url(#${e}-shadow-subtle)`})),u.push(Le({x:h(t.box.x+Zr),y:h(t.box.y+W_),"font-family":n.sans,"font-size":12,"font-weight":700,fill:s},"Footnotes"));let f=t.box.y+Gu+Zr,d=t.box.x+Zr,p=d+Zr;return t.entries.forEach((m,y)=>{let _=f+y*Xu;u.push(Le({x:h(d),y:h(_),"font-family":n.sans,"font-size":10,"font-weight":700,fill:l},String(m.number))),u.push(Le({x:h(p),y:h(_),"font-family":n.sans,"font-size":11,"font-weight":600,fill:a},m.title)),m.description&&u.push(Le({x:h(p+Math.max(120,m.title.length*6)),y:h(_),"font-family":n.sans,"font-size":11,fill:c},`\u2014 ${m.description}`))}),Q("g",{"data-layer":"footnotes"},u.join(""))}function YX(t,e,r,n,i){let o=n.includeRegion.border,s=n.includeRegion.fill,a=n.includeRegion.tabFill,c=n.includeRegion.tabStroke,l=n.includeRegion.tabText,u=n.includeRegion.badgeFill,f=n.includeRegion.badgeStroke,d=n.includeRegion.badgeText,p=t.box.x+8,m=t.box.y,y=t.box.width-16,_=t.box.height,E=Q("rect",{x:h(p),y:h(m),width:h(y),height:h(_),rx:8,ry:8,fill:s,stroke:o,"stroke-width":1,"stroke-dasharray":kh}),T=Ah,v=Nc(t.box.x,t.label,t.sourcePath),S=m-T/2,D=Q("rect",{x:h(v.tabX),y:h(S),width:h(v.tabWidth),height:T,rx:4,ry:4,fill:a,stroke:c,"stroke-width":1}),N=Le({x:h(v.tabLabelX),y:h(S+Ih),"font-family":i.sans,"font-size":11,"font-weight":600,fill:l},t.label),M=v.badgeX,B=v.badgeSize,G=m-B/2,oe=Q("rect",{x:h(M),y:h(G),width:B,height:B,rx:4,ry:4,fill:u,stroke:f,"stroke-width":1}),L=Q("path",{d:`M${h(M+7)} ${h(G+4)} H${h(M+14)} V${h(G+11)} M${h(M+4)} ${h(G+7)} H${h(M+11)} V${h(G+14)} H${h(M+4)} Z`,stroke:d,"stroke-width":1.4,fill:"none","stroke-linecap":"round","stroke-linejoin":"round"}),w=9,O=m+4,$=Q("rect",{x:h(v.sourceHaloX),y:h(O-w),width:h(v.sourceHaloWidth),height:w+6,fill:s}),b=Le({x:h(v.sourceTextX),y:h(O),"font-family":i.mono,"font-size":w,fill:d},t.sourcePath),A=t.nestedSwimlanes.map(I=>EP(I,e,r,n,i)).join("");return Q("g",{"data-layer":"include"},E+A+D+N+oe+L+$+b)}function KX(t,e){let r=t.palette.attribution.mark,n=t.palette.attribution.link;if(t.swimlanes.length===0)return"";let i=t.header.attributionBox.x,o=t.header.attributionBox.y,s=Wi,a=Le({x:"0",y:s,"font-family":e.sans,"font-size":Oh,"font-weight":400,fill:r},Ph)+Le({x:zu,y:s,"font-family":e.sans,"font-size":Wi,"font-weight":700,fill:r},"now")+Q("rect",{x:Y_,y:12,width:K_,height:Wi,fill:n})+Le({x:Lh,y:s,"font-family":e.sans,"font-size":Wi,"font-weight":400,fill:r},"ine"),c=Q("g",{transform:`translate(${h(i)} ${h(o)}) scale(${h(Hu)})`},a);return Q("a",{href:V_,target:"_blank",rel:"noopener","aria-label":"Powered by nowline"},Q("g",{"data-layer":"attribution"},c))}async function ZX(t,e,r,n,i,o,s){if(!e)return"";let a;try{a=await e(t)}catch(u){let f=`logo: failed to load ${t}: ${u instanceof Error?u.message:String(u)}`;if(n.strict)throw u;return n.warn?.(f),""}let c=(a.mime??"").toLowerCase();if(c==="image/svg+xml"){let u=new TextDecoder().decode(a.bytes),f=uP(u,{idPrefix:`${r}-logo`,onWarn:n.warn});return Q("g",{transform:`translate(${h(i)} ${h(o)})`},f)}if(c==="image/png"||c==="image/jpeg"||c==="image/jpg"||c==="image/webp"){let u=JX(a.bytes);return Q("image",{href:`data:${c};base64,${u}`,x:h(i),y:h(o),width:h(s),height:h(s),preserveAspectRatio:"xMidYMid meet"})}let l=`logo: unsupported mime ${c} for ${t}`;if(n.strict)throw new Error(l);return n.warn?.(l),""}function JX(t){if(typeof btoa<"u"){let r="";for(let n=0;n<t.length;n++)r+=String.fromCharCode(t[n]);return btoa(r)}let e=globalThis;if(e.Buffer)return e.Buffer.from(t).toString("base64");throw new Error("renderer: no base64 encoder available")}async function WE(t,e={}){let n=new hm(e.idPrefix??"nl").next("root"),i=t.palette,o=e.fontFamilies??Q_,s=[],a=i.arrowhead.neutral,c=i.arrowhead.light,l=i.arrowhead.dark,u=(p,m)=>`<marker id="${p}" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" fill="${m}"/></marker>`,f=`<defs>${mP(n)}`+u("nl-arrow",a)+u("nl-arrow-light",c)+u("nl-arrow-dark",l)+"</defs>";s.push(f),s.push(Q("rect",{x:0,y:0,width:h(t.width),height:h(t.height),fill:t.backgroundColor})),s.push(OX(t.timeline,i,o));for(let p of t.swimlanes)s.push(XX(p,i));s.push(PX(t.timeline,t.chartBox.y,i));for(let p of t.edges)p.kind==="underBar"&&s.push(xP(p,i));for(let p of t.swimlanes)s.push(EP(p,e,n,i,o));for(let p of t.includes)s.push(YX(p,e,n,i,o));for(let p of t.edges)p.kind!=="underBar"&&s.push(xP(p,i));for(let p of t.anchors)s.push(zX(p,i));for(let p of t.milestones)s.push(qX(p,i));for(let p of t.anchors)s.push(HX(p,i,o));for(let p of t.milestones)s.push(jX(p,i,o));if(s.push(LX(t.nowline,i,o)),s.push(VX(t.footnotes,n,i,o)),s.push(CX(t.header,n,i,o)),s.push(KX(t,o)),t.header.logo&&e.assetResolver){let p=await ZX(t.header.logo.assetRef??"",e.assetResolver,n,e,t.header.logo.box.x,t.header.logo.box.y,Math.max(t.header.logo.box.width,t.header.logo.box.height));p&&s.push(p)}return`<svg${bc({xmlns:"http://www.w3.org/2000/svg",viewBox:`0 0 ${h(t.width)} ${h(t.height)}`,width:h(t.width),height:h(t.height),"data-theme":t.theme,"data-generator":"nowline"})}>${s.join("")}</svg>`}var VE="/browser-source.nowline",QX={error:3,warning:2,info:1},eH={error:3,warning:2,info:1};function vP(t,e){return QX[t]>=eH[e]}var mm,wP=0;function RP(){return mm||(mm=N_()),mm}function tH(){return ht.parse(`memory:///nowline-browser-${++wP}.nowline`)}async function gm(t,e={}){let r=e.filePath??VE,n=RP(),o=n.shared.workspace.LangiumDocumentFactory.fromString(t,tH());await n.shared.workspace.DocumentBuilder.build([o],{validation:!0});let s=[];for(let a of wm(o))a.origin==="lexer"?s.push(rP(a.error,r)):a.origin==="parser"?s.push(tP(a.error,r)):s.push(eP(a.diagnostic,r));return{ast:o.parseResult.value,diagnostics:s}}async function YE(t,e={}){let r=e.filePath??VE,n=await gm(t,{filePath:r});if(n.diagnostics.some(T=>T.severity==="error"))return{kind:"diagnostics",diagnostics:n.diagnostics};let i=RP(),o=e.readFile??aP,s=await T_(n.ast,r,{services:i.Nowline,readFile:o}),a=[...n.diagnostics];for(let T of s.diagnostics){if(T.severity==="error"&&cP(T.message)){e.onSkippedInclude?.({sourcePath:T.sourcePath,message:T.message});continue}a.push(nP(T))}if(a.some(T=>T.severity==="error"))return{kind:"diagnostics",diagnostics:a};let c;if(e.timezone)try{c=GE(e.timezone)}catch(T){if(T instanceof us)return{kind:"diagnostics",diagnostics:[{severity:"error",code:"invalid-timezone",message:T.message,file:r,line:1,column:1}]};throw T}let l=XE({now:e.today,zone:c}),u=FE(n.ast,s,{theme:e.theme,today:l,locale:e.locale,width:e.width}),f=e.diagnosticLevel??"error",d=BE(u,{today:l??void 0,locale:e.locale??"en-US"}).map(T=>oP(T,r)),p=e.showLinks!==!1,m=e.strict===!0,y=[],_=await WE(u,{idPrefix:e.idPrefix,assetResolver:e.assetResolver,noLinks:!p,strict:m,warn:T=>y.push(T),fontFamilies:e.fontFamilies}),E=[...d,...y.map(T=>iP(T,r,m?"error":"warning"))].filter(T=>vP(T.severity,f));return m&&E.length>0?{kind:"diagnostics",diagnostics:[...a,...E]}:{kind:"svg",svg:_,warnings:E}}function KE(){mm=void 0,wP=0}var bP="/embed.nowline",ZE=!1;async function AP(t){let{ast:e,diagnostics:r}=await gm(t,{filePath:bP});return{ast:e,errors:r.filter(n=>n.severity==="error").map(n=>n.message)}}async function ym(t,e={}){let r={filePath:bP,theme:e.theme,today:e.today,timezone:e.timezone,locale:e.locale,width:e.width,idPrefix:e.idPrefix,onSkippedInclude:()=>{ZE||(ZE=!0,console.warn("nowline: `include` directives are skipped in the browser embed (single-file mode). Render multi-file roadmaps with the CLI or the GitHub Action."))}},n=await YE(t,r);if(n.kind==="svg")return n.svg;let i=n.diagnostics.filter(o=>o.severity==="error").map(o=>o.message);throw new sf(`Failed to render Nowline source: ${i.join("; ")}`,i)}var sf=class extends Error{constructor(r,n){super(r);de(this,"details",n);this.name="EmbedRenderError"}};function IP(){ZE=!1,KE()}var en=Uint8Array,xr=Uint16Array,r0=Int32Array,n0=new en([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),i0=new en([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),SP=new en([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),PP=function(t,e){for(var r=new xr(31),n=0;n<31;++n)r[n]=e+=1<<t[n-1];for(var i=new r0(r[30]),n=1;n<30;++n)for(var o=r[n];o<r[n+1];++o)i[o]=o-r[n]<<5|n;return{b:r,r:i}},OP=PP(n0,2),rH=OP.b,QE=OP.r;rH[28]=258,QE[258]=28;var LP=PP(i0,0),Nae=LP.b,kP=LP.r,e0=new xr(32768);for(Fe=0;Fe<32768;++Fe)ti=(Fe&43690)>>1|(Fe&21845)<<1,ti=(ti&52428)>>2|(ti&13107)<<2,ti=(ti&61680)>>4|(ti&3855)<<4,e0[Fe]=((ti&65280)>>8|(ti&255)<<8)>>1;var ti,Fe,lf=(function(t,e,r){for(var n=t.length,i=0,o=new xr(e);i<n;++i)t[i]&&++o[t[i]-1];var s=new xr(e);for(i=1;i<e;++i)s[i]=s[i-1]+o[i-1]<<1;var a;if(r){a=new xr(1<<e);var c=15-e;for(i=0;i<n;++i)if(t[i])for(var l=i<<4|t[i],u=e-t[i],f=s[t[i]-1]++<<u,d=f|(1<<u)-1;f<=d;++f)a[e0[f]>>c]=l}else for(a=new xr(n),i=0;i<n;++i)t[i]&&(a[i]=e0[s[t[i]-1]++]>>15-t[i]);return a}),fs=new en(288);for(Fe=0;Fe<144;++Fe)fs[Fe]=8;var Fe;for(Fe=144;Fe<256;++Fe)fs[Fe]=9;var Fe;for(Fe=256;Fe<280;++Fe)fs[Fe]=7;var Fe;for(Fe=280;Fe<288;++Fe)fs[Fe]=8;var Fe,xm=new en(32);for(Fe=0;Fe<32;++Fe)xm[Fe]=5;var Fe,nH=lf(fs,9,0);var iH=lf(xm,5,0);var DP=function(t){return(t+7)/8|0},oH=function(t,e,r){return(e==null||e<0)&&(e=0),(r==null||r>t.length)&&(r=t.length),new en(t.subarray(e,r))};var ri=function(t,e,r){r<<=e&7;var n=e/8|0;t[n]|=r,t[n+1]|=r>>8},af=function(t,e,r){r<<=e&7;var n=e/8|0;t[n]|=r,t[n+1]|=r>>8,t[n+2]|=r>>16},JE=function(t,e){for(var r=[],n=0;n<t.length;++n)t[n]&&r.push({s:n,f:t[n]});var i=r.length,o=r.slice();if(!i)return{t:MP,l:0};if(i==1){var s=new en(r[0].s+1);return s[r[0].s]=1,{t:s,l:1}}r.sort(function(D,N){return D.f-N.f}),r.push({s:-1,f:25001});var a=r[0],c=r[1],l=0,u=1,f=2;for(r[0]={s:-1,f:a.f+c.f,l:a,r:c};u!=i-1;)a=r[r[l].f<r[f].f?l++:f++],c=r[l!=u&&r[l].f<r[f].f?l++:f++],r[u++]={s:-1,f:a.f+c.f,l:a,r:c};for(var d=o[0].s,n=1;n<i;++n)o[n].s>d&&(d=o[n].s);var p=new xr(d+1),m=t0(r[u-1],p,0);if(m>e){var n=0,y=0,_=m-e,E=1<<_;for(o.sort(function(N,M){return p[M.s]-p[N.s]||N.f-M.f});n<i;++n){var T=o[n].s;if(p[T]>e)y+=E-(1<<m-p[T]),p[T]=e;else break}for(y>>=_;y>0;){var v=o[n].s;p[v]<e?y-=1<<e-p[v]++-1:++n}for(;n>=0&&y;--n){var S=o[n].s;p[S]==e&&(--p[S],++y)}m=e}return{t:new en(p),l:m}},t0=function(t,e,r){return t.s==-1?Math.max(t0(t.l,e,r+1),t0(t.r,e,r+1)):e[t.s]=r},NP=function(t){for(var e=t.length;e&&!t[--e];);for(var r=new xr(++e),n=0,i=t[0],o=1,s=function(c){r[n++]=c},a=1;a<=e;++a)if(t[a]==i&&a!=e)++o;else{if(!i&&o>2){for(;o>138;o-=138)s(32754);o>2&&(s(o>10?o-11<<5|28690:o-3<<5|12305),o=0)}else if(o>3){for(s(i),--o;o>6;o-=6)s(8304);o>2&&(s(o-3<<5|8208),o=0)}for(;o--;)s(i);o=1,i=t[a]}return{c:r.subarray(0,n),n:e}},cf=function(t,e){for(var r=0,n=0;n<e.length;++n)r+=t[n]*e[n];return r},$P=function(t,e,r){var n=r.length,i=DP(e+2);t[i]=n&255,t[i+1]=n>>8,t[i+2]=t[i]^255,t[i+3]=t[i+1]^255;for(var o=0;o<n;++o)t[i+o+4]=r[o];return(i+4+n)*8},CP=function(t,e,r,n,i,o,s,a,c,l,u){ri(e,u++,r),++i[256];for(var f=JE(i,15),d=f.t,p=f.l,m=JE(o,15),y=m.t,_=m.l,E=NP(d),T=E.c,v=E.n,S=NP(y),D=S.c,N=S.n,M=new xr(19),B=0;B<T.length;++B)++M[T[B]&31];for(var B=0;B<D.length;++B)++M[D[B]&31];for(var G=JE(M,7),oe=G.t,L=G.l,w=19;w>4&&!oe[SP[w-1]];--w);var O=l+5<<3,$=cf(i,fs)+cf(o,xm)+s,b=cf(i,d)+cf(o,y)+s+14+3*w+cf(M,oe)+2*M[16]+3*M[17]+7*M[18];if(c>=0&&O<=$&&O<=b)return $P(e,u,t.subarray(c,c+l));var A,I,F,z;if(ri(e,u,1+(b<$)),u+=2,b<$){A=lf(d,p,0),I=d,F=lf(y,_,0),z=y;var U=lf(oe,L,0);ri(e,u,v-257),ri(e,u+5,N-1),ri(e,u+10,w-4),u+=14;for(var B=0;B<w;++B)ri(e,u+3*B,oe[SP[B]]);u+=3*w;for(var W=[T,D],Z=0;Z<2;++Z)for(var pe=W[Z],B=0;B<pe.length;++B){var V=pe[B]&31;ri(e,u,U[V]),u+=oe[V],V>15&&(ri(e,u,pe[B]>>5&127),u+=pe[B]>>12)}}else A=nH,I=fs,F=iH,z=xm;for(var B=0;B<a;++B){var te=n[B];if(te>255){var V=te>>18&31;af(e,u,A[V+257]),u+=I[V+257],V>7&&(ri(e,u,te>>23&31),u+=n0[V]);var De=te&31;af(e,u,F[De]),u+=z[De],De>3&&(af(e,u,te>>5&8191),u+=i0[De])}else af(e,u,A[te]),u+=I[te]}return af(e,u,A[256]),u+I[256]},sH=new r0([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),MP=new en(0),aH=function(t,e,r,n,i,o){var s=o.z||t.length,a=new en(n+s+5*(1+Math.ceil(s/7e3))+i),c=a.subarray(n,a.length-i),l=o.l,u=(o.r||0)&7;if(e){u&&(c[0]=o.r>>3);for(var f=sH[e-1],d=f>>13,p=f&8191,m=(1<<r)-1,y=o.p||new xr(32768),_=o.h||new xr(m+1),E=Math.ceil(r/3),T=2*E,v=function(me){return(t[me]^t[me+1]<<E^t[me+2]<<T)&m},S=new r0(25e3),D=new xr(288),N=new xr(32),M=0,B=0,G=o.i||0,oe=0,L=o.w||0,w=0;G+2<s;++G){var O=v(G),$=G&32767,b=_[O];if(y[$]=b,_[O]=$,L<=G){var A=s-G;if((M>7e3||oe>24576)&&(A>423||!l)){u=CP(t,c,0,S,D,N,B,oe,w,G-w,u),oe=M=B=0,w=G;for(var I=0;I<286;++I)D[I]=0;for(var I=0;I<30;++I)N[I]=0}var F=2,z=0,U=p,W=$-b&32767;if(A>2&&O==v(G-W))for(var Z=Math.min(d,A)-1,pe=Math.min(32767,G),V=Math.min(258,A);W<=pe&&--U&&$!=b;){if(t[G+F]==t[G+F-W]){for(var te=0;te<V&&t[G+te]==t[G+te-W];++te);if(te>F){if(F=te,z=W,te>Z)break;for(var De=Math.min(W,te-2),Ne=0,I=0;I<De;++I){var Xe=G-W+I&32767,q=y[Xe],J=Xe-q&32767;J>Ne&&(Ne=J,b=Xe)}}}$=b,b=y[$],W+=$-b&32767}if(z){S[oe++]=268435456|QE[F]<<18|kP[z];var re=QE[F]&31,C=kP[z]&31;B+=n0[re]+i0[C],++D[257+re],++N[C],L=G+F,++M}else S[oe++]=t[G],++D[t[G]]}}for(G=Math.max(G,L);G<s;++G)S[oe++]=t[G],++D[t[G]];u=CP(t,c,l,S,D,N,B,oe,w,G-w,u),l||(o.r=u&7|c[u/8|0]<<3,u-=7,o.h=_,o.p=y,o.i=G,o.w=L)}else{for(var G=o.w||0;G<s+l;G+=65535){var be=G+65535;be>=s&&(c[u/8|0]=l,be=s),u=$P(c,u+1,t.subarray(G,be))}o.i=s}return oH(a,0,n+DP(u)+i)};var FP=function(){var t=1,e=0;return{p:function(r){for(var n=t,i=e,o=r.length|0,s=0;s!=o;){for(var a=Math.min(s+2655,o);s<a;++s)i+=n+=r[s];n=(n&65535)+15*(n>>16),i=(i&65535)+15*(i>>16)}t=n,e=i},d:function(){return t%=65521,e%=65521,(t&255)<<24|(t&65280)<<8|(e&255)<<8|e>>8}}},cH=function(t,e,r,n,i){if(!i&&(i={l:1},e.dictionary)){var o=e.dictionary.subarray(-32768),s=new en(o.length+t.length);s.set(o),s.set(t,o.length),t=s,i.w=o.length}return aH(t,e.level==null?6:e.level,e.mem==null?i.l?Math.ceil(Math.max(8,Math.min(13,Math.log(t.length)))*1.5):20:12+e.mem,r,n,i)};var UP=function(t,e,r){for(;r;++e)t[e]=r,r>>>=8};var lH=function(t,e){var r=e.level,n=r==0?0:r<6?1:r==9?3:2;if(t[0]=120,t[1]=n<<6|(e.dictionary&&32),t[1]|=31-(t[0]<<8|t[1])%31,e.dictionary){var i=FP();i.p(e.dictionary),UP(t,2,i.d())}};function BP(t,e){e||(e={});var r=FP();r.p(t);var n=cH(t,e,e.dictionary?6:2,4);return lH(n,e),UP(n,n.length-4,r.d()),n}var uH=typeof TextDecoder<"u"&&new TextDecoder,fH=0;try{uH.decode(MP,{stream:!0}),fH=1}catch{}var HP="https://free.nowline.io/open";function GP(t){let e=new TextEncoder().encode(t),r=BP(e),n=32768,i="";for(let o=0;o<r.length;o+=n)i+=String.fromCharCode(...r.subarray(o,o+n));return btoa(i).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function o0({source:t,sourceUrl:e,share:r}){if(r===!1||r==="none")return null;if(typeof r=="object")return e!==void 0&&XP(e)?r.remoteUrl.replace("{url}",encodeURIComponent(e)):r.textUrl.replace("{text}",GP(t));let n=r===!0?HP:r,i=new URL(n);return e!==void 0&&XP(e)?i.hash=`url=${encodeURIComponent(e)}`:i.hash=`text=${GP(t)}`,i.toString()}function XP(t){try{return new URL(t).protocol==="https:"}catch{return!1}}var zP=0;async function jP(t){let e=t.document??globalThis.document;if(!e)return{rendered:0,failed:0};let r=e.querySelectorAll(t.selector),n=0,i=0,o=++zP,s=t.share??!0,a=[],c=0;for(let l of Array.from(r)){let u=dH(l);if(!u)continue;let f=pH(l),d=`nl-r${o}-${c++}`,p={theme:t.theme,locale:t.locale,width:t.width,today:t.today,timezone:t.timezone,idPrefix:d},m=u.parentElement,y=u.nextSibling,E=l.getAttribute("data-nowline-source-url")??void 0??t.sourceUrl;a.push(ym(f,p).then(T=>{if(hH(u,T),n++,m!==null){let v=o0({source:f,sourceUrl:E,share:s});if(v!==null){let S=e.createElement("a");S.className="nowline-share",S.href=v,S.target="_blank",S.rel="noopener noreferrer",S.textContent="Share on Nowline",m.insertBefore(S,y)}}},T=>{i++,console.error("nowline: render failed",T)}))}return await Promise.all(a),{rendered:n,failed:i}}function dH(t){let e=t.parentElement;return e&&e.tagName.toUpperCase()==="PRE"?e:t}function pH(t){return t.textContent??""}function hH(t,e){t.outerHTML=e}function qP(){zP=0}function Tm(){if(typeof globalThis>"u")return"light";let t=globalThis.matchMedia;if(typeof t!="function")return"light";try{return t("(prefers-color-scheme: dark)").matches?"dark":"light"}catch{return"light"}}function WP(t,e){return t&&t!=="auto"?$_(t)??e:e}var mH="0.8.4",gH="72b4173",yH="pre code.language-nowline, code.language-nowline",VP={theme:"auto",startOnLoad:!0,selector:yH,systemTheme:Tm(),share:!0},ot={...VP},s0=!1;function xH(t={}){ot={theme:t.theme??ot.theme,startOnLoad:t.startOnLoad??ot.startOnLoad,selector:t.selector??ot.selector,locale:t.locale??ot.locale,width:t.width??ot.width,today:t.today!==void 0?t.today:ot.today,timezone:t.timezone??ot.timezone,share:t.share??ot.share,sourceUrl:t.sourceUrl??ot.sourceUrl,systemTheme:Tm()}}function YP(){return{theme:WP(ot.theme,ot.systemTheme),locale:ot.locale,width:ot.width,today:ot.today,timezone:ot.timezone}}async function TH(t,e={}){let r={...YP(),...e};return ym(t,r)}async function _H(t){return AP(t)}async function a0(t){let e={selector:t?.selector??ot.selector,theme:t?.theme??YP().theme,locale:t?.locale??ot.locale,width:t?.width??ot.width,today:t?.today!==void 0?t.today:ot.today,timezone:t?.timezone??ot.timezone,share:t?.share??ot.share,sourceUrl:t?.sourceUrl??ot.sourceUrl,document:t?.document};return jP(e)}var EH=a0;if(typeof document<"u"&&!s0){s0=!0;let t=()=>{ot.startOnLoad&&a0()};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t,{once:!0}):queueMicrotask(t)}function vH(){ot={...VP,systemTheme:Tm()},s0=!1,IP(),qP()}return hf(wH);})();
2638
+ }`));var J2={languageId:"nowline",fileExtensions:[".nowline"],caseInsensitive:!1,mode:"development"},hI={AstReflection:()=>new pl},mI={Grammar:()=>pI(),LanguageMetaData:()=>J2,parser:{}};var gI={"NL.E0001":()=>"Config section must appear before roadmap.","NL.E0002":()=>"Include declarations must appear before the config section.","NL.E0003":()=>"Include declarations must appear before the roadmap section.","NL.E0004":()=>"At least one swimlane is required.","NL.E0005":t=>`Line ${t.line}: mixed tabs and spaces in indentation. Use either tabs or spaces consistently.`,"NL.E0100":t=>`Invalid version format "${t.version}". Expected format: v1, v2, etc.`,"NL.E0101":t=>`This file requires Nowline ${t.version}, but the parser only supports up to ${t.supported}.`,"NL.E0102":t=>`Unknown directive property "${t.key}". Allowed: ${t.allowed}.`,"NL.E0103":t=>`Duplicate directive property "${t.key}".`,"NL.E0104":t=>`Invalid locale "${t.value}". Use a BCP-47 tag like "en-US", "fr", or "fr-CA".`,"NL.E0200":t=>`Invalid include mode "${t.value}". Must be merge, ignore, or isolate.`,"NL.E0201":t=>`Duplicate "${t.key}" option on include.`,"NL.E0300":t=>`Duplicate identifier "${t.name}". First declared at ${t.location}.`,"NL.E0301":t=>`${t.type} must have an identifier, a title, or both.`,"NL.E0400":t=>`Invalid duration "${t.value}". Use a raw duration literal like 0.5d, 2w, 1m, 2q. Use "size:NAME" to reference a declared size.`,"NL.E0401":t=>`Invalid size "${t.value}". Use the id of a declared size (e.g. xs, m, lg).`,"NL.E0402":t=>`Invalid effort "${t.value}". Use a raw duration literal like 0.5d, 2w, 1m, 2q.`,"NL.E0403":t=>`Invalid remaining value "${t.value}". Use a percentage like 30% or a duration literal like 1w, 0.5d.`,"NL.E0404":t=>`Remaining must be between 0% and 100%, got ${t.value}.`,"NL.E0405":t=>`Invalid ${t.key} "${t.value}". Use ISO 8601 format: YYYY-MM-DD.`,"NL.E0406":t=>`Invalid scale "${t.value}". Use a raw duration literal like 1w, 2w, 1q (no name lookup).`,"NL.E0407":t=>`Invalid calendar "${t.value}". Must be business, full, or custom.`,"NL.E0408":t=>`Property "${t.key}" requires at least one reference.`,"NL.E0410":t=>`"${t.key}:" accepts at most one inline date per direction; collapse the multiple dates to a single binding date or use a declared anchor.`,"NL.E0411":t=>`Inline date in "${t.key}:" is not allowed on ${t.type}. Allowed only on item, parallel, and group; for a milestone use "date:" instead.`,"NL.E0412":t=>`Inline date "${t.date}" in "${t.key}:" requires the roadmap to declare "start:". Add start:YYYY-MM-DD to the roadmap.`,"NL.E0413":t=>`Inline date "${t.date}" in "${t.key}:" is before roadmap start ${t.start}.`,"NL.E0500":t=>`Anchor "${t.name}" requires a "date:" property.`,"NL.E0501":t=>`Anchor "${t.name}" has a date but the roadmap is missing "start:". Add start:YYYY-MM-DD to the roadmap.`,"NL.E0502":t=>`Anchor "${t.name}" date ${t.date} is before roadmap start ${t.start}.`,"NL.E0503":t=>`Milestone "${t.name}" requires at least one of "date:" or "after:".`,"NL.E0504":t=>`Milestone "${t.name}" date ${t.date} is before roadmap start ${t.start}.`,"NL.E0505":()=>'Footnote requires an "on:" property referencing one or more entities.',"NL.E0600":t=>`Item "${t.name}" requires a "size:" or "duration:" property.`,"NL.W0700":t=>`Unknown property "${t.key}" on ${t.entity}. The renderer ignores it.${t.suggested?` Did you mean "${t.suggested}"?`:""}`,"NL.W1000":t=>`Now-line date ${t.date} is outside the roadmap window (${t.start} \u2013 ${t.end}); it will not be drawn.`,"NL.I1000":t=>`Title on item "${t.name}" is wider than its bar at this scale; it rendered to the right of the bar.`,"NL.I1001":t=>`Label chips on item "${t.name}" did not fit inside the bar; they rendered in a spill column to the right.`,"NL.I1002":t=>`Item "${t.name}" is too narrow to show its marker at this scale; decorations spilled beside the bar.`,"NL.I1003":t=>t.anchor?`Item "${t.name}" extends past its "before:" anchor "${t.anchor}".`:`Item "${t.name}" extends past its "before:" anchor.`,"NL.I1004":t=>`Swimlane "${t.lane}" packed into ${t.rows} rows to avoid overlap.`,"NL.I1005":t=>`Swimlane "${t.lane}" is over capacity in one or more periods (red utilization band).`};var yI={"NL.E0001":()=>"La section config doit pr\xE9c\xE9der la section roadmap.","NL.E0002":()=>"Les d\xE9clarations include doivent pr\xE9c\xE9der la section config.","NL.E0003":()=>"Les d\xE9clarations include doivent pr\xE9c\xE9der la section roadmap.","NL.E0004":()=>"Au moins une swimlane est requise.","NL.E0005":t=>`Ligne ${t.line}\xA0: tabulations et espaces m\xE9lang\xE9s dans l'indentation. Utilisez l'un ou l'autre, mais pas les deux.`,"NL.E0100":t=>`Format de version invalide \xAB\xA0${t.version}\xA0\xBB. Format attendu\xA0: v1, v2, etc.`,"NL.E0101":t=>`Ce fichier requiert Nowline ${t.version}, mais l'analyseur ne prend en charge que jusqu'\xE0 ${t.supported}.`,"NL.E0102":t=>`Propri\xE9t\xE9 de directive inconnue \xAB\xA0${t.key}\xA0\xBB. Valeurs admises\xA0: ${t.allowed}.`,"NL.E0103":t=>`Propri\xE9t\xE9 de directive \xAB\xA0${t.key}\xA0\xBB en double.`,"NL.E0104":t=>`Locale invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez une \xE9tiquette BCP-47 telle que \xAB\xA0en-US\xA0\xBB, \xAB\xA0fr\xA0\xBB ou \xAB\xA0fr-CA\xA0\xBB.`,"NL.E0200":t=>`Mode d'include invalide \xAB\xA0${t.value}\xA0\xBB. Doit \xEAtre merge, ignore ou isolate.`,"NL.E0201":t=>`Option \xAB\xA0${t.key}\xA0\xBB en double sur include.`,"NL.E0300":t=>`Identifiant en double \xAB\xA0${t.name}\xA0\xBB. Premi\xE8re d\xE9claration \xE0 ${t.location}.`,"NL.E0301":t=>`${t.type} doit comporter un identifiant, un titre, ou les deux.`,"NL.E0400":t=>`Dur\xE9e invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un litt\xE9ral de dur\xE9e brut comme 0.5d, 2w, 1m, 2q. Utilisez \xAB\xA0size:NOM\xA0\xBB pour r\xE9f\xE9rencer une taille d\xE9clar\xE9e.`,"NL.E0401":t=>`Taille invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez l'identifiant d'une taille d\xE9clar\xE9e (p.\xA0ex. xs, m, lg).`,"NL.E0402":t=>`Effort invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un litt\xE9ral de dur\xE9e brut comme 0.5d, 2w, 1m, 2q.`,"NL.E0403":t=>`Valeur restante invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un pourcentage tel que 30% ou un litt\xE9ral de dur\xE9e comme 1w, 0.5d.`,"NL.E0404":t=>`La valeur restante doit \xEAtre comprise entre 0 % et 100 %, re\xE7u ${t.value}.`,"NL.E0405":t=>`${t.key} invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez le format ISO 8601\xA0: AAAA-MM-JJ.`,"NL.E0406":t=>`\xC9chelle invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un litt\xE9ral de dur\xE9e brut comme 1w, 2w, 1q (pas de recherche par nom).`,"NL.E0407":t=>`Calendrier invalide \xAB\xA0${t.value}\xA0\xBB. Doit \xEAtre business, full ou custom.`,"NL.E0408":t=>`La propri\xE9t\xE9 \xAB\xA0${t.key}\xA0\xBB exige au moins une r\xE9f\xE9rence.`,"NL.E0410":t=>`\xAB\xA0${t.key}:\xA0\xBB n'accepte qu'une seule date inline par direction\xA0; regroupez les dates en une seule date contraignante ou utilisez une ancre d\xE9clar\xE9e.`,"NL.E0411":t=>`Une date inline dans \xAB\xA0${t.key}:\xA0\xBB n'est pas autoris\xE9e sur ${t.type}. Autoris\xE9e seulement sur item, parallel et group\xA0; pour un milestone utilisez \xAB\xA0date:\xA0\xBB \xE0 la place.`,"NL.E0412":t=>`La date inline \xAB\xA0${t.date}\xA0\xBB dans \xAB\xA0${t.key}:\xA0\xBB exige que la roadmap d\xE9clare \xAB\xA0start:\xA0\xBB. Ajoutez start:AAAA-MM-JJ \xE0 la roadmap.`,"NL.E0413":t=>`La date inline \xAB\xA0${t.date}\xA0\xBB dans \xAB\xA0${t.key}:\xA0\xBB pr\xE9c\xE8de le d\xE9but de la roadmap (${t.start}).`,"NL.E0500":t=>`L'ancre \xAB\xA0${t.name}\xA0\xBB exige une propri\xE9t\xE9 \xAB\xA0date:\xA0\xBB.`,"NL.E0501":t=>`L'ancre \xAB\xA0${t.name}\xA0\xBB a une date, mais \xAB\xA0start:\xA0\xBB manque sur la roadmap. Ajoutez start:AAAA-MM-JJ \xE0 la roadmap.`,"NL.E0502":t=>`La date ${t.date} de l'ancre \xAB\xA0${t.name}\xA0\xBB pr\xE9c\xE8de le d\xE9but de la roadmap (${t.start}).`,"NL.E0503":t=>`Le jalon \xAB\xA0${t.name}\xA0\xBB exige au moins l'une des propri\xE9t\xE9s \xAB\xA0date:\xA0\xBB ou \xAB\xA0after:\xA0\xBB.`,"NL.E0504":t=>`La date ${t.date} du jalon \xAB\xA0${t.name}\xA0\xBB pr\xE9c\xE8de le d\xE9but de la roadmap (${t.start}).`,"NL.E0505":()=>"Une note de bas de page exige une propri\xE9t\xE9 \xAB\xA0on:\xA0\xBB r\xE9f\xE9ren\xE7ant au moins une entit\xE9.","NL.E0600":t=>`L'\xE9l\xE9ment \xAB\xA0${t.name}\xA0\xBB exige une propri\xE9t\xE9 \xAB\xA0size:\xA0\xBB ou \xAB\xA0duration:\xA0\xBB.`,"NL.W0700":t=>`Propri\xE9t\xE9 inconnue \xAB\xA0${t.key}\xA0\xBB sur ${t.entity}. Le moteur de rendu l'ignore.${t.suggested?` Vouliez-vous dire \xAB\xA0${t.suggested}\xA0\xBB\xA0?`:""}`};var xI={};var TI={};var Q2=new Map([["en-US",gI],["fr",yI],["fr-CA",xI],["fr-FR",TI]]);function _l(t,e,...r){for(let n of eU(t)){let o=Q2.get(n)?.[e];if(o)return o(...r)}return e}var _I="en-US";function eU(t){let e=[],r=tU(t);for(;r.length>0;){e.includes(r)||e.push(r);let n=r.lastIndexOf("-");if(n<=0)break;r=r.slice(0,n)}return e.includes(_I)||e.push(_I),e}function tU(t){return t.split("-").map((r,n)=>n===0?r.toLowerCase():/^[a-zA-Z]{2}$/.test(r)?r.toUpperCase():r).join("-")}var rU=/[\\/]/;function bI(t){for(let e=t.length-1;e>=0;e--){let r=t.charCodeAt(e);if(r===47||r===92)return e}return-1}function EI(...t){for(let e of t)if(e){if(e.includes("\\")&&!e.includes("/"))return"\\";if(e.includes("/"))return"/"}return"/"}function nU(t){return t?t[0]==="/"||t[0]==="\\"?!0:t.length>=3&&/^[A-Za-z]:[\\/]/.test(t):!1}function wI(t){let e=bI(t);return e<0?".":e===0?t[0]:e===2&&/^[A-Za-z]:[\\/]/.test(t)?t.slice(0,3):t.slice(0,e)}function hp(t){let e=bI(t);return e<0?t:t.slice(e+1)}function oT(t,e){if(nU(e))return vI(e,EI(e));let r=EI(t,e);return vI(`${t}${r}${e}`,r)}function vI(t,e){let r="",n=t,i=/^([A-Za-z]:)([\\/])?/.exec(n);i?(r=i[1]+(i[2]?e:""),n=n.slice(i[0].length)):(n[0]==="/"||n[0]==="\\")&&(r=e,n=n.replace(/^[\\/]+/,""));let o=[];for(let s of n.split(rU))if(!(s===""||s===".")){if(s===".."){o.length>0&&o[o.length-1]!==".."?o.pop():r||o.push("..");continue}o.push(s)}return r+o.join(e)}var oU=/^\d{4}-\d{2}-\d{2}$/;function AI(t){let e=t?.properties.find(r=>r.key==="start");if(e?.value&&oU.test(e.value)&&!Number.isNaN(new Date(e.value).getTime()))return e.value}function sU(t,e,r){return e&&r?`Included "${t}" declares start:${r}, which doesn't match this file's start:${e}. Both files must declare the same start date, or neither should.`:e?`Included "${t}" has no start:, but this file declares start:${e}. Both files must declare the same start date, or neither should.`:`Included "${t}" declares start:${r}, but this file has no start:. Both files must declare the same start date, or neither should.`}function II(){return{styles:new Map,defaults:new Map,symbols:new Map}}function kI(){return{persons:new Map,teams:new Map,anchors:new Map,labels:new Map,sizes:new Map,statuses:new Map,swimlanes:new Map,milestones:new Map,footnotes:new Map,isolatedRegions:[]}}async function aT(t,e,r){let n=r.readFile??(async c=>{let{nodeReadFile:l}=await Promise.resolve().then(()=>(SI(),RI));return l(c)}),i={services:r.services,diagnostics:[],resolving:[],processed:new Map,readFile:n},o=oT("",e),{config:s,content:a}=await PI(t,o,i);return{config:s,content:a,diagnostics:i.diagnostics,processedFiles:new Set(i.processed.keys())}}async function PI(t,e,r){if(r.processed.has(e))return r.processed.get(e);if(r.resolving.includes(e)){r.diagnostics.push({severity:"error",message:`Circular include detected: ${[...r.resolving,e].join(" \u2192 ")}`,sourcePath:e});let a={config:II(),content:kI()};return r.processed.set(e,a),a}r.resolving.push(e);let n=II(),i=kI();uU(n,t),pU(i,t);let o=new Set;for(let a of t.includes){let c=a.path,l=oT(wI(e),c);if(o.has(l)){r.diagnostics.push({severity:"error",message:`Duplicate include "${c}" in ${hp(e)}.`,sourcePath:e,line:a.$cstNode?.range.start.line});continue}o.add(l);let u=NI(a,"config")??"merge",f=NI(a,"roadmap")??"merge",d;try{let y=await r.readFile(l);d=await aU(r.services,y,l)}catch(y){r.diagnostics.push({severity:"error",message:`Could not read include "${c}": ${y.message}`,sourcePath:e,line:a.$cstNode?.range.start.line});continue}let{config:p,content:m}=await PI(d,l,r);if(cU(n,p,u,l,r.diagnostics),lU(i,m,p,f,l,c,r.diagnostics),f==="isolate"&&!m.roadmap&&r.diagnostics.push({severity:"error",message:`Cannot isolate "${c}": it has no roadmap declaration.`,sourcePath:e,line:a.$cstNode?.range.start.line}),f!=="ignore"&&d.roadmapDecl){let y=AI(t.roadmapDecl),E=AI(d.roadmapDecl);y!==E&&r.diagnostics.push({severity:"error",message:sU(c,y,E),sourcePath:e,line:a.$cstNode?.range.start.line})}}r.resolving.pop();let s={config:n,content:i};return r.processed.set(e,s),s}function NI(t,e){let r=t.options.find(n=>n.key===e);if(r&&(r.value==="merge"||r.value==="ignore"||r.value==="isolate"))return r.value}async function aU(t,e,r){let n=ht.file(r),o=t.shared.workspace.LangiumDocumentFactory.fromString(e,n);return await t.shared.workspace.DocumentBuilder.build([o],{validation:!1}),o.parseResult.value}function cU(t,e,r,n,i){if(r==="ignore"||r==="isolate")return;let o=(s,a)=>i.push({severity:"warning",message:`${a} "${s}" from ${hp(n)} is shadowed by the parent's definition.`,sourcePath:n});sT(t.styles,e.styles,s=>o(s,"Style")),sT(t.defaults,e.defaults,s=>o(s,"Default")),sT(t.symbols,e.symbols,s=>o(s,"Symbol")),e.scale&&!t.scale&&(t.scale=e.scale),e.calendar&&!t.calendar&&(t.calendar=e.calendar)}function lU(t,e,r,n,i,o,s){if(n==="ignore")return;if(n==="isolate"){e.roadmap&&t.isolatedRegions.push({sourcePath:o,config:r,content:e});return}let a=(c,l)=>s.push({severity:"warning",message:`${l} "${c}" from ${hp(i)} is shadowed by the parent's definition.`,sourcePath:i});Ln(t.persons,e.persons,c=>a(c,"Person")),Ln(t.teams,e.teams,c=>a(c,"Team")),Ln(t.anchors,e.anchors,c=>a(c,"Anchor")),Ln(t.labels,e.labels,c=>a(c,"Label")),Ln(t.sizes,e.sizes,c=>a(c,"Size")),Ln(t.statuses,e.statuses,c=>a(c,"Status")),Ln(t.swimlanes,e.swimlanes,c=>a(c,"Swimlane")),Ln(t.milestones,e.milestones,c=>a(c,"Milestone")),Ln(t.footnotes,e.footnotes,c=>a(c,"Footnote")),e.roadmap&&!t.roadmap&&(t.roadmap=e.roadmap)}function sT(t,e,r){for(let[n,i]of e){if(t.has(n)){r(n);continue}t.set(n,i)}}function Ln(t,e,r){for(let[n,i]of e){if(!i.name&&i.title){t.set(OI(t,CI(i.title)),i);continue}if(t.has(n)){r(n);continue}t.set(n,i)}}function uU(t,e){for(let r of e.configEntries)fU(t,r)}function fU(t,e){fI(e)?t.scale||(t.scale=e):pp(e)?t.calendar||(t.calendar=e):xl(e)?e.name&&!t.styles.has(e.name)&&t.styles.set(e.name,e):Tl(e)?e.name&&!t.symbols.has(e.name)&&t.symbols.set(e.name,e):ki(e)&&(t.defaults.has(e.entityType)||t.defaults.set(e.entityType,e))}function dU(t){let e={swimlanes:new Set,persons:new Set,teams:new Set,anchors:new Set,labels:new Set,sizes:new Set,statuses:new Set,milestones:new Set,footnotes:new Set};for(let r of t){let n=r.name;n&&(yr(r)?e.swimlanes.add(n):On(r)?e.persons.add(n):xr(r)?e.teams.add(n):hl(r)?e.anchors.add(n):gl(r)?e.labels.add(n):xo(r)?e.sizes.add(n):Ea(r)?e.statuses.add(n):yl(r)?e.milestones.add(n):ml(r)&&e.footnotes.add(n))}return e}function pU(t,e){e.roadmapDecl&&!t.roadmap&&(t.roadmap=e.roadmapDecl);let r=dU(e.roadmapEntries);for(let n of e.roadmapEntries)hU(t,n,r)}function CI(t){return t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"entity"}function OI(t,e,r){let n=o=>t.has(o)||(r?.has(o)??!1);if(!n(e))return e;let i=2;for(;n(`${e}-${i}`);)i++;return`${e}-${i}`}function Dn(t,e,r){e.name?t.has(e.name)||t.set(e.name,e):e.title&&t.set(OI(t,CI(e.title),r),e)}function hU(t,e,r){yr(e)?Dn(t.swimlanes,e,r.swimlanes):On(e)?Dn(t.persons,e,r.persons):xr(e)?Dn(t.teams,e,r.teams):hl(e)?Dn(t.anchors,e,r.anchors):gl(e)?Dn(t.labels,e,r.labels):xo(e)?Dn(t.sizes,e,r.sizes):Ea(e)?Dn(t.statuses,e,r.statuses):yl(e)?Dn(t.milestones,e,r.milestones):ml(e)&&Dn(t.footnotes,e,r.footnotes)}var LI="v1",cT=new Set(["planned","in-progress","active","done","completed","at-risk","blocked"]),mp=new Set(["bg","fg","text","border","icon","shadow","font","weight","italic","text-size","padding","spacing","header-height","corner-radius","bracket","header-position","capacity-icon","timeline-position","minor-grid"]),pT=new Set(["none","multiplier","person","people","points","time"]),gp=new Set([...pT,"shield","warning","lock","calendar"]),jI="none",yp={border:new Set(["solid","dashed","dotted"]),shadow:new Set(["none","subtle","soft","hard"]),font:new Set(["sans","serif","mono"]),weight:new Set(["thin","light","normal","bold"]),italic:new Set(["true","false"]),"text-size":new Set(["none","xs","sm","md","lg","xl"]),padding:new Set(["none","xs","sm","md","lg","xl"]),spacing:new Set(["none","xs","sm","md","lg","xl"]),"header-height":new Set(["none","xs","sm","md","lg","xl"]),"corner-radius":new Set(["none","xs","sm","md","lg","xl","full"]),bracket:new Set(["none","solid","dashed"]),"header-position":new Set(["beside","above"]),"timeline-position":new Set(["top","bottom","both"]),"minor-grid":new Set(["true","false"])},mU=new Set(["red","blue","yellow","green","orange","purple","violet","gray","grey","navy","white","none"]),gU=new Set(["business","full","custom"]),lT=new Set(["days-per-week","days-per-month","days-per-quarter","days-per-year"]),DI=new Set(["name","label-every","label"]),MI=new Set(["item","label","swimlane","roadmap","milestone","footnote","anchor","parallel","group"]),yU={item:new Set(["size","duration","after","before","remaining","link","description","owner"]),milestone:new Set(["date","after","link","description"]),anchor:new Set(["date","link","description"]),footnote:new Set(["on","link","description"]),label:new Set(["link","description"]),swimlane:new Set(["capacity"]),roadmap:new Set,parallel:new Set,group:new Set},$I=new Set(["labels","link","style","description"]),xU={RoadmapDeclaration:new Set(["author","start","length","scale","calendar","logo","logo-size"]),AnchorDeclaration:new Set(["date"]),SwimlaneDeclaration:new Set(["owner","capacity","utilization-warn-at","utilization-over-at","status","after","before"]),ItemDeclaration:new Set(["size","duration","status","owner","after","before","remaining","capacity","date","start"]),ParallelBlock:new Set(["owner","after","before","status"]),GroupBlock:new Set(["owner","after","before","status"]),MilestoneDeclaration:new Set(["date","after"]),FootnoteDeclaration:new Set(["on"]),PersonDeclaration:new Set,TeamDeclaration:new Set,LabelDeclaration:new Set,SizeDeclaration:new Set(["effort"]),StatusDeclaration:new Set};function TU(t,e,r){if(t===e)return 0;let n=t.length,i=e.length;if(Math.abs(n-i)>r)return r+1;if(n===0)return i;if(i===0)return n;let o=new Array(i+1),s=new Array(i+1);for(let a=0;a<=i;a++)o[a]=a;for(let a=1;a<=n;a++){s[0]=a;let c=a;for(let u=1;u<=i;u++){let f=t.charCodeAt(a-1)===e.charCodeAt(u-1)?0:1;s[u]=Math.min(o[u]+1,s[u-1]+1,o[u-1]+f),s[u]<c&&(c=s[u])}if(c>r)return r+1;let l=o;o=s,s=l}return o[i]}function _U(t,e,r=2){let n,i=r+1;for(let o of e){let s=TU(t,o,r);if(s<i&&(n=o,i=s,s===0))break}return n}var EU=[{keys:new Set(["progress","percent","percentage","pct","complete","completion"]),requires:"remaining",suggest:"status: + remaining:"}];function vU(t,e){let r=t.toLowerCase();for(let n of EU)if(n.keys.has(r)&&e.has(n.requires))return n.suggest}function ke(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}var El=/^\d+(?:\.\d+)?[dwmqy]$/,bU=/^\d+%$/,Ni=/^\d{4}-\d{2}-\d{2}$/,wU=/^#[0-9a-fA-F]{3,8}$/,RU=/^v\d+$/,FI=/^\d+$/,SU=/^[dwmqy]$/,UI=/^\d+(\.\d+)?$/,hT=/^\d+(\.\d+)?%$/,zI=/^\d+\.\d+$/,AU=/^\d+$/,IU=/^[\x20-\x7E]{1,3}$/,kU=/^[a-zA-Z]{2,3}(-[a-zA-Z]{2}|-\d{3})?$/,NU=new Set(["merge","ignore","isolate"]),BI=new Set(["locale"]);function uT(t){let e=t?.roadmapDecl?.properties.find(i=>ke(i)==="start");if(!e)return{kind:"missing"};let r=e.value;if(!r||!Ni.test(r))return{kind:"invalid"};let n=new Date(r);return Number.isNaN(n.getTime())?{kind:"invalid"}:{kind:"valid",iso:r,date:n}}function $r(t){return t.name??t.title??"<unnamed>"}function PU(t){return t.$type.replace(/Declaration$|Block$/,"").toLowerCase()}function be(t,e,r,n,...i){t(e,_l("en-US",n,...i),{...r,data:{code:n,args:i}})}function WI(t){let e=t.validation.ValidationRegistry,r=t.validation.NowlineValidator,n={NowlineFile:[r.checkFileStructure,r.checkUniqueIdentifiers,r.checkSwimlaneRequired,r.checkIndentationConsistency,r.checkRoadmapOnlyKeywordsPosition,r.checkForwardReferences,r.checkReferenceResolution,r.checkInlineDatePins,r.checkCircularDependencies,r.checkDuplicateSizeIds,r.checkCalendarBlockConsistency,r.checkPersonDeclarations,r.checkDuplicateSymbolIds,r.checkSymbolReferences],NowlineDirective:[r.checkDirectiveVersion,r.checkDirectiveProperties],IncludeOption:[r.checkIncludeMode],IncludeDeclaration:[r.checkIncludeDuplicateOptions],EntityProperty:[r.checkPropertyValues],RoadmapDeclaration:[r.checkEntityIdOrTitle,r.checkRoadmapProperties,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],AnchorDeclaration:[r.checkEntityIdOrTitle,r.checkAnchorRequiredDate,r.checkAnchorAgainstStart,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],SwimlaneDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkUtilizationOrdering,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],ItemDeclaration:[r.checkEntityIdOrTitle,r.checkItemRequiredDuration,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],ParallelBlock:[r.checkParallelMinChildren,r.checkNoComputedProperties,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],GroupBlock:[r.checkGroupMinChildren,r.checkNoComputedProperties,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],MilestoneDeclaration:[r.checkEntityIdOrTitle,r.checkMilestoneRequirement,r.checkMilestoneAgainstStart,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],FootnoteDeclaration:[r.checkEntityIdOrTitle,r.checkFootnoteOn,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],PersonDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],TeamDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],StyleDeclaration:[r.checkEntityIdOrTitle],StyleProperty:[r.checkStylePropertyEnum],SymbolDeclaration:[r.checkEntityIdOrTitle,r.checkSymbolDeclaration],LabelDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],SizeDeclaration:[r.checkEntityIdOrTitle,r.checkSizeDeclaration,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],StatusDeclaration:[r.checkEntityIdOrTitle,r.checkStatusDeclaration,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],DefaultDeclaration:[r.checkDefaultDeclaration,r.checkUtilizationOrdering],CalendarBlock:[r.checkCalendarBlock],ScaleBlock:[r.checkScaleBlock]};e.register(n,r)}var Tp=class{checkFileStructure(e,r){let n=e.hasConfig?Su.findNodeForKeyword(e.$cstNode,"config")?.offset:void 0,i=e.roadmapDecl?.$cstNode?.offset;n!==void 0&&i!==void 0&&n>i&&be(r,"error",{node:e,property:"hasConfig"},"NL.E0001");for(let o of e.includes){let s=o.$cstNode?.offset??0;n!==void 0&&s>n&&be(r,"error",{node:o},"NL.E0002"),i!==void 0&&s>i&&be(r,"error",{node:o},"NL.E0003")}}checkRoadmapOnlyKeywordsPosition(e,r){}checkDirectiveVersion(e,r){if(!RU.test(e.version)){be(r,"error",{node:e,property:"version"},"NL.E0100",{version:e.version});return}let n=parseInt(e.version.slice(1),10),i=parseInt(LI.slice(1),10);n>i&&be(r,"error",{node:e,property:"version"},"NL.E0101",{version:e.version,supported:LI})}checkDirectiveProperties(e,r){let n=new Set;for(let i of e.properties){let o=ke(i);if(!BI.has(o)){be(r,"error",{node:i,property:"key"},"NL.E0102",{key:o,allowed:[...BI].join(", ")});continue}if(n.has(o)&&be(r,"error",{node:i,property:"key"},"NL.E0103",{key:o}),n.add(o),o==="locale"){let s=i.value;kU.test(s)||be(r,"error",{node:i,property:"value"},"NL.E0104",{value:s})}}}checkEntityIdOrTitle(e,r){!e.name&&!e.title&&be(r,"error",{node:e},"NL.E0301",{type:e.$type})}checkUniqueIdentifiers(e,r){let n=new Map,i=(o,s)=>{if(!o)return;let a=n.get(o);a?be(r,"error",{node:s},"NL.E0300",{name:o,location:xp(a)}):n.set(o,s)};e.roadmapDecl?.name&&i(e.roadmapDecl.name,e.roadmapDecl);for(let o of e.roadmapEntries)LU(o,i);for(let o of e.configEntries)xl(o)&&o.name&&i(o.name,o)}checkIndentationConsistency(e,r){let n=e.$document?.textDocument.getText()??e.$cstNode?.text;if(!n)return;let i=n.split(/\r?\n/);for(let o=0;o<i.length;o++){let s=i[o];if(s.length===0)continue;let a=s.match(/^([\t ]+)/);if(!a)continue;let c=a[1];if(c.includes(" ")&&c.includes(" ")){be(r,"error",{node:e},"NL.E0005",{line:o+1});return}}}checkSwimlaneRequired(e,r){let n=e.roadmapEntries.some(yr);e.roadmapDecl&&!n&&be(r,"error",{node:e.roadmapDecl},"NL.E0004")}checkIncludeMode(e,r){NU.has(e.value)||be(r,"error",{node:e,property:"value"},"NL.E0200",{value:e.value})}checkIncludeDuplicateOptions(e,r){let n=new Set;for(let i of e.options){let o=i.key.replace(/:$/,"");n.has(o)&&be(r,"error",{node:i},"NL.E0201",{key:o}),n.add(o)}}checkPropertyValues(e,r){let n=ke(e),i=e.value,o=e.values,s=i?[i]:o;switch(n){case"status":break;case"duration":i&&!El.test(i)&&be(r,"error",{node:e,property:"value"},"NL.E0400",{value:i});break;case"size":i&&!GI(i)&&be(r,"error",{node:e,property:"value"},"NL.E0401",{value:i});break;case"effort":i&&!El.test(i)&&be(r,"error",{node:e,property:"value"},"NL.E0402",{value:i});break;case"remaining":{if(i)if(bU.test(i)){let a=parseFloat(i);(a<0||a>100)&&be(r,"error",{node:e,property:"value"},"NL.E0404",{value:i})}else El.test(i)||be(r,"error",{node:e,property:"value"},"NL.E0403",{value:i});break}case"date":case"start":i&&(!Ni.test(i)||Number.isNaN(new Date(i).getTime()))&&be(r,"error",{node:e,property:"value"},"NL.E0405",{key:n,value:i});break;case"scale":i&&!El.test(i)&&be(r,"error",{node:e,property:"value"},"NL.E0406",{value:i});break;case"calendar":i&&!gU.has(i)&&be(r,"error",{node:e,property:"value"},"NL.E0407",{value:i});break;case"on":case"after":case"before":s.length===0&&be(r,"error",{node:e},"NL.E0408",{key:n});break;case"capacity":{if(!i)break;let a=e.$container,c=CU(a);if(c==="invalid")break;c==="lane"?(!UI.test(i)||parseFloat(i)<=0)&&r("error",`Invalid swimlane capacity "${i}". Use a positive integer (e.g. capacity:5) or decimal (e.g. capacity:1.5). Percent literals are not allowed on swimlanes.`,{node:e,property:"value"}):hT.test(i)?parseFloat(i)<=0&&r("error",`Item capacity "${i}" must be positive.`,{node:e,property:"value"}):UI.test(i)?parseFloat(i)<=0&&r("error",`Item capacity "${i}" must be positive.`,{node:e,property:"value"}):r("error",`Invalid item capacity "${i}". Use a positive integer (capacity:2), decimal (capacity:0.5), or percent literal (capacity:50%).`,{node:e,property:"value"});break}case"overcapacity":{r("error",'"overcapacity:" was removed. Use "utilization-over-at:none" (and/or "utilization-warn-at:none") to suppress the lane utilization underline.',{node:e});break}case"utilization-warn-at":case"utilization-over-at":{if(!i)break;if(!OU(e.$container)){r("error",`"${n}:" is only valid on "swimlane" or "default swimlane".`,{node:e});break}if(i===jI)break;if(hT.test(i)){parseFloat(i)<=0&&r("error",`${n} value "${i}" must be positive.`,{node:e,property:"value"});break}if(zI.test(i)){parseFloat(i)<=0&&r("error",`${n} value "${i}" must be positive.`,{node:e,property:"value"});break}if(AU.test(i)){r("error",`Ambiguous ${n} value "${i}". Use the percent form ("${i}%") or the decimal-fraction form ("0.${i}") to make the intent explicit.`,{node:e,property:"value"});break}r("error",`Invalid ${n} value "${i}". Use a positive percent (e.g. 80%), a positive decimal fraction (e.g. 0.8), or "none" to opt out.`,{node:e,property:"value"});break}case"capacity-icon":break;case"icon":break;default:if(mp.has(n)){if(n==="bg"||n==="fg"||n==="text")i&&!fT(i)&&r("error",`Invalid color "${i}" for "${n}". Use a named color, hex value, or "none".`,{node:e,property:"value"});else if(n in yp){let a=yp[n];i&&!a.has(i)&&!fT(i)&&r("error",`Invalid value "${i}" for "${n}". Allowed: ${[...a].join(", ")}.`,{node:e,property:"value"})}}break}}checkAnchorRequiredDate(e,r){e.properties.find(i=>ke(i)==="date")||be(r,"error",{node:e},"NL.E0500",{name:$r(e)})}checkAnchorAgainstStart(e,r){let n=e.properties.find(a=>ke(a)==="date");if(!n?.value)return;let i=n.value;if(!Ni.test(i))return;let o=new Date(i);if(Number.isNaN(o.getTime()))return;let s=uT(e.$container);switch(s.kind){case"invalid":return;case"missing":be(r,"error",{node:n,property:"value"},"NL.E0501",{name:$r(e)});return;case"valid":o<s.date&&be(r,"error",{node:n,property:"value"},"NL.E0502",{name:$r(e),date:i,start:s.iso});return}}checkMilestoneRequirement(e,r){let n=e.properties.some(o=>ke(o)==="date"),i=e.properties.some(o=>ke(o)==="after");!n&&!i&&be(r,"error",{node:e},"NL.E0503",{name:$r(e)})}checkMilestoneAgainstStart(e,r){let n=e.properties.find(a=>ke(a)==="date");if(!n?.value)return;let i=n.value;if(!Ni.test(i))return;let o=new Date(i);if(Number.isNaN(o.getTime()))return;let s=uT(e.$container);switch(s.kind){case"invalid":return;case"missing":r("error",`Milestone "${$r(e)}" has a date but the roadmap is missing "start:". Add start:YYYY-MM-DD to the roadmap.`,{node:n,property:"value"});return;case"valid":o<s.date&&be(r,"error",{node:n,property:"value"},"NL.E0504",{name:$r(e),date:i,start:s.iso});return}}checkFootnoteOn(e,r){e.properties.some(i=>ke(i)==="on")||be(r,"error",{node:e},"NL.E0505")}checkNoFootnoteProperty(e,r){for(let n of e.properties)ke(n)==="footnote"&&r("error",`Property "footnote:" is not valid on ${dT(e)}. Footnotes attach via "on:" on the footnote declaration \u2014 declare \`footnote <id> on:<target-id>\` instead.`,{node:n})}checkItemRequiredDuration(e,r){let n=e.properties.some(o=>ke(o)==="duration"),i=e.properties.some(o=>ke(o)==="size");!n&&!i&&be(r,"error",{node:e},"NL.E0600",{name:$r(e)})}checkNoComputedProperties(e,r){for(let n of e.properties){let i=ke(n);(i==="size"||i==="duration"||i==="remaining"||i==="capacity")&&r("error",`"${i}" is not valid on ${e.$type==="ParallelBlock"?"parallel":"group"} (computed from children).`,{node:n})}}checkParallelMinChildren(e,r){let n=e.content.filter(i=>!iT(i));n.length===0?r("error","Parallel block must contain at least 2 children.",{node:e}):n.length===1&&r("warning","Parallel block has only 1 child. Use at least 2 for parallel execution.",{node:e})}checkGroupMinChildren(e,r){e.content.filter(i=>!iT(i)).length===0&&r("error","Group must contain at least 1 child.",{node:e})}checkNoRawStyleProperties(e,r){for(let n of e.properties){let i=ke(n);mp.has(i)&&r("error",`Raw style property "${i}" is not allowed on ${dT(e)}. Declare a named style in config and reference it via "style:id".`,{node:n})}}checkUnknownEntityProperties(e,r){let n=xU[e.$type];if(!n)return;let i=e.$type==="ParallelBlock"||e.$type==="GroupBlock"?new Set(["size","duration","remaining","capacity"]):null;for(let o of e.properties){let s=ke(o);if(n.has(s)||$I.has(s)||mp.has(s)||s==="footnote"||i?.has(s))continue;let a=[...n,...$I],c=vU(s,n)??_U(s,a)??"";be(r,"warning",{node:o,property:"key"},"NL.W0700",{key:s,entity:dT(e),suggested:c})}}checkRoadmapProperties(e,r){}checkStylePropertyEnum(e,r){let n=ke(e),i=e.value;if(n==="bg"||n==="fg"||n==="text")fT(i)||r("error",`Invalid color "${i}" for "${n}". Use a named color, hex value, or "none".`,{node:e,property:"value"});else if(n in yp){let o=yp[n];o.has(i)||r("error",`Invalid value "${i}" for "${n}". Allowed: ${[...o].join(", ")}.`,{node:e,property:"value"})}else mp.has(n)||r("error",`Unknown style property "${n}".`,{node:e,property:"key"})}checkSizeDeclaration(e,r){e.properties.find(i=>ke(i)==="effort")||r("error",`Size "${$r(e)}" requires an "effort:" property.`,{node:e}),e.name&&(El.test(e.name)||SU.test(e.name))&&r("error",`Size id "${e.name}" collides with the raw duration pattern. Choose a different name (e.g. "xs", "small", "quarter").`,{node:e,property:"name"})}checkStatusDeclaration(e,r){e.name&&cT.has(e.name)&&r("error",`Status id "${e.name}" collides with the built-in status value. Built-ins: ${[...cT].join(", ")}.`,{node:e,property:"name"})}checkDuplicateSizeIds(e,r){let n=new Map;for(let i of e.roadmapEntries)if(xo(i)&&i.name){let o=n.get(i.name);o?r("error",`Duplicate size id "${i.name}". First declared at ${xp(o)}.`,{node:i,property:"name"}):n.set(i.name,i)}}checkUtilizationOrdering(e,r){if(ki(e)&&e.entityType!=="swimlane")return;let n=e.properties.find(a=>ke(a)==="utilization-warn-at"),i=e.properties.find(a=>ke(a)==="utilization-over-at");if(!n||!i)return;let o=XI(n.value),s=XI(i.value);o===null||s===null||o>s&&r("error",`utilization-warn-at (${n.value}) must be \u2264 utilization-over-at (${i.value}). Warn fires below over; if both fire at the same point, the warn band collapses to zero.`,{node:n,property:"value"})}checkDefaultDeclaration(e,r){if(!MI.has(e.entityType)){r("error",`"${e.entityType}" is not a supported entity type for default. Allowed: ${[...MI].join(", ")}.`,{node:e,property:"entityType"});return}let n=e.$container,i=-1;for(let s=0;s<n.configEntries.length;s++){let a=n.configEntries[s];if(ki(a)&&a.entityType===e.entityType){if(i<0)i=s;else if(a===e){r("error",`Duplicate "default ${e.entityType}" declaration. Only one is allowed per entity type per file.`,{node:e});break}}}let o=yU[e.entityType];if(o)for(let s of e.properties){let a=ke(s);o.has(a)&&r("error",`"${a}" cannot be set on "default ${e.entityType}". Identity-defining, sizing, sequencing, reference, and prose properties must be explicit on each entity.`,{node:s})}}checkCalendarBlockConsistency(e,r){let n=e.configEntries.filter(pp),o=e.roadmapDecl?.properties.find(s=>ke(s)==="calendar")?.value;if(n.length>0&&o!=="custom")for(let s of n)r("error",'A "calendar" config block is only valid when the roadmap declares calendar:custom.',{node:s});if(o==="custom"&&n.length===0&&r("error",'calendar:custom requires a "calendar" config block with days-per-week, days-per-month, days-per-quarter, and days-per-year.',{node:e.roadmapDecl,property:"properties"}),o==="custom"&&n.length>0)for(let s of n){let a=new Set(s.properties.map(c=>ke(c)));for(let c of lT)a.has(c)||r("error",`calendar:custom requires "${c}" in the calendar config block.`,{node:s})}}checkCalendarBlock(e,r){let n=new Set;for(let i of e.properties){let o=ke(i);if(!lT.has(o)){r("error",`Unknown calendar property "${o}". Allowed: ${[...lT].join(", ")}.`,{node:i,property:"key"});continue}n.has(o)&&r("error",`Duplicate calendar property "${o}".`,{node:i,property:"key"}),n.add(o),(!FI.test(i.value)||parseInt(i.value,10)<=0)&&r("error",`"${o}" must be a positive integer, got "${i.value}".`,{node:i,property:"value"})}}checkScaleBlock(e,r){let n=new Set;for(let i of e.properties){let o=ke(i);if(!DI.has(o)){r("error",`Unknown scale property "${o}". Allowed: ${[...DI].join(", ")}.`,{node:i,property:"key"});continue}n.has(o)&&r("error",`Duplicate scale property "${o}".`,{node:i,property:"key"}),n.add(o),o==="label-every"&&(!FI.test(i.value)||parseInt(i.value,10)<=0)&&r("error",`"label-every" must be a positive integer, got "${i.value}".`,{node:i,property:"value"})}}checkForwardReferences(e,r){let n=new Map,i=new Map;for(let o=0;o<e.roadmapEntries.length;o++){let s=e.roadmapEntries[o];xo(s)&&s.name?n.has(s.name)||n.set(s.name,o):Ea(s)&&s.name&&(i.has(s.name)||i.set(s.name,o))}for(let o=0;o<e.roadmapEntries.length;o++){let s=e.roadmapEntries[o];HI(s,a=>{let c=ke(a);if(c==="size"&&a.value){let l=a.value,u=n.get(l);u===void 0?r("error",`Size "${l}" is not declared. Add "size ${l} effort:<literal>" earlier in the roadmap section.`,{node:a,property:"value"}):u>=o&&r("error",`Size "${l}" is referenced before its declaration. Move "size ${l}" above this entity.`,{node:a,property:"value"})}else if(c==="status"&&a.value){let l=a.value;if(cT.has(l))return;let u=i.get(l);u===void 0?r("error",`Status "${l}" is not a built-in and has no declaration. Add "status ${l}" earlier in the roadmap section.`,{node:a,property:"value"}):u>=o&&r("error",`Status "${l}" is referenced before its declaration. Move "status ${l}" above this entity.`,{node:a,property:"value"})}})}}checkReferenceResolution(e,r){let n=DU(e),i=o=>{HI(o,s=>{let a=ke(s);if(a!=="after"&&a!=="before"&&a!=="on")return;let c=s.value?[s.value]:s.values;for(let l of c)l&&((a==="after"||a==="before")&&Ni.test(l)||n.has(l)||r("error",`${a}: reference "${l}" does not resolve to any declared entity in this file.`,{node:s}))})};for(let o of e.roadmapEntries)i(o)}checkInlineDatePins(e,r){let n=uT(e),i=o=>{let s=o.properties??[],a=ar(o)||Mr(o)||Dr(o);for(let c of s){let l=ke(c);if(l!=="after"&&l!=="before")continue;let f=(c.value?[c.value]:c.values).filter(d=>!!d&&Ni.test(d));if(f.length!==0){if(!a){be(r,"error",{node:c},"NL.E0411",{key:l,type:PU(o)});continue}f.length>1&&be(r,"error",{node:c},"NL.E0410",{key:l});for(let d of f)switch(n.kind){case"invalid":continue;case"missing":be(r,"error",{node:c},"NL.E0412",{key:l,date:d});continue;case"valid":{let p=new Date(d);if(Number.isNaN(p.getTime()))continue;p<n.date&&be(r,"error",{node:c},"NL.E0413",{key:l,date:d,start:n.iso})}}}}if(yr(o))for(let c of o.content)i(c);else if(Mr(o)||Dr(o))for(let c of o.content)i(c)};for(let o of e.roadmapEntries)i(o)}checkCircularDependencies(e,r){let n=new Map,i=(p,m)=>{n.has(p)||n.set(p,new Set),n.get(p).add(m)},o=(p,m,y)=>{if(p)for(let E of m){let _=ke(E);if(_==="after"){let x=E.value?[E.value]:E.values;for(let v of x)v&&(Ni.test(v)||i(p,v))}else if(_==="before"){let x=E.value?[E.value]:E.values;for(let v of x)v&&(Ni.test(v)||i(v,p))}}},s=p=>{let m=p.name,y=p.properties??[];if(o(m,y,e),yr(p))for(let E of p.content)s(E);else if(Mr(p)||Dr(p))for(let E of p.content)s(E)};for(let p of e.roadmapEntries)s(p);let a=0,c=1,l=2,u=new Map;for(let p of n.keys())u.set(p,a);let f=new Set,d=(p,m)=>{u.set(p,c),m.push(p);for(let y of n.get(p)??[]){let E=u.get(y)??a;if(E===c){let _=m.indexOf(y),x=m.slice(_).concat(y),v=[...x].sort().join("\u2192");f.has(v)||(f.add(v),r("error",`Circular dependency detected: ${x.join(" \u2192 ")}.`,{node:e.roadmapDecl??e}))}else E===a&&d(y,m)}m.pop(),u.set(p,l)};for(let p of n.keys())(u.get(p)??a)===a&&d(p,[])}checkPersonDeclarations(e,r){let n=new Map,i=a=>!!a.title||a.properties.length>0||a.description!==void 0,o=a=>{if(!a.name)return;let c=i(a);n.has(a.name)||n.set(a.name,[]),n.get(a.name).push({node:a,isDeclaration:c}),!c&&a.$container.$type==="NowlineFile"&&r("warning",`Bare "person ${a.name}" at roadmap top level has no declaration. Either add properties (title, link, etc.) or remove the line.`,{node:a})},s=a=>{for(let c of a.content)On(c)?o(c):xr(c)&&s(c)};for(let a of e.roadmapEntries)On(a)?o(a):xr(a)&&s(a);for(let[a,c]of n){let l=c.filter(u=>u.isDeclaration);if(l.length>1)for(let u=1;u<l.length;u++)r("error",`Person "${a}" is declared more than once. First declaration at ${xp(l[0].node)}.`,{node:l[u].node})}}checkSymbolDeclaration(e,r){e.name&&gp.has(e.name)&&r("error",`Symbol id "${e.name}" collides with a built-in icon name. Reserved built-ins: ${[...gp].sort().join(", ")}.`,{node:e,property:"name"});let n=e.properties.find(o=>ke(o)==="unicode");n?(!n.value||n.value.length===0)&&r("error",`Symbol "${$r(e)}" unicode: must be a non-empty value.`,{node:n,property:"value"}):r("error",`Symbol "${$r(e)}" requires a "unicode:" property (e.g. unicode:"\u{1F4B0}" or unicode:"\\u{1F464}").`,{node:e});let i=e.properties.find(o=>ke(o)==="ascii");if(i){let o=i.value??"";IU.test(o)||r("error",`Symbol "${$r(e)}" ascii: must be 1-3 ASCII characters (got ${o.length} character${o.length===1?"":"s"}).`,{node:i,property:"value"})}for(let o of e.properties){let s=ke(o);s!=="unicode"&&s!=="ascii"&&s!=="link"&&s!=="description"&&r("error",`Unknown symbol property "${s}". Allowed: unicode, ascii, link, description.`,{node:o,property:"key"})}}checkDuplicateSymbolIds(e,r){let n=new Map;for(let i of e.configEntries)if(Tl(i)&&i.name){let o=n.get(i.name);o?r("error",`Duplicate symbol id "${i.name}". First declared at ${xp(o)}.`,{node:i,property:"name"}):n.set(i.name,i)}}checkSymbolReferences(e,r){let n=new Map;for(let o=0;o<e.configEntries.length;o++){let s=e.configEntries[o];Tl(s)&&s.name&&(n.has(s.name)||n.set(s.name,o))}let i=(o,s,a,c)=>{if(s!=="icon"&&s!=="capacity-icon"||!a||!GI(a)||s==="capacity-icon"&&pT.has(a)||s==="icon"&&gp.has(a))return;let l=n.get(a);if(l===void 0){let u=s==="capacity-icon"?[...pT].sort().join(", "):[...gp].sort().join(", ");r("error",`${s}: "${a}" is neither a built-in (${u}) nor a declared symbol. Add "symbol ${a} unicode:..." earlier in config or use a quoted Unicode literal.`,{node:c,property:"value"})}else l>=o&&r("error",`${s}: symbol "${a}" is referenced before its declaration. Move "symbol ${a}" above this entry.`,{node:c,property:"value"})};for(let o=0;o<e.configEntries.length;o++){let s=e.configEntries[o];if(xl(s))for(let a of s.properties)i(o,ke(a),a.value,a);else if(ki(s))for(let a of s.properties)i(o,ke(a),a.value,a)}}};function fT(t){return mU.has(t)||wU.test(t)}function GI(t){return/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(t)}function CU(t){return t?yr(t)?"lane":ar(t)?"item":ki(t)?t.entityType==="swimlane"?"lane":"item":"invalid":"invalid"}function OU(t){return t?!!(yr(t)||ki(t)&&t.entityType==="swimlane"):!1}function XI(t){if(!t||t===jI)return null;if(hT.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e/100:null}if(zI.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e:null}return null}function xp(t){let e=t.$cstNode;return e?`line ${e.range.start.line+1}`:"unknown location"}function dT(t){let e=t.$type.replace(/Declaration$|Block$/,"").toLowerCase(),r=t.name??t.title;return r?`${e} "${r}"`:e}function LU(t,e){if(yr(t)){e(t.name,t);for(let r of t.content)mT(r,e)}else On(t)?e(t.name,t):xr(t)?qI(t,e):(hl(t)||yl(t)||ml(t)||gl(t)||xo(t)||Ea(t))&&e(t.name,t)}function qI(t,e){e(t.name,t);for(let r of t.content)xr(r)&&qI(r,e)}function mT(t,e){if(ar(t))e(t.name,t);else if(Mr(t)){e(t.name,t);for(let r of t.content)mT(r,e)}else if(Dr(t)){e(t.name,t);for(let r of t.content)mT(r,e)}}function HI(t,e){let r=n=>{let i=n.properties;if(Array.isArray(i))for(let o of i)e(o);if(yr(n))for(let o of n.content)r(o);else if(Mr(n)||Dr(n))for(let o of n.content)r(o);else if(xr(n))for(let o of n.content)(xr(o)||On(o))&&r(o)};r(t)}function DU(t){let e=new Set;t.roadmapDecl?.name&&e.add(t.roadmapDecl.name);let r=n=>{let i=n.name;if(i&&e.add(i),yr(n))for(let o of n.content)r(o);else if(Mr(n)||Dr(n))for(let o of n.content)r(o);else if(xr(n))for(let o of n.content)xr(o)||On(o)?r(o):uI(o)};for(let n of t.roadmapEntries)r(n);return e}var gT=class extends Os{runConverter(e,r,n){return e.name==="PROPERTY_KEY_WITH_COLON"||e.name==="INCLUDE_OPTION_KEY"?r.endsWith(":")?r.slice(0,-1):r:super.runConverter(e,r,n)}},yT=class extends ll{isStartOfLine(e,r){if(!super.isStartOfLine(e,r))return!1;let n=r-1;for(;n>=0&&(e[n]===" "||e[n]===" ");)n--;for(;n>=0&&(e[n]==="\r"||e[n]===`
2639
+ `);)n--;for(;n>=0&&(e[n]===" "||e[n]===" ");)n--;return n<0||e[n]!=="\\"}},VI={parser:{TokenBuilder:()=>new yT({indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[["[","]"]]}),Lexer:t=>new sp(t),ParserConfig:()=>({maxLookahead:4}),ValueConverter:()=>new gT},validation:{NowlineValidator:()=>new Tp}};function xT(t={}){let e=t.shared??oa(op(ap),hI),r=oa(ip({shared:e}),mI,VI);return e.ServiceRegistry.register(r),WI(r),{shared:e,Nowline:r}}function YI(t){return t.endsWith(":")?t.slice(0,-1):t}function ae(t,e){return t.find(r=>YI(r.key)===e)?.value}function ut(t,e){let r=t.find(n=>YI(n.key)===e);return r?r.value!==void 0?[r.value]:[...r.values]:[]}function mt(t){if(!t)return null;let e=/^(\d{4})-(\d{2})-(\d{2})$/.exec(t);if(!e)return null;let r=new Date(Date.UTC(parseInt(e[1],10),parseInt(e[2],10)-1,parseInt(e[3],10)));return Number.isNaN(r.getTime())?null:r}var va={mode:"business",daysPerWeek:5,daysPerMonth:22,daysPerQuarter:65,daysPerYear:260},MU={mode:"full",daysPerWeek:7,daysPerMonth:30,daysPerQuarter:91,daysPerYear:365};function KI(t,e){let n=t.roadmapDecl?.properties.find(i=>TT(i.key)==="calendar")?.value??"business";if(n==="business")return{...va};if(n==="full")return{...MU};if(e){let i=(o,s)=>{let a=e.properties.find(l=>TT(l.key)===o),c=a?parseInt(a.value,10):NaN;return Number.isFinite(c)&&c>0?c:s};return{mode:"custom",daysPerWeek:i("days-per-week",va.daysPerWeek),daysPerMonth:i("days-per-month",va.daysPerMonth),daysPerQuarter:i("days-per-quarter",va.daysPerQuarter),daysPerYear:i("days-per-year",va.daysPerYear)}}return{...va}}var _p=/^(\d+(?:\.\d+)?)([dwmqy])$/;function Ep(t,e){let r=_p.exec(t);if(!r)return 0;let n=parseFloat(r[1]);switch(r[2]){case"d":return n;case"w":return n*e.daysPerWeek;case"m":return n*e.daysPerMonth;case"q":return n*e.daysPerQuarter;case"y":return n*e.daysPerYear;default:return 0}}function ZI(t,e,r){return t?_p.test(t)?Ep(t,r):e.get(t)?.effortDays??0:0}function Pi(t,e,r){let n=ae(t,"duration");if(n&&_p.test(n))return Ep(n,r);let i=ae(t,"size"),o=i?e.get(i):void 0;if(!o)return 0;let s=qn(ae(t,"capacity"))??1;return o.effortDays/s}function JI(t,e,r){let n=ae(t,"size"),i=n?e.get(n):void 0;if(i)return i.effortDays;let o=ae(t,"duration");if(o&&_p.test(o)){let s=qn(ae(t,"capacity"))??1;return Ep(o,r)*s}return 0}function vp(t,e){let r=new Map;for(let[n,i]of t){let s=i.properties.find(c=>TT(c.key)==="effort")?.value;if(!s)continue;let a=Ep(s,e);a<=0||r.set(n,{name:n,title:i.title||void 0,effortDays:a,effortLiteral:s})}return r}function TT(t){return t.endsWith(":")?t.slice(0,-1):t}function Tr(t,e){return Math.round((e.getTime()-t.getTime())/864e5)}function To(t,e){let r=new Date(t.getTime());return r.setUTCDate(r.getUTCDate()+e),r}var bp=class{constructor(e){R(this,"items");R(this,"brackets");this.items=e.itemBars,this.brackets=e.brackets}hasObstacle(e,r,n){let i=Math.min(r,n),o=Math.max(r,n);for(let s of this.items)if(!(e<=s.x||e>=s.x+s.width)&&!(s.y+s.height<=i||s.y>=o))return!0;return!1}bracketsNear(e,r,n,i){let o=Math.min(r,n),s=Math.max(r,n),a=[];for(let c of this.brackets)Math.abs(c.x-e)>i||c.yBottom<=o||c.yTop>=s||a.push(c);return a}};function QI(t,e){let r=[],n=[],i=s=>{if(s.kind==="item"){r.push(s.box);return}if(s.kind==="parallel"){if(s.style.bracket==="solid"||s.style.bracket==="dashed"){let l=s.box.y-12,u=s.box.y+s.box.height+12,f=s.box.x,d=s.box.x+s.box.width;n.push({x:f,yTop:l,yBottom:u}),n.push({x:d,yTop:l,yBottom:u}),n.push({x:f+4,yTop:l-1,yBottom:l+1}),n.push({x:f+4,yTop:u-1,yBottom:u+1}),n.push({x:d-4,yTop:l-1,yBottom:l+1}),n.push({x:d-4,yTop:u-1,yBottom:u+1})}for(let a of s.children)i(a);return}if(s.kind==="group"){!(s.style.bg!=="none"&&s.style.bg!=="#ffffff")&&s.style.bracket&&s.style.bracket!=="none"&&n.push({x:s.box.x,yTop:s.box.y,yBottom:s.box.y+s.box.height});for(let c of s.children)i(c);return}},o=s=>{for(let a of s.children)i(a);for(let a of s.nested)o(a)};for(let s of t)o(s);for(let s of e)for(let a of s.nestedSwimlanes)o(a);return{itemBars:r,brackets:n}}function $U(t,e){let{from:r,to:n}=t;if(Math.abs(r.y-n.y)<.5)return{x:(r.x+n.x)/2,underBar:!1,range:null};let i=Math.min(r.y,n.y),o=Math.max(r.y,n.y);if(r.x<=n.x){let a=r.x+6,c=n.x-6;if(a>c)return{x:n.x-6,underBar:!0,range:null};let l={minX:a,maxX:c},u=(r.x+n.x)/2,f=Math.max(a,Math.min(c,u));if(!e.hasObstacle(f,i,o))return{x:f,underBar:!1,range:l};let d=c-a;for(let p=1;p<=d;p++){let m=f-p;if(m>=a&&!e.hasObstacle(m,i,o))return{x:m,underBar:!1,range:l};let y=f+p;if(y<=c&&!e.hasObstacle(y,i,o))return{x:y,underBar:!1,range:l}}return{x:f,underBar:!0,range:l}}let s=[r.x+10,n.x-10];for(let a of s)if(a>0&&!e.hasObstacle(a,i,o))return{x:a,underBar:!1,range:null};return{x:r.x+10,underBar:!0,range:null}}function FU(t,e,r,n){let i=Math.min(r.from.y,r.to.y),o=Math.max(r.from.y,r.to.y),s=n.bracketsNear(t,i,o,4);if(s.length===0)return{x:t,forceUnderBar:!1};let a=s[0],c=Math.abs(s[0].x-t);for(let d=1;d<s.length;d++){let p=Math.abs(s[d].x-t);p<c&&(a=s[d],c=p)}let l=[a.x+4,a.x-4],u=4-.01;for(let d of l){if(e&&(d<e.minX||d>e.maxX))continue;let p=e?d:Math.max(Math.min(r.from.x,r.to.x)+1,Math.min(Math.max(r.from.x,r.to.x)-1,d));if(n.bracketsNear(p,i,o,u).length===0)return{x:p,forceUnderBar:!1}}return{x:e?Math.min(Math.max(t,e.minX),e.maxX):t,forceUnderBar:!0}}function UU(t){let e=[...t].sort((i,o)=>Math.abs(i.channelX-o.channelX)>=1?i.channelX-o.channelX:i.orderIndex-o.orderIndex),r=new Map,n=0;for(;n<e.length;){let i=n+1;for(;i<e.length&&Math.abs(e[i].channelX-e[n].channelX)<1;)i++;let s=[...e.slice(n,i)].sort((c,l)=>{let u=Math.min(c.req.from.y,c.req.to.y),f=Math.min(l.req.from.y,l.req.to.y);return Math.abs(u-f)>.5?u-f:c.orderIndex-l.orderIndex}),a=[];for(let c of s){let l=Math.min(c.req.from.y,c.req.to.y),u=Math.max(c.req.from.y,c.req.to.y),f=-1;for(let d=0;d<a.length;d++)if(a[d]<=l){f=d,a[d]=u;break}f===-1&&(f=a.length,a.push(u)),r.set(c.orderIndex,f)}n=i}return r}function BU(t){if(t===0||t>4)return 0;let e=Math.ceil(t/2);return(t%2===1?1:-1)*e*3}function GU(t){let e=t.from.x>=t.to.x?{x:t.to.x-1,y:t.from.y}:t.from;return{fromId:t.fromId,toId:t.toId,waypoints:[e,t.to],underBar:!1}}function ek(t,e){let r=new Array(t.length),n=[];for(let o=0;o<t.length;o++){let s=t[o];if(s.isMarkerSource){r[o]=GU(s);continue}if(Math.abs(s.from.y-s.to.y)<.5&&s.to.x-s.from.x<20){r[o]={fromId:s.fromId,toId:s.toId,waypoints:[s.from,s.to],underBar:!1};continue}let{x:a,underBar:c,range:l}=$U(s,e),{x:u,forceUnderBar:f}=FU(a,l,s,e),d=c||f;n.push({req:s,channelX:u,underBar:d,orderIndex:o})}let i=UU(n);for(let o of n){let s=BU(i.get(o.orderIndex)??0),a=o.channelX+s;r[o.orderIndex]={fromId:o.req.fromId,toId:o.req.toId,waypoints:XU(o.req.from,o.req.to,a),underBar:o.underBar}}return r}function XU(t,e,r){return Math.abs(t.y-e.y)<.5?[t,e]:[t,{x:r,y:t.y},{x:r,y:e.y},e]}var vl="en-US",HU={"en-US":{nowLabel:"now",quarterPrefix:"Q"},fr:{nowLabel:"maint.",quarterPrefix:"T"}};function tk(t,e){return e??t??vl}function wp(t){let e={};for(let r of jU(t)){let n=HU[r];if(n)for(let i of Object.keys(n))e[i]===void 0&&n[i]!==void 0&&(e[i]=n[i])}return e}function jU(t){let e=[],r=zU(t);for(;r.length>0;){e.includes(r)||e.push(r);let n=r.lastIndexOf("-");if(n<=0)break;r=r.slice(0,n)}return e.includes(vl)||e.push(vl),e}function zU(t){return t.split("-").map((r,n)=>n===0?r.toLowerCase():/^[a-zA-Z]{2}$/.test(r)?r.toUpperCase():r).join("-")}function ok(t){let{box:e,afterDate:r,beforeDate:n,hasLinkIcon:i,footnoteCount:o}=t;if(!r&&!n)return[];let s=[],a=12,c=e.y+5,l=e.width<40;if(r){let u=i?e.x+6+14+4:e.x+6,f=l?{x:e.x-6-a,y:c}:{x:u,y:c};s.push({side:"after",isoDate:r,glyphTopLeft:f,glyphSize:a,spilled:l})}if(n){let u=e.x+e.width,f;o>0?f=u-22-(o-1)*8-4:f=u-12-5-4;let d=f-a,p=l?{x:u+6,y:c}:{x:d,y:c};s.push({side:"before",isoDate:n,glyphTopLeft:p,glyphSize:a,spilled:l})}return s}function Sp(t){let{box:e,afterDate:r,beforeDate:n}=t;if(!r&&!n)return[];let i=[],o=12,s=e.y+5;return r&&i.push({side:"after",isoDate:r,glyphTopLeft:{x:e.x+6,y:s},glyphSize:o,spilled:!1}),n&&i.push({side:"before",isoDate:n,glyphTopLeft:{x:e.x+e.width-6-o,y:s},glyphSize:o,spilled:!1}),i}function Mn(t){for(let e of t)if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e}function Ap(t,e){return{x:t,y:e,height:0,maxX:t}}var Ra=class{constructor(e){R(this,"rows");R(this,"opts");this.opts=e,this.rows=[{y:e.originY,height:e.minRowHeight,rightEdge:e.laneLeftX,spillX:e.laneLeftX,placedChildren:[]}]}placeItem(e){for(let n=0;n<this.rows.length;n+=1){let i=this.rows[n];if(!(e.desiredStart<i.rightEdge)&&!(e.desiredStart<i.spillX)&&!this.rowIntersectsCorridor(i,e))return{rowIndex:n,y:i.y}}let r=this.appendRow(Math.max(this.opts.minRowHeight,e.predictedHeight));return{rowIndex:this.rows.length-1,y:r.y}}placeBlock(){let e=this.rows[this.rows.length-1];if(e.rightEdge>this.opts.laneLeftX){let r=this.appendRow(this.opts.minRowHeight);return{rowIndex:this.rows.length-1,y:r.y}}return{rowIndex:this.rows.length-1,y:e.y}}commitItem(e){let r=this.rows[e.rowIndex],n=Math.max(e.placed.box.height,e.rowHeight??0);this.growRowHeight(e.rowIndex,n),r.rightEdge=e.logicalEnd,r.spillX=e.spillReservation??this.opts.laneLeftX,r.placedChildren.push(e.placed)}commitBlock(e){let r=this.rows[e.rowIndex];this.growRowHeight(e.rowIndex,e.blockHeight),r.rightEdge=e.blockEnd,r.spillX=this.opts.laneLeftX,r.placedChildren.push(e.placed)}usedHeight(){let e=this.rows[this.rows.length-1];return e.y+e.height-this.opts.originY}usedRightX(){let e=this.opts.laneLeftX;for(let r of this.rows)r.rightEdge>e&&(e=r.rightEdge),r.spillX>e&&(e=r.spillX);return e}rowIntersectsCorridor(e,r){return this.opts.slackCorridors.some(n=>n.y>=e.y&&n.y<e.y+e.height&&r.desiredStart<n.xEnd&&r.desiredEnd>n.xStart&&n.slackPredId!==r.childId)}appendRow(e){let r=this.rows[this.rows.length-1],n={y:r.y+r.height,height:e,rightEdge:this.opts.laneLeftX,spillX:this.opts.laneLeftX,placedChildren:[]};return this.rows.push(n),n}growRowHeight(e,r){let n=this.rows[e],i=r-n.height;if(!(i<=0)){n.height=r;for(let o=e+1;o<this.rows.length;o+=1){let s=this.rows[o];s.y+=i;for(let a of s.placedChildren)sk(a,i)}}}};function sk(t,e){if(t.box.y+=e,t.kind==="item"){for(let r of t.labelChips)r.box.y+=e;t.overflowBox&&(t.overflowBox.y+=e);return}for(let r of t.children)sk(r,e)}var ak={red:"#f87171",blue:"#60a5fa",yellow:"#facc15",green:"#34d399",orange:"#fb923c",purple:"#a78bfa",gray:"#94a3b8",navy:"#818cf8",white:"#e2e8f0"},$n={bg:"none",fg:"#e2e8f0",text:"#e2e8f0",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},_T={name:"dark",surface:{page:"#0b1220",chart:"#111827",headerBox:"#1e293b"},entities:{roadmap:{...$n,headerHeight:"md",padding:"md"},swimlane:{...$n,fg:"#e2e8f0",text:"#e2e8f0",padding:"sm",spacing:"none",textSize:"sm"},item:{...$n,bg:"#0f172a",fg:"#94a3b8",text:"#e2e8f0",shadow:"subtle",cornerRadius:"sm"},parallel:{...$n,bracket:"none",padding:"xs"},group:{...$n,bracket:"solid",padding:"xs",fg:"#94a3b8"},anchor:{...$n,bg:"#0b1220",fg:"#cbd5e1",text:"#cbd5e1",cornerRadius:"sm"},milestone:{...$n,bg:"#e2e8f0",fg:"#e2e8f0",text:"#0b1220",border:"solid"},footnote:{...$n,bg:"none",fg:"#94a3b8",text:"#e2e8f0",textSize:"sm"},label:{...$n,bg:"#1e293b",fg:"#94a3b8",text:"#e2e8f0",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#111827",bandOdd:"#0f172a",separator:"#1f2937",frameTabText:"#e2e8f0",frameTabMuted:"#94a3b8",border:"#334155",tabFill:"#1e293b",tabStroke:"#475569",tabText:"#e2e8f0",ownerText:"#94a3b8",footnoteIndicator:"#f87171",rowTintEven:"#0f172a",rowTintOdd:"#1e293b",utilizationOk:"#34d399",utilizationWarn:"#fbbf24",utilizationOver:"#f87171"},timeline:{gridLine:"#475569",minorGridLine:"#334155",tickMark:"#334155",labelText:"#cbd5e1",panelFill:"#0f172a",border:"#334155"},header:{cardBorder:"#475569",author:"#94a3b8"},item:{overflowX:"#f87171",linkIconFg:"#94a3b8",overflowTailFill:"#7f1d1d",overflowTailStroke:"#f87171",overflowCaption:"#fecaca"},parallel:{bracketStroke:"#cbd5e1"},anchorDiamond:{fill:"#0f172a",stroke:"#cbd5e1",label:"#cbd5e1",cutLine:"#94a3b8"},milestoneDiamond:{fill:"#e2e8f0",label:"#e2e8f0",cutLineNormal:"#a5b4fc",cutLineOverrun:"#ef4444",slack:"#cbd5e1"},footnotePanel:{fill:"#0f172a",border:"#334155",header:"#e2e8f0",title:"#e2e8f0",description:"#94a3b8",number:"#f87171"},nowline:{stroke:"#f87171",labelText:"#0b1220",labelBg:"#f87171"},milestone:{dashedInk:"#a5b4fc",overrun:"#ef4444"},anchor:{predecessorLine:"#94a3b8"},dependency:{edgeStroke:"#cbd5e1",overflowStroke:"#ef5350"},footnote:{indicatorText:"#f87171",descriptionMuted:"#94a3b8"},includeRegion:{border:"#475569",label:"#cbd5e1",badge:"#94a3b8",fill:"#0b1220",tabFill:"#111827",tabStroke:"#475569",tabText:"#e2e8f0",badgeFill:"#1e293b",badgeStroke:"#475569",badgeText:"#94a3b8"},arrowhead:{neutral:"#94a3b8",light:"#64748b",dark:"#e2e8f0"},status:{done:"#34d399",inProgress:"#60a5fa",atRisk:"#facc15",blocked:"#ef4444",planned:"#94a3b8",neutral:"#94a3b8"},statusDot:{onLight:{done:"#065f46",inProgress:"#1e3a8a",atRisk:"#92400e",blocked:"#991b1b",planned:"#334155",neutral:"#334155"},onDark:{done:"#d1fae5",inProgress:"#dbeafe",atRisk:"#fef3c7",blocked:"#fee2e2",planned:"#e2e8f0",neutral:"#e2e8f0"}},attribution:{mark:"#cbd5e1",link:"#f87171"},diagnostic:{overlayBg:"#7f1d1d",errorText:"#fecaca"}};var ck={red:"#4a4a4a",blue:"#6b6b6b",green:"#8a8a8a",yellow:"#c8c8c8",orange:"#5c5c5c",purple:"#3a3a3a",gray:"#9e9e9e",navy:"#2a2a2a",white:"#ffffff"},Fn={bg:"none",fg:"#1a1a1a",text:"#1a1a1a",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},ET={name:"grayscale",surface:{page:"#f5f5f5",chart:"#ffffff",headerBox:"#ffffff"},entities:{roadmap:{...Fn,headerHeight:"md",padding:"md"},swimlane:{...Fn,fg:"#3a3a3a",text:"#3a3a3a",padding:"sm",spacing:"none",textSize:"sm"},item:{...Fn,bg:"#ffffff",fg:"#9e9e9e",text:"#1a1a1a",shadow:"subtle",cornerRadius:"sm"},parallel:{...Fn,bracket:"none",padding:"xs"},group:{...Fn,bracket:"solid",padding:"xs",fg:"#595959"},anchor:{...Fn,bg:"#1a1a1a",fg:"#1a1a1a",text:"#1a1a1a",cornerRadius:"sm"},milestone:{...Fn,bg:"#2a2a2a",fg:"#2a2a2a",text:"#ffffff",border:"solid"},footnote:{...Fn,bg:"none",fg:"#595959",text:"#595959",textSize:"sm"},label:{...Fn,bg:"#e8e8e8",fg:"#595959",text:"#595959",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#ffffff",bandOdd:"#f5f5f5",separator:"#d4d4d4",frameTabText:"#3a3a3a",frameTabMuted:"#737373",border:"#d4d4d4",tabFill:"#e8e8e8",tabStroke:"#bdbdbd",tabText:"#3a3a3a",ownerText:"#737373",footnoteIndicator:"#4a4a4a",rowTintEven:"#ffffff",rowTintOdd:"#f5f5f5",utilizationOk:"#8a8a8a",utilizationWarn:"#595959",utilizationOver:"#1a1a1a"},timeline:{gridLine:"#bdbdbd",minorGridLine:"#d4d4d4",tickMark:"#bdbdbd",labelText:"#737373",panelFill:"#ffffff",border:"#d4d4d4"},header:{cardBorder:"#d4d4d4",author:"#737373"},item:{overflowX:"#1a1a1a",linkIconFg:"#1a1a1a",overflowTailFill:"#e8e8e8",overflowTailStroke:"#4a4a4a",overflowCaption:"#3a3a3a"},parallel:{bracketStroke:"#3a3a3a"},anchorDiamond:{fill:"#ffffff",stroke:"#3a3a3a",label:"#3a3a3a",cutLine:"#737373"},milestoneDiamond:{fill:"#1a1a1a",label:"#1a1a1a",cutLineNormal:"#2a2a2a",cutLineOverrun:"#4a4a4a",slack:"#1a1a1a"},footnotePanel:{fill:"#ffffff",border:"#d4d4d4",header:"#1a1a1a",title:"#1a1a1a",description:"#737373",number:"#4a4a4a"},nowline:{stroke:"#1a1a1a",labelText:"#ffffff",labelBg:"#1a1a1a"},milestone:{dashedInk:"#9e9e9e",overrun:"#4a4a4a"},anchor:{predecessorLine:"#9e9e9e"},dependency:{edgeStroke:"#595959",overflowStroke:"#1a1a1a"},footnote:{indicatorText:"#4a4a4a",descriptionMuted:"#737373"},includeRegion:{border:"#9e9e9e",label:"#3a3a3a",badge:"#737373",fill:"#f5f5f5",tabFill:"#ffffff",tabStroke:"#bdbdbd",tabText:"#1a1a1a",badgeFill:"#e8e8e8",badgeStroke:"#bdbdbd",badgeText:"#595959"},arrowhead:{neutral:"#595959",light:"#9e9e9e",dark:"#1a1a1a"},status:{done:"#8a8a8a",inProgress:"#595959",atRisk:"#737373",blocked:"#3a3a3a",planned:"#bdbdbd",neutral:"#bdbdbd"},statusDot:{onLight:{done:"#3a3a3a",inProgress:"#2a2a2a",atRisk:"#4a4a4a",blocked:"#1a1a1a",planned:"#595959",neutral:"#595959"},onDark:{done:"#d4d4d4",inProgress:"#e8e8e8",atRisk:"#c8c8c8",blocked:"#f0f0f0",planned:"#d4d4d4",neutral:"#d4d4d4"}},attribution:{mark:"#9e9e9e",link:"#1a1a1a"},diagnostic:{overlayBg:"#e8e8e8",errorText:"#1a1a1a"}};var lk={red:"#e53935",blue:"#1e88e5",yellow:"#fdd835",green:"#43a047",orange:"#fb8c00",purple:"#8e24aa",gray:"#9e9e9e",navy:"#0d47a1",white:"#ffffff"},Un={bg:"none",fg:"#0f172a",text:"#0f172a",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},vT={name:"light",surface:{page:"#f8fafc",chart:"#ffffff",headerBox:"#ffffff"},entities:{roadmap:{...Un,headerHeight:"md",padding:"md"},swimlane:{...Un,fg:"#334155",text:"#334155",padding:"sm",spacing:"none",textSize:"sm"},item:{...Un,bg:"#ffffff",fg:"#94a3b8",text:"#0f172a",shadow:"subtle",cornerRadius:"sm"},parallel:{...Un,bracket:"none",padding:"xs"},group:{...Un,bracket:"solid",padding:"xs",fg:"#475569"},anchor:{...Un,bg:"#0f172a",fg:"#0f172a",text:"#0f172a",cornerRadius:"sm"},milestone:{...Un,bg:"#312e81",fg:"#312e81",text:"#ffffff",border:"solid"},footnote:{...Un,bg:"none",fg:"#475569",text:"#475569",textSize:"sm"},label:{...Un,bg:"#f1f5f9",fg:"#475569",text:"#475569",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#ffffff",bandOdd:"#f8fafc",separator:"#e2e8f0",frameTabText:"#334155",frameTabMuted:"#64748b",border:"#e2e8f0",tabFill:"#f1f5f9",tabStroke:"#cbd5e1",tabText:"#334155",ownerText:"#64748b",footnoteIndicator:"#dc2626",rowTintEven:"#ffffff",rowTintOdd:"#f8fafc",utilizationOk:"#10b981",utilizationWarn:"#f59e0b",utilizationOver:"#ef4444"},timeline:{gridLine:"#cbd5e1",minorGridLine:"#e2e8f0",tickMark:"#cbd5e1",labelText:"#64748b",panelFill:"#ffffff",border:"#e2e8f0"},header:{cardBorder:"#e2e8f0",author:"#64748b"},item:{overflowX:"#dc2626",linkIconFg:"#0f172a",overflowTailFill:"#fee2e2",overflowTailStroke:"#ef4444",overflowCaption:"#b91c1c"},parallel:{bracketStroke:"#334155"},anchorDiamond:{fill:"#ffffff",stroke:"#334155",label:"#334155",cutLine:"#64748b"},milestoneDiamond:{fill:"#0f172a",label:"#0f172a",cutLineNormal:"#1e1b4b",cutLineOverrun:"#b91c1c",slack:"#0f172a"},footnotePanel:{fill:"#ffffff",border:"#e2e8f0",header:"#0f172a",title:"#0f172a",description:"#64748b",number:"#dc2626"},nowline:{stroke:"#e53e3e",labelText:"#ffffff",labelBg:"#e53e3e"},milestone:{dashedInk:"#94a3b8",overrun:"#ef4444"},anchor:{predecessorLine:"#94a3b8"},dependency:{edgeStroke:"#475569",overflowStroke:"#d32f2f"},footnote:{indicatorText:"#e53e3e",descriptionMuted:"#64748b"},includeRegion:{border:"#94a3b8",label:"#334155",badge:"#64748b",fill:"#f8fafc",tabFill:"#ffffff",tabStroke:"#cbd5e1",tabText:"#0f172a",badgeFill:"#e2e8f0",badgeStroke:"#cbd5e1",badgeText:"#475569"},arrowhead:{neutral:"#475569",light:"#94a3b8",dark:"#0f172a"},status:{done:"#10b981",inProgress:"#3b82f6",atRisk:"#f59e0b",blocked:"#ef4444",planned:"#94a3b8",neutral:"#94a3b8"},statusDot:{onLight:{done:"#065f46",inProgress:"#1e3a8a",atRisk:"#92400e",blocked:"#991b1b",planned:"#334155",neutral:"#334155"},onDark:{done:"#d1fae5",inProgress:"#dbeafe",atRisk:"#fef3c7",blocked:"#fee2e2",planned:"#e2e8f0",neutral:"#e2e8f0"}},attribution:{mark:"#94a3b8",link:"#e53e3e"},diagnostic:{overlayBg:"#fee2e2",errorText:"#991b1b"}};var bT={light:vT,dark:_T,grayscale:ET};var YU={greyscale:"grayscale"};function wT(t){let e=t.toLowerCase(),r=YU[e]??e;if(r==="light"||r==="dark"||r==="grayscale")return r}var KU={grey:"gray",violet:"purple"};function _o(t,e){if(t==="none")return"none";if(t.startsWith("#"))return t;let r=e.name==="dark"?ak:e.name==="grayscale"?ck:lk,n=KU[t]??t,i=r[n];return typeof i=="string"?i:t}function Sa(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}function ZU(t,e){return{bg:_o(t.bg,e),fg:_o(t.fg,e),text:_o(t.text,e),border:t.border,icon:t.icon,shadow:t.shadow,font:t.font,weight:t.weight,italic:t.italic,textSize:t.textSize,padding:t.padding,spacing:t.spacing,headerHeight:t.headerHeight,cornerRadius:t.cornerRadius,bracket:t.bracket,headerPosition:"beside",capacityIcon:t.capacityIcon,timelinePosition:"top",minorGrid:!1}}function RT(t,e,r,n){switch(e){case"bg":t.bg=_o(r,n);break;case"fg":t.fg=_o(r,n);break;case"text":t.text=_o(r,n);break;case"border":(r==="solid"||r==="dashed"||r==="dotted")&&(t.border=r);break;case"icon":t.icon=r;break;case"shadow":(r==="none"||r==="subtle"||r==="soft"||r==="hard")&&(t.shadow=r);break;case"font":(r==="sans"||r==="serif"||r==="mono")&&(t.font=r);break;case"weight":(r==="thin"||r==="light"||r==="normal"||r==="bold")&&(t.weight=r);break;case"italic":t.italic=r==="true";break;case"text-size":t.textSize=Rl(r,"xl");break;case"padding":t.padding=Rl(r,"xl");break;case"spacing":t.spacing=Rl(r,"xl");break;case"header-height":t.headerHeight=Rl(r,"xl");break;case"corner-radius":t.cornerRadius=Rl(r,"full");break;case"bracket":(r==="none"||r==="solid"||r==="dashed")&&(t.bracket=r);break;case"header-position":(r==="beside"||r==="above")&&(t.headerPosition=r);break;case"capacity-icon":t.capacityIcon=r;break;case"timeline-position":(r==="top"||r==="bottom"||r==="both")&&(t.timelinePosition=r);break;case"minor-grid":t.minorGrid=r==="true";break;default:break}}function Rl(t,e){let r=["none","xs","sm","md","lg","xl","full"],n=r.indexOf(e),i=r.indexOf(t);return i<0?"md":i>n?r[n]:r[i]}function uk(t,e,r){if(e)for(let n of e.properties)RT(t,Sa(n),n.value,r)}function JU(t,e,r){for(let n of e){let i=Sa(n);n.value!==void 0&&RT(t,i,n.value,r)}}function QU(t,e,r){let n=e.find(o=>Sa(o)==="labels");if(!n)return;let i=n.value?[n.value]:n.values;for(let o of i){let s=r.labels.get(o);if(!s)continue;let a=s.properties.find(c=>Sa(c)==="style");a?.value&&uk(t,r.styles.get(a.value),r.theme)}}function eB(t,e,r){let n=e.find(i=>Sa(i)==="style");n?.value&&uk(t,r.styles.get(n.value),r.theme)}function ft(t,e,r){let n=r.theme.entities[t],i=ZU(n,r.theme),o=r.defaults.get(t);if(o)for(let s of o.properties)s.value!==void 0&&RT(i,Sa(s),s.value,r.theme);return QU(i,e,r),eB(i,e,r),JU(i,e,r.theme),i}function fk(t,e){return ft("label",t.properties,e)}var dk={none:0,xs:2,sm:4,md:8,lg:16,xl:24},pk={none:0,xs:4,sm:8,md:12,lg:20,xl:32};var Aa={none:0,xs:10,sm:12,md:14,lg:18,xl:24},Ip={none:0,xs:2,sm:4,md:8,lg:12,xl:20,full:9999};var _r=8,an=4,Sl=24,kp=15,Al=8,Np=22,Pp=15,Il=16,Cp=6,ST=4,AT=11,IT=9,kT=5.5,NT=4,Ia=12,Op="6 4",PT=36,Ci=16,CT=Ci/2,kl=10,OT=Ci-4,ka=6,Lp=2.25,Fr=6,Ur=2*Fr,hk=5,mk=120,LT=240,Dp=72,Nl=28,Br=16,DT=22,Pl=18,Mp="Powered by",MT="https://nowline.io",Cl=.22,Oi=40,$p=32,gk=.58,tB=Mp.length*$p*gk,rB=10,Ol=tB+rB,$T=Ol+74,FT=5,Fp=Ol+81,nB=3*Oi*gk,iB=Fp+nB,oB=12+Oi,UT=iB*Cl,yk=oB*Cl,BT=4;var GT={sans:'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',serif:'Georgia, "Times New Roman", serif',mono:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},xk={days:7,weeks:4,months:3,quarters:4,years:5};var Up=class{constructor(e,r){R(this,"node");R(this,"deps");this.node=e,this.deps=r}get id(){return this.node.name??""}place(e,r){let{node:n}=this,{deps:i}=this,o=ft("group",n.properties,r.styleCtx),s=e.x,a=n.title??n.name,c=r.currentFlowKey;r.nextGroupId+=1,r.currentFlowKey=`${c}/group:${n.name??`group-${r.nextGroupId}`}`;let l=o.bg!=="none"&&o.bg!=="#ffffff"&&!!a,u=l?Il+ST:0,f=l?NT:0,d=!l&&a?Ia:0,p=e.y+d,m=r.bandScale.step(),y=s,E=new Ra({laneLeftX:y,originY:p+u,minRowHeight:m,slackCorridors:r.slackCorridors}),_=y,x=[];for(let H of n.content){if(H.$type==="DescriptionDirective")continue;if(!ar(H)){let ne=H.properties??[],Re=i.resolveChildStart(ne,_,y,r),{rowIndex:Se,y:$e}=E.placeBlock(),q=i.newCursor(Re,$e),Q=i.sequenceOne(H,q,r);x.push(Q);let re=Q.box.x+Q.box.width,M=Math.max(m,q.height);E.commitBlock({rowIndex:Se,placed:Q,blockHeight:M,blockEnd:re}),_=Math.max(_,re);continue}let oe=H.properties,$=i.resolveChildStart(oe,_,y,r),w=Pi(oe,r.sizes,r.cal),D=Math.max(_r,w*r.timeline.pixelsPerDay),U=$+D,S=H.name??"",A=i.predictItemChipExtraHeight(H,r),I=m+A,{rowIndex:B,y:z}=E.placeItem({childId:S,desiredStart:$,desiredEnd:U,predictedHeight:I}),j=i.newCursor($,z),V=i.sequenceItem(H,j,r);x.push(V);let K=V.box.x+V.box.width+Fr;_=Math.max(_,K);let ue=null;(V.textSpills||V.chipsOutside||V.dotSpills||V.iconSpills||V.footnoteSpills)&&(ue=Math.max(V.decorationsRightX,V.chipsOutside?V.chipsRightX:0)+6),E.commitItem({rowIndex:B,placed:V,logicalEnd:K,spillReservation:ue,rowHeight:I})}let v=Math.max(m,E.usedHeight()),k=Math.max(_,E.usedRightX()),F={x:s,y:p,width:k-s,height:u+v+f};e.x=_+Al,e.maxX=Math.max(e.maxX,e.x);let O=r.bandScale.step()-r.bandScale.bandwidth();e.height=Math.max(e.height,d+F.height+O);let L=n.name;L&&(r.entityLeftEdges.set(L,F.x),r.entityRightEdges.set(L,F.x+F.width)),r.currentFlowKey=c;let G=Sp({box:F,afterDate:Mn(ut(n.properties,"after")),beforeDate:Mn(ut(n.properties,"before"))});return{kind:"group",id:L,title:a,box:F,children:x,style:o,inlineDatePins:G.length>0?G:void 0}}};var XT=12,sB=4,aB=13,cB=11;function Tk(t,e){return t.length*e*.58}var Bp=class{constructor(e){R(this,"input");this.input=e}get id(){return this.input.id}measure(e){return{width:Math.max(_r,this.input.logicalRightX-this.input.logicalLeftX),height:e.bands.bandwidth()}}place(e,r){let n=this.measure(r),i=Math.max(_r,n.width-2*Fr),o=e.x+Fr,s={x:o,y:e.y,width:i,height:n.height},a=this.input.hasLinkIcon?20+lB-XT:0,c=XT+Math.max(0,a),l=Math.max(0,i-c-XT),u=this.input.title,f=u?Tk(u,aB):0,d=this.input.metaText?Tk(this.input.metaText,cB):0,p=this.input.metaTrailingWidth??0,m=d+p,y=this.input.metaText!==void 0||p>0,E=u.length>0&&f>l||y&&m>l,_=E?o+i+sB:o+c;return{id:this.input.id,box:s,textX:_,textSpills:E}}},lB=4;var Gp=class{constructor(e,r){R(this,"node");R(this,"deps");this.node=e,this.deps=r}get id(){return this.node.name??""}place(e,r){let{node:n}=this,{deps:i}=this,o=ft("parallel",n.properties,r.styleCtx),s=e.x,a=e.y,c=[],l=s,u=0,f=r.currentFlowKey;r.nextParallelId+=1;let d=n.name??`parallel-${r.nextParallelId}`,p=0;for(let _ of n.content){if(_.$type==="DescriptionDirective")continue;r.currentFlowKey=`${f}/par:${d}#${p}`;let x=i.newCursor(s,a+u),v=i.sequenceOne(_,x,r);c.push(v),u+=Math.max(r.bandScale.step(),x.height),l=Math.max(l,x.maxX),p++}r.currentFlowKey=f;let m={x:s,y:a,width:l-s,height:u};e.x=l+Al,e.maxX=Math.max(e.maxX,e.x),e.height=Math.max(e.height,u);let y=n.name;y&&(r.entityLeftEdges.set(y,m.x),r.entityRightEdges.set(y,m.x+m.width));let E=Sp({box:m,afterDate:Mn(ut(n.properties,"after")),beforeDate:Mn(ut(n.properties,"before"))});return{kind:"parallel",id:y,title:n.title??n.name,box:m,children:c,style:o,inlineDatePins:E.length>0?E:void 0}}};function Eo(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function HT(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function vo(t){let e,r,n;t.length!==2?(e=Eo,r=(a,c)=>Eo(t(a),c),n=(a,c)=>t(a)-c):(e=t===Eo||t===HT?t:uB,r=t,n=t);function i(a,c,l=0,u=a.length){if(l<u){if(e(c,c)!==0)return u;do{let f=l+u>>>1;r(a[f],c)<0?l=f+1:u=f}while(l<u)}return l}function o(a,c,l=0,u=a.length){if(l<u){if(e(c,c)!==0)return u;do{let f=l+u>>>1;r(a[f],c)<=0?l=f+1:u=f}while(l<u)}return l}function s(a,c,l=0,u=a.length){let f=i(a,c,l,u-1);return f>l&&n(a[f-1],c)>-n(a[f],c)?f-1:f}return{left:i,center:s,right:o}}function uB(){return 0}function jT(t){return t===null?NaN:+t}var _k=vo(Eo),Ek=_k.right,fB=_k.left,dB=vo(jT).center,zT=Ek;var Na=class extends Map{constructor(e,r=mB){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(let[n,i]of e)this.set(n,i)}get(e){return super.get(vk(this,e))}has(e){return super.has(vk(this,e))}set(e,r){return super.set(pB(this,e),r)}delete(e){return super.delete(hB(this,e))}};function vk({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):r}function pB({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function hB({_intern:t,_key:e},r){let n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function mB(t){return t!==null&&typeof t=="object"?t.valueOf():t}var gB=Math.sqrt(50),yB=Math.sqrt(10),xB=Math.sqrt(2);function bk(t,e,r){let n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),o=n/Math.pow(10,i),s=o>=gB?10:o>=yB?5:o>=xB?2:1,a,c,l;return i<0?(l=Math.pow(10,-i)/s,a=Math.round(t*l),c=Math.round(e*l),a/l<t&&++a,c/l>e&&--c,l=-l):(l=Math.pow(10,i)*s,a=Math.round(t/l),c=Math.round(e/l),a*l<t&&++a,c*l>e&&--c),c<a&&.5<=r&&r<2?bk(t,e,r*2):[a,c,l]}function WT(t,e,r){return e=+e,t=+t,r=+r,bk(t,e,r)[2]}function Xp(t,e,r){e=+e,t=+t,r=+r;let n=e<t,i=n?WT(e,t,r):WT(t,e,r);return(n?-1:1)*(i<0?1/-i:i)}function Hp(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,o=new Array(i);++n<i;)o[n]=t+n*r;return o}function Pa(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}var wk=Symbol("implicit");function jp(){var t=new Na,e=[],r=[],n=wk;function i(o){let s=t.get(o);if(s===void 0){if(n!==wk)return n;t.set(o,s=e.push(o)-1)}return r[s%r.length]}return i.domain=function(o){if(!arguments.length)return e.slice();e=[],t=new Na;for(let s of o)t.has(s)||t.set(s,e.push(s)-1);return i},i.range=function(o){return arguments.length?(r=Array.from(o),i):r.slice()},i.unknown=function(o){return arguments.length?(n=o,i):n},i.copy=function(){return jp(e,r).unknown(n)},Pa.apply(i,arguments),i}function Ll(){var t=jp().unknown(void 0),e=t.domain,r=t.range,n=0,i=1,o,s,a=!1,c=0,l=0,u=.5;delete t.unknown;function f(){var d=e().length,p=i<n,m=p?i:n,y=p?n:i;o=(y-m)/Math.max(1,d-c+l*2),a&&(o=Math.floor(o)),m+=(y-m-o*(d-c))*u,s=o*(1-c),a&&(m=Math.round(m),s=Math.round(s));var E=Hp(d).map(function(_){return m+o*_});return r(p?E.reverse():E)}return t.domain=function(d){return arguments.length?(e(d),f()):e()},t.range=function(d){return arguments.length?([n,i]=d,n=+n,i=+i,f()):[n,i]},t.rangeRound=function(d){return[n,i]=d,n=+n,i=+i,a=!0,f()},t.bandwidth=function(){return s},t.step=function(){return o},t.round=function(d){return arguments.length?(a=!!d,f()):a},t.padding=function(d){return arguments.length?(c=Math.min(1,l=+d),f()):c},t.paddingInner=function(d){return arguments.length?(c=Math.min(1,d),f()):c},t.paddingOuter=function(d){return arguments.length?(l=+d,f()):l},t.align=function(d){return arguments.length?(u=Math.max(0,Math.min(1,d)),f()):u},t.copy=function(){return Ll(e(),[n,i]).round(a).paddingInner(c).paddingOuter(l).align(u)},Pa.apply(f(),arguments)}function zp(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function qT(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function $l(){}var Dl=.7,Vp=1/Dl,Ca="\\s*([+-]?\\d+)\\s*",Ml="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",cn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",TB=/^#([0-9a-f]{3,8})$/,_B=new RegExp(`^rgb\\(${Ca},${Ca},${Ca}\\)$`),EB=new RegExp(`^rgb\\(${cn},${cn},${cn}\\)$`),vB=new RegExp(`^rgba\\(${Ca},${Ca},${Ca},${Ml}\\)$`),bB=new RegExp(`^rgba\\(${cn},${cn},${cn},${Ml}\\)$`),wB=new RegExp(`^hsl\\(${Ml},${cn},${cn}\\)$`),RB=new RegExp(`^hsla\\(${Ml},${cn},${cn},${Ml}\\)$`),Rk={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};zp($l,Li,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:Sk,formatHex:Sk,formatHex8:SB,formatHsl:AB,formatRgb:Ak,toString:Ak});function Sk(){return this.rgb().formatHex()}function SB(){return this.rgb().formatHex8()}function AB(){return Ok(this).formatHsl()}function Ak(){return this.rgb().formatRgb()}function Li(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=TB.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?Ik(e):r===3?new Jt(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?Wp(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?Wp(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=_B.exec(t))?new Jt(e[1],e[2],e[3],1):(e=EB.exec(t))?new Jt(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=vB.exec(t))?Wp(e[1],e[2],e[3],e[4]):(e=bB.exec(t))?Wp(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=wB.exec(t))?Pk(e[1],e[2]/100,e[3]/100,1):(e=RB.exec(t))?Pk(e[1],e[2]/100,e[3]/100,e[4]):Rk.hasOwnProperty(t)?Ik(Rk[t]):t==="transparent"?new Jt(NaN,NaN,NaN,0):null}function Ik(t){return new Jt(t>>16&255,t>>8&255,t&255,1)}function Wp(t,e,r,n){return n<=0&&(t=e=r=NaN),new Jt(t,e,r,n)}function IB(t){return t instanceof $l||(t=Li(t)),t?(t=t.rgb(),new Jt(t.r,t.g,t.b,t.opacity)):new Jt}function Oa(t,e,r,n){return arguments.length===1?IB(t):new Jt(t,e,r,n??1)}function Jt(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}zp(Jt,Oa,qT($l,{brighter(t){return t=t==null?Vp:Math.pow(Vp,t),new Jt(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Dl:Math.pow(Dl,t),new Jt(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Jt(wo(this.r),wo(this.g),wo(this.b),Yp(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:kk,formatHex:kk,formatHex8:kB,formatRgb:Nk,toString:Nk}));function kk(){return`#${bo(this.r)}${bo(this.g)}${bo(this.b)}`}function kB(){return`#${bo(this.r)}${bo(this.g)}${bo(this.b)}${bo((isNaN(this.opacity)?1:this.opacity)*255)}`}function Nk(){let t=Yp(this.opacity);return`${t===1?"rgb(":"rgba("}${wo(this.r)}, ${wo(this.g)}, ${wo(this.b)}${t===1?")":`, ${t})`}`}function Yp(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function wo(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function bo(t){return t=wo(t),(t<16?"0":"")+t.toString(16)}function Pk(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new Gr(t,e,r,n)}function Ok(t){if(t instanceof Gr)return new Gr(t.h,t.s,t.l,t.opacity);if(t instanceof $l||(t=Li(t)),!t)return new Gr;if(t instanceof Gr)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),o=Math.max(e,r,n),s=NaN,a=o-i,c=(o+i)/2;return a?(e===o?s=(r-n)/a+(r<n)*6:r===o?s=(n-e)/a+2:s=(e-r)/a+4,a/=c<.5?o+i:2-o-i,s*=60):a=c>0&&c<1?0:s,new Gr(s,a,c,t.opacity)}function Lk(t,e,r,n){return arguments.length===1?Ok(t):new Gr(t,e,r,n??1)}function Gr(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}zp(Gr,Lk,qT($l,{brighter(t){return t=t==null?Vp:Math.pow(Vp,t),new Gr(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Dl:Math.pow(Dl,t),new Gr(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new Jt(VT(t>=240?t-240:t+120,i,n),VT(t,i,n),VT(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new Gr(Ck(this.h),qp(this.s),qp(this.l),Yp(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=Yp(this.opacity);return`${t===1?"hsl(":"hsla("}${Ck(this.h)}, ${qp(this.s)*100}%, ${qp(this.l)*100}%${t===1?")":`, ${t})`}`}}));function Ck(t){return t=(t||0)%360,t<0?t+360:t}function qp(t){return Math.max(0,Math.min(1,t||0))}function VT(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}function YT(t,e,r,n,i){var o=t*t,s=o*t;return((1-3*t+3*o-s)*e+(4-6*o+3*s)*r+(1+3*t+3*o-3*s)*n+s*i)/6}function Dk(t){var e=t.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),i=t[n],o=t[n+1],s=n>0?t[n-1]:2*i-o,a=n<e-1?t[n+2]:2*o-i;return YT((r-n/e)*e,s,i,o,a)}}function Mk(t){var e=t.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*e),i=t[(n+e-1)%e],o=t[n%e],s=t[(n+1)%e],a=t[(n+2)%e];return YT((r-n/e)*e,i,o,s,a)}}var Fl=t=>()=>t;function NB(t,e){return function(r){return t+r*e}}function PB(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function $k(t){return(t=+t)==1?Kp:function(e,r){return r-e?PB(e,r,t):Fl(isNaN(e)?r:e)}}function Kp(t,e){var r=e-t;return r?NB(t,r):Fl(isNaN(t)?e:t)}var KT=(function t(e){var r=$k(e);function n(i,o){var s=r((i=Oa(i)).r,(o=Oa(o)).r),a=r(i.g,o.g),c=r(i.b,o.b),l=Kp(i.opacity,o.opacity);return function(u){return i.r=s(u),i.g=a(u),i.b=c(u),i.opacity=l(u),i+""}}return n.gamma=t,n})(1);function Fk(t){return function(e){var r=e.length,n=new Array(r),i=new Array(r),o=new Array(r),s,a;for(s=0;s<r;++s)a=Oa(e[s]),n[s]=a.r||0,i[s]=a.g||0,o[s]=a.b||0;return n=t(n),i=t(i),o=t(o),a.opacity=1,function(c){return a.r=n(c),a.g=i(c),a.b=o(c),a+""}}}var ure=Fk(Dk),fre=Fk(Mk);function Uk(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(o){for(i=0;i<r;++i)n[i]=t[i]*(1-o)+e[i]*o;return n}}function Bk(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function Gk(t,e){var r=e?e.length:0,n=t?Math.min(r,t.length):0,i=new Array(n),o=new Array(r),s;for(s=0;s<n;++s)i[s]=Ro(t[s],e[s]);for(;s<r;++s)o[s]=e[s];return function(a){for(s=0;s<n;++s)o[s]=i[s](a);return o}}function Xk(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}function Di(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function Hk(t,e){var r={},n={},i;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(i in e)i in t?r[i]=Ro(t[i],e[i]):n[i]=e[i];return function(o){for(i in r)n[i]=r[i](o);return n}}var JT=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ZT=new RegExp(JT.source,"g");function CB(t){return function(){return t}}function OB(t){return function(e){return t(e)+""}}function jk(t,e){var r=JT.lastIndex=ZT.lastIndex=0,n,i,o,s=-1,a=[],c=[];for(t=t+"",e=e+"";(n=JT.exec(t))&&(i=ZT.exec(e));)(o=i.index)>r&&(o=e.slice(r,o),a[s]?a[s]+=o:a[++s]=o),(n=n[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,c.push({i:s,x:Di(n,i)})),r=ZT.lastIndex;return r<e.length&&(o=e.slice(r),a[s]?a[s]+=o:a[++s]=o),a.length<2?c[0]?OB(c[0].x):CB(e):(e=c.length,function(l){for(var u=0,f;u<e;++u)a[(f=c[u]).i]=f.x(l);return a.join("")})}function Ro(t,e){var r=typeof e,n;return e==null||r==="boolean"?Fl(e):(r==="number"?Di:r==="string"?(n=Li(e))?(e=n,KT):jk:e instanceof Li?KT:e instanceof Date?Xk:Bk(e)?Uk:Array.isArray(e)?Gk:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?Hk:Di)(t,e)}function QT(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}function e_(t){return function(){return t}}function t_(t){return+t}var zk=[0,1];function La(t){return t}function r_(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:e_(isNaN(e)?NaN:.5)}function LB(t,e){var r;return t>e&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function DB(t,e,r){var n=t[0],i=t[1],o=e[0],s=e[1];return i<n?(n=r_(i,n),o=r(s,o)):(n=r_(n,i),o=r(o,s)),function(a){return o(n(a))}}function MB(t,e,r){var n=Math.min(t.length,e.length)-1,i=new Array(n),o=new Array(n),s=-1;for(t[n]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++s<n;)i[s]=r_(t[s],t[s+1]),o[s]=r(e[s],e[s+1]);return function(a){var c=zT(t,a,1,n)-1;return o[c](i[c](a))}}function Wk(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function $B(){var t=zk,e=zk,r=Ro,n,i,o,s=La,a,c,l;function u(){var d=Math.min(t.length,e.length);return s!==La&&(s=LB(t[0],t[d-1])),a=d>2?MB:DB,c=l=null,f}function f(d){return d==null||isNaN(d=+d)?o:(c||(c=a(t.map(n),e,r)))(n(s(d)))}return f.invert=function(d){return s(i((l||(l=a(e,t.map(n),Di)))(d)))},f.domain=function(d){return arguments.length?(t=Array.from(d,t_),u()):t.slice()},f.range=function(d){return arguments.length?(e=Array.from(d),u()):e.slice()},f.rangeRound=function(d){return e=Array.from(d),r=QT,u()},f.clamp=function(d){return arguments.length?(s=d?!0:La,u()):s!==La},f.interpolate=function(d){return arguments.length?(r=d,u()):r},f.unknown=function(d){return arguments.length?(o=d,f):o},function(d,p){return n=d,i=p,u()}}function n_(){return $B()(La,La)}function i_(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],o=t[n],s;return o<i&&(s=r,r=n,n=s,s=i,i=o,o=s),t[r]=e.floor(i),t[n]=e.ceil(o),t}var o_=new Date,s_=new Date;function We(t,e,r,n){function i(o){return t(o=arguments.length===0?new Date:new Date(+o)),o}return i.floor=o=>(t(o=new Date(+o)),o),i.ceil=o=>(t(o=new Date(o-1)),e(o,1),t(o),o),i.round=o=>{let s=i(o),a=i.ceil(o);return o-s<a-o?s:a},i.offset=(o,s)=>(e(o=new Date(+o),s==null?1:Math.floor(s)),o),i.range=(o,s,a)=>{let c=[];if(o=i.ceil(o),a=a==null?1:Math.floor(a),!(o<s)||!(a>0))return c;let l;do c.push(l=new Date(+o)),e(o,a),t(o);while(l<o&&o<s);return c},i.filter=o=>We(s=>{if(s>=s)for(;t(s),!o(s);)s.setTime(s-1)},(s,a)=>{if(s>=s)if(a<0)for(;++a<=0;)for(;e(s,-1),!o(s););else for(;--a>=0;)for(;e(s,1),!o(s););}),r&&(i.count=(o,s)=>(o_.setTime(+o),s_.setTime(+s),t(o_),t(s_),Math.floor(r(o_,s_))),i.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?i.filter(n?s=>n(s)%o===0:s=>i.count(0,s)%o===0):i)),i}var Ul=We(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Ul.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?We(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):Ul);var qre=Ul.range;var ln=We(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),qk=ln.range;var Da=We(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),FB=Da.range,Zp=We(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),UB=Zp.range;var Ma=We(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3-t.getMinutes()*6e4)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getHours()),BB=Ma.range,Jp=We(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),GB=Jp.range;var Bn=We(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1),XB=Bn.range,Gl=We(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),HB=Gl.range,Qp=We(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),jB=Qp.range;function Io(t){return We(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}var Gn=Io(0),$a=Io(1),Yk=Io(2),Kk=Io(3),Mi=Io(4),Zk=Io(5),Jk=Io(6),Qk=Gn.range,zB=$a.range,WB=Yk.range,qB=Kk.range,VB=Mi.range,YB=Zk.range,KB=Jk.range;function ko(t){return We(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/6048e5)}var No=ko(0),Fa=ko(1),eN=ko(2),tN=ko(3),$i=ko(4),rN=ko(5),nN=ko(6),iN=No.range,ZB=Fa.range,JB=eN.range,QB=tN.range,e4=$i.range,t4=rN.range,r4=nN.range;var Ua=We(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),n4=Ua.range,eh=We(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),i4=eh.range;var cr=We(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());cr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:We(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});var o4=cr.range,Xr=We(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());Xr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:We(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});var s4=Xr.range;function sN(t,e,r,n,i,o){let s=[[ln,1,1e3],[ln,5,5*1e3],[ln,15,15*1e3],[ln,30,30*1e3],[o,1,6e4],[o,5,5*6e4],[o,15,15*6e4],[o,30,30*6e4],[i,1,36e5],[i,3,3*36e5],[i,6,6*36e5],[i,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[e,1,2592e6],[e,3,3*2592e6],[t,1,31536e6]];function a(l,u,f){let d=u<l;d&&([l,u]=[u,l]);let p=f&&typeof f.range=="function"?f:c(l,u,f),m=p?p.range(l,+u+1):[];return d?m.reverse():m}function c(l,u,f){let d=Math.abs(u-l)/f,p=vo(([,,E])=>E).right(s,d);if(p===s.length)return t.every(Xp(l/31536e6,u/31536e6,f));if(p===0)return Ul.every(Math.max(Xp(l,u,f),1));let[m,y]=s[d/s[p-1][2]<s[p][2]/d?p-1:p];return m.every(y)}return[a,c]}var[c4,l4]=sN(Xr,eh,No,Qp,Jp,Zp),[a_,c_]=sN(cr,Ua,Gn,Bn,Ma,Da);function l_(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function u_(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Xl(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function f_(t){var e=t.dateTime,r=t.date,n=t.time,i=t.periods,o=t.days,s=t.shortDays,a=t.months,c=t.shortMonths,l=Hl(i),u=jl(i),f=Hl(o),d=jl(o),p=Hl(s),m=jl(s),y=Hl(a),E=jl(a),_=Hl(c),x=jl(c),v={a:I,A:B,b:z,B:j,c:null,d:dN,e:dN,f:C4,g:X4,G:j4,H:k4,I:N4,j:P4,L:yN,m:O4,M:L4,p:V,q:K,Q:mN,s:gN,S:D4,u:M4,U:$4,V:F4,w:U4,W:B4,x:null,X:null,y:G4,Y:H4,Z:z4,"%":hN},k={a:ue,A:Y,b:ne,B:Re,c:null,d:pN,e:pN,f:Y4,g:o3,G:a3,H:W4,I:q4,j:V4,L:TN,m:K4,M:Z4,p:Se,q:$e,Q:mN,s:gN,S:J4,u:Q4,U:e3,V:t3,w:r3,W:n3,x:null,X:null,y:i3,Y:s3,Z:c3,"%":hN},F={a:oe,A:$,b:w,B:D,c:U,d:uN,e:uN,f:R4,g:lN,G:cN,H:fN,I:fN,j:E4,L:w4,m:_4,M:v4,p:H,q:T4,Q:A4,s:I4,S:b4,u:h4,U:m4,V:g4,w:p4,W:y4,x:S,X:A,y:lN,Y:cN,Z:x4,"%":S4};v.x=O(r,v),v.X=O(n,v),v.c=O(e,v),k.x=O(r,k),k.X=O(n,k),k.c=O(e,k);function O(q,Q){return function(re){var M=[],de=-1,pe=0,Ne=q.length,at,W,er;for(re instanceof Date||(re=new Date(+re));++de<Ne;)q.charCodeAt(de)===37&&(M.push(q.slice(pe,de)),(W=aN[at=q.charAt(++de)])!=null?at=q.charAt(++de):W=at==="e"?" ":"0",(er=Q[at])&&(at=er(re,W)),M.push(at),pe=de+1);return M.push(q.slice(pe,de)),M.join("")}}function L(q,Q){return function(re){var M=Xl(1900,void 0,1),de=G(M,q,re+="",0),pe,Ne;if(de!=re.length)return null;if("Q"in M)return new Date(M.Q);if("s"in M)return new Date(M.s*1e3+("L"in M?M.L:0));if(Q&&!("Z"in M)&&(M.Z=0),"p"in M&&(M.H=M.H%12+M.p*12),M.m===void 0&&(M.m="q"in M?M.q:0),"V"in M){if(M.V<1||M.V>53)return null;"w"in M||(M.w=1),"Z"in M?(pe=u_(Xl(M.y,0,1)),Ne=pe.getUTCDay(),pe=Ne>4||Ne===0?Fa.ceil(pe):Fa(pe),pe=Gl.offset(pe,(M.V-1)*7),M.y=pe.getUTCFullYear(),M.m=pe.getUTCMonth(),M.d=pe.getUTCDate()+(M.w+6)%7):(pe=l_(Xl(M.y,0,1)),Ne=pe.getDay(),pe=Ne>4||Ne===0?$a.ceil(pe):$a(pe),pe=Bn.offset(pe,(M.V-1)*7),M.y=pe.getFullYear(),M.m=pe.getMonth(),M.d=pe.getDate()+(M.w+6)%7)}else("W"in M||"U"in M)&&("w"in M||(M.w="u"in M?M.u%7:"W"in M?1:0),Ne="Z"in M?u_(Xl(M.y,0,1)).getUTCDay():l_(Xl(M.y,0,1)).getDay(),M.m=0,M.d="W"in M?(M.w+6)%7+M.W*7-(Ne+5)%7:M.w+M.U*7-(Ne+6)%7);return"Z"in M?(M.H+=M.Z/100|0,M.M+=M.Z%100,u_(M)):l_(M)}}function G(q,Q,re,M){for(var de=0,pe=Q.length,Ne=re.length,at,W;de<pe;){if(M>=Ne)return-1;if(at=Q.charCodeAt(de++),at===37){if(at=Q.charAt(de++),W=F[at in aN?Q.charAt(de++):at],!W||(M=W(q,re,M))<0)return-1}else if(at!=re.charCodeAt(M++))return-1}return M}function H(q,Q,re){var M=l.exec(Q.slice(re));return M?(q.p=u.get(M[0].toLowerCase()),re+M[0].length):-1}function oe(q,Q,re){var M=p.exec(Q.slice(re));return M?(q.w=m.get(M[0].toLowerCase()),re+M[0].length):-1}function $(q,Q,re){var M=f.exec(Q.slice(re));return M?(q.w=d.get(M[0].toLowerCase()),re+M[0].length):-1}function w(q,Q,re){var M=_.exec(Q.slice(re));return M?(q.m=x.get(M[0].toLowerCase()),re+M[0].length):-1}function D(q,Q,re){var M=y.exec(Q.slice(re));return M?(q.m=E.get(M[0].toLowerCase()),re+M[0].length):-1}function U(q,Q,re){return G(q,e,Q,re)}function S(q,Q,re){return G(q,r,Q,re)}function A(q,Q,re){return G(q,n,Q,re)}function I(q){return s[q.getDay()]}function B(q){return o[q.getDay()]}function z(q){return c[q.getMonth()]}function j(q){return a[q.getMonth()]}function V(q){return i[+(q.getHours()>=12)]}function K(q){return 1+~~(q.getMonth()/3)}function ue(q){return s[q.getUTCDay()]}function Y(q){return o[q.getUTCDay()]}function ne(q){return c[q.getUTCMonth()]}function Re(q){return a[q.getUTCMonth()]}function Se(q){return i[+(q.getUTCHours()>=12)]}function $e(q){return 1+~~(q.getUTCMonth()/3)}return{format:function(q){var Q=O(q+="",v);return Q.toString=function(){return q},Q},parse:function(q){var Q=L(q+="",!1);return Q.toString=function(){return q},Q},utcFormat:function(q){var Q=O(q+="",k);return Q.toString=function(){return q},Q},utcParse:function(q){var Q=L(q+="",!0);return Q.toString=function(){return q},Q}}}var aN={"-":"",_:" ",0:"0"},kt=/^\s*\d+/,u4=/^%/,f4=/[\\^$*+?|[\]().{}]/g;function Pe(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",o=i.length;return n+(o<r?new Array(r-o+1).join(e)+i:i)}function d4(t){return t.replace(f4,"\\$&")}function Hl(t){return new RegExp("^(?:"+t.map(d4).join("|")+")","i")}function jl(t){return new Map(t.map((e,r)=>[e.toLowerCase(),r]))}function p4(t,e,r){var n=kt.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function h4(t,e,r){var n=kt.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function m4(t,e,r){var n=kt.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function g4(t,e,r){var n=kt.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function y4(t,e,r){var n=kt.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function cN(t,e,r){var n=kt.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function lN(t,e,r){var n=kt.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function x4(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function T4(t,e,r){var n=kt.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function _4(t,e,r){var n=kt.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function uN(t,e,r){var n=kt.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function E4(t,e,r){var n=kt.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function fN(t,e,r){var n=kt.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function v4(t,e,r){var n=kt.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function b4(t,e,r){var n=kt.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function w4(t,e,r){var n=kt.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function R4(t,e,r){var n=kt.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function S4(t,e,r){var n=u4.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function A4(t,e,r){var n=kt.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function I4(t,e,r){var n=kt.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function dN(t,e){return Pe(t.getDate(),e,2)}function k4(t,e){return Pe(t.getHours(),e,2)}function N4(t,e){return Pe(t.getHours()%12||12,e,2)}function P4(t,e){return Pe(1+Bn.count(cr(t),t),e,3)}function yN(t,e){return Pe(t.getMilliseconds(),e,3)}function C4(t,e){return yN(t,e)+"000"}function O4(t,e){return Pe(t.getMonth()+1,e,2)}function L4(t,e){return Pe(t.getMinutes(),e,2)}function D4(t,e){return Pe(t.getSeconds(),e,2)}function M4(t){var e=t.getDay();return e===0?7:e}function $4(t,e){return Pe(Gn.count(cr(t)-1,t),e,2)}function xN(t){var e=t.getDay();return e>=4||e===0?Mi(t):Mi.ceil(t)}function F4(t,e){return t=xN(t),Pe(Mi.count(cr(t),t)+(cr(t).getDay()===4),e,2)}function U4(t){return t.getDay()}function B4(t,e){return Pe($a.count(cr(t)-1,t),e,2)}function G4(t,e){return Pe(t.getFullYear()%100,e,2)}function X4(t,e){return t=xN(t),Pe(t.getFullYear()%100,e,2)}function H4(t,e){return Pe(t.getFullYear()%1e4,e,4)}function j4(t,e){var r=t.getDay();return t=r>=4||r===0?Mi(t):Mi.ceil(t),Pe(t.getFullYear()%1e4,e,4)}function z4(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Pe(e/60|0,"0",2)+Pe(e%60,"0",2)}function pN(t,e){return Pe(t.getUTCDate(),e,2)}function W4(t,e){return Pe(t.getUTCHours(),e,2)}function q4(t,e){return Pe(t.getUTCHours()%12||12,e,2)}function V4(t,e){return Pe(1+Gl.count(Xr(t),t),e,3)}function TN(t,e){return Pe(t.getUTCMilliseconds(),e,3)}function Y4(t,e){return TN(t,e)+"000"}function K4(t,e){return Pe(t.getUTCMonth()+1,e,2)}function Z4(t,e){return Pe(t.getUTCMinutes(),e,2)}function J4(t,e){return Pe(t.getUTCSeconds(),e,2)}function Q4(t){var e=t.getUTCDay();return e===0?7:e}function e3(t,e){return Pe(No.count(Xr(t)-1,t),e,2)}function _N(t){var e=t.getUTCDay();return e>=4||e===0?$i(t):$i.ceil(t)}function t3(t,e){return t=_N(t),Pe($i.count(Xr(t),t)+(Xr(t).getUTCDay()===4),e,2)}function r3(t){return t.getUTCDay()}function n3(t,e){return Pe(Fa.count(Xr(t)-1,t),e,2)}function i3(t,e){return Pe(t.getUTCFullYear()%100,e,2)}function o3(t,e){return t=_N(t),Pe(t.getUTCFullYear()%100,e,2)}function s3(t,e){return Pe(t.getUTCFullYear()%1e4,e,4)}function a3(t,e){var r=t.getUTCDay();return t=r>=4||r===0?$i(t):$i.ceil(t),Pe(t.getUTCFullYear()%1e4,e,4)}function c3(){return"+0000"}function hN(){return"%"}function mN(t){return+t}function gN(t){return Math.floor(+t/1e3)}var Ba,th,EN,vN,bN;d_({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function d_(t){return Ba=f_(t),th=Ba.format,EN=Ba.parse,vN=Ba.utcFormat,bN=Ba.utcParse,Ba}function l3(t){return new Date(t)}function u3(t){return t instanceof Date?+t:+new Date(+t)}function wN(t,e,r,n,i,o,s,a,c,l){var u=n_(),f=u.invert,d=u.domain,p=l(".%L"),m=l(":%S"),y=l("%I:%M"),E=l("%I %p"),_=l("%a %d"),x=l("%b %d"),v=l("%B"),k=l("%Y");function F(O){return(c(O)<O?p:a(O)<O?m:s(O)<O?y:o(O)<O?E:n(O)<O?i(O)<O?_:x:r(O)<O?v:k)(O)}return u.invert=function(O){return new Date(f(O))},u.domain=function(O){return arguments.length?d(Array.from(O,u3)):d().map(l3)},u.ticks=function(O){var L=d();return t(L[0],L[L.length-1],O??10)},u.tickFormat=function(O,L){return L==null?F:l(L)},u.nice=function(O){var L=d();return(!O||typeof O.range!="function")&&(O=e(L[0],L[L.length-1],O??10)),O?d(i_(L,O)):u},u.copy=function(){return Wk(u,wN(t,e,r,n,i,o,s,a,c,l))},u}function rh(){return Pa.apply(wN(a_,c_,cr,Ua,Gn,Bn,Ma,Da,ln,th).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}var p_=class t{constructor(e,r,n){R(this,"bandwidthPx");R(this,"stepPx");R(this,"d3");this.bandwidthPx=e,this.stepPx=r,this.d3=n}static fixedRow(e){return new t(e.bandwidth,e.step)}static forRows(e){let r=Array.from({length:e.count},(i,o)=>String(o)),n=Ll().domain(r).range(e.range).paddingInner(e.paddingInner??0).paddingOuter(e.paddingOuter??0);return new t(n.bandwidth(),n.step(),n)}bandwidth(){return this.bandwidthPx}step(){return this.stepPx}forward(e){if(!this.d3)throw new Error("BandScale.forward is only available on closed-domain bands (BandScale.forRows)");let r=this.d3(e);if(r===void 0)throw new Error(`BandScale: unknown band id "${e}"`);return r}},f3={bandwidth:56,step:64};function RN(){return p_.fixedRow(f3)}var nh=class{constructor(e){R(this,"domain");R(this,"range");R(this,"pixelsPerDay");R(this,"calendar");R(this,"d3");this.domain=e.domain,this.range=e.range,this.calendar=e.calendar;let r=Math.max(1,Tr(e.domain[0],e.domain[1]));this.pixelsPerDay=(e.range[1]-e.range[0])/r,this.d3=rh().domain(e.domain).range(e.range)}forward(e){let r=Tr(this.domain[0],e);return this.range[0]+r*this.pixelsPerDay}forwardWithinDomain(e){return e<this.domain[0]||e>this.domain[1]?null:this.forward(e)}invert(e){return this.d3.invert(e)}get originX(){return this.range[0]}get widthPx(){return this.range[1]-this.range[0]}};function ih(t){return t.endsWith(":")?t.slice(0,-1):t}function SN(t,e){let n=t.roadmapDecl?.properties.find(c=>ih(c.key)==="scale")?.value,i="weeks",o,s;if(n)if(n==="days"||n==="weeks"||n==="months"||n==="quarters"||n==="years")i=n;else{let c=/^(\d+)([dwmqy])$/.exec(n);if(c){let l=Math.max(1,parseInt(c[1],10));switch(c[2]){case"d":i="days";break;case"w":i="weeks";break;case"m":i="months";break;case"q":i="quarters";break;case"y":i="years";break}o=oh(i)*l,s=1}}let a=s??xk[i]??4;if(e){let l=e.properties.find(m=>ih(m.key)==="unit")?.value??i,u=e.properties.find(m=>ih(m.key)==="label-every"),f=e.properties.find(m=>ih(m.key)==="pixels-per-unit"),d=u?Math.max(1,parseInt(u.value,10)||a):a,p=f?Math.max(1,parseInt(f.value,10)||oh(l)):o??oh(l);return{unit:l,labelEvery:d,pixelsPerUnit:p}}return{unit:i,labelEvery:a,pixelsPerUnit:o??oh(i)}}function oh(t){switch(t){case"days":return hk;case"weeks":return 40;case"months":return 80;case"quarters":return 160;case"years":return 320}}function AN(t,e,r,n=vl){let i=r.daysPerUnit(e.unit),o=i*t.pixelsPerDay,s=Math.max(1,Math.round(t.widthPx/t.pixelsPerDay)),a=Math.floor(s/i)+1,c=[];for(let l=0;l<a;l++){let u=l*i,f=t.originX+u*t.pixelsPerDay,d=l%e.labelEvery===0,p=l===a-1;c.push({x:f,labelX:p?void 0:f+o/2,major:d,label:d&&!p?d3(e.unit,To(t.domain[0],u),l,n):void 0})}return c}function d3(t,e,r,n){switch(t){case"days":return`${e.getUTCMonth()+1}/${e.getUTCDate()}`;case"weeks":{let i=e.toLocaleString(n,{month:"short",timeZone:"UTC"}),o=e.getUTCDate().toString().padStart(2,"0");return`${i} ${o}`}case"months":return e.toLocaleString(n,{month:"short",timeZone:"UTC"});case"quarters":{let i=Math.floor(e.getUTCMonth()/3)+1;return`${wp(n).quarterPrefix}${i} ${e.getUTCFullYear()}`}case"years":return`${e.getUTCFullYear()}`}}function IN(t){return{daysPerUnit:e=>h_(e,t),addUnits:(e,r,n)=>To(e,r*h_(n,t)),isWorkingDay:()=>!0}}function kN(t,e){return h_(t,e)}function h_(t,e){switch(t){case"days":return 1;case"weeks":return e.daysPerWeek;case"months":return e.daysPerMonth;case"quarters":return e.daysPerQuarter;case"years":return e.daysPerYear}}var m_=class{constructor(e,r){R(this,"id");R(this,"anchor");this.id=e,this.anchor=r}place(e,r){let n=ae(this.anchor.properties,"date"),i=mt(n);if(!i)return null;let o=e.scale.forwardWithinDomain(i);if(o===null)return null;let s=ft("anchor",this.anchor.properties,e.styleCtx),a=e.markerRowPlacements.get(this.id),c=a?.centerY??e.timeline.markerRow.y,l={x:o,y:c},u=a?.labelBox??{x:o+6+6,y:c-4,width:0,height:12},f=a?.labelSide??"right";return e.entityLeftEdges.set(this.id,o),e.entityRightEdges.set(this.id,o),e.entityMidpoints.set(this.id,l),{id:this.id,title:this.anchor.title??this.id,center:l,radius:6,style:s,predecessorPoints:[],cutTopY:e.chartTopY,cutBottomY:e.swimlaneBottomY,bumpedUp:(a?.rowIndex??0)>0,labelBox:u,labelSide:f}}};function PN(t,e,r){let n=[];for(let[i,o]of t){let s=new m_(i,o).place(e,r);s&&n.push(s)}return n}function g_(t,e,r){let n=[],i=new Map,o=new Map;return[...t.entries()].sort(([c],[l])=>c.localeCompare(l)).forEach(([c,l],u)=>{let f=u+1;i.set(c,f),o.set(c,ut(l.properties,"on")),n.push({number:f,title:l.title??c,description:l.description?.text,style:ft("footnote",l.properties,e.styleCtx)})}),{area:{box:{x:Br,y:r+Br,width:e.chartRightX-2*Br,height:n.length===0?0:Nl+n.length*Pl+Br},entries:n},index:i,hosts:o}}var p3=.8,h3=1;function m3(t){let e=[];return ON(t,e),e}function ON(t,e){for(let r of t)if(r.kind==="item"){let n=g3(r);n>0&&r.box.width>0&&e.push({startX:r.box.x,endX:r.box.x+r.box.width,load:n})}else(r.kind==="parallel"||r.kind==="group")&&ON(r.children,e)}function g3(t){return t.capacity?t.capacity.value:t.size?1:0}function LN(t){if(t.capacityValue<=0||t.warnFraction===null&&t.overFraction===null)return null;let e=m3(t.children);if(e.length===0)return null;let r=new Set;for(let s of e)r.add(s.startX),r.add(s.endX);let n=Array.from(r).sort((s,a)=>s-a);if(n.length<2)return null;let i=[];for(let s=0;s<n.length-1;s++){let a=n[s],c=n[s+1],l=(a+c)/2,u=0;for(let f of e)f.startX<=l&&l<f.endX&&(u+=f.load);i.push({startX:a,endX:c,load:u,classification:y3(u,t.capacityValue,t.warnFraction,t.overFraction)})}let o=[];for(let s of i){let a=o[o.length-1];a&&a.classification===s.classification&&a.endX===s.startX?a.endX=s.endX:o.push({...s})}return{segments:o,capacityValue:t.capacityValue,warnFraction:t.warnFraction,overFraction:t.overFraction}}function y3(t,e,r,n){let i=t/e;return n!==null&&i>=n?"red":r!==null&&i>=r?"yellow":"green"}function DN(t,e){let r=e.get("swimlane"),n=CN(ae(t.properties,"utilization-warn-at"),r?ae(r.properties,"utilization-warn-at"):void 0,p3),i=CN(ae(t.properties,"utilization-over-at"),r?ae(r.properties,"utilization-over-at"):void 0,h3);return{warn:n,over:i}}function CN(t,e,r){let i=_3(t??e);return i.kind==="unset"?r:i.kind==="none"?null:i.value}var x3=/^\d+(?:\.\d+)?%$/,T3=/^\d+\.\d+$/;function _3(t){if(t===void 0)return{kind:"unset"};if(t==="none")return{kind:"none"};if(x3.test(t)){let e=parseFloat(t)/100;return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}if(T3.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}return{kind:"unset"}}var MN=10;function E3(t,e,r){let n=ae(t.properties,"capacity"),i=qn(n);if(i===null)return{capacity:null,badgeWidthPx:0};let o=Wa(i),s=qa(e.capacityIcon,r),a=Xi(o,s,MN);return{capacity:{value:i,text:o,icon:s},badgeWidthPx:a}}var v3=10,b3=38,w3=8;function R3(t,e,r){let n=t.title??t.name??"";if(!n)return 0;let i=ae(t.properties,"owner");return Va(0,n,i??void 0,e,r).rightX}function S3(t,e){if(!t.name)return[];let r=[];for(let[n,i]of e.footnoteHosts.entries())if(i.includes(t.name)){let o=e.footnoteIndex.get(n);o!==void 0&&r.push(o)}return r.sort((n,i)=>n-i),r}function A3(t,e,r,n){for(let i of t.content){if(i.$type==="DescriptionDirective")continue;let o=ar(i)?i.properties:i.properties??[];return n.resolveChildStart(o,e,e,r)}}var Ga=class{constructor(e,r){R(this,"input");R(this,"deps");this.input=e,this.deps=r}get id(){return this.input.lane.name??""}place(e,r){let{lane:n,bandIndex:i}=this.input,{deps:o}=this,s=ft("swimlane",n.properties,r.styleCtx),a=e.x,c=r.bandScale.step(),l=r.currentFlowKey;r.currentFlowKey=`lane:${n.name??i}`;let{capacity:u,badgeWidthPx:f}=E3(n,s,r.symbols),d=S3(n,r),p=d.length>0?o.estimateTextWidth(d.join(","),MN):0,m=R3(n,f,p),y=A3(n,a,r,o),E=!n.title||y===void 0||y>=m+w3,_=e.y+(E?v3:b3),x=new Ra({laneLeftX:a,originY:_,minRowHeight:c,slackCorridors:r.slackCorridors}),v=a,k=[];for(let w of n.content){if(w.$type==="DescriptionDirective")continue;if(!ar(w)){let $e=w.properties??[],q=o.resolveChildStart($e,v,a,r),{rowIndex:Q,y:re}=x.placeBlock(),M=o.newCursor(q,re),de=o.sequenceOne(w,M,r);k.push(de);let pe=de.box.x+de.box.width,Ne=Math.max(c,M.height);x.commitBlock({rowIndex:Q,placed:de,blockHeight:Ne,blockEnd:pe}),v=Math.max(v,pe);continue}let D=w.properties,U=o.resolveChildStart(D,v,a,r),S=Pi(D,r.sizes,r.cal),A=Math.max(_r,S*r.timeline.pixelsPerDay),I=U+A,B=w.name??"",z=o.predictItemChipExtraHeight(w,r),j=c+z,{rowIndex:V,y:K}=x.placeItem({childId:B,desiredStart:U,desiredEnd:I,predictedHeight:j}),ue=o.newCursor(U,K),Y=o.sequenceItem(w,ue,r);k.push(Y);let ne=Y.box.x+Y.box.width+Fr;v=Math.max(v,ne);let Re=null;(Y.textSpills||Y.chipsOutside||Y.dotSpills||Y.iconSpills||Y.footnoteSpills)&&(Re=Math.max(Y.decorationsRightX,Y.chipsOutside?Y.chipsRightX:0)+6),x.commitItem({rowIndex:V,placed:Y,logicalEnd:ne,spillReservation:Re,rowHeight:j})}let F=_-e.y,O=Math.max(c+32,F+x.usedHeight()+16),L=Math.max(x.usedRightX(),m),G={x:0,y:e.y,width:r.chartRightX,height:O},H=ae(n.properties,"owner"),oe;if(H){let w=r.teams.get(H),D=r.persons.get(H);oe=w?.title??D?.title??H}let $=u?(()=>{let{warn:w,over:D}=DN(n,r.styleCtx.defaults);return LN({children:k,capacityValue:u.value,warnFraction:w,overFraction:D})})():null;return r.currentFlowKey=l,{positioned:{id:n.name,title:n.title??n.name??"",box:G,bandIndex:i,children:k,nested:[],style:s,owner:oe,footnoteIndicators:d,capacity:u,utilization:$},usedHeight:O,usedRightX:L}}};var I3=18,k3=14,N3=14,P3=16,C3=32;function $N(t,e,r,n){let i=r+I3,o=[],s=!0;for(let a of t){s||(i+=P3),s=!1;let c=a.content.roadmap?.title??a.sourcePath,l=i+k3,u={cal:e.cal,styleCtx:{theme:e.styleCtx.theme,styles:a.config.styles,defaults:a.config.defaults,labels:a.content.labels},sizes:vp(a.content.sizes,e.cal),labels:a.content.labels,teams:a.content.teams,persons:a.content.persons,symbols:a.config.symbols,footnoteIndex:new Map,footnoteHosts:new Map,timeline:e.timeline,scale:e.scale,calendar:e.calendar,bandScale:e.bandScale,entityLeftEdges:new Map,entityRightEdges:new Map,entityMidpoints:new Map,entityVisualLeftX:new Map,entityVisualRightX:new Map,itemArrowSource:new Map,itemFlowKey:new Map,currentFlowKey:"",itemSlackAttachY:new Map,slackCorridors:[],markerRowPlacements:new Map,chartTopY:l,chartBottomY:l,swimlaneBottomY:l,chartRightX:e.chartRightX,nextParallelId:0,nextGroupId:0},f=[],d=l,p=0,m=u.timeline.originX;for(let O of a.content.swimlanes.values()){u.nextParallelId=0,u.nextGroupId=0;let{positioned:L,usedHeight:G,usedRightX:H}=new Ga({lane:O,bandIndex:p},n).place({x:u.timeline.originX,y:d},u);f.push(L),d+=G,p++,H>m&&(m=H)}let y=d,E=Math.max(e.bandScale.bandwidth(),y-i+N3),_=0,{chromeRightX:x}=Ya(_,c,a.sourcePath),v=Math.max(x,m)+C3,k=Math.min(e.chartRightX-_,v-_),F={x:_,y:i,width:k,height:E};for(let O of f)O.box.width=k;o.push({sourcePath:a.sourcePath,label:c,box:F,nestedSwimlanes:f,style:ft("swimlane",[],e.styleCtx)}),i+=E}return{regions:o,endY:i}}function ch(t,e){let r=[];for(let n of t){let o=e.entityVisualRightX.get(n)??e.entityRightEdges.get(n);if(o===void 0)continue;let s=e.itemSlackAttachY.get(n)??e.entityMidpoints.get(n)?.y??0,a=e.itemFlowKey.get(n)??`marker:${n}`;r.push({ref:n,x:o,y:s,flowKey:a})}return r}function lh(t){let e=new Map;for(let r of t){let n=e.get(r.flowKey);(!n||r.x>n.x)&&e.set(r.flowKey,r)}return Array.from(e.values())}function FN(t,e,r,n,i,o,s,a){let c=n.length*i*.58*(o?1.05:1),l=t+r+6,u=t-r-6-c,f=l+c<=a,d=u>=s,p=f?"right":d?"left":"right";return{box:{x:p==="right"?l:u,y:e-4,width:c,height:12},side:p}}var y_=class{constructor(e,r){R(this,"id");R(this,"milestone");this.id=e,this.milestone=r}place(e){let r=this.milestone,n=ft("milestone",r.properties,e.styleCtx),i=ae(r.properties,"date"),o=ut(r.properties,"after"),s=mt(i),a=e.timeline.markerRow.y,c=6,l=r.title??this.id,u=null,f=a,d=null,p="right",m=!1,y,E=!1;if(s){let x=e.scale.forwardWithinDomain(s);if(x===null)return null;u=x,m=!0;let v=e.markerRowPlacements.get(this.id);v&&(f=v.centerY,d=v.labelBox,p=v.labelSide);let k=ch(o,e),F=lh(k),O=null;for(let L of F)(!O||L.x>O.x)&&(O=L);O&&O.x>x&&(E=!0,y=[{x:O.x,y:O.y>0?O.y:f}])}else if(o.length>0){let x=ch(o,e),v=lh(x);v.sort((L,G)=>G.x-L.x);let k=v[0]?.x??e.timeline.originX;u=k,m=!1;let F=FN(u,a,c,l,10,!0,e.timeline.box.x,e.chartRightX);f=a,d=F.box,p=F.side,e.markerRowPlacements.set(this.id,{rowIndex:0,centerY:f,labelBox:d,labelSide:p});let O=[];for(let L=1;L<v.length;L++){let G=v[L];G.x<k&&G.y>0&&O.push({x:G.x,y:G.y})}O.length>0&&(y=O)}if(u===null)return null;if(!d){let x=FN(u,f,c,l,10,!0,e.timeline.box.x,e.chartRightX);d=x.box,p=x.side}let _={x:u,y:f};return e.entityLeftEdges.set(this.id,_.x),e.entityRightEdges.set(this.id,_.x),e.entityMidpoints.set(this.id,_),{id:this.id,title:l,center:_,radius:c,fixed:m,slackArrows:y,isOverrun:E,style:n,cutTopY:e.chartTopY,cutBottomY:e.swimlaneBottomY,labelBox:d,labelSide:p}}};function UN(t,e){let r=[];for(let[n,i]of t){let o=new y_(n,i).place(e);o&&r.push(o)}return r}var L3=4;function D3(t,e){e>t.chartRightX&&(t.chartRightX=e)}var fh=class{place(e,r,n,i){let o=n.theme??"light",s=bT[o],a=n.width??1280,c=tk(n.locale,F3(e)),l=KI(e,r.config.calendar),u=SN(e,r.config.scale),f=vp(r.content.sizes,l),d={theme:s,styles:r.config.styles,defaults:r.config.defaults,labels:r.content.labels},{startDate:p,endDate:m}=i.computeDateWindow(e,{cal:l,sizes:f},r,n.today,u),y=ft("roadmap",e.roadmapDecl?.properties??[],d),E=y.headerPosition==="beside",_=y.timelinePosition!=="bottom",x=y.timelinePosition==="bottom"||y.timelinePosition==="both",v=e.roadmapDecl?.title??e.roadmapDecl?.name??"",k=ae(e.roadmapDecl?.properties??[],"author"),F=i.sizeBesideHeader(v,k),O=E?{x:0,y:0,width:F.boxWidth,height:0}:{x:0,y:0,width:0,height:Dp},L=E?F.boxWidth:0,G=E?8:Dp+8,H=IN(l),oe=u.pixelsPerUnit/H.daysPerUnit(u.unit),w=Math.max(1,Tr(p,m))*oe,D=L+Ur,U=w,S=L+Ur+U+Ur,A=Math.min(a,S),I=n.today!==void 0&&n.today>=p&&n.today<=m,B=r.content.anchors.size+r.content.milestones.size>0,z=I?Ci:0,j=_?Sl:0,V=new nh({domain:[p,m],range:[D,D+w],calendar:H}),K=Math.max(A,D+U+Ur),ue=[];for(let[Z,ce]of r.content.anchors){let Ge=mt(ae(ce.properties,"date"));if(!Ge)continue;let vr=V.forwardWithinDomain(Ge);vr!==null&&ue.push({id:Z,centerX:vr,radius:6,title:ce.title??Z,fontSize:10,bold:!1,date:Ge,isMilestone:!1})}for(let[Z,ce]of r.content.milestones){let Ge=mt(ae(ce.properties,"date"));if(!Ge)continue;let vr=V.forwardWithinDomain(Ge);vr!==null&&ue.push({id:Z,centerX:vr,radius:6,title:ce.title??Z,fontSize:10,bold:!0,date:Ge,isMilestone:!0})}let Y=GN(ue,L,K,i.estimateTextWidth),ne=B?Math.max(1,Y.rowCount):0,Re=ne*26,Se=z+j+Re,$e=Se+8,q=E?F.cardHeight+L3:0,Q=Math.max(G,q-Se),re=Q+z,M=re+j,de=M+Re,pe=AN(V,u,H,c),Ne={box:{x:D,y:Q,width:w,height:0},ticks:pe,pixelsPerDay:oe,originX:D,startDate:p,endDate:m,labelStyle:ft("roadmap",[],d),pillRowHeight:z,tickPanelY:re,tickPanelHeight:j,markerRow:{y:M+13,height:Re,collisionY:M-8},minorGrid:y.minorGrid},at=new Map;for(let[Z,ce]of Y.placements){let Ge=M+13+ce.rowIndex*26;at.set(Z,{rowIndex:ce.rowIndex,centerY:Ge,labelBox:{...ce.labelBox,y:Ge-4},labelSide:ce.labelSide})}let W={cal:l,styleCtx:d,sizes:f,labels:r.content.labels,teams:r.content.teams,persons:r.content.persons,symbols:r.config.symbols,footnoteIndex:new Map,footnoteHosts:new Map,timeline:Ne,scale:V,calendar:H,bandScale:RN(),entityLeftEdges:new Map,entityRightEdges:new Map,entityMidpoints:new Map,entityVisualLeftX:new Map,entityVisualRightX:new Map,itemArrowSource:new Map,itemFlowKey:new Map,currentFlowKey:"",itemSlackAttachY:new Map,slackCorridors:[],markerRowPlacements:at,chartTopY:Q+$e,chartBottomY:0,swimlaneBottomY:0,chartRightX:K,nextParallelId:0,nextGroupId:0};for(let Z of ue){let ce=at.get(Z.id);ce&&(W.entityLeftEdges.set(Z.id,Z.centerX),W.entityRightEdges.set(Z.id,Z.centerX),W.entityMidpoints.set(Z.id,{x:Z.centerX,y:ce.centerY}))}let er=g_(r.content.footnotes,W,0);W.footnoteIndex=er.index,W.footnoteHosts=er.hosts;let Ui=new Map(W.entityLeftEdges),ur=new Map(W.entityRightEdges),jr=new Map(W.entityMidpoints),ye=[...r.content.swimlanes.values()],Bi=ft("swimlane",[],d),zr=dk[Bi.spacing]??0,dn=()=>{W.nextParallelId=0,W.nextGroupId=0;let Z=[],ce=W.chartTopY,Ge=0,vr=W.timeline.originX;for(let Gi of ye){Ge>0&&(ce+=zr);let{positioned:zn,usedHeight:wh,usedRightX:Ql}=new Ga({lane:Gi,bandIndex:Ge},i).place({x:W.timeline.originX,y:ce},W);Z.push(zn),ce+=wh,Ql>vr&&(vr=Ql),Ge++}return{swimlanes:Z,nextY:ce,maxRightX:vr}},Er=dn(),Nt=Er.swimlanes,$t=Er.nextY,fr=M3(r.content.milestones,W);fr.length>0&&(W.entityLeftEdges=new Map(Ui),W.entityRightEdges=new Map(ur),W.entityMidpoints=new Map(jr),W.itemSlackAttachY=new Map,W.entityVisualLeftX=new Map,W.entityVisualRightX=new Map,W.itemArrowSource=new Map,W.itemFlowKey=new Map,W.currentFlowKey="",W.slackCorridors=fr,Er=dn(),Nt=Er.swimlanes,$t=Er.nextY),D3(W,Er.maxRightX+Ur);for(let Z of Nt)Z.box.width=W.chartRightX;let T=r.content.isolatedRegions,P=[];if(T.length>0){let Z=$N(T,W,$t+8,i);P=Z.regions,$t=Z.endY}W.chartBottomY=$t,W.swimlaneBottomY=$t,Ne.box.height=W.chartBottomY-Ne.box.y;let X=UN(r.content.milestones,W),J=ue.map(Z=>({id:Z.id,centerX:Z.centerX,radius:Z.radius,title:Z.title,fontSize:Z.fontSize,bold:Z.bold}));for(let Z of X)Z.fixed||J.push({id:Z.id??"",centerX:Z.center.x,radius:Z.radius,title:Z.title,fontSize:10,bold:!0});let _e=GN(J,L,W.chartRightX,i.estimateTextWidth);W.markerRowPlacements.clear();for(let[Z,ce]of _e.placements){let Ge=M+13+ce.rowIndex*26;W.markerRowPlacements.set(Z,{rowIndex:ce.rowIndex,centerY:Ge,labelBox:{...ce.labelBox,y:Ge-4},labelSide:ce.labelSide})}for(let Z of X){let ce=W.markerRowPlacements.get(Z.id??"");ce&&(Z.center={x:Z.center.x,y:ce.centerY},Z.labelBox=ce.labelBox,Z.labelSide=ce.labelSide)}for(let Z of ue){let ce=W.markerRowPlacements.get(Z.id);ce&&W.entityMidpoints.set(Z.id,{x:Z.centerX,y:ce.centerY})}for(let Z of X)Z.fixed||W.entityMidpoints.set(Z.id??"",{x:Z.center.x,y:Z.center.y});let Be=B?Math.max(1,_e.rowCount):0;if(Be>ne){let Z=(Be-ne)*26;W.timeline.markerRow.height=Be*26,W.timeline.box.height+=Z,W.chartTopY+=Z,W.chartBottomY+=Z,W.swimlaneBottomY+=Z;for(let ce of Nt)x_(ce,Z);for(let ce of P)$3(ce,Z);for(let[ce,Ge]of W.entityMidpoints)W.markerRowPlacements.has(ce)||W.entityMidpoints.set(ce,{x:Ge.x,y:Ge.y+Z});for(let[ce,Ge]of W.itemSlackAttachY)W.itemSlackAttachY.set(ce,Ge+Z);for(let ce of X)if(ce.cutTopY=W.chartTopY,ce.cutBottomY=W.swimlaneBottomY,ce.slackArrows)for(let Ge of ce.slackArrows)Ge.y+=Z}x&&(W.timeline.bottomTickPanelY=W.chartBottomY+8,W.timeline.bottomTickPanelHeight=Sl,W.chartBottomY+=8+Sl);let Ae=new Set(X.map(Z=>Z.center.x)),Ze=PN(r.content.anchors,W,Ae),ct=i.collectItems(ye),He=i.buildDependencies(ct,Nt,P,W),Fe=i.buildNowline(n.today,W,c),gt=g_(r.content.footnotes,W,W.chartBottomY);W.footnoteIndex=gt.index,W.footnoteHosts=gt.hosts,O.height=O.height||W.chartBottomY,E||(O.width=W.chartRightX);let tr=E?{x:6,y:de-F.cardHeight,width:F.cardWidth,height:F.cardHeight}:{x:0,y:0,width:W.chartRightX,height:Dp},Wr=gt.area.entries.length>0?gt.area.box.y+gt.area.box.height:W.chartBottomY,dr={x:W.chartRightX-Ur-UT,y:Wr+Ur,width:UT,height:yk},Je=dr.y+dr.height+Ur,pr={box:O,position:y.headerPosition,title:v,author:k,titleLines:F.titleLines,authorLines:F.authorLines,cardBox:tr,logo:void 0,style:y,attributionBox:dr};return{width:W.chartRightX,height:Je,theme:o,palette:s,backgroundColor:s.surface.page,header:pr,timeline:Ne,nowline:Fe,swimlanes:Nt,anchors:Ze,milestones:X,edges:He,footnotes:gt.area,includes:P,chartBox:{x:L,y:W.chartTopY,width:W.chartRightX-L,height:W.chartBottomY-W.chartTopY}}}};function M3(t,e){let r=[];for(let[n,i]of t){let o=ae(i.properties,"date"),s=ut(i.properties,"after"),a=mt(o),c=ch(s,e),l=lh(c);if(a){let f=e.scale.forwardWithinDomain(a);if(f===null)continue;let d=null;for(let p of l)(!d||p.x>d.x)&&(d=p);d&&d.x>f&&d.y>0&&r.push({xStart:Math.min(d.x,f),xEnd:Math.max(d.x,f),y:d.y,slackPredId:d.ref,milestoneId:n});continue}if(l.length===0)continue;l.sort((f,d)=>d.x-f.x);let u=l[0].x;for(let f=1;f<l.length;f++){let d=l[f];d.x<u&&d.y>0&&r.push({xStart:d.x,xEnd:u,y:d.y,slackPredId:d.ref,milestoneId:n})}}return r}function x_(t,e){t.box.y+=e;for(let r of t.children)XN(r,e);for(let r of t.nested)x_(r,e)}function XN(t,e){if(t.box.y+=e,t.kind==="item"){t.overflowBox&&(t.overflowBox.y+=e);for(let r of t.labelChips)r.box.y+=e;return}for(let r of t.children)XN(r,e)}function $3(t,e){t.box.y+=e;for(let r of t.nestedSwimlanes)x_(r,e)}function GN(t,e,r,n){let i=[...t].sort((a,c)=>a.centerX-c.centerX),o=new Map,s=[];for(let a of i){let c=n(a.title,a.fontSize)*(a.bold?1.05:1),l=a.centerX+a.radius+6,u=a.centerX-a.radius-6-c,f=l+c<=r,d=u>=e,p=a.centerX-a.radius,m=a.centerX+a.radius,y=L=>L==="right"?l:u,E=L=>L==="right"?f:d,_=(L,G)=>{let H=Math.min(p,L),oe=Math.max(m,L+c);return s[G].some($=>$.left<oe&&$.right>H)},x=-1,v="right",k=l;e:for(let L=s.length-1;L>=0;L--)for(let G of["right","left"]){if(!E(G))continue;let H=y(G);if(!_(H,L)){x=L,v=G,k=H;break e}}if(x===-1){for(let[L,G]of o)o.set(L,{...G,rowIndex:G.rowIndex+1});s=[[],...s],x=0,v=f?"right":"left",k=y(v)}let F=Math.min(p,k),O=Math.max(m,k+c);s[x].push({left:F,right:O}),o.set(a.id,{rowIndex:x,labelBox:{x:k,y:0,width:c,height:12},labelSide:v})}return{placements:o,rowCount:s.length}}function F3(t){return t.directive?.properties.find(r=>U3(r.key)==="locale")?.value}function U3(t){return t.endsWith(":")?t.slice(0,-1):t}function X3(t){switch(t){case"done":case"completed":return"done";case"in-progress":case"active":return"in-progress";case"at-risk":case"blocked":case"planned":return t;case void 0:return"planned";default:return"neutral"}}function H3(t){if(!t)return 0;let e=/^(\d{1,3})%$/.exec(t);return e?Math.max(0,Math.min(100,parseInt(e[1],10)))/100:0}function j3(t,e){if(t)return/^\d+(?:\.\d+)?[dwmqy]$/.test(t)||/^\d+%$/.test(t)?t:e.sizes.get(t)?.effortLiteral??t}function z3(t,e){if(t)return e.teams.get(t)?.title??e.persons.get(t)?.title??t}function W3(t){if(!t)return{icon:"none"};let e=t.toLowerCase();return e.includes("linear.app")?{icon:"linear",href:t}:e.includes("github.com")?{icon:"github",href:t}:e.includes("atlassian.net")||e.includes("jira.")?{icon:"jira",href:t}:{icon:"generic",href:t}}function dh(t,e,r,n,i){let o=fk(t,e),s=t.name??t.title??"",a=o.padding==="none"?"xs":o.padding,c=pk[a],l=Math.max(20,Math.round(s.length*5.5+c*2));return i!==void 0&&(l=Math.min(l,i)),{text:s,style:o,box:{x:r,y:n,width:l,height:13}}}function w_(t,e,r,n){let i=t.properties,o=ft("item",i,r.styleCtx),s=ae(i,"size"),a=s?r.sizes.get(s)??null:null,c=Pi(i,r.sizes,r.cal),l=JI(i,r.sizes,r.cal),u=ut(i,"after"),f=ut(i,"before"),d=ae(i,"date"),p=ZI(ae(i,"remaining"),r.sizes,r.cal),m=e.x,y=mt(d);if(y){let le=r.scale.forwardWithinDomain(y);le!==null&&(m=le)}else if(u.length>0){let le=e.x;for(let Qe of u){let dt=mt(Qe);if(dt){let Wn=r.scale.forwardWithinDomain(dt);Wn!==null&&(le=Math.max(le,Wn));continue}let pn=r.entityRightEdges.get(Qe);pn!==void 0&&(le=Math.max(le,pn))}m=Math.max(e.x,le)}let E=Math.max(_r,c*r.timeline.pixelsPerDay),_=m,x=m+E,v=ae(i,"link"),k=W3(v),F=k.icon!=="none",O=Math.max(_r,E-2*Fr),L=ut(i,"labels"),G=[];for(let le of L){let Qe=r.labels.get(le);if(!Qe)continue;let dt=dh(Qe,r.styleCtx,0,0);G.push({id:Qe,width:dt.box.width})}let H=0;for(let le=0;le<G.length;le+=1)le>0&&(H+=4),H+=G[le].width;let oe=Math.max(0,O-24),$=G.length>0&&H>oe,w=!1,D,U;if(f.length>0){let le,Qe;for(let dt of f){let pn=mt(dt),Wn=pn?r.scale.forwardWithinDomain(pn)??void 0:r.entityLeftEdges.get(dt);Wn!==void 0&&(le===void 0||Wn<le)&&(le=Wn,Qe=dt)}le!==void 0&&x>le&&(w=!0,D={x:le,y:e.y,width:x-le,height:r.bandScale.bandwidth()},U=Qe)}let S=ae(i,"status"),A=X3(S),I=H3(S);I===0&&A==="done"&&(I=1);let B=/^(\d{1,3})%$/.exec(ae(i,"remaining")??"");I===0&&A==="in-progress"&&B&&(I=1-Math.max(0,Math.min(100,parseInt(B[1],10)))/100),I===0&&A==="in-progress"&&p>0&&l>0&&(I=Math.max(0,Math.min(1,1-p/l)));let z={done:"#ecfdf5","in-progress":"#eff6ff","at-risk":"#fffbeb",blocked:"#fee2e2",planned:"#f8fafc",neutral:"#f8fafc"},j={done:"#052e16","in-progress":"#172554","at-risk":"#422006",blocked:"#7f1d1d",planned:"#1e293b",neutral:"#1e293b"},V={done:"#ebebeb","in-progress":"#e4e4e4","at-risk":"#eeeeee",blocked:"#dcdcdc",planned:"#f5f5f5",neutral:"#f5f5f5"},K={done:r.styleCtx.theme.status.done,"in-progress":r.styleCtx.theme.status.inProgress,"at-risk":r.styleCtx.theme.status.atRisk,blocked:r.styleCtx.theme.status.blocked,planned:r.styleCtx.theme.status.planned,neutral:r.styleCtx.theme.status.neutral},ue=r.styleCtx.theme.name,Y=ue==="dark",ne=Y?"#0f172a":"#ffffff",Re=ue==="grayscale"?"#9e9e9e":"#94a3b8";o.bg===ne&&(o.bg=ue==="grayscale"?V[A]:Y?j[A]:z[A]),o.fg===Re&&(o.fg=K[A]);let Se=ae(i,"duration"),$e=!!Se&&/^\d+(?:\.\d+)?[dwmqy]$/.test(Se),q=a?a.title??a.name:"",Q=$e?Se:q||void 0,re=ae(i,"remaining"),M=j3(re,r),de=z3(n??ae(i,"owner"),r),pe=()=>[Q,de].filter(Boolean).join(" "),Ne;if(A==="in-progress"&&M){let le=pe();Ne=le?`${le} \u2014 ${M} remaining`:`${M} remaining`}else if(A==="in-progress"&&I>0&&I<1){let le=Math.round((1-I)*100),Qe=pe();Ne=Qe?`${Qe} \u2014 ${le}% remaining`:`${le}% remaining`}else(de||Q)&&(Ne=pe()||void 0);let at=ae(i,"capacity"),W=qn(at),er=null,Ui=0;if(W!==null){let le=Wa(W),Qe=qa(o.capacityIcon,r.symbols);er={value:W,text:le,icon:Qe};let dt=11;Ui=(Ne?fn(" ",dt):0)+Xi(le,Qe,dt)}let ur=t.title??t.name??"",jr=new Bp({id:t.name??"",title:ur,logicalLeftX:_,logicalRightX:x,metaText:Ne,metaTrailingWidth:Ui,hasLinkIcon:F}).place({x:_,y:e.y},{time:r.scale,bands:r.bandScale,style:o}),ye=jr.box,Bi=r.bandScale.bandwidth(),zr=ye.width<17,dn=F&&ye.width<41,Er=ye.width<23,Nt=jr.textSpills||dn,$t=null;$&&($t=Sh(G,ye.width));let fr=$t?$t.rows.length:G.length>0?1:0,T=Ne!==void 0||er!==null,P=YN($,Nt,fr,Bi,T);P>0&&(ye.height=Bi+P);let X=[],J=ye.y+Bi-an-13-3,_e=ye.y+38+3,Ae=$&&Nt||!$&&T&&G.length>0?Math.max(J,_e):J,Ze=$?ye.x+ye.width+6:ye.x+12,ct=Ze;if($t)for(let le=0;le<$t.rows.length;le+=1){let Qe=Ae+le*17,dt=Ze;for(let Wn of $t.rows[le]){let Z_=dh(Wn.id,r.styleCtx,dt,Qe);X.push(Z_),dt+=Z_.box.width+4}let pn=dt-4;pn>ct&&(ct=pn)}else{let le=Ze;for(let Qe of G){let dt=dh(Qe.id,r.styleCtx,le,Ae);X.push(dt),le+=dt.box.width+4}ct=G.length>0?le-4:Ze}let He=new Set;if(t.name){for(let[le,Qe]of r.footnoteHosts.entries())if(Qe.includes(t.name)){let dt=r.footnoteIndex.get(le);dt!==void 0&&He.add(dt)}}let Fe=[...He].sort((le,Qe)=>le-Qe),gt=de??n??ae(i,"owner"),tr=t.description?.text,Wr=Fe.length>0&&Er,Je=ye.x+ye.width+6,pr=!1,Jl=null;dn&&(pr&&(Je+=4),Jl=Je,Je=Jl+14,pr=!0);let Z=0;if(Nt){pr&&(Je+=4);let le=fn(ur,13),Qe=(Ne?fn(Ne,11):0)+Ui;Z=Math.max(le,Qe),Je+=Z,pr=!0}let ce=null;Wr&&(pr&&(Je+=4),ce=Je,Je+=Fe.length*8,pr=!0);let Ge=null;zr&&(pr&&(Je+=4),Ge=Je+5,Je=Ge+5,pr=!0);let vr=Math.max(ye.x+ye.width,Je),Gi=t.name;Gi&&(r.entityLeftEdges.set(Gi,_),r.entityRightEdges.set(Gi,x));let zn=Gi??VN(t);r.entityMidpoints.set(zn,{x:(_+x)/2,y:ye.y+ye.height/2}),r.entityVisualLeftX.set(zn,ye.x),r.entityVisualRightX.set(zn,ye.x+ye.width);let wh=Nt?{x:ye.x+ye.width,y:ye.y+ye.height-an/2}:{x:ye.x+ye.width,y:ye.y+ye.height/2};r.itemArrowSource.set(zn,wh),r.itemFlowKey.set(zn,r.currentFlowKey);let Ql=Nt?ye.y+ye.height-an/2:ye.y+ye.height/2;r.itemSlackAttachY.set(zn,Ql),e.x=x,e.maxX=Math.max(e.maxX,e.x),e.height=Math.max(e.height,r.bandScale.step()+P);let K_=ok({box:ye,afterDate:Mn(u),beforeDate:Mn(f),hasLinkIcon:F,footnoteCount:Fe.length});return{kind:"item",id:Gi,title:ur,box:ye,status:A,progressFraction:I,footnoteIndicators:Fe,labelChips:X,chipsOutside:$,chipsRightX:ct,linkIcon:k.icon,linkHref:k.href,hasOverflow:w,overflowBox:D,overflowAnchorId:U,owner:gt,description:tr,metaText:Ne,textSpills:Nt,dotSpills:zr,iconSpills:dn,footnoteSpills:Wr,dotSpillCx:Ge,iconSpillX:Jl,footnoteSpillStartX:ce,decorationsRightX:vr,capacity:er,size:a,style:o,inlineDatePins:K_.length>0?K_:void 0}}function q3(t,e,r){return new Gp(t,{sequenceOne:R_,newCursor:Ap}).place(e,r)}function V3(t,e,r){return new Up(t,{sequenceItem:w_,sequenceOne:R_,resolveChildStart:ZN,newCursor:Ap,estimateTextWidth:fn,predictItemChipExtraHeight:KN}).place(e,r)}function R_(t,e,r){if(ar(t))return w_(t,e,r);if(Mr(t))return q3(t,e,r);if(Dr(t))return V3(t,e,r);throw new Error(`Unknown swimlane child type: ${t.$type??"unknown"}`)}function fn(t,e){return t.length*e*.58}function VN(t){let e=t.$cstNode?.range.start;return`#item@${e?e.line+1:0}:${e?e.character+1:0}`}function YN(t,e,r,n,i){if(r===0)return 0;let o=n-an-13-3,s=41,a;t&&e?a=s:!t&&i?a=Math.max(o,s):a=o;let l=a+(r-1)*17+13+3+an;return Math.max(0,l-n)}function KN(t,e){let r=t.properties,n=ut(r,"labels");if(n.length===0)return 0;let i=Pi(r,e.sizes,e.cal),o=Math.max(_r,i*e.timeline.pixelsPerDay),s=Math.max(_r,o-2*Fr),a=[];for(let _ of n){let x=e.labels.get(_);if(!x)continue;let v=dh(x,e.styleCtx,0,0);a.push({id:x,width:v.box.width})}if(a.length===0)return 0;let c=0;for(let _=0;_<a.length;_+=1)_>0&&(c+=4),c+=a[_].width;let l=Math.max(0,s-24),u=c>l,f=ae(r,"duration")!==void 0||ae(r,"size")!==void 0||ae(r,"owner")!==void 0||ae(r,"remaining")!==void 0||ae(r,"capacity")!==void 0,d=t.title??t.name??"",m=(d?fn(d,13):0)>l,y=u?Sh(a,s):null,E=y?y.rows.length:a.length>0?1:0;return YN(u,m,E,e.bandScale.bandwidth(),f)}function ZN(t,e,r,n){let i=mt(ae(t,"date"))??mt(ae(t,"start"));if(i){let s=n.scale.forwardWithinDomain(i);if(s!==null)return s}let o=ut(t,"after");if(o.length>0){let s=r;for(let a of o){let c=mt(a);if(c){let u=n.scale.forwardWithinDomain(c);u!==null&&(s=Math.max(s,u));continue}let l=n.entityRightEdges.get(a);l!==void 0&&(s=Math.max(s,l))}return Math.max(r,s)}return e}var T_=6;function HN(t,e,r){if(!t)return[];let n=t.split(/\s+/).filter(s=>s.length>0);if(n.length===0)return[];let i=[],o="";for(let s of n){let a=o?`${o} ${s}`:s;o&&fn(a,r)>e?(i.push(o),o=s):o=a}return o&&i.push(o),i}function Y3(t,e){let r=LT-32,n=HN(t,r,16),i=HN(e??"",r,11),o=0;for(let d of n)o=Math.max(o,fn(d,16));for(let d of i)o=Math.max(o,fn(d,11));let s=o+32,a=Math.max(mk-T_,Math.min(LT-T_,s)),c=n.length>0?(n.length-1)*20:0,l=i.length>0?18+(i.length-1)*14:0,u=26+c+l+14,f=a+T_;return{titleLines:n,authorLines:i,cardWidth:a,cardHeight:u,boxWidth:f}}function K3(t,e,r,n,i){let s=t.roadmapDecl?.properties??[],a=ae(s,"start"),c=mt(a)??Z3(n),l=ae(s,"length");if(l){let p=J3(l,e.cal);if(p>0)return{startDate:c,endDate:To(c,p)}}let u=JN(r,e,c,n),f=kN(i.unit,e.cal),d=u>0?Math.ceil(u/f)*f:4*e.cal.daysPerWeek;return{startDate:c,endDate:To(c,Math.max(1,d))}}function Z3(t){let e=t??new Date;return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()))}function J3(t,e){let r=/^(\d+(?:\.\d+)?)([dwmqy])$/.exec(t);if(!r)return 0;let n=parseFloat(r[1]);switch(r[2]){case"d":return n;case"w":return n*e.daysPerWeek;case"m":return n*e.daysPerMonth;case"q":return n*e.daysPerQuarter;case"y":return n*e.daysPerYear;default:return 0}}function JN(t,e,r,n){let i=new Map,o=new Map,s=new Map,a=0,c=f=>{let d=mt(f);return d?Tr(r,d):i.has(f)?i.get(f):o.has(f)?o.get(f):s.has(f)?s.get(f):0};for(let f of t.content.anchors.values()){let d=mt(ae(f.properties,"date"));if(d&&f.name){let p=Tr(r,d);o.set(f.name,p),a=Math.max(a,p)}}let l=(f,d)=>{let p=d;for(let m of f)m.$type!=="DescriptionDirective"&&(p=u(m,p),a=Math.max(a,p));return p},u=(f,d)=>{if(ar(f)){let p=Pi(f.properties,e.sizes,e.cal),m=mt(ae(f.properties,"date")),y=mt(ae(f.properties,"start")),E=ut(f.properties,"after"),_=d;m?_=Tr(r,m):y?_=Tr(r,y):E.length>0&&(_=Math.max(d,...E.map(c)));let x=_+p;return f.name&&i.set(f.name,x),x}if(Mr(f)){let p=ut(f.properties,"after"),m=p.length>0?Math.max(d,...p.map(c)):d,y=m;for(let E of f.content){if(E.$type==="DescriptionDirective")continue;let _=u(E,m);y=Math.max(y,_)}return y}if(Dr(f)){let p=ut(f.properties,"after"),m=p.length>0?Math.max(d,...p.map(c)):d;return l(f.content,m)}return d};for(let f of t.content.swimlanes.values())l(f.content,0);for(let f of t.content.milestones.values()){let d=mt(ae(f.properties,"date"));if(d){let m=Tr(r,d);f.name&&s.set(f.name,m),a=Math.max(a,m);continue}let p=ut(f.properties,"after");if(p.length>0){let m=Math.max(0,...p.map(c));f.name&&s.set(f.name,m),a=Math.max(a,m)}}for(let f of t.content.isolatedRegions){let d=JN({config:f.config,content:f.content,diagnostics:[],processedFiles:new Set},e,r,void 0);a=Math.max(a,d)}if(n){let f=Tr(r,n);f>0&&(a=Math.max(a,f))}return a}function Q3(t,e,r,n){let i=new bp(QI(e,r)),o=[],s=[];for(let[l,u]of t){let f=ut(u.properties,"after"),d=n.entityMidpoints.get(l),p=n.entityVisualLeftX.get(l);if(!d||p===void 0)continue;let m={x:p,y:d.y};for(let y of f){let E=n.itemArrowSource.get(y),_,x=E===void 0;if(E)_=E;else{let v=n.entityMidpoints.get(y);if(!v)continue;_={x:v.x,y:d.y}}!x&&Math.abs(_.y-m.y)<.5&&m.x-_.x<20||(o.push({fromId:y,toId:l,from:_,to:m,isMarkerSource:x}),s.push({fromId:y,toId:l}))}}let a=ek(o,i),c=[];for(let l=0;l<a.length;l++){let u=a[l];c.push({fromId:s[l].fromId,toId:s[l].toId,waypoints:u.waypoints,kind:u.underBar?"underBar":"normal",style:ft("item",[],n.styleCtx)})}return c}function eG(t,e,r){if(!t)return null;let n=e.scale.forwardWithinDomain(t);if(n===null)return null;let i=e.timeline.box.y,o=e.timeline.tickPanelY,s=wp(r).nowLabel,a=fn(s,kl),c=Math.max(PT,Math.ceil(a+2*ka)),l=e.timeline.originX-Ur,u=c/2,f;n-u<l?f="flag-right":n+u>e.chartRightX?f="flag-left":f="center";let d=e.timeline.bottomTickPanelY,p=e.timeline.bottomTickPanelHeight??0,m=d!==void 0&&p>0?d+p:e.swimlaneBottomY;return{x:n,topY:o,bottomY:m,pillTopY:i,pillMode:f,label:s,pillWidth:c,style:ft("item",[],e.styleCtx)}}function tG(t){let e=new Map,r=n=>{if(ar(n)){e.set(n.name??VN(n),n);return}if(Mr(n)){for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return}if(Dr(n)){for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return}};for(let n of t)for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return e}function S_(t,e,r={}){return new fh().place(t,e,r,{sequenceItem:w_,sequenceOne:R_,resolveChildStart:ZN,newCursor:Ap,estimateTextWidth:fn,predictItemChipExtraHeight:KN,computeDateWindow:K3,sizeBesideHeader:Y3,collectItems:tG,buildDependencies:Q3,buildNowline:eG})}function A_(t){return t.toISOString().slice(0,10)}function rG(t){return t.id??t.title}function QN(t,e){for(let r of t)r.kind==="item"?e(r):QN(r.children,e)}function nG(t,e,r){let n=rG(t);t.textSpills&&r.push(Po(e,"NL.I1000","info",{name:n},n)),t.chipsOutside&&r.push(Po(e,"NL.I1001","info",{name:n},n)),(t.box.width<17||t.dotSpills||t.iconSpills||t.footnoteSpills)&&r.push(Po(e,"NL.I1002","info",{name:n},n)),t.hasOverflow&&r.push(Po(e,"NL.I1003","info",{name:n,anchor:t.overflowAnchorId},n))}function Po(t,e,r,n,i){return{message:_l(t,e,n),severity:r,code:e,entityId:i,lspSeverity:r==="warning"?2:3,data:{code:e,args:n}}}function eP(t,e,r){let n=t.id??t.title,i=[];QN(t.children,a=>i.push(a));for(let a of i)nG(a,e,r);let o=new Set(i.map(a=>a.box.y));o.size>1&&r.push(Po(e,"NL.I1004","info",{lane:n,rows:o.size},n)),(t.utilization?.segments.some(a=>a.classification==="red")??!1)&&r.push(Po(e,"NL.I1005","info",{lane:n},n));for(let a of t.nested)eP(a,e,r)}function I_(t,e={}){let r=e.locale??"en-US",n=[];for(let i of t.swimlanes)eP(i,r,n);if(e.today){let i=e.today,o=t.timeline.startDate,s=t.timeline.endDate;(i<o||i>s)&&n.push(Po(r,"NL.W1000","warning",{date:A_(i),start:A_(o),end:A_(s)}))}return n}var Co=class extends Error{constructor(e){super(e),this.name="TimezoneError"}};function k_(t){if(!t||t.toLowerCase()==="local")return{kind:"local"};if(t.toUpperCase()==="UTC")return{kind:"utc"};if(t==="Z")return{kind:"offset",ms:0};let e=/^([+-])(\d{2})(?::?(\d{2}))?$/.exec(t);if(e){let r=e[1]==="+"?1:-1,n=parseInt(e[2],10),i=e[3]!==void 0?parseInt(e[3],10):0;if(n>23||i>59)throw new Co(`nowline: invalid timezone offset "${t}". Hours must be 0\u201323 and minutes 0\u201359.`);return{kind:"offset",ms:r*(n*60+i)*6e4}}try{return{kind:"iana",name:Intl.DateTimeFormat(void 0,{timeZone:t}).resolvedOptions().timeZone}}catch{throw new Co(`nowline: unrecognised timezone "${t}". Use "local", "UTC", an ISO 8601 offset (e.g. "+05:30", "-07:00", "Z"), or an IANA timezone name (e.g. "America/Los_Angeles", "Asia/Kolkata").`)}}function yh(t,e){switch(e.kind){case"local":return new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate()));case"utc":return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()));case"offset":{let r=new Date(t.getTime()+e.ms);return new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate()))}case"iana":{let r=new Intl.DateTimeFormat("en-CA",{timeZone:e.name,year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(t),n=0,i=0,o=0;for(let s of r)s.type==="year"?n=parseInt(s.value,10):s.type==="month"?i=parseInt(s.value,10)-1:s.type==="day"&&(o=parseInt(s.value,10));return new Date(Date.UTC(n,i,o))}}}var iG=/^(\d{4})-(\d{2})-(\d{2})$/,oG=/^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?)(Z|([+-])(\d{2})(?::?(\d{2}))?)$/,sG=/^(\d{4})-(\d{2})-(\d{2})T\d{2}:\d{2}:\d{2}(?:\.\d+)?$/;function N_(t={}){let e=t.zone??{kind:"local"},r=t.clock??(()=>new Date),n=t.now;if(!(n==="-"||n===null)){if(n instanceof Date)return n;if(n!==void 0){let i=iG.exec(n);if(i)return new Date(Date.UTC(parseInt(i[1],10),parseInt(i[2],10)-1,parseInt(i[3],10)));let o=oG.exec(n);if(o){let a=new Date(n);if(!Number.isNaN(a.getTime())){if(o[2]==="Z")return yh(a,{kind:"utc"});let l=o[3]==="+"?1:-1,u=parseInt(o[4],10),f=o[5]!==void 0?parseInt(o[5],10):0,d=l*(u*60+f)*6e4;return yh(a,{kind:"offset",ms:d})}}let s=sG.exec(n);return s?new Date(Date.UTC(parseInt(s[1],10),parseInt(s[2],10)-1,parseInt(s[3],10))):void 0}return yh(r(),e)}}function aG(t){return t===2?"warning":t===3?"info":"error"}function tP(t,e){return{severity:aG(t.severity),code:kh(t),message:t.message,suggestion:Ih(t.message),file:e,line:(t.range?.start.line??0)+1,column:(t.range?.start.character??0)+1}}function rP(t,e){return{severity:"error",code:"parse-error",message:t.message,file:e,line:t.token?.startLine??1,column:t.token?.startColumn??1}}function nP(t,e){return{severity:"error",code:"lex-error",message:t.message,file:e,line:t.line??1,column:t.column??1}}function iP(t){return{severity:t.severity,code:"include",message:t.message,file:t.sourcePath,line:t.line!==void 0?t.line+1:1,column:1}}function oP(t,e,r="warning"){return{severity:r,code:"render.warning",message:t,file:e,line:1,column:1}}function sP(t,e){return{severity:t.severity,code:t.code,message:t.message,file:e,line:1,column:1}}var aP="__nowline_browser_noop_include__";async function cP(t){throw new Error(`${aP}: include "${t}" was skipped \u2014 running in single-file mode.`)}function lP(t){return t.includes(aP)}var Fi={person:{viewBox:"0 0 24 24",body:'<circle cx="12" cy="8" r="4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 21a8 8 0 0 1 16 0" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"p"},people:{viewBox:"0 0 24 24",body:'<path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><circle cx="9" cy="7" r="4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M22 21v-2a4 4 0 0 0-3-3.87" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M16 3.13a4 4 0 0 1 0 7.75" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"P"},points:{viewBox:"0 0 24 24",body:'<polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" fill="currentColor" stroke="currentColor" stroke-width="1" stroke-linejoin="round"/>',ascii:"*"},time:{viewBox:"0 0 24 24",body:'<line x1="10" x2="14" y1="2" y2="2" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="12" x2="15" y1="14" y2="11" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><circle cx="12" cy="14" r="8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"t"}},cG={calendar:{viewBox:"0 0 24 24",body:'<rect x="3" y="4" width="18" height="18" rx="2" ry="2" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="16" x2="16" y1="2" y2="6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="8" x2="8" y1="2" y2="6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="3" x2="21" y1="10" y2="10" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"d"}},uP={...Fi,...cG};var Woe={none:"",multiplier:"x",person:Fi.person.ascii,people:Fi.people.ascii,points:Fi.points.ascii,time:Fi.time.ascii};var xh=class{constructor(e="nl"){R(this,"prefix");R(this,"counter",0);this.prefix=e}next(e){let r=`${this.prefix}-${this.counter++}`;return e?`${r}-${e}`:r}};var lG=new Set(["svg","g","defs","symbol","use","path","rect","circle","ellipse","line","polyline","polygon","text","tspan","title","desc","linearGradient","radialGradient","stop","clipPath","mask","pattern","filter","feGaussianBlur","feColorMatrix","feOffset","feMerge","feMergeNode","feFlood","feComposite","feBlend","feDropShadow","image"]),uG=new Set(["d","x","y","x1","y1","x2","y2","cx","cy","r","rx","ry","width","height","viewBox","preserveAspectRatio","fill","fill-opacity","fill-rule","stroke","stroke-width","stroke-opacity","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-dasharray","stroke-dashoffset","opacity","transform","points","id","class","clip-path","mask","filter","font-family","font-size","font-weight","font-style","text-anchor","dx","dy","rotate","letter-spacing","word-spacing","style","xmlns","href","xlink:href","offset","stop-color","stop-opacity","gradientUnits","gradientTransform","spreadMethod","maskUnits","maskContentUnits","stdDeviation","values","in","in2","mode","type","result","flood-color","flood-opacity","patternUnits","patternContentUnits","role","aria-label"]);function fG(t){let e=[],r=0,n=t.length;for(;r<n;){if(t[r]!=="<"){let u=r;for(;r<n&&t[r]!=="<";)r++;let f=t.slice(u,r);f.trim().length>0?e.push({kind:"text",text:f}):f.length>0&&e.push({kind:"text",text:f});continue}if(t.startsWith("<!--",r)){let u=t.indexOf("-->",r+4);if(u<0)break;e.push({kind:"comment",text:t.slice(r+4,u)}),r=u+3;continue}if(t.startsWith("<![CDATA[",r)){let u=t.indexOf("]]>",r+9);if(u<0)break;e.push({kind:"cdata",text:t.slice(r+9,u)}),r=u+3;continue}if(t.startsWith("<?",r)){let u=t.indexOf("?>",r+2);if(u<0)break;e.push({kind:"decl",text:t.slice(r+2,u)}),r=u+2;continue}if(t.startsWith("<!",r)){let u=t.indexOf(">",r+2);if(u<0)break;e.push({kind:"decl",text:t.slice(r+2,u)}),r=u+1;continue}if(t[r+1]==="/"){let u=t.indexOf(">",r+2);if(u<0)break;let f=t.slice(r+2,u).trim();e.push({kind:"close",name:f}),r=u+1;continue}let i=dG(t,r);if(i<0)break;let o=t.slice(r+1,i).trim(),s=o.endsWith("/"),a=s?o.slice(0,-1).trim():o,{name:c,attrs:l}=pG(a);e.push({kind:s?"self":"open",name:c,attrs:l}),r=i+1}return e}function dG(t,e){let r=e+1,n=null;for(;r<t.length;){let i=t[r];if(n)i===n&&(n=null);else if(i==='"'||i==="'")n=i;else if(i===">")return r;r++}return-1}function pG(t){let e=0;for(;e<t.length&&/\s/.test(t[e]);)e++;let r=e;for(;e<t.length&&!/\s/.test(t[e]);)e++;let n=t.slice(r,e),i={};for(;e<t.length;){for(;e<t.length&&/\s/.test(t[e]);)e++;if(e>=t.length)break;let o=e;for(;e<t.length&&t[e]!=="="&&!/\s/.test(t[e]);)e++;let s=t.slice(o,e);if(e>=t.length||t[e]!=="="){s&&(i[s]="");continue}if(e++,e>=t.length)break;let a=t[e];if(a!=='"'&&a!=="'"){let l=e;for(;e<t.length&&!/\s/.test(t[e]);)e++;i[s]=t.slice(l,e);continue}e++;let c=e;for(;e<t.length&&t[e]!==a;)e++;i[s]=t.slice(c,e),e<t.length&&e++}return{name:n,attrs:i}}function ql(t){return t.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function hG(t,e){if(t.startsWith("#")){let r=e.get(t.slice(1));return r?`#${r}`:null}if(/^url\(#[^)]+\)$/.test(t)){let r=t.slice(5,-1),n=e.get(r);return n?`url(#${n})`:null}return null}function fP(t,e={}){let r=e.idPrefix??"nl-logo",n=e.onWarn??(()=>{}),i=fG(t),o=new Map,s=0;for(let l of i)if((l.kind==="open"||l.kind==="self")&&l.attrs&&"id"in l.attrs){let u=l.attrs.id;u&&!o.has(u)&&o.set(u,`${r}-${s++}`)}let a=[],c=[];for(let l of i)if(l.kind!=="comment"&&l.kind!=="decl"){if(l.kind==="cdata"){c[c.length-1]&&a.push(ql(l.text??""));continue}if(l.kind==="text"){if(c.length===0||c[c.length-1]){let u=(l.text??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");a.push(u)}continue}if(l.kind==="open"||l.kind==="self"){let u=l.name??"";if(u==="script"||u==="foreignObject"||u==="animate"||u==="animateTransform"||u==="animateMotion"||u==="set"){n(`sanitizer: dropping <${u}>`),l.kind==="open"&&c.push(!1);continue}if(!lG.has(u)){n(`sanitizer: dropping unknown element <${u}>`),l.kind==="open"&&c.push(!1);continue}let f=[`<${u}`],d=Object.keys(l.attrs??{}).sort();for(let p of d){let m=l.attrs[p];if(/^on/i.test(p)){n(`sanitizer: dropping event handler ${p}`);continue}if(!uG.has(p)){n(`sanitizer: dropping attribute ${p}`);continue}if(p==="href"||p==="xlink:href"){let y=hG(m,o);if(y===null){n(`sanitizer: dropping external href ${m}`);continue}f.push(` ${p}="${ql(y)}"`);continue}if(p==="style"){n("sanitizer: dropping inline style");continue}if(p==="id"){let y=o.get(m);y&&f.push(` id="${ql(y)}"`);continue}if(/\burl\(#/i.test(m)){let y=m.replace(/url\(#([^)]+)\)/gi,(E,_)=>{let x=o.get(_);return x?`url(#${x})`:"none"});f.push(` ${p}="${ql(y)}"`);continue}if(/data:|javascript:|vbscript:/i.test(m)){n(`sanitizer: dropping suspicious value at ${p}`);continue}f.push(` ${p}="${ql(m)}"`)}f.push(l.kind==="self"?"/>":">"),a.push(f.join("")),l.kind==="open"&&c.push(!0);continue}l.kind==="close"&&c.pop()&&a.push(`</${l.name}>`)}return a.join("")}var dP=/&/g,pP=/</g,hP=/>/g,mG=/"/g,gG=/'/g;function Qt(t){return t.replace(dP,"&amp;").replace(pP,"&lt;").replace(hP,"&gt;")}function Xn(t){return t.replace(dP,"&amp;").replace(pP,"&lt;").replace(hP,"&gt;").replace(mG,"&quot;").replace(gG,"&#39;")}function ja(t){let e=Object.keys(t).sort(),r=[];for(let n of e){let i=t[n];i==null||i===!1||(i===!0?r.push(n):r.push(`${n}="${Xn(String(i))}"`))}return r.length?` ${r.join(" ")}`:""}function ee(t,e,r){return r===void 0||r===""?`<${t}${ja(e)}/>`:`<${t}${ja(e)}>${r}</${t}>`}function Ce(t,e){return`<text${ja(t)}>${Qt(e)}</text>`}function h(t){return Number.isFinite(t)?Number.isInteger(t)?t.toString():(Math.round(t*100)/100).toString():"0"}var yG={none:{dx:0,dy:0,stdDeviation:0,opacity:0},subtle:{dx:0,dy:1,stdDeviation:1.5,opacity:.2},soft:{dx:0,dy:3,stdDeviation:5,opacity:.3},hard:{dx:2,dy:2,stdDeviation:0,opacity:.45}};function xG(t,e){let r=`${t}-shadow-${e}`,n=yG[e],i=`<feGaussianBlur in="SourceAlpha" stdDeviation="${n.stdDeviation}"/><feOffset dx="${n.dx}" dy="${n.dy}" result="offsetblur"/><feComponentTransfer><feFuncA type="linear" slope="${n.opacity}"/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in="SourceGraphic"/></feMerge>`;return ee("filter",{id:r,x:"-50%",y:"-50%",width:"200%",height:"200%"},i)}function mP(t,e){return e==="none"?null:`url(#${t}-shadow-${e})`}function gP(t){return["subtle","soft","hard"].map(e=>xG(t,e)).join("")}var bG={thin:100,light:300,normal:400,bold:700};function wG(t){return Aa[t]??14}function C_(t,e,r){return{"font-family":e[t.font],"font-size":r??wG(t.textSize),"font-weight":bG[t.weight]??400,"font-style":t.italic?"italic":"normal",fill:t.text}}function RG(t){if(t.border==="dashed")return"4 3";if(t.border==="dotted")return"1 3"}function SG(t){if(!t||t==="none"||t==="transparent")return 1;let e=t.startsWith("#")?t.slice(1):t;if(e.length===3&&(e=e.split("").map(s=>s+s).join("")),e.length!==6)return 1;let r=parseInt(e.slice(0,2),16)/255,n=parseInt(e.slice(2,4),16)/255,i=parseInt(e.slice(4,6),16)/255,o=s=>s<=.03928?s/12.92:((s+.055)/1.055)**2.4;return .2126*o(r)+.7152*o(n)+.0722*o(i)}function AG(t,e){return SG(t)>=.24?e.statusDot.onLight:e.statusDot.onDark}function P_(t,e){return t.length*e*.58}function _P(t,e,r,n,i,o,s){let a=i*.58,c=e?P_(e,i):0,l=e?a:0,u=r+c+l,{text:f,icon:d}=t,p=P_(f,i),m={"font-family":o,"font-size":i,fill:s};if(!d)return Ce({x:h(u),y:h(n),...m},f);if(d.kind==="builtin"&&d.name==="multiplier")return Ce({x:h(u),y:h(n),...m},`${f}\xD7`);if(d.kind==="builtin"){let E=Fi[d.name],_=Ce({x:h(u),y:h(n),...m},f),x=i*.1,v=i,k=u+p+x,F=n-i*.85,O=`<svg x="${h(k)}" y="${h(F)}" width="${h(v)}" height="${h(v)}" viewBox="${E.viewBox}" style="color:${Xn(s)}" aria-hidden="true">${E.body}</svg>`;return _+O}let y=h(i*.1);return`<text x="${h(u)}" y="${h(n)}" font-family="${Xn(o)}" font-size="${i}" fill="${Xn(s)}">${Qt(f)}<tspan dx="${y}">${Qt(d.text)}</tspan></text>`}var yP=.6,IG=.5;function kG(t){let{metaText:e,capacity:r,x:n,baselineY:i,fontSize:o,fontFamily:s,color:a}=t;if(!e&&!r)return"";let c={"font-family":s,"font-size":o,fill:a};if(!r)return Ce({x:h(n),y:h(i),...c},e);if(!e)return _P(r,void 0,n,i,o,s,a);let l=h(o*yP),u=`<text x="${h(n)}" y="${h(i)}" font-family="${Xn(s)}" font-size="${o}" fill="${Xn(a)}">`,{text:f,icon:d}=r;if(!d)return u+Qt(e)+`<tspan dx="${l}">${Qt(f)}</tspan></text>`;if(d.kind==="builtin"&&d.name==="multiplier")return u+Qt(e)+`<tspan dx="${l}">${Qt(f)}\xD7</tspan></text>`;if(d.kind==="literal"){let O=h(o*.1);return u+Qt(e)+`<tspan dx="${l}">${Qt(f)}</tspan><tspan dx="${O}">${Qt(d.text)}</tspan></text>`}let p=Fi[d.name],m=O=>O.length*o*IG,y=n+m(e)+o*yP,E=o*.1,_=o,x=y+m(f)+E,v=i-o*.85,k=u+Qt(e)+`<tspan dx="${l}">${Qt(f)}</tspan></text>`,F=`<svg x="${h(x)}" y="${h(v)}" width="${h(_)}" height="${h(_)}" viewBox="${p.viewBox}" style="color:${Xn(a)}" aria-hidden="true">${p.body}</svg>`;return k+F}function NG(t,e){let r=uP.calendar,n=`<svg x="${h(t.glyphTopLeft.x)}" y="${h(t.glyphTopLeft.y)}" width="${h(t.glyphSize)}" height="${h(t.glyphSize)}" viewBox="${r.viewBox}" style="color:${Xn(e)}" aria-hidden="true">${r.body}</svg>`,i=`<title>${Qt(t.isoDate)}</title>`;return ee("g",{"data-layer":"inline-date-pin","data-side":t.side,"data-date":t.isoDate,"data-spilled":t.spilled?"true":null},i+n)}function O_(t,e){return!t||t.length===0?"":t.map(r=>NG(r,e)).join("")}function PG(t,e,r,n,i,o={}){let s=Math.min(Ip[i.cornerRadius]??4,n/2);return ee("rect",{x:h(t),y:h(e),width:h(r),height:h(n),rx:h(s),ry:h(s),fill:i.bg==="none"?"transparent":i.bg,stroke:i.fg,"stroke-width":1,"stroke-dasharray":RG(i)??null,...o})}function CG(t,e,r,n){let i=t.box.x+t.cardBox.x,o=t.box.y+t.cardBox.y,s=t.cardBox.width,a=t.cardBox.height,c=t.style.bg==="none"?r.surface.headerBox:t.style.bg,l=r.header.cardBorder,u=ee("rect",{x:h(i),y:h(o),width:h(s),height:h(a),rx:6,ry:6,fill:c,stroke:l,"stroke-width":1,filter:`url(#${e}-shadow-subtle)`}),f=[];t.titleLines.forEach((_,x)=>{f.push(Ce({x:h(i+16),y:h(o+26+x*20),"font-family":n[t.style.font],"font-size":16,"font-weight":600,fill:t.style.text},_))});let d=f.join(""),p=o+26+Math.max(0,t.titleLines.length-1)*20,m=r.header.author,y=[];t.authorLines.forEach((_,x)=>{y.push(Ce({x:h(i+16),y:h(p+18+x*14),"font-family":n[t.style.font],"font-size":11,fill:m},_))});let E=y.join("");return ee("g",{"data-layer":"header","data-id":`${e}-header`},u+d+E)}function OG(t,e,r){let n=r.timeline.gridLine,i=r.timeline.minorGridLine,o=t.bottomTickPanelHeight??0,s=t.bottomTickPanelY!==void 0&&o>0,a=t.tickPanelY,c=s?t.bottomTickPanelY+o:t.box.y+t.box.height,l=e,u=t.box.y+t.box.height,f=[];for(let d of t.ticks)if(d.major)f.push(ee("line",{x1:h(d.x),y1:h(a),x2:h(d.x),y2:h(c),stroke:n,"stroke-width":1}));else if(t.minorGrid){if(d.labelX===void 0)continue;f.push(ee("line",{x1:h(d.x),y1:h(l),x2:h(d.x),y2:h(u),stroke:i,"stroke-width":1}))}return ee("g",{"data-layer":"grid"},f.join(""))}function LG(t,e,r){let n=e.timeline.panelFill,i=e.timeline.border,o=e.timeline.labelText,s=[],a=t.tickPanelY,c=t.tickPanelHeight,l=c>0,u=t.markerRow.height>0,f=a+c,d=t.markerRow.height,p=t.bottomTickPanelY,m=t.bottomTickPanelHeight??0,y=p!==void 0&&m>0;l&&s.push(ee("rect",{x:h(t.box.x),y:h(a),width:h(t.box.width),height:h(c),rx:4,ry:4,fill:n,stroke:i,"stroke-width":1})),u&&s.push(ee("rect",{x:h(t.box.x),y:h(f),width:h(t.box.width),height:h(d),rx:4,ry:4,fill:n,stroke:i,"stroke-width":1})),y&&s.push(ee("rect",{x:h(t.box.x),y:h(p),width:h(t.box.width),height:h(m),rx:4,ry:4,fill:n,stroke:i,"stroke-width":1}));for(let E of t.ticks)E.major&&(!E.label||E.labelX===void 0||(l&&s.push(Ce({x:h(E.labelX),y:h(a+kp),"font-family":r.sans,"font-size":10,fill:o,"text-anchor":"middle"},E.label)),y&&s.push(Ce({x:h(E.labelX),y:h(p+kp),"font-family":r.sans,"font-size":10,fill:o,"text-anchor":"middle"},E.label))));return ee("g",{"data-layer":"timeline"},s.join(""))}function DG(t,e,r){if(!t)return"";let n=e.nowline.stroke,i=e.nowline.labelText,o=ee("line",{x1:h(t.x),y1:h(t.topY),x2:h(t.x),y2:h(t.bottomY),stroke:n,"stroke-width":Lp}),s=MG(t,n),a=$G(t,i,r);return ee("g",{"data-layer":"nowline"},o+s+a)}function EP(t){let e=Lp/2;return t.pillMode==="flag-right"?t.x-e:t.pillMode==="flag-left"?t.x+e:t.x}function MG(t,e){let r=t.pillTopY,n=t.pillTopY+Ci,i=CT,o=t.pillWidth;if(t.pillMode==="center")return ee("rect",{x:h(t.x-o/2),y:h(r),width:h(o),height:h(Ci),rx:i,ry:i,fill:e});let s=EP(t);if(t.pillMode==="flag-right"){let l=s+o,u=[`M ${h(s)} ${h(r)}`,`L ${h(l-i)} ${h(r)}`,`A ${i} ${i} 0 0 1 ${h(l)} ${h(r+i)}`,`L ${h(l)} ${h(n-i)}`,`A ${i} ${i} 0 0 1 ${h(l-i)} ${h(n)}`,`L ${h(s)} ${h(n)}`,"Z"].join(" ");return ee("path",{d:u,fill:e})}let a=s-o,c=[`M ${h(s)} ${h(r)}`,`L ${h(a+i)} ${h(r)}`,`A ${i} ${i} 0 0 0 ${h(a)} ${h(r+i)}`,`L ${h(a)} ${h(n-i)}`,`A ${i} ${i} 0 0 0 ${h(a+i)} ${h(n)}`,`L ${h(s)} ${h(n)}`,"Z"].join(" ");return ee("path",{d:c,fill:e})}function $G(t,e,r){let n=t.pillTopY+OT,i=EP(t),o,s;return t.pillMode==="center"?(o=t.x,s="middle"):t.pillMode==="flag-right"?(o=i+ka,s="start"):(o=i-ka,s="end"),Ce({x:h(o),y:h(n),"font-family":r.sans,"font-size":kl,"font-weight":700,fill:e,"text-anchor":s},t.label)}function FG(t,e,r,n,i){let o=[],s=mP(r,t.style.shadow);o.push(PG(t.box.x,t.box.y,t.box.width,t.box.height,t.style,{filter:s??null}));let a=AG(t.style.bg,n),c={done:a.done,"in-progress":a.inProgress,"at-risk":a.atRisk,blocked:a.blocked,planned:a.planned,neutral:a.neutral},l=c[t.status]??c.neutral;if(t.progressFraction>0){let E=Math.max(0,Math.min(t.box.width,t.box.width*t.progressFraction));o.push(ee("rect",{x:h(t.box.x),y:h(t.box.y+t.box.height-an),width:h(E),height:an,fill:t.style.fg,opacity:.55}))}let u=t.dotSpills&&t.dotSpillCx!==null?t.dotSpillCx:t.box.x+t.box.width-12;o.push(ee("circle",{cx:h(u),cy:h(t.box.y+12),r:5,fill:l})),o.push(O_(t.inlineDatePins,t.style.fg));let f;t.textSpills?(f=t.box.x+t.box.width+6,t.iconSpills&&(f+=18)):f=t.box.x+12;let d=t.style.text,p=n.entities.item.text,m=t.textSpills?p:d,y=t.textSpills?p:t.style.fg;if(t.title&&o.push(Ce({x:h(f),y:h(t.box.y+20),"font-family":i[t.style.font],"font-size":13,"font-weight":600,fill:m},t.title)),(t.metaText||t.capacity)&&o.push(kG({metaText:t.metaText,capacity:t.capacity,x:f,baselineY:t.box.y+38,fontSize:11,fontFamily:i[t.style.font],color:y})),t.footnoteIndicators.length>0){let E=t.box.y+14;if(t.footnoteSpills&&t.footnoteSpillStartX!==null){let _=t.footnoteSpillStartX;for(let x=0;x<t.footnoteIndicators.length;x++){let v=t.footnoteIndicators[x];o.push(Ce({x:h(_),y:h(E),"font-family":i.sans,"font-size":10,"font-weight":700,fill:p},String(v))),_+=8}}else{let _=t.box.x+t.box.width-22;for(let x=t.footnoteIndicators.length-1;x>=0;x--){let v=t.footnoteIndicators[x];o.push(Ce({x:h(_),y:h(E),"font-family":i.sans,"font-size":10,"font-weight":700,fill:t.style.text,"text-anchor":"end"},String(v))),_-=8}}}if(!e.noLinks&&t.linkIcon&&t.linkIcon!=="none"){let E={linear:"#5e6ad2",github:"#0f172a",jira:"#0052cc",generic:n.item.linkIconFg},_=E[t.linkIcon]??E.generic,x=14,v=t.iconSpills&&t.iconSpillX!==null?t.iconSpillX:t.box.x+6,k=t.box.y+6,F=ee("rect",{x:h(v),y:h(k),width:x,height:x,rx:2,ry:2,fill:_}),O=v,L=k,G=ee("path",{d:`M${h(O+4)} ${h(L+10)} L${h(O+10)} ${h(L+4)} M${h(O+6)} ${h(L+4)} H${h(O+10)} V${h(L+8)}`,stroke:"#ffffff",fill:"none","stroke-width":1.1,"stroke-linecap":"round","stroke-linejoin":"round"}),H=F+G,oe=t.linkHref?ee("a",{href:t.linkHref,target:"_blank",rel:"noopener"},H):H;o.push(oe)}if(t.hasOverflow&&t.overflowBox){let E=n.item.overflowTailFill,_=n.item.overflowTailStroke,x=n.item.overflowCaption;o.push(ee("rect",{x:h(t.overflowBox.x),y:h(t.overflowBox.y),width:h(t.overflowBox.width),height:h(t.overflowBox.height),fill:E,stroke:_,"stroke-width":1})),t.overflowAnchorId&&t.overflowBox.width>60&&o.push(Ce({x:h(t.overflowBox.x+t.overflowBox.width/2),y:h(t.overflowBox.y+t.overflowBox.height/2+3),"font-family":i.sans,"font-size":9,"font-weight":700,fill:x,"text-anchor":"middle"},`past ${t.overflowAnchorId}`))}for(let E of t.labelChips){let _=Math.min(Ip[E.style.cornerRadius]??8,E.box.height/2);o.push(ee("rect",{x:h(E.box.x),y:h(E.box.y),width:h(E.box.width),height:h(E.box.height),rx:h(_),ry:h(_),fill:E.style.bg==="none"?"transparent":E.style.bg,stroke:E.style.fg,"stroke-width":.5})),o.push(Ce({x:h(E.box.x+E.box.width/2),y:h(E.box.y+E.box.height/2+3),...C_(E.style,i,Aa.xs),"text-anchor":"middle"},E.text))}return ee("g",{"data-layer":"item","data-id":t.id??null},o.join(""))}function UG(t,e,r,n,i){let o=[];if(t.style.bg!=="none"&&t.style.bg!=="#ffffff"){if(o.push(ee("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),rx:6,ry:6,fill:t.style.bg,stroke:t.style.fg,"stroke-width":1,"fill-opacity":.18,filter:`url(#${r}-shadow-subtle)`})),t.title){let a=t.title.length*kT+2*Cp,c=t.box.x,l=t.box.y,u=Il,f=6,d=`M${h(c+f)} ${h(l)}H${h(c+a)}V${h(l+u-f)}A${f} ${f} 0 0 1 ${h(c+a-f)} ${h(l+u)}H${h(c)}V${h(l+f)}A${f} ${f} 0 0 1 ${h(c+f)} ${h(l)}Z`;o.push(ee("path",{d,fill:t.style.fg})),o.push(Ce({x:h(c+Cp),y:h(l+AT),"font-family":i[t.style.font],"font-size":IT,"font-weight":600,fill:"#ffffff"},t.title))}}else{let a=t.style.fg;if(t.style.bracket!=="none"){let l=t.box.y+t.box.height,u=t.style.bracket==="dashed"?"3 2":null,f=t.title?`M${h(t.box.x+4)} ${h(t.box.y-Ia)} L${h(t.box.x)} ${h(t.box.y-Ia)} L${h(t.box.x)} ${h(l)} L${h(t.box.x+4)} ${h(l)}`:`M${h(t.box.x)} ${h(t.box.y)} L${h(t.box.x)} ${h(l)} L${h(t.box.x+4)} ${h(l)}`;o.push(ee("path",{d:f,fill:"none",stroke:a,"stroke-width":1,"stroke-dasharray":u}))}t.title&&o.push(Ce({x:h(t.box.x+6),y:h(t.box.y-2),...C_(t.style,i,Aa.xs),"fill-opacity":.7},t.title))}o.push(O_(t.inlineDatePins,t.style.fg));for(let a of t.children)o.push(L_(a,e,r,n,i));return ee("g",{"data-layer":"group","data-id":t.id??null},o.join(""))}function BG(t,e,r,n,i){let o=[];if(t.style.bracket==="solid"||t.style.bracket==="dashed"){let c=t.box.y-12,l=t.box.y+t.box.height+12,u=t.box.x,f=t.box.x+t.box.width,d=n.parallel.bracketStroke;o.push(ee("path",{d:`M${h(u+4)} ${h(c)} H${h(u)} V${h(l)} H${h(u+4)}`,fill:"none",stroke:d,"stroke-width":1.25,"stroke-dasharray":t.style.bracket==="dashed"?"3 3":null,"stroke-linejoin":"round"})),o.push(ee("path",{d:`M${h(f-4)} ${h(c)} H${h(f)} V${h(l)} H${h(f-4)}`,fill:"none",stroke:d,"stroke-width":1.25,"stroke-dasharray":t.style.bracket==="dashed"?"3 3":null,"stroke-linejoin":"round"}))}t.title&&o.push(Ce({x:h(t.box.x+4),y:h(t.box.y-2),...C_(t.style,i,Aa.xs),"fill-opacity":.7},t.title)),o.push(O_(t.inlineDatePins,t.style.fg));for(let s of t.children)o.push(L_(s,e,r,n,i));return ee("g",{"data-layer":"parallel","data-id":t.id??null},o.join(""))}function L_(t,e,r,n,i){return t.kind==="item"?FG(t,e,r,n,i):t.kind==="group"?UG(t,e,r,n,i):BG(t,e,r,n,i)}var xP=2;function GG(t,e){switch(t){case"green":return e.swimlane.utilizationOk;case"yellow":return e.swimlane.utilizationWarn;case"red":return e.swimlane.utilizationOver}}function XG(t,e){if(!t.utilization||t.utilization.segments.length===0)return"";let r=t.box.y+t.box.height-xP,n=t.utilization.segments.map(i=>{let o=i.endX-i.startX;return o<=0?"":ee("rect",{x:h(i.startX),y:h(r),width:h(o),height:xP,fill:GG(i.classification,e),"data-utilization":i.classification,"data-load":h(i.load)})});return ee("g",{"data-layer":"lane-utilization","data-id":t.id??null},n.join(""))}function HG(t,e){let r=t.bandIndex%2===0?e.swimlane.rowTintEven:e.swimlane.rowTintOdd,n=e.swimlane.border;return ee("g",{"data-layer":"swimlane-bg","data-id":t.id??null},ee("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),fill:r,stroke:n,"stroke-width":1}))}function vP(t,e,r,n,i){let o=n.swimlane.tabFill,s=n.swimlane.tabStroke,a=n.swimlane.tabText,c=n.swimlane.ownerText,l=n.swimlane.footnoteIndicator,u=[];if(t.title){let d=t.capacity?Xi(t.capacity.text,t.capacity.icon,10):0,p=t.footnoteIndicators.length>0?t.footnoteIndicators.join(","):"",m=p?P_(p,10):0,y=Va(t.box.x,t.title,t.owner,d,m),E=Np,_=t.box.y+10,x=_+Pp;u.push(ee("rect",{x:h(y.tabX),y:h(_),width:h(y.tabW),height:h(E),rx:4,ry:4,fill:o,stroke:s,"stroke-width":1})),u.push(Ce({x:h(y.titleX),y:h(x),"font-family":i[t.style.font],"font-size":12,"font-weight":600,fill:a},t.title)),t.owner&&u.push(Ce({x:h(y.ownerX),y:h(x),"font-family":i[t.style.font],"font-size":10,fill:c},`owner: ${t.owner}`)),t.capacity&&u.push(_P(t.capacity,void 0,y.badgeX,x,10,i[t.style.font],c)),p&&u.push(Ce({x:h(y.footnoteRightX),y:h(_+14),"font-family":i.sans,"font-size":10,"font-weight":700,fill:l,"text-anchor":"end"},p))}for(let f of t.children)u.push(L_(f,e,r,n,i));return u.push(XG(t,n)),ee("g",{"data-layer":"swimlane","data-id":t.id??null},u.join(""))}function jG(t,e,r){let n=t.radius,i=t.center.x,o=t.center.y,s=e.anchorDiamond.fill,a=e.anchorDiamond.stroke,c=ee("path",{d:`M${h(i)} ${h(o-n)} L${h(i+n)} ${h(o)} L${h(i)} ${h(o+n)} L${h(i-n)} ${h(o)} Z`,fill:s,stroke:a,"stroke-width":1.25}),l=e.anchorDiamond.label,u=t.labelSide==="left"?t.labelBox.x+t.labelBox.width:t.labelBox.x,f={x:h(u),y:h(o+4),"font-family":r.sans,"font-size":10,fill:l};t.labelSide==="left"&&(f["text-anchor"]="end");let d=t.title?Ce(f,t.title):"";return ee("g",{"data-layer":"anchor","data-id":t.id??null},c+d)}function zG(t,e){let r=e.anchorDiamond.cutLine;return ee("line",{x1:h(t.center.x),y1:h(t.center.y+t.radius+1),x2:h(t.center.x),y2:h(t.cutBottomY),stroke:r,"stroke-width":1,"stroke-dasharray":"1 3"})}function WG(t,e,r){let n=t.center.x,i=t.center.y,o=t.radius,s=e.milestoneDiamond.fill,a=ee("path",{d:`M${h(n)} ${h(i-o)} L${h(n+o)} ${h(i)} L${h(n)} ${h(i+o)} L${h(n-o)} ${h(i)} Z`,fill:s,stroke:s,"stroke-width":1}),c=e.milestoneDiamond.label,l=t.labelSide==="left"?t.labelBox.x+t.labelBox.width:t.labelBox.x,u={x:h(l),y:h(i+4),"font-family":r.sans,"font-size":10,"font-weight":600,fill:c};t.labelSide==="left"&&(u["text-anchor"]="end");let f=t.title?Ce(u,t.title):"";return ee("g",{"data-layer":"milestone","data-id":t.id??null},a+f)}function qG(t,e){let r=t.isOverrun?e.milestoneDiamond.cutLineOverrun:e.milestoneDiamond.cutLineNormal,n=[];if(n.push(ee("line",{x1:h(t.center.x),y1:h(t.center.y+t.radius+1),x2:h(t.center.x),y2:h(t.cutBottomY),stroke:r,"stroke-width":2,"stroke-dasharray":Op,"stroke-linecap":"round"})),t.slackArrows&&t.slackArrows.length>0){let i=e.milestoneDiamond.slack;for(let o of t.slackArrows)n.push(ee("path",{d:`M${h(o.x)} ${h(o.y)} H${h(t.center.x-6)}`,fill:"none",stroke:i,"stroke-width":1.1,"stroke-dasharray":"3 3","stroke-linecap":"round","marker-end":"url(#nl-arrow-dark)"}))}return n.join("")}function TP(t,e){let r=t.kind==="overflow"?e.dependency.overflowStroke:e.dependency.edgeStroke,n=t.waypoints;if(n.length<2)return"";let i=t.kind==="underBar"?.8:1.1;return ee("path",{d:VG(n,BT),fill:"none",stroke:r,"stroke-width":i,"stroke-dasharray":t.kind==="overflow"?"4 2":null,"stroke-linejoin":"round","marker-end":"url(#nl-arrow)"})}function VG(t,e){if(t.length<2)return"";let r=[`M${h(t[0].x)} ${h(t[0].y)}`];for(let n=1;n<t.length;n++){let i=t[n-1],o=t[n];if(n===t.length-1){r.push(`L${h(o.x)} ${h(o.y)}`);continue}let s=t[n+1],a=Math.sign(o.x-i.x),c=Math.sign(o.y-i.y),l=Math.sign(s.x-o.x),u=Math.sign(s.y-o.y),f=Math.hypot(o.x-i.x,o.y-i.y),d=Math.hypot(s.x-o.x,s.y-o.y),p=Math.min(e,f/2,d/2);if(p<=0||a!==0&&l!==0||c!==0&&u!==0){r.push(`L${h(o.x)} ${h(o.y)}`);continue}let m={x:o.x-a*p,y:o.y-c*p},y={x:o.x+l*p,y:o.y+u*p};r.push(`L${h(m.x)} ${h(m.y)}`),r.push(`Q${h(o.x)} ${h(o.y)} ${h(y.x)} ${h(y.y)}`)}return r.join(" ")}function YG(t,e,r,n){if(t.entries.length===0)return"";let i=r.footnotePanel.fill,o=r.footnotePanel.border,s=r.footnotePanel.header,a=r.footnotePanel.title,c=r.footnotePanel.description,l=r.footnotePanel.number,u=[];u.push(ee("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),rx:6,ry:6,fill:i,stroke:o,"stroke-width":1,filter:`url(#${e}-shadow-subtle)`})),u.push(Ce({x:h(t.box.x+Br),y:h(t.box.y+DT),"font-family":n.sans,"font-size":12,"font-weight":700,fill:s},"Footnotes"));let f=t.box.y+Nl+Br,d=t.box.x+Br,p=d+Br;return t.entries.forEach((m,y)=>{let E=f+y*Pl;u.push(Ce({x:h(d),y:h(E),"font-family":n.sans,"font-size":10,"font-weight":700,fill:l},String(m.number))),u.push(Ce({x:h(p),y:h(E),"font-family":n.sans,"font-size":11,"font-weight":600,fill:a},m.title)),m.description&&u.push(Ce({x:h(p+Math.max(120,m.title.length*6)),y:h(E),"font-family":n.sans,"font-size":11,fill:c},`\u2014 ${m.description}`))}),ee("g",{"data-layer":"footnotes"},u.join(""))}function KG(t,e,r,n,i){let o=n.includeRegion.border,s=n.includeRegion.fill,a=n.includeRegion.tabFill,c=n.includeRegion.tabStroke,l=n.includeRegion.tabText,u=n.includeRegion.badgeFill,f=n.includeRegion.badgeStroke,d=n.includeRegion.badgeText,p=t.box.x+8,m=t.box.y,y=t.box.width-16,E=t.box.height,_=ee("rect",{x:h(p),y:h(m),width:h(y),height:h(E),rx:8,ry:8,fill:s,stroke:o,"stroke-width":1,"stroke-dasharray":Op}),x=Np,v=Ya(t.box.x,t.label,t.sourcePath),k=m-x/2,F=ee("rect",{x:h(v.tabX),y:h(k),width:h(v.tabWidth),height:x,rx:4,ry:4,fill:a,stroke:c,"stroke-width":1}),O=Ce({x:h(v.tabLabelX),y:h(k+Pp),"font-family":i.sans,"font-size":11,"font-weight":600,fill:l},t.label),L=v.badgeX,G=v.badgeSize,H=m-G/2,oe=ee("rect",{x:h(L),y:h(H),width:G,height:G,rx:4,ry:4,fill:u,stroke:f,"stroke-width":1}),$=ee("path",{d:`M${h(L+7)} ${h(H+4)} H${h(L+14)} V${h(H+11)} M${h(L+4)} ${h(H+7)} H${h(L+11)} V${h(H+14)} H${h(L+4)} Z`,stroke:d,"stroke-width":1.4,fill:"none","stroke-linecap":"round","stroke-linejoin":"round"}),w=9,D=m+4,U=ee("rect",{x:h(v.sourceHaloX),y:h(D-w),width:h(v.sourceHaloWidth),height:w+6,fill:s}),S=Ce({x:h(v.sourceTextX),y:h(D),"font-family":i.mono,"font-size":w,fill:d},t.sourcePath),A=t.nestedSwimlanes.map(I=>vP(I,e,r,n,i)).join("");return ee("g",{"data-layer":"include"},_+A+F+O+oe+$+U+S)}function ZG(t,e){let r=t.palette.attribution.mark,n=t.palette.attribution.link;if(t.swimlanes.length===0)return"";let i=t.header.attributionBox.x,o=t.header.attributionBox.y,s=Oi,a=Ce({x:"0",y:s,"font-family":e.sans,"font-size":$p,"font-weight":400,fill:r},Mp)+Ce({x:Ol,y:s,"font-family":e.sans,"font-size":Oi,"font-weight":700,fill:r},"now")+ee("rect",{x:$T,y:12,width:FT,height:Oi,fill:n})+Ce({x:Fp,y:s,"font-family":e.sans,"font-size":Oi,"font-weight":400,fill:r},"ine"),c=ee("g",{transform:`translate(${h(i)} ${h(o)}) scale(${h(Cl)})`},a);return ee("a",{href:MT,target:"_blank",rel:"noopener","aria-label":"Powered by nowline"},ee("g",{"data-layer":"attribution"},c))}async function JG(t,e,r,n,i,o,s){if(!e)return"";let a;try{a=await e(t)}catch(u){let f=`logo: failed to load ${t}: ${u instanceof Error?u.message:String(u)}`;if(n.strict)throw u;return n.warn?.(f),""}let c=(a.mime??"").toLowerCase();if(c==="image/svg+xml"){let u=new TextDecoder().decode(a.bytes),f=fP(u,{idPrefix:`${r}-logo`,onWarn:n.warn});return ee("g",{transform:`translate(${h(i)} ${h(o)})`},f)}if(c==="image/png"||c==="image/jpeg"||c==="image/jpg"||c==="image/webp"){let u=QG(a.bytes);return ee("image",{href:`data:${c};base64,${u}`,x:h(i),y:h(o),width:h(s),height:h(s),preserveAspectRatio:"xMidYMid meet"})}let l=`logo: unsupported mime ${c} for ${t}`;if(n.strict)throw new Error(l);return n.warn?.(l),""}function QG(t){if(typeof btoa<"u"){let r="";for(let n=0;n<t.length;n++)r+=String.fromCharCode(t[n]);return btoa(r)}let e=globalThis;if(e.Buffer)return e.Buffer.from(t).toString("base64");throw new Error("renderer: no base64 encoder available")}async function D_(t,e={}){let n=new xh(e.idPrefix??"nl").next("root"),i=t.palette,o=e.fontFamilies??GT,s=[],a=i.arrowhead.neutral,c=i.arrowhead.light,l=i.arrowhead.dark,u=(p,m)=>`<marker id="${p}" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" fill="${m}"/></marker>`,f=`<defs>${gP(n)}`+u("nl-arrow",a)+u("nl-arrow-light",c)+u("nl-arrow-dark",l)+"</defs>";s.push(f),s.push(ee("rect",{x:0,y:0,width:h(t.width),height:h(t.height),fill:t.backgroundColor})),s.push(LG(t.timeline,i,o));for(let p of t.swimlanes)s.push(HG(p,i));s.push(OG(t.timeline,t.chartBox.y,i));for(let p of t.edges)p.kind==="underBar"&&s.push(TP(p,i));for(let p of t.swimlanes)s.push(vP(p,e,n,i,o));for(let p of t.includes)s.push(KG(p,e,n,i,o));for(let p of t.edges)p.kind!=="underBar"&&s.push(TP(p,i));for(let p of t.anchors)s.push(zG(p,i));for(let p of t.milestones)s.push(qG(p,i));for(let p of t.anchors)s.push(jG(p,i,o));for(let p of t.milestones)s.push(WG(p,i,o));if(s.push(DG(t.nowline,i,o)),s.push(YG(t.footnotes,n,i,o)),s.push(CG(t.header,n,i,o)),s.push(ZG(t,o)),t.header.logo&&e.assetResolver){let p=await JG(t.header.logo.assetRef??"",e.assetResolver,n,e,t.header.logo.box.x,t.header.logo.box.y,Math.max(t.header.logo.box.width,t.header.logo.box.height));p&&s.push(p)}return`<svg${ja({xmlns:"http://www.w3.org/2000/svg",viewBox:`0 0 ${h(t.width)} ${h(t.height)}`,width:h(t.width),height:h(t.height),"data-theme":t.theme,"data-generator":"nowline"})}>${s.join("")}</svg>`}var M_="/browser-source.nowline",eX={error:3,warning:2,info:1},tX={error:3,warning:2,info:1};function bP(t,e){return eX[t]>=tX[e]}var Th,wP=0;function RP(){return Th||(Th=xT()),Th}function rX(){return ht.parse(`memory:///nowline-browser-${++wP}.nowline`)}async function _h(t,e={}){let r=e.filePath??M_,n=RP(),o=n.shared.workspace.LangiumDocumentFactory.fromString(t,rX());await n.shared.workspace.DocumentBuilder.build([o],{validation:!0});let s=[];for(let a of Ah(o))a.origin==="lexer"?s.push(nP(a.error,r)):a.origin==="parser"?s.push(rP(a.error,r)):s.push(tP(a.diagnostic,r));return{ast:o.parseResult.value,diagnostics:s}}async function $_(t,e={}){let r=e.filePath??M_,n=await _h(t,{filePath:r});if(n.diagnostics.some(x=>x.severity==="error"))return{kind:"diagnostics",diagnostics:n.diagnostics};let i=RP(),o=e.readFile??cP,s=await aT(n.ast,r,{services:i.Nowline,readFile:o}),a=[...n.diagnostics];for(let x of s.diagnostics){if(x.severity==="error"&&lP(x.message)){e.onSkippedInclude?.({sourcePath:x.sourcePath,message:x.message});continue}a.push(iP(x))}if(a.some(x=>x.severity==="error"))return{kind:"diagnostics",diagnostics:a};let c;if(e.timezone)try{c=k_(e.timezone)}catch(x){if(x instanceof Co)return{kind:"diagnostics",diagnostics:[{severity:"error",code:"invalid-timezone",message:x.message,file:r,line:1,column:1}]};throw x}let l=N_({now:e.today,zone:c}),u=S_(n.ast,s,{theme:e.theme,today:l,locale:e.locale,width:e.width}),f=e.diagnosticLevel??"error",d=I_(u,{today:l??void 0,locale:e.locale??"en-US"}).map(x=>sP(x,r)),p=e.showLinks!==!1,m=e.strict===!0,y=[],E=await D_(u,{idPrefix:e.idPrefix,assetResolver:e.assetResolver,noLinks:!p,strict:m,warn:x=>y.push(x),fontFamilies:e.fontFamilies}),_=[...d,...y.map(x=>oP(x,r,m?"error":"warning"))].filter(x=>bP(x.severity,f));return m&&_.length>0?{kind:"diagnostics",diagnostics:[...a,..._]}:{kind:"svg",svg:E,warnings:_}}function F_(){Th=void 0,wP=0}var SP="/embed.nowline",U_=!1;async function AP(t){let{ast:e,diagnostics:r}=await _h(t,{filePath:SP});return{ast:e,errors:r.filter(n=>n.severity==="error").map(n=>n.message)}}async function Eh(t,e={}){let r={filePath:SP,theme:e.theme,today:e.today,timezone:e.timezone,locale:e.locale,width:e.width,idPrefix:e.idPrefix,onSkippedInclude:()=>{U_||(U_=!0,console.warn("nowline: `include` directives are skipped in the browser embed (single-file mode). Render multi-file roadmaps with the CLI or the GitHub Action."))}},n=await $_(t,r);if(n.kind==="svg")return n.svg;let i=n.diagnostics.filter(o=>o.severity==="error").map(o=>o.message);throw new Vl(`Failed to render Nowline source: ${i.join("; ")}`,i)}var Vl=class extends Error{constructor(r,n){super(r);R(this,"details",n);this.name="EmbedRenderError"}};function IP(){U_=!1,F_()}var Hr=Uint8Array,lr=Uint16Array,j_=Int32Array,z_=new Hr([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),W_=new Hr([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),kP=new Hr([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),OP=function(t,e){for(var r=new lr(31),n=0;n<31;++n)r[n]=e+=1<<t[n-1];for(var i=new j_(r[30]),n=1;n<30;++n)for(var o=r[n];o<r[n+1];++o)i[o]=o-r[n]<<5|n;return{b:r,r:i}},LP=OP(z_,2),nX=LP.b,G_=LP.r;nX[28]=258,G_[258]=28;var DP=OP(W_,0),Ese=DP.b,NP=DP.r,X_=new lr(32768);for(Le=0;Le<32768;++Le)Hn=(Le&43690)>>1|(Le&21845)<<1,Hn=(Hn&52428)>>2|(Hn&13107)<<2,Hn=(Hn&61680)>>4|(Hn&3855)<<4,X_[Le]=((Hn&65280)>>8|(Hn&255)<<8)>>1;var Hn,Le,Zl=(function(t,e,r){for(var n=t.length,i=0,o=new lr(e);i<n;++i)t[i]&&++o[t[i]-1];var s=new lr(e);for(i=1;i<e;++i)s[i]=s[i-1]+o[i-1]<<1;var a;if(r){a=new lr(1<<e);var c=15-e;for(i=0;i<n;++i)if(t[i])for(var l=i<<4|t[i],u=e-t[i],f=s[t[i]-1]++<<u,d=f|(1<<u)-1;f<=d;++f)a[X_[f]>>c]=l}else for(a=new lr(n),i=0;i<n;++i)t[i]&&(a[i]=X_[s[t[i]-1]++]>>15-t[i]);return a}),Oo=new Hr(288);for(Le=0;Le<144;++Le)Oo[Le]=8;var Le;for(Le=144;Le<256;++Le)Oo[Le]=9;var Le;for(Le=256;Le<280;++Le)Oo[Le]=7;var Le;for(Le=280;Le<288;++Le)Oo[Le]=8;var Le,vh=new Hr(32);for(Le=0;Le<32;++Le)vh[Le]=5;var Le,iX=Zl(Oo,9,0);var oX=Zl(vh,5,0);var MP=function(t){return(t+7)/8|0},sX=function(t,e,r){return(e==null||e<0)&&(e=0),(r==null||r>t.length)&&(r=t.length),new Hr(t.subarray(e,r))};var jn=function(t,e,r){r<<=e&7;var n=e/8|0;t[n]|=r,t[n+1]|=r>>8},Yl=function(t,e,r){r<<=e&7;var n=e/8|0;t[n]|=r,t[n+1]|=r>>8,t[n+2]|=r>>16},B_=function(t,e){for(var r=[],n=0;n<t.length;++n)t[n]&&r.push({s:n,f:t[n]});var i=r.length,o=r.slice();if(!i)return{t:FP,l:0};if(i==1){var s=new Hr(r[0].s+1);return s[r[0].s]=1,{t:s,l:1}}r.sort(function(F,O){return F.f-O.f}),r.push({s:-1,f:25001});var a=r[0],c=r[1],l=0,u=1,f=2;for(r[0]={s:-1,f:a.f+c.f,l:a,r:c};u!=i-1;)a=r[r[l].f<r[f].f?l++:f++],c=r[l!=u&&r[l].f<r[f].f?l++:f++],r[u++]={s:-1,f:a.f+c.f,l:a,r:c};for(var d=o[0].s,n=1;n<i;++n)o[n].s>d&&(d=o[n].s);var p=new lr(d+1),m=H_(r[u-1],p,0);if(m>e){var n=0,y=0,E=m-e,_=1<<E;for(o.sort(function(O,L){return p[L.s]-p[O.s]||O.f-L.f});n<i;++n){var x=o[n].s;if(p[x]>e)y+=_-(1<<m-p[x]),p[x]=e;else break}for(y>>=E;y>0;){var v=o[n].s;p[v]<e?y-=1<<e-p[v]++-1:++n}for(;n>=0&&y;--n){var k=o[n].s;p[k]==e&&(--p[k],++y)}m=e}return{t:new Hr(p),l:m}},H_=function(t,e,r){return t.s==-1?Math.max(H_(t.l,e,r+1),H_(t.r,e,r+1)):e[t.s]=r},PP=function(t){for(var e=t.length;e&&!t[--e];);for(var r=new lr(++e),n=0,i=t[0],o=1,s=function(c){r[n++]=c},a=1;a<=e;++a)if(t[a]==i&&a!=e)++o;else{if(!i&&o>2){for(;o>138;o-=138)s(32754);o>2&&(s(o>10?o-11<<5|28690:o-3<<5|12305),o=0)}else if(o>3){for(s(i),--o;o>6;o-=6)s(8304);o>2&&(s(o-3<<5|8208),o=0)}for(;o--;)s(i);o=1,i=t[a]}return{c:r.subarray(0,n),n:e}},Kl=function(t,e){for(var r=0,n=0;n<e.length;++n)r+=t[n]*e[n];return r},$P=function(t,e,r){var n=r.length,i=MP(e+2);t[i]=n&255,t[i+1]=n>>8,t[i+2]=t[i]^255,t[i+3]=t[i+1]^255;for(var o=0;o<n;++o)t[i+o+4]=r[o];return(i+4+n)*8},CP=function(t,e,r,n,i,o,s,a,c,l,u){jn(e,u++,r),++i[256];for(var f=B_(i,15),d=f.t,p=f.l,m=B_(o,15),y=m.t,E=m.l,_=PP(d),x=_.c,v=_.n,k=PP(y),F=k.c,O=k.n,L=new lr(19),G=0;G<x.length;++G)++L[x[G]&31];for(var G=0;G<F.length;++G)++L[F[G]&31];for(var H=B_(L,7),oe=H.t,$=H.l,w=19;w>4&&!oe[kP[w-1]];--w);var D=l+5<<3,U=Kl(i,Oo)+Kl(o,vh)+s,S=Kl(i,d)+Kl(o,y)+s+14+3*w+Kl(L,oe)+2*L[16]+3*L[17]+7*L[18];if(c>=0&&D<=U&&D<=S)return $P(e,u,t.subarray(c,c+l));var A,I,B,z;if(jn(e,u,1+(S<U)),u+=2,S<U){A=Zl(d,p,0),I=d,B=Zl(y,E,0),z=y;var j=Zl(oe,$,0);jn(e,u,v-257),jn(e,u+5,O-1),jn(e,u+10,w-4),u+=14;for(var G=0;G<w;++G)jn(e,u+3*G,oe[kP[G]]);u+=3*w;for(var V=[x,F],K=0;K<2;++K)for(var ue=V[K],G=0;G<ue.length;++G){var Y=ue[G]&31;jn(e,u,j[Y]),u+=oe[Y],Y>15&&(jn(e,u,ue[G]>>5&127),u+=ue[G]>>12)}}else A=iX,I=Oo,B=oX,z=vh;for(var G=0;G<a;++G){var ne=n[G];if(ne>255){var Y=ne>>18&31;Yl(e,u,A[Y+257]),u+=I[Y+257],Y>7&&(jn(e,u,ne>>23&31),u+=z_[Y]);var Re=ne&31;Yl(e,u,B[Re]),u+=z[Re],Re>3&&(Yl(e,u,ne>>5&8191),u+=W_[Re])}else Yl(e,u,A[ne]),u+=I[ne]}return Yl(e,u,A[256]),u+I[256]},aX=new j_([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),FP=new Hr(0),cX=function(t,e,r,n,i,o){var s=o.z||t.length,a=new Hr(n+s+5*(1+Math.ceil(s/7e3))+i),c=a.subarray(n,a.length-i),l=o.l,u=(o.r||0)&7;if(e){u&&(c[0]=o.r>>3);for(var f=aX[e-1],d=f>>13,p=f&8191,m=(1<<r)-1,y=o.p||new lr(32768),E=o.h||new lr(m+1),_=Math.ceil(r/3),x=2*_,v=function(pe){return(t[pe]^t[pe+1]<<_^t[pe+2]<<x)&m},k=new j_(25e3),F=new lr(288),O=new lr(32),L=0,G=0,H=o.i||0,oe=0,$=o.w||0,w=0;H+2<s;++H){var D=v(H),U=H&32767,S=E[D];if(y[U]=S,E[D]=U,$<=H){var A=s-H;if((L>7e3||oe>24576)&&(A>423||!l)){u=CP(t,c,0,k,F,O,G,oe,w,H-w,u),oe=L=G=0,w=H;for(var I=0;I<286;++I)F[I]=0;for(var I=0;I<30;++I)O[I]=0}var B=2,z=0,j=p,V=U-S&32767;if(A>2&&D==v(H-V))for(var K=Math.min(d,A)-1,ue=Math.min(32767,H),Y=Math.min(258,A);V<=ue&&--j&&U!=S;){if(t[H+B]==t[H+B-V]){for(var ne=0;ne<Y&&t[H+ne]==t[H+ne-V];++ne);if(ne>B){if(B=ne,z=V,ne>K)break;for(var Re=Math.min(V,ne-2),Se=0,I=0;I<Re;++I){var $e=H-V+I&32767,q=y[$e],Q=$e-q&32767;Q>Se&&(Se=Q,S=$e)}}}U=S,S=y[U],V+=U-S&32767}if(z){k[oe++]=268435456|G_[B]<<18|NP[z];var re=G_[B]&31,M=NP[z]&31;G+=z_[re]+W_[M],++F[257+re],++O[M],$=H+B,++L}else k[oe++]=t[H],++F[t[H]]}}for(H=Math.max(H,$);H<s;++H)k[oe++]=t[H],++F[t[H]];u=CP(t,c,l,k,F,O,G,oe,w,H-w,u),l||(o.r=u&7|c[u/8|0]<<3,u-=7,o.h=E,o.p=y,o.i=H,o.w=$)}else{for(var H=o.w||0;H<s+l;H+=65535){var de=H+65535;de>=s&&(c[u/8|0]=l,de=s),u=$P(c,u+1,t.subarray(H,de))}o.i=s}return sX(a,0,n+MP(u)+i)};var UP=function(){var t=1,e=0;return{p:function(r){for(var n=t,i=e,o=r.length|0,s=0;s!=o;){for(var a=Math.min(s+2655,o);s<a;++s)i+=n+=r[s];n=(n&65535)+15*(n>>16),i=(i&65535)+15*(i>>16)}t=n,e=i},d:function(){return t%=65521,e%=65521,(t&255)<<24|(t&65280)<<8|(e&255)<<8|e>>8}}},lX=function(t,e,r,n,i){if(!i&&(i={l:1},e.dictionary)){var o=e.dictionary.subarray(-32768),s=new Hr(o.length+t.length);s.set(o),s.set(t,o.length),t=s,i.w=o.length}return cX(t,e.level==null?6:e.level,e.mem==null?i.l?Math.ceil(Math.max(8,Math.min(13,Math.log(t.length)))*1.5):20:12+e.mem,r,n,i)};var BP=function(t,e,r){for(;r;++e)t[e]=r,r>>>=8};var uX=function(t,e){var r=e.level,n=r==0?0:r<6?1:r==9?3:2;if(t[0]=120,t[1]=n<<6|(e.dictionary&&32),t[1]|=31-(t[0]<<8|t[1])%31,e.dictionary){var i=UP();i.p(e.dictionary),BP(t,2,i.d())}};function GP(t,e){e||(e={});var r=UP();r.p(t);var n=lX(t,e,e.dictionary?6:2,4);return uX(n,e),BP(n,n.length-4,r.d()),n}var fX=typeof TextDecoder<"u"&&new TextDecoder,dX=0;try{fX.decode(FP,{stream:!0}),dX=1}catch{}var jP="https://free.nowline.io/open";function XP(t){let e=new TextEncoder().encode(t),r=GP(e),n=32768,i="";for(let o=0;o<r.length;o+=n)i+=String.fromCharCode(...r.subarray(o,o+n));return btoa(i).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function q_({source:t,sourceUrl:e,share:r}){if(r===!1||r==="none")return null;if(typeof r=="object")return e!==void 0&&HP(e)?r.remoteUrl.replace("{url}",encodeURIComponent(e)):r.textUrl.replace("{text}",XP(t));let n=r===!0?jP:r,i=new URL(n);return e!==void 0&&HP(e)?i.hash=`url=${encodeURIComponent(e)}`:i.hash=`text=${XP(t)}`,i.toString()}function HP(t){try{return new URL(t).protocol==="https:"}catch{return!1}}var zP=0;async function WP(t){let e=t.document??globalThis.document;if(!e)return{rendered:0,failed:0};let r=e.querySelectorAll(t.selector),n=0,i=0,o=++zP,s=t.share??!0,a=[],c=0;for(let l of Array.from(r)){let u=pX(l);if(!u)continue;let f=hX(l),d=`nl-r${o}-${c++}`,p={theme:t.theme,locale:t.locale,width:t.width,today:t.today,timezone:t.timezone,idPrefix:d},m=u.parentElement,y=u.nextSibling,_=l.getAttribute("data-nowline-source-url")??void 0??t.sourceUrl;a.push(Eh(f,p).then(x=>{if(mX(u,x),n++,m!==null){let v=q_({source:f,sourceUrl:_,share:s});if(v!==null){let k=e.createElement("a");k.className="nowline-share",k.href=v,k.target="_blank",k.rel="noopener noreferrer",k.textContent="Share on Nowline",m.insertBefore(k,y)}}},x=>{i++,console.error("nowline: render failed",x)}))}return await Promise.all(a),{rendered:n,failed:i}}function pX(t){let e=t.parentElement;return e&&e.tagName.toUpperCase()==="PRE"?e:t}function hX(t){return t.textContent??""}function mX(t,e){t.outerHTML=e}function qP(){zP=0}function bh(){if(typeof globalThis>"u")return"light";let t=globalThis.matchMedia;if(typeof t!="function")return"light";try{return t("(prefers-color-scheme: dark)").matches?"dark":"light"}catch{return"light"}}function VP(t,e){return t&&t!=="auto"?wT(t)??e:e}var gX="0.8.5",yX="64645c3",xX="pre code.language-nowline, code.language-nowline",YP={theme:"auto",startOnLoad:!0,selector:xX,systemTheme:bh(),share:!0},nt={...YP},V_=!1;function TX(t={}){nt={theme:t.theme??nt.theme,startOnLoad:t.startOnLoad??nt.startOnLoad,selector:t.selector??nt.selector,locale:t.locale??nt.locale,width:t.width??nt.width,today:t.today!==void 0?t.today:nt.today,timezone:t.timezone??nt.timezone,share:t.share??nt.share,sourceUrl:t.sourceUrl??nt.sourceUrl,systemTheme:bh()}}function KP(){return{theme:VP(nt.theme,nt.systemTheme),locale:nt.locale,width:nt.width,today:nt.today,timezone:nt.timezone}}async function _X(t,e={}){let r={...KP(),...e};return Eh(t,r)}async function EX(t){return AP(t)}async function Y_(t){let e={selector:t?.selector??nt.selector,theme:t?.theme??KP().theme,locale:t?.locale??nt.locale,width:t?.width??nt.width,today:t?.today!==void 0?t.today:nt.today,timezone:t?.timezone??nt.timezone,share:t?.share??nt.share,sourceUrl:t?.sourceUrl??nt.sourceUrl,document:t?.document};return WP(e)}var vX=Y_;if(typeof document<"u"&&!V_){V_=!0;let t=()=>{nt.startOnLoad&&Y_()};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t,{once:!0}):queueMicrotask(t)}function bX(){nt={...YP,systemTheme:bh()},V_=!1,IP(),qP()}return tu(wX);})();
2664
2640
  //# sourceMappingURL=nowline.min.js.map