1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9722],{79413:function(e,t,r){let n;r.d(t,{a:function(){return mX},c:function(){return mz},d:function(){return m2},e:function(){return m5},f:function(){return mB},g:function(){return gr},h:function(){return gf},p:function(){return gm}});var i=r(36930),a=r(16505),s=r(48713),o=r(34155),l=Object.defineProperty,u=(e,t,r)=>t in e?l(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,c=(e,t,r)=>u(e,"symbol"!=typeof t?t+"":t,r);function d(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$type}function f(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$refText}function h(e){return"object"==typeof e&&null!==e&&d(e.container)&&f(e.reference)&&"string"==typeof e.message}class p{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,t){return d(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});let n=r[t];if(void 0!==n)return n;{let n=this.computeIsSubtype(e,t);return r[t]=n,n}}getAllSubTypes(e){let t=this.allSubtypes[e];if(t)return t;{let t=this.getAllTypes(),r=[];for(let n of t)this.isSubtype(n,e)&&r.push(n);return this.allSubtypes[e]=r,r}}}function m(e){return"object"==typeof e&&null!==e&&Array.isArray(e.content)}function g(e){return"object"==typeof e&&null!==e&&"object"==typeof e.tokenType}function y(e){return m(e)&&"string"==typeof e.fullText}class v{constructor(e,t){this.startFn=e,this.nextFn=t}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(),t=0,r=e.next();for(;!r.done;)t++,r=e.next();return t}toArray(){let e;let t=[],r=this.iterator();do void 0!==(e=r.next()).value&&t.push(e.value);while(!e.done);return t}toSet(){return new Set(this)}toMap(e,t){return new Map(this.map(r=>[e?e(r):r,t?t(r):r]))}toString(){return this.join()}concat(e){return new v(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),e=>{let t;if(!e.firstDone){do if(!(t=this.nextFn(e.first)).done)return t;while(!t.done);e.firstDone=!0}do if(!(t=e.iterator.next()).done)return t;while(!t.done);return $})}join(e=","){let t=this.iterator(),r="",n,i=!1;do{var a;(n=t.next()).done||(i&&(r+=e),r+="string"==typeof(a=n.value)?a:typeof a>"u"?"undefined":"function"==typeof a.toString?a.toString():Object.prototype.toString.call(a)),i=!0}while(!n.done);return r}indexOf(e,t=0){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(n>=t&&i.value===e)return n;i=r.next(),n++}return -1}every(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(!e(r.value))return!1;r=t.next()}return!0}some(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(e(r.value))return!0;r=t.next()}return!1}forEach(e){let t=this.iterator(),r=0,n=t.next();for(;!n.done;)e(n.value,r),n=t.next(),r++}map(e){return new v(this.startFn,t=>{let{done:r,value:n}=this.nextFn(t);return r?$:{done:!1,value:e(n)}})}filter(e){return new v(this.startFn,t=>{let r;do if(!(r=this.nextFn(t)).done&&e(r.value))return r;while(!r.done);return $})}nonNullable(){return this.filter(e=>null!=e)}reduce(e,t){let r=this.iterator(),n=t,i=r.next();for(;!i.done;)n=void 0===n?i.value:e(n,i.value),i=r.next();return n}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,r){let n=e.next();if(n.done)return r;let i=this.recursiveReduce(e,t,r);return void 0===i?n.value:t(i,n.value)}find(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(e(r.value))return r.value;r=t.next()}}findIndex(e){let t=this.iterator(),r=0,n=t.next();for(;!n.done;){if(e(n.value))return r;n=t.next(),r++}return -1}includes(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(r.value===e)return!0;r=t.next()}return!1}flatMap(e){return new v(()=>({this:this.startFn()}),t=>{do{if(t.iterator){let e=t.iterator.next();if(!e.done)return e;t.iterator=void 0}let{done:r,value:n}=this.nextFn(t.this);if(!r){let r=e(n);if(!T(r))return{done:!1,value:r};t.iterator=r[Symbol.iterator]()}}while(t.iterator);return $})}flat(e){if(void 0===e&&(e=1),e<=0)return this;let t=e>1?this.flat(e-1):this;return new v(()=>({this:t.startFn()}),e=>{do{if(e.iterator){let t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}let{done:r,value:n}=t.nextFn(e.this);if(!r){if(!T(n))return{done:!1,value:n};e.iterator=n[Symbol.iterator]()}}while(e.iterator);return $})}head(){let e=this.iterator().next();if(!e.done)return e.value}tail(e=1){return new v(()=>{let t=this.startFn();for(let r=0;r<e&&!this.nextFn(t).done;r++);return t},this.nextFn)}limit(e){return new v(()=>({size:0,state:this.startFn()}),t=>(t.size++,t.size>e?$:this.nextFn(t.state)))}distinct(e){return new v(()=>({set:new Set,internalState:this.startFn()}),t=>{let r;do if(!(r=this.nextFn(t.internalState)).done){let n=e?e(r.value):r.value;if(!t.set.has(n))return t.set.add(n),r}while(!r.done);return $})}exclude(e,t){let r=new Set;for(let n of e){let e=t?t(n):n;r.add(e)}return this.filter(e=>{let n=t?t(e):e;return!r.has(n)})}}function T(e){return!!e&&"function"==typeof e[Symbol.iterator]}let R=new v(()=>{},()=>$),$=Object.freeze({done:!0,value:void 0});function A(...e){if(1===e.length){let t=e[0];if(t instanceof v)return t;if(T(t))return new v(()=>t[Symbol.iterator](),e=>e.next());if("number"==typeof t.length)return new v(()=>({index:0}),e=>e.index<t.length?{done:!1,value:t[e.index++]}:$)}return e.length>1?new v(()=>({collIndex:0,arrIndex:0}),t=>{do{if(t.iterator){let e=t.iterator.next();if(!e.done)return e;t.iterator=void 0}if(t.array){if(t.arrIndex<t.array.length)return{done:!1,value:t.array[t.arrIndex++]};t.array=void 0,t.arrIndex=0}if(t.collIndex<e.length){let r=e[t.collIndex++];T(r)?t.iterator=r[Symbol.iterator]():r&&"number"==typeof r.length&&(t.array=r)}}while(t.iterator||t.array||t.collIndex<e.length);return $}):R}class E extends v{constructor(e,t,r){super(()=>({iterators:null!=r&&r.includeRoot?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),e=>{for(e.pruned&&(e.iterators.pop(),e.pruned=!1);e.iterators.length>0;){let r=e.iterators[e.iterators.length-1].next();if(!r.done)return e.iterators.push(t(r.value)[Symbol.iterator]()),r;e.iterators.pop()}return $})}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}function k(e){return new E(e,e=>m(e)?e.content:[],{includeRoot:!0})}function x(e){return{start:{character:e.startColumn-1,line:e.startLine-1},end:{character:e.endColumn,line:e.endLine-1}}}function b(e){if(!e)return;let{offset:t,end:r,range:n}=e;return{range:n,offset:t,end:r,length:r-t}}(fr=hb||(hb={})).sum=function(e){return e.reduce((e,t)=>
1e+t,0)},fr.product=function(e){return e.reduce((e,t)=>e*t,0)},fr.min=function(e){return e.reduce((e,t)=>Math.min(e,t))},fr.max=function(e){return e.reduce((e,t)=>Math.max(e,t))},(fn=hI||(hI={}))[fn.Before=0]="Before",fn[fn.After=1]="After",fn[fn.OverlapFront=2]="OverlapFront",fn[fn.OverlapBack=3]="OverlapBack",fn[fn.Inside=4]="Inside",fn[fn.Outside=5]="Outside";let I=/^[\w\p{L}]$/u;function S(e,t){return g(e)&&t.includes(e.tokenType.name)}class w extends Error{constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}}function _(e){throw Error("Error! The input value was not handled.")}let N="AbstractRule",C="AbstractType",O="Condition",L="TypeDefinition",P="ValueLiteral",M="AbstractElement",D="ArrayLiteral",j="ArrayType",U="BooleanLiteral",F="Conjunction",G="Disjunction",B="Grammar",K="GrammarImport",V="InferredType";function H(e){return eD.isInstance(e,V)}let z="Interface";function W(e){return eD.isInstance(e,z)}let Y="NamedArgument",q="Negation",X="NumberLiteral",Q="Parameter",Z="ParameterReference",J="ParserRule";function ee(e){return eD.isInstance(e,J)}let et="ReferenceType",er="ReturnType",en="SimpleType",ei="StringLiteral",ea="TerminalRule";function es(e){return eD.isInstance(e,ea)}let eo="Type";function el(e){return eD.isInstance(e,eo)}let eu="TypeAttribute",ec="UnionType",ed="Action";function ef(e){return eD.isInstance(e,ed)}let eh="Alternatives";function ep(e){return eD.isInstance(e,eh)}let em="Assignment";function eg(e){return eD.isInstance(e,em)}let ey="CharacterRange",ev="CrossReference";function eT(e){return eD.isInstance(e,ev)}let eR="EndOfFile",e$="Group";function eA(e){return eD.isInstance(e,e$)}let eE="Keyword";function ek(e){return eD.isInstance(e,eE)}let ex="NegatedToken",eb="RegexToken",eI="RuleCall";function eS(e){return eD.isInstance(e,eI)}let ew="TerminalAlternatives",e_="TerminalGroup",eN="TerminalRuleCall",eC="UnorderedGroup";function eO(e){return eD.isInstance(e,eC)}let eL="UntilToken",eP="Wildcard";class eM extends p{getAllTypes(){return[M,N,C,ed,eh,D,j,em,U,ey,O,F,ev,G,eR,B,K,e$,V,z,eE,Y,ex,q,X,Q,Z,J,et,eb,er,eI,en,ei,ew,e_,ea,eN,eo,eu,L,ec,eC,eL,P,eP]}computeIsSubtype(e,t){switch(e){case ed:case eh:case em:case ey:case ev:case eR:case e$:case eE:case ex:case eb:case eI:case ew:case e_:case eN:case eC:case eL:case eP:return this.isSubtype(M,t);case D:case X:case ei:return this.isSubtype(P,t);case j:case et:case en:case ec:return this.isSubtype(L,t);case U:return this.isSubtype(O,t)||this.isSubtype(P,t);case F:case G:case q:case Z:return this.isSubtype(O,t);case V:case z:case eo:return this.isSubtype(C,t);case J:return this.isSubtype(N,t)||this.isSubtype(C,t);case ea:return this.isSubtype(N,t);default:return!1}}getReferenceType(e){let t=`${e.container.$type}:${e.property}`;switch(t){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return C;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return N;case"Grammar:usedGrammars":return B;case"NamedArgument:parameter":case"ParameterReference:parameter":return Q;case"TerminalRuleCall:rule":return ea;default:throw Error(`${t} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case M:return{name:M,properties:[{name:"cardinality"},{name:"lookahead"}]};case D:return{name:D,properties:[{name:"elements",defaultValue:[]}]};case j:return{name:j,properties:[{name:"elementType"}]};case U:return{name:U,properties:[{name:"true",defaultValue:!1}]};case F:return{name:F,properties:[{name:"left"},{name:"right"}]};case G:return{name:G,properties:[{name:"left"},{name:"right"}]};case B:return{name:B,properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case K:return{name:K,properties:[{name:"path"}]};case V:return{name:V,properties:[{name:"name"}]};case z:return{name:z,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case Y:return{name:Y,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case q:return{name:q,properties:[{name:"value"}]};case X:return{name:X,properties:[{name:"value"}]};case Q:return{name:Q,properties:[{name:"name"}]};case Z:return{name:Z,properties:[{name:"parameter"}]};case J:return{name:J,properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case et:return{name:et,properties:[{name:"referenceType"}]};case er:return{name:er,properties:[{name:"name"}]};case en:return{name:en,properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case ei:return{name:ei,properties:[{name:"value"}]};case ea:return{name:ea,properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case eo:return{name:eo,properties:[{name:"name"},{name:"type"}]};case eu:return{name:eu,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case ec:return{name:ec,properties:[{name:"types",defaultValue:[]}]};case ed:return{name:ed,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case eh:return{name:eh,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case em:return{name:em,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case ey:return{name:ey,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case ev:return{name:ev,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case eR:return{name:eR,properties:[{name:"cardinality"},{name:"lookahead"}]};case e$:return{name:e$,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case eE:return{name:eE,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case ex:return{name:ex,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case eb:return{name:eb,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case eI:return{name:eI,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case ew:return{name:ew,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case e_:return{name:e_,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case eN:return{name:eN,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case eC:return{name:eC,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case eL:return{name:eL,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case eP:return{name:eP,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}let eD=new eM;function ej(e,t){let r=e;for(;r;){if(t(r))return r;r=r.$container}}
1function eU(e){let t=eF(e).$document;if(!t)throw Error("AST node has no document.");return t}function eF(e){for(;e.$container;)e=e.$container;return e}function eG(e,t){if(!e)throw Error("Node must be an AstNode.");let r=null==t?void 0:t.range;return new v(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndex<t.keys.length;){let n=t.keys[t.keyIndex];if(!n.startsWith("$")){let i=e[n];if(d(i)){if(t.keyIndex++,eV(i,r))return{done:!1,value:i}}else if(Array.isArray(i)){for(;t.arrayIndex<i.length;){let e=i[t.arrayIndex++];if(d(e)&&eV(e,r))return{done:!1,value:e}}t.arrayIndex=0}}t.keyIndex++}return $})}function eB(e,t){if(!e)throw Error("Root node must be an AstNode.");return new E(e,e=>eG(e,t))}function eK(e,t){if(!e)throw Error("Root node must be an AstNode.");return new E(e,e=>eG(e,t),{includeRoot:!0})}function eV(e,t){var r;if(!t)return!0;let n=null===(r=e.$cstNode)||void 0===r?void 0:r.range;return!!n&&function(e,t){if(e.end.line<t.start.line||e.end.line===t.start.line&&e.end.character<=t.start.character)return hI.Before;if(e.start.line>t.end.line||e.start.line===t.end.line&&e.start.character>=t.end.character)return hI.After;let r=e.start.line>t.start.line||e.start.line===t.start.line&&e.start.character>=t.start.character,n=e.end.line<t.end.line||e.end.line===t.end.line&&e.end.character<=t.end.character;return r&&n?hI.Inside:r?hI.OverlapBack:n?hI.OverlapFront:hI.Outside}(n,t)>hI.After}function eH(e){return new v(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndex<t.keys.length;){let r=t.keys[t.keyIndex];if(!r.startsWith("$")){let n=e[r];if(f(n))return t.keyIndex++,{done:!1,value:{reference:n,container:e,property:r}};if(Array.isArray(n)){for(;t.arrayIndex<n.length;){let i=t.arrayIndex++,a=n[i];if(f(a))return{done:!1,value:{reference:a,container:e,property:r,index:i}}}t.arrayIndex=0}}t.keyIndex++}return $})}function ez(e){return e.charCodeAt(0)}function eW(e,t){Array.isArray(e)?e.forEach(function(e){t.push(e)}):t.push(e)}function eY(e,t){if(!0===e[t])throw"duplicate flag "+t;e[t],e[t]=!0}function eq(e){if(void 0===e)throw Error("Internal Error - Should never get here!");return!0}function eX(e){return"Character"===e.type}let eQ=[];for(let e=ez("0");e<=ez("9");e++)eQ.push(e);let eZ=[ez("_")].concat(eQ);for(let e=ez("a");e<=ez("z");e++)eZ.push(e);for(let e=ez("A");e<=ez("Z");e++)eZ.push(e);let eJ=[ez(" "),ez("\f"),ez(` 2`),ez("\r"),ez(" "),ez("\v"),ez(" "),ez("\xa0"),ez("á"),ez("â"),ez("â"),ez("â"),ez("â"),ez("â"),ez("â "),ez("â"),ez("â"),ez("â"),ez("â"),ez("â"),ez("\u2028"),ez("\u2029"),ez("â¯"),ez("â"),ez("ã"),ez("\uFEFF")],e0=/[0-9a-fA-F]/,e1=/[0-9]/,e2=/[1-9]/;class e4{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let t=this.disjunction();this.consumeChar("/");let r={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":eY(r,"global");break;case"i":eY(r,"ignoreCase");break;case"m":eY(r,"multiLine");break;case"u":eY(r,"unicode");break;case"y":eY(r,"sticky")}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:t,loc:this.loc(0)}}disjunction(){let e=[],t=this.idx;for(e.push(this.alternative());"|"===this.peekChar();)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(t)}}alternative(){let e=[],t=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":let t;switch(this.consumeChar("?"),this.popChar()){case"=":t="Lookahead";break;case"!":t="NegativeLookahead"}eq(t);let r=this.disjunction();return this.consumeChar(")"),{type:t,value:r,loc:this.loc(e)}}return function(){throw Error("Internal Error - Should never get here!")}()}quantifier(e=!1){let t;let r=this.idx;switch(this.popChar()){case"*":t={atLeast:0,atMost:1/0};break;case"+":t={atLeast:1,atMost:1/0};break;case"?":t={atLeast:0,atMost:1};break;case"{":let n=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:n,atMost:n};break;case",":t=this.isDigit()?{atLeast:n,atMost:this.integerIncludingZero()}:{atLeast:n,atMost:1/0},this.consumeChar("}")}if(!0===e&&void 0===t)return;eq(t)}if(!(!0===e&&void 0===t)&&eq(t))return"?"===this.peekChar(0)?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(r),t}atom(){let e;let t=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group()}if(void 0===e&&this.isPatternCharacter()&&(e=this.patternCharacter()),eq(e))return e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[ez(` 3`),ez("\r"),ez("\u2028"),ez("\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();
3case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case"d":e=eQ;break;case"D":e=eQ,t=!0;break;case"s":e=eJ;break;case"S":e=eJ,t=!0;break;case"w":e=eZ;break;case"W":e=eZ,t=!0}if(eq(e))return{type:"Set",value:e,complement:t}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=ez("\f");break;case"n":e=ez(` 4`);break;case"r":e=ez("\r");break;case"t":e=ez(" ");break;case"v":e=ez("\v")}if(eq(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(!1===/[a-zA-Z]/.test(e))throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:ez("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){return{type:"Character",value:ez(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case` 5`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:return{type:"Character",value:ez(this.popChar())}}}characterClass(){let e=[],t=!1;for(this.consumeChar("["),"^"===this.peekChar(0)&&(this.consumeChar("^"),t=!0);this.isClassAtom();){let t=this.classAtom();if(t.type,eX(t)&&this.isRangeDash()){this.consumeChar("-");let r=this.classAtom();if(r.type,eX(r)){if(r.value<t.value)throw Error("Range out of order in character class");e.push({from:t.value,to:r.value})}else eW(t.value,e),e.push(ez("-")),eW(r.value,e)}else eW(t.value,e)}return this.consumeChar("]"),{type:"Set",complement:t,value:e}}classAtom(){switch(this.peekChar()){case"]":case` 6`: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:ez("\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 t=this.disjunction();this.consumeChar(")");let r={type:"Group",capturing:e,value:t};return e&&(r.idx=this.groupIdx),r}positiveInteger(){let e=this.popChar();if(!1===e2.test(e))throw Error("Expecting a positive integer");for(;e1.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(!1===e1.test(e))throw Error("Expecting an integer");for(;e1.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let e=this.popChar();switch(e){case` 7`: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:ez(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 e1.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case` 8`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return"?"===this.peekChar(1)&&("="===this.peekChar(2)||"!"===this.peekChar(2));default:return!1}}isQuantifier(){let e=this.saveState();try{return void 0!==this.quantifier(!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` 9`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let t="";for(let r=0;r<e;r++){let e=this.popChar();if(!1===e0.test(e))throw Error("Expecting a HexDecimal digits");t+=e}return{type:"Character",value:parseInt(t,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){let e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(void 0!==e&&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}}}class e9{visitChildren(e){for(let t in e){let r=e[t];e.hasOwnProperty(t)&&(void 0!==r.type?this.visit(r):Array.isArray(r)&&r.forEach(e
9=>{this.visit(e)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e)}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}let e3=/\r?\n/gm,e7=new e4;class e6 extends e9{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let t=String.fromCharCode(e.value);if(this.multiline||t!==` 10`||(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let e=tt(t);this.endRegexpStack.push(e),this.isStarting&&(this.startRegexp+=e)}}visitSet(e){if(!this.multiline){let t=new RegExp(this.regex.substring(e.loc.begin,e.loc.end));this.multiline=!!` 11`.match(t)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let t=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t)}}visitChildren(e){"Group"===e.type&&e.quantifier||super.visitChildren(e)}}let e5=new e6,e8=`\f 12\r \v \xa0áââââââ âââââ\u2028\u2029â¯âã\uFEFF`.split("");function te(e){let t="string"==typeof e?new RegExp(e):e;return e8.some(e=>t.test(e))}function tt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function tr(e,t){let r=new Set,n=e.rules.find(e=>ee(e)&&e.entry);if(!n)return new Set(e.rules);for(let i of[n].concat(e.rules.filter(e=>es(e)&&e.hidden)))!function e(t,r,n){r.add(t.name),eB(t).forEach(t=>{if(eS(t)||n){let i=t.rule.ref;i&&!r.has(i.name)&&e(i,r,n)}})}(i,r,t);let i=new Set;for(let t of e.rules)(r.has(t.name)||es(t)&&t.hidden)&&i.add(t);return i}function tn(e,t,r){if(!e||!t)return;let n=ti(e,t,e.astNode,!0);if(0!==n.length)return r=void 0!==r?Math.max(0,Math.min(r,n.length-1)):0,n[r]}function ti(e,t,r,n){if(!n){let r=ej(e.grammarSource,eg);if(r&&r.feature===t)return[e]}return m(e)&&e.astNode===r?e.content.flatMap(e=>ti(e,t,r,!1)):[]}function ta(e){let t=e;return H(t)&&(ef(t.$container)?t=t.$container.$container:ee(t.$container)?t=t.$container:_(t.$container)),function e(t,r,n){var i;function a(r,i){let a;return ej(r,eg)||(a=e(i,i,n)),n.set(t,a),a}if(n.has(t))return n.get(t);for(let e of(n.set(t,void 0),eB(r))){if(eg(e)&&"name"===e.feature.toLowerCase())return n.set(t,e),e;if(eS(e)&&ee(e.rule.ref))return a(e,e.rule.ref);if(eD.isInstance(e,en)&&!(null===(i=e.typeRef)||void 0===i)&&i.ref)return a(e,e.typeRef.ref)}}(e,t,new Map)}function ts(e){return function e(t,r){if(r.has(t))return!0;for(let n of(r.add(t),eB(t)))if(eS(n)){if(!n.rule.ref||ee(n.rule.ref)&&!e(n.rule.ref,r))return!1}else if(eg(n)||ef(n))return!1;return!!t.definition}(e,new Set)}function to(e){if(e.inferredType)return e.inferredType.name;if(e.dataType)return e.dataType;if(e.returnType){let t=e.returnType.ref;if(t&&(ee(t)||W(t)||el(t)))return t.name}}function tl(e){var t,r;if(ee(e))return ts(e)?e.name:null!==(t=to(e))&&void 0!==t?t:e.name;if(W(e)||el(e)||eD.isInstance(e,er))return e.name;if(ef(e)){let t=e.inferredType?e.inferredType.name:!(null===(r=e.type)||void 0===r)&&r.ref?tl(e.type.ref):void 0;if(t)return t}else if(H(e))return e.name;throw Error("Cannot get name of Unknown Type")}function tu(e){let t={s:!1,i:!1,u:!1};return new RegExp(function e(t,r){if(eD.isInstance(t,ew))return tf(t.elements.map(t=>e(t)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead});if(eD.isInstance(t,e_))return tf(t.elements.map(t=>e(t)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead});if(eD.isInstance(t,ey))return t.right?tf(`[${td(t.left)}-${td(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1}):tf(td(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1});if(eD.isInstance(t,eN)){let r=t.rule.ref;if(!r)throw Error("Missing rule reference.");return tf(e(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead})}if(eD.isInstance(t,ex))return tf(`(?!${e(t.terminal)})${tc}*?`,{cardinality:t.cardinality,lookahead:t.lookahead});if(eD.isInstance(t,eL))return tf(`${tc}*?${e(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead});if(eD.isInstance(t,eb)){let e=t.regex.lastIndexOf("/"),n=t.regex.substring(1,e),i=t.regex.substring(e+1);return r&&(r.i=i.includes("i"),r.s=i.includes("s"),r.u=i.includes("u")),tf(n,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}if(eD.isInstance(t,eP))return tf(tc,{cardinality:t.cardinality,lookahead:t.lookahead});throw Error(`Invalid terminal element: ${null==t?void 0:t.$type}`)}(e.definition,t),Object.entries(t).filter(([,e])=>e).map(([e])=>e).join(""))}let tc=/[\s\S]/.source;function td(e){return tt(e.value)}function tf(e,t){var r;return(!1!==t.wrap||t.lookahead)&&(e=`(${null!==(r=t.lookahead)&&void 0!==r?r:""}${e})`),t.cardinality?`${e}${t.cardinality}`:e}var th="object"==typeof global&&global&&global.Object===Object&&global,tp="object"==typeof self&&self&&self.Object===Object&&self,tm=th||tp||Function("return this")(),tg=tm.Symbol,ty=Object.prototype,tv=ty.hasOwnProperty,tT=ty.toString,tR=tg?tg.toStringTag:void 0,t$=Object.prototype.toString,tA=tg?tg.toStringTag:void 0;
12function tE(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":tA&&tA in Object(e)?function(e){var t=tv.call(e,tR),r=e[tR];try{e[tR]=void 0;var n=!0}catch{}var i=tT.call(e);return n&&(t?e[tR]=r:delete e[tR]),i}(e):t$.call(e)}function tk(e){return null!=e&&"object"==typeof e}function tx(e){return"symbol"==typeof e||tk(e)&&"[object Symbol]"==tE(e)}function tb(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}var tI=Array.isArray,tS=tg?tg.prototype:void 0,tw=tS?tS.toString:void 0,t_=/\s/,tN=/^\s+/;function tC(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var tO=NaN,tL=/^[-+]0x[0-9a-f]+$/i,tP=/^0b[01]+$/i,tM=/^0o[0-7]+$/i,tD=parseInt,tj=1/0;function tU(e){var t,r=(t=e)?(t=function(e){if("number"==typeof e)return e;if(tx(e))return tO;if(tC(e)){var t,r="function"==typeof e.valueOf?e.valueOf():e;e=tC(r)?r+"":r}if("string"!=typeof e)return 0===e?e:+e;e=(t=e)&&t.slice(0,function(e){for(var t=e.length;t--&&t_.test(e.charAt(t)););return t}(t)+1).replace(tN,"");var n=tP.test(e);return n||tM.test(e)?tD(e.slice(2),n?2:8):tL.test(e)?tO:+e}(t))===tj||t===-tj?(t<0?-1:1)*17976931348623157e292:t==t?t:0:0===t?t:0,n=r%1;return r==r?n?r-n:r:0}function tF(e){return e}function tG(e){if(!tC(e))return!1;var t=tE(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}var tB=tm["__core-js_shared__"],tK=(fi=/[^.]+$/.exec(tB&&tB.keys&&tB.keys.IE_PROTO||""))?"Symbol(src)_1."+fi:"",tV=Function.prototype.toString;function tH(e){if(null!=e){try{return tV.call(e)}catch{}try{return e+""}catch{}}return""}var tz=/^\[object .+?Constructor\]$/,tW=Object.prototype,tY=Function.prototype.toString,tq=tW.hasOwnProperty,tX=RegExp("^"+tY.call(tq).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function tQ(e,t){var r=null==e?void 0:e[t];return tC(r)&&(!tK||!(tK in r))&&(tG(r)?tX:tz).test(tH(r))?r:void 0}var tZ=tQ(tm,"WeakMap"),tJ=Object.create,t0=function(){function e(){}return function(t){if(!tC(t))return{};if(tJ)return tJ(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();function t1(){}var t2=Date.now,t4=function(){try{var e=tQ(Object,"defineProperty");return e({},"",{}),e}catch{}}(),t9=(fa=t4?function(e,t){return t4(e,"toString",{configurable:!0,enumerable:!1,value:function(){return t},writable:!0})}:tF,fs=0,fo=0,function(){var e=t2(),t=16-(e-fo);if(fo=e,t>0){if(++fs>=800)return arguments[0]}else fs=0;return fa.apply(void 0,arguments)});function t3(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}function t7(e,t,r,n){for(var i=e.length,a=r+-1;++a<i;)if(t(e[a],a,e))return a;return -1}function t6(e){return e!=e}function t5(e,t,r){return t==t?function(e,t,r){for(var n=r-1,i=e.length;++n<i;)if(e[n]===t)return n;return -1}(e,t,r):t7(e,t6,r)}function t8(e,t){return!!(null==e?0:e.length)&&t5(e,t,0)>-1}var re=/^(?:0|[1-9]\d*)$/;function rt(e,t){var r=typeof e;return!!(t=t??9007199254740991)&&("number"==r||"symbol"!=r&&re.test(e))&&e>-1&&e%1==0&&e<t}function rr(e,t,r){"__proto__"==t&&t4?t4(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}function rn(e,t){return e===t||e!=e&&t!=t}var ri=Object.prototype.hasOwnProperty;function ra(e,t,r){var n=e[t];ri.call(e,t)&&rn(n,r)&&(void 0!==r||t in e)||rr(e,t,r)}function rs(e,t,r,n){var i=!r;r||(r={});for(var a=-1,s=t.length;++a<s;){var o=t[a],l=void 0;void 0===l&&(l=e[o]),i?rr(r,o,l):ra(r,o,l)}return r}var ro=Math.max;function rl(e,t){var r;return t9((r=ro(void 0===(r=t)?e.length-1:r,0),function(){for(var t=arguments,n=-1,i=ro(t.length-r,0),a=Array(i);++n<i;)a[n]=t[r+n];n=-1;for(var s=Array(r+1);++n<r;)s[n]=t[n];return s[r]=tF(a),function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}(e,this,s)}),e+"")}function ru(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function rc(e){return null!=e&&ru(e.length)&&!tG(e)}function rd(e,t,r){if(!tC(r))return!1;var n=typeof t;return("number"==n?!!(rc(r)&&rt(t,r.length)):"string"==n&&t in r)&&rn(r[t],e)}var rf=Object.prototype;function rh(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||rf)}function rp(e){return tk(e)&&"[object Arguments]"==tE(e)}var rm=Object.prototype,rg=rm.hasOwnProperty,ry=rm.propertyIsEnumerable,rv=rp(function(){return arguments}())?rp:function(e){return tk(e)&&rg.call(e,"callee")&&!ry.call(e,"callee")},rT="object"==typeof exports&&exports&&!exports.nodeType&&exports,rR=rT&&"object"==typeof module&&module&&!module.nodeType&&module,r$=rR&&rR.exports===rT?tm.Buffer:void 0,rA=(r$?r$.isBuffer:void 0)||function(){return!1},rE={};function rk(e){return function(t){return e(t)}}
12rE["[object Float32Array]"]=rE["[object Float64Array]"]=rE["[object Int8Array]"]=rE["[object Int16Array]"]=rE["[object Int32Array]"]=rE["[object Uint8Array]"]=rE["[object Uint8ClampedArray]"]=rE["[object Uint16Array]"]=rE["[object Uint32Array]"]=!0,rE["[object Arguments]"]=rE["[object Array]"]=rE["[object ArrayBuffer]"]=rE["[object Boolean]"]=rE["[object DataView]"]=rE["[object Date]"]=rE["[object Error]"]=rE["[object Function]"]=rE["[object Map]"]=rE["[object Number]"]=rE["[object Object]"]=rE["[object RegExp]"]=rE["[object Set]"]=rE["[object String]"]=rE["[object WeakMap]"]=!1;var rx="object"==typeof exports&&exports&&!exports.nodeType&&exports,rb=rx&&"object"==typeof module&&module&&!module.nodeType&&module,rI=rb&&rb.exports===rx&&th.process,rS=function(){try{return rb&&rb.require&&rb.require("util").types||rI&&rI.binding&&rI.binding("util")}catch{}}(),rw=rS&&rS.isTypedArray,r_=rw?rk(rw):function(e){return tk(e)&&ru(e.length)&&!!rE[tE(e)]},rN=Object.prototype.hasOwnProperty;function rC(e,t){var r=tI(e),n=!r&&rv(e),i=!r&&!n&&rA(e),a=!r&&!n&&!i&&r_(e),s=r||n||i||a,o=s?function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}(e.length,String):[],l=o.length;for(var u in e)(t||rN.call(e,u))&&!(s&&("length"==u||i&&("offset"==u||"parent"==u)||a&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||rt(u,l)))&&o.push(u);return o}function rO(e,t){return function(r){return e(t(r))}}var rL=rO(Object.keys,Object),rP=Object.prototype.hasOwnProperty;function rM(e){if(!rh(e))return rL(e);var t=[];for(var r in Object(e))rP.call(e,r)&&"constructor"!=r&&t.push(r);return t}function rD(e){return rc(e)?rC(e):rM(e)}var rj=Object.prototype.hasOwnProperty,rU=(fl=function(e,t){if(rh(t)||rc(t)){rs(t,rD(t),e);return}for(var r in t)rj.call(t,r)&&ra(e,r,t[r])},rl(function(e,t){var r=-1,n=t.length,i=n>1?t[n-1]:void 0,a=n>2?t[2]:void 0;for(i=fl.length>3&&"function"==typeof i?(n--,i):void 0,a&&rd(t[0],t[1],a)&&(i=n<3?void 0:i,n=1),e=Object(e);++r<n;){var s=t[r];s&&fl(e,s,r,i)}return e})),rF=Object.prototype.hasOwnProperty;function rG(e){return rc(e)?rC(e,!0):function(e){if(!tC(e))return function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}(e);var t=rh(e),r=[];for(var n in e)"constructor"==n&&(t||!rF.call(e,n))||r.push(n);return r}(e)}var rB=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,rK=/^\w*$/;function rV(e,t){if(tI(e))return!1;var r=typeof e;return!!("number"==r||"symbol"==r||"boolean"==r||null==e||tx(e))||rK.test(e)||!rB.test(e)||null!=t&&e in Object(t)}var rH=tQ(Object,"create"),rz=Object.prototype.hasOwnProperty,rW=Object.prototype.hasOwnProperty;function rY(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function rq(e,t){for(var r=e.length;r--;)if(rn(e[r][0],t))return r;return -1}rY.prototype.clear=function(){this.__data__=rH?rH(null):{},this.size=0},rY.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},rY.prototype.get=function(e){var t=this.__data__;if(rH){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return rz.call(t,e)?t[e]:void 0},rY.prototype.has=function(e){var t=this.__data__;return rH?void 0!==t[e]:rW.call(t,e)},rY.prototype.set=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=rH&&void 0===t?"__lodash_hash_undefined__":t,this};var rX=Array.prototype.splice;function rQ(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}rQ.prototype.clear=function(){this.__data__=[],this.size=0},rQ.prototype.delete=function(e){var t=this.__data__,r=rq(t,e);return!(r<0)&&(r==t.length-1?t.pop():rX.call(t,r,1),--this.size,!0)},rQ.prototype.get=function(e){var t=this.__data__,r=rq(t,e);return r<0?void 0:t[r][1]},rQ.prototype.has=function(e){return rq(this.__data__,e)>-1},rQ.prototype.set=function(e,t){var r=this.__data__,n=rq(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};var rZ=tQ(tm,"Map");function rJ(e,t){var r,n=e.__data__;return("string"==(r=typeof t)||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==t:null===t)?n["string"==typeof t?"string":"hash"]:n.map}function r0(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function r1(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw TypeError("Expected a function");var r=function(){var n=arguments,i=t?t.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var s=e.apply(this,n);return r.cache=a.set(i,s)||a,s};return r.cache=new(r1.Cache||r0),r}r0.prototype.clear=function(){this.size=0,this.__data__={hash:new rY,map:new(rZ||rQ),string:new rY}},r0.prototype.delete=function(e){var t=rJ(this,e).delete(e);return this.size-=t?1:0,t},r0.prototype.get=function(e){return rJ(this,e).get(e)},r0.prototype.has=function(e){return rJ(this,e).has(e)},r0.prototype.set=function(e,t){var r=rJ(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this},r1.Cache=r0;var r2=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r4=/\\(\\)?/g,r9=(fc=(fu=r1(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(r2,function(e,r,n,i){t.push(n?i.replace(r4,"$1"):r||e)}),t},function(e){return 500===fc.size&&fc.clear(),e})).cache,fu);function r3(e,t){return tI(e)?e:rV(e,t)?[e]:r9(null==e?"":function e(t){if("string"==typeof t)return t;if(tI(t))return tb(t,e)+"";if(tx(t))return tw?tw.call(t):"";var r=t+"";return"0"==r&&1/t==-1/0?"-0":r}(e))}function r7(e){if("string"==typeof e||tx(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}
12function r6(e,t){t=r3(t,e);for(var r=0,n=t.length;null!=e&&r<n;)e=e[r7(t[r++])];return r&&r==n?e:void 0}function r5(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}var r8=tg?tg.isConcatSpreadable:void 0;function ne(e){return tI(e)||rv(e)||!!(r8&&e&&e[r8])}function nt(e,t,r,n,i){var a=-1,s=e.length;for(r||(r=ne),i||(i=[]);++a<s;){var o=e[a];r(o)?r5(i,o):n||(i[i.length]=o)}return i}function nr(e){return(null==e?0:e.length)?nt(e):[]}var nn=rO(Object.getPrototypeOf,Object);function ni(e,t,r){var n=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(r=r>i?i:r)<0&&(r+=i),i=t>r?0:r-t>>>0,t>>>=0;for(var a=Array(i);++n<i;)a[n]=e[n+t];return a}function na(e,t,r,n){var i=-1,a=null==e?0:e.length;for(n&&a&&(r=e[++i]);++i<a;)r=t(r,e[i],i,e);return r}function ns(e){var t=this.__data__=new rQ(e);this.size=t.size}ns.prototype.clear=function(){this.__data__=new rQ,this.size=0},ns.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},ns.prototype.get=function(e){return this.__data__.get(e)},ns.prototype.has=function(e){return this.__data__.has(e)},ns.prototype.set=function(e,t){var r=this.__data__;if(r instanceof rQ){var n=r.__data__;if(!rZ||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new r0(n)}return r.set(e,t),this.size=r.size,this};var no="object"==typeof exports&&exports&&!exports.nodeType&&exports,nl=no&&"object"==typeof module&&module&&!module.nodeType&&module,nu=nl&&nl.exports===no?tm.Buffer:void 0,nc=nu?nu.allocUnsafe:void 0;function nd(e,t){for(var r=-1,n=null==e?0:e.length,i=0,a=[];++r<n;){var s=e[r];t(s,r,e)&&(a[i++]=s)}return a}function nf(){return[]}var nh=Object.prototype.propertyIsEnumerable,np=Object.getOwnPropertySymbols,nm=np?function(e){return null==e?[]:nd(np(e=Object(e)),function(t){return nh.call(e,t)})}:nf,ng=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)r5(t,nm(e)),e=nn(e);return t}:nf;function ny(e,t,r){var n=t(e);return tI(e)?n:r5(n,r(e))}var nv=tQ(tm,"DataView"),nT=tQ(tm,"Promise"),nR=tQ(tm,"Set"),n$="[object Map]",nA="[object Promise]",nE="[object Set]",nk="[object WeakMap]",nx="[object DataView]",nb=tH(nv),nI=tH(rZ),nS=tH(nT),nw=tH(nR),n_=tH(tZ),nN=tE;(nv&&nN(new nv(new ArrayBuffer(1)))!=nx||rZ&&nN(new rZ)!=n$||nT&&nN(nT.resolve())!=nA||nR&&nN(new nR)!=nE||tZ&&nN(new tZ)!=nk)&&(nN=function(e){var t=tE(e),r="[object Object]"==t?e.constructor:void 0,n=r?tH(r):"";if(n)switch(n){case nb:return nx;case nI:return n$;case nS:return nA;case nw:return nE;case n_:return nk}return t});var nC=Object.prototype.hasOwnProperty,nO=tm.Uint8Array,nL=/\w*$/,nP=tg?tg.prototype:void 0,nM=nP?nP.valueOf:void 0,nD=rS&&rS.isMap,nj=nD?rk(nD):function(e){return tk(e)&&"[object Map]"==nN(e)},nU=rS&&rS.isSet,nF=nU?rk(nU):function(e){return tk(e)&&"[object Set]"==nN(e)},nG="[object Arguments]",nB="[object Function]",nK="[object Object]",nV={};function nH(e){return function e(t,r,n,i,a,s){var o,l,u,c,d,f,h,p,m,g=2&r;if(void 0!==m)return m;if(!tC(t))return t;var y=tI(t);if(y)return o=t.length,l=new t.constructor(o),o&&"string"==typeof t[0]&&nC.call(t,"index")&&(l.index=t.index,l.input=t.input),function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}(t,m=l);var v=nN(t),T=v==nB||"[object GeneratorFunction]"==v;if(rA(t))return u=t.length,c=nc?nc(u):new t.constructor(u),t.copy(c),c;if(v==nK||v==nG||T&&!a)return m=T?{}:"function"!=typeof t.constructor||rh(t)?{}:t0(nn(t)),g?(f=(d=m)&&rs(t,rG(t),d),rs(t,ng(t),f)):(p=(h=m)&&rs(t,rD(t),h),rs(t,nm(t),p));if(!nV[v])return a?t:{};m=function(e,t,r){var n,i,a,s,o=e.constructor;switch(t){case"[object ArrayBuffer]":return new nO(n=new e.constructor(e.byteLength)).set(new nO(e)),n;case"[object Boolean]":case"[object Date]":return new o(+e);case"[object DataView]":return i=e.buffer,new e.constructor(i,e.byteOffset,e.byteLength);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return a=e.buffer,new e.constructor(a,e.byteOffset,e.length);case"[object Map]":case"[object Set]":return new o;case"[object Number]":case"[object String]":return new o(e);case"[object RegExp]":return(s=new e.constructor(e.source,nL.exec(e))).lastIndex=e.lastIndex,s;case"[object Symbol]":return nM?Object(nM.call(e)):{}}}(t,v),s||(s=new ns);var R=s.get(t);if(R)return R;s.set(t,m),nF(t)?t.forEach(function(i){m.add(e(i,r,n,i,t,s))}):nj(t)&&t.forEach(function(i,a){m.set(a,e(i,r,n,a,t,s))});var $=y?void 0:ny(t,rD,nm);return t3($||t,function(i,a){$&&(i=t[a=i]),ra(m,a,e(i,r,n,a,t,s))}),m}(e,4)}function nz(e){for(var t=-1,r=null==e?0:e.length,n=0,i=[];++t<r;){var a=e[t];a&&(i[n++]=a)}return i}function nW(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new r0;++t<r;)this.add(e[t])}function nY(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}function nq(e,t){return e.has(t)}function nX(e,t,r,n,i,a){var s=1&r,o=e.length,l=t.length;if(o!=l&&!(s&&l>o))return!1;var u=a.get(e),c=a.get(t);if(u&&c)return u==t&&c==e;var d=-1,f=!0,h=2&r?new nW:void 0;for(a.set(e,t),a.set(t,e);++d<o;){var p=e[d],m=t[d];if(n)var g=s?n(m,p,d,t,e,a):n(p,m,d,e,t,a);if(void 0!==g){if(g)continue;f=!1;break}
12if(h){if(!nY(t,function(e,t){if(!nq(h,t)&&(p===e||i(p,e,r,n,a)))return h.push(t)})){f=!1;break}}else if(!(p===m||i(p,m,r,n,a))){f=!1;break}}return a.delete(e),a.delete(t),f}function nQ(e){var t=-1,r=Array(e.size);return e.forEach(function(e,n){r[++t]=[n,e]}),r}function nZ(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}nV[nG]=nV["[object Array]"]=nV["[object ArrayBuffer]"]=nV["[object DataView]"]=nV["[object Boolean]"]=nV["[object Date]"]=nV["[object Float32Array]"]=nV["[object Float64Array]"]=nV["[object Int8Array]"]=nV["[object Int16Array]"]=nV["[object Int32Array]"]=nV["[object Map]"]=nV["[object Number]"]=nV[nK]=nV["[object RegExp]"]=nV["[object Set]"]=nV["[object String]"]=nV["[object Symbol]"]=nV["[object Uint8Array]"]=nV["[object Uint8ClampedArray]"]=nV["[object Uint16Array]"]=nV["[object Uint32Array]"]=!0,nV["[object Error]"]=nV[nB]=nV["[object WeakMap]"]=!1,nW.prototype.add=nW.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},nW.prototype.has=function(e){return this.__data__.has(e)};var nJ=tg?tg.prototype:void 0,n0=nJ?nJ.valueOf:void 0,n1=Object.prototype.hasOwnProperty,n2="[object Arguments]",n4="[object Array]",n9="[object Object]",n3=Object.prototype.hasOwnProperty;function n7(e,t,r,n,i){return e===t||(null!=e&&null!=t&&(tk(e)||tk(t))?function(e,t,r,n,i,a){var s=tI(e),o=tI(t),l=s?n4:nN(e),u=o?n4:nN(t);l=l==n2?n9:l,u=u==n2?n9:u;var c=l==n9,d=u==n9,f=l==u;if(f&&rA(e)){if(!rA(t))return!1;s=!0,c=!1}if(f&&!c)return a||(a=new ns),s||r_(e)?nX(e,t,r,n,i,a):function(e,t,r,n,i,a,s){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)break;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!a(new nO(e),new nO(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return rn(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var o=nQ;case"[object Set]":var l=1&n;if(o||(o=nZ),e.size!=t.size&&!l)break;var u=s.get(e);if(u)return u==t;n|=2,s.set(e,t);var c=nX(o(e),o(t),n,i,a,s);return s.delete(e),c;case"[object Symbol]":if(n0)return n0.call(e)==n0.call(t)}return!1}(e,t,l,r,n,i,a);if(!(1&r)){var h=c&&n3.call(e,"__wrapped__"),p=d&&n3.call(t,"__wrapped__");
12if(h||p){var m=h?e.value():e,g=p?t.value():t;return a||(a=new ns),i(m,g,r,n,a)}}return!!f&&(a||(a=new ns),function(e,t,r,n,i,a){var s=1&r,o=ny(e,rD,nm),l=o.length;if(l!=ny(t,rD,nm).length&&!s)return!1;for(var u=l;u--;){var c=o[u];if(!(s?c in t:n1.call(t,c)))return!1}var d=a.get(e),f=a.get(t);if(d&&f)return d==t&&f==e;var h=!0;a.set(e,t),a.set(t,e);for(var p=s;++u<l;){var m=e[c=o[u]],g=t[c];if(n)var y=s?n(g,m,c,t,e,a):n(m,g,c,e,t,a);if(!(void 0===y?m===g||i(m,g,r,n,a):y)){h=!1;break}p||(p="constructor"==c)}if(h&&!p){var v=e.constructor,T=t.constructor;v!=T&&"constructor"in e&&"constructor"in t&&!("function"==typeof v&&v instanceof v&&"function"==typeof T&&T instanceof T)&&(h=!1)}return a.delete(e),a.delete(t),h}(e,t,r,n,i,a))}(e,t,r,n,n7,i):e!=e&&t!=t)}function n6(e,t){return function(r){return null!=r&&r[e]===t&&(void 0!==t||e in Object(r))}}function n5(e,t){return null!=e&&t in Object(e)}function n8(e,t,r){t=r3(t,e);for(var n=-1,i=t.length,a=!1;++n<i;){var s=r7(t[n]);if(!(a=null!=e&&r(e,s)))break;e=e[s]}return a||++n!=i?a:!!(i=null==e?0:e.length)&&ru(i)&&rt(s,i)&&(tI(e)||rv(e))}function ie(e){var t,r,n,i,a;return"function"==typeof e?e:null==e?tF:"object"==typeof e?tI(e)?(t=e[0],r=e[1],rV(t)&&(n=r)==n&&!tC(n)?n6(r7(t),r):function(e){var n,i=void 0===(n=null==e?void 0:r6(e,t))?void 0:n;return void 0===i&&i===r?null!=e&&n8(e,t,n5):n7(r,i,3)}):1==(i=function(e){for(var t=rD(e),r=t.length;r--;){var n=t[r],i=e[n];t[r]=[n,i,i==i&&!tC(i)]}return t}(e)).length&&i[0][2]?n6(i[0][0],i[0][1]):function(t){return t===e||function(e,t,r,n){var i=r.length,a=i;if(null==e)return!a;for(e=Object(e);i--;){var s=r[i];if(s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++i<a;){var o=(s=r[i])[0],l=e[o],u=s[1];if(s[2]){if(void 0===l&&!(o in e))return!1}else{var c,d=new ns;if(!(void 0===c?n7(u,l,3,void 0,d):c))return!1}}return!0}(t,0,i)}:rV(e)?(a=r7(e),function(e){return null==e?void 0:e[a]}):function(t){return r6(t,e)}}var it=function(e,t,r){for(var n=-1,i=Object(e),a=r(e),s=a.length;s--;){var o=a[++n];if(!1===t(i[o],o,i))break}return e},ir=(fd=function(e,t){return e&&it(e,t,rD)},function(e,t){if(null==e)return e;if(!rc(e))return fd(e,t);for(var r=e.length,n=-1,i=Object(e);++n<r&&!1!==t(i[n],n,i););return e}),ii=Object.prototype,ia=ii.hasOwnProperty,is=rl(function(e,t){e=Object(e);var r=-1,n=t.length,i=n>2?t[2]:void 0;for(i&&rd(t[0],t[1],i)&&(n=1);++r<n;)for(var a=t[r],s=rG(a),o=-1,l=s.length;++o<l;){var u=s[o],c=e[u];(void 0===c||rn(c,ii[u])&&!ia.call(e,u))&&(e[u]=a[u])}return e});function io(e){return tk(e)&&rc(e)}var il=rl(function(e,t){return io(e)?function(e,t,r,n){var i=-1,a=t8,s=!0,o=e.length,l=[],u=t.length;if(!o)return l;t.length>=200&&(a=nq,s=!1,t=new nW(t));e:for(;++i<o;){var c=e[i],d=c;if(c=0!==c?c:0,s&&d==d){for(var f=u;f--;)if(t[f]===d)continue e;l.push(c)}else a(t,d,void 0)||l.push(c)}return l}(e,nt(t,1,io,!0)):[]});function iu(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}function ic(e,t,r){var n=null==e?0:e.length;return n?ni(e,(t=void 0===t?1:tU(t))<0?0:t,n):[]}function id(e,t,r){var n=null==e?0:e.length;return n?ni(e,0,(t=n-(t=void 0===t?1:tU(t)))<0?0:t):[]}function ih(e,t){return(tI(e)?t3:ir)(e,"function"==typeof t?t:tF)}function ip(e,t,r){return(tI(e)?function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(!t(e[r],r,e))return!1;return!0}:function(e,t){var r=!0;return ir(e,function(e,n,i){return r=!!t(e,n,i)}),r})(e,ie(t))}function im(e,t){var r=[];return ir(e,function(e,n,i){t(e,n,i)&&r.push(e)}),r}function ig(e,t){return(tI(e)?nd:im)(e,ie(t))}var iy=Math.max,iv=(ff=function(e,t,r){var n=null==e?0:e.length;if(!n)return -1;var i=null==r?0:tU(r);return i<0&&(i=iy(n+i,0)),t7(e,ie(t),i)},function(e,t,r){var n=Object(e);if(!rc(e)){var i=ie(t);e=rD(e),t=function(e){return i(n[e],e,n)}}var a=ff(e,t,r);return a>-1?n[i?e[a]:a]:void 0});function iT(e){return e&&e.length?e[0]:void 0}function iR(e,t){return(tI(e)?tb:function(e,t){var r=-1,n=rc(e)?Array(e.length):[];return ir(e,function(e,i,a){n[++r]=t(e,i,a)}),n})(e,ie(t))}function i$(e,t){return nt(iR(e,t))}var iA=Object.prototype.hasOwnProperty,iE=(fh=function(e,t,r){iA.call(e,r)?e[r].push(t):rr(e,r,[t])},function(e,t){return(tI(e)?function(e,t,r,n){for(var i=-1,a=null==e?0:e.length;++i<a;){var s=e[i];t(n,s,r(s),e)}return n}:function(e,t,r,n){return ir(e,function(e,i,a){t(n,e,r(e),a)}),n})(e,fh,ie(t),{})}),ik=Object.prototype.hasOwnProperty;function ix(e,t){return null!=e&&ik.call(e,t)}function ib(e,t){return null!=e&&n8(e,t,ix)}function iI(e){return"string"==typeof e||!tI(e)&&tk(e)&&"[object String]"==tE(e)}function iS(e){return null==e?[]:tb(rD(e),function(t){return e[t]})}var iw=Math.max;function i_(e,t,r,n){e=rc(e)?e:iS(e),r=r?tU(r):0;var i=e.length;return r<0&&(r=iw(i+r,0)),iI(e)?r<=i&&e.indexOf(t,r)>-1:!!i&&t5(e,t,r)>-1}function iN(e,t,r){return(null==e?0:e.length)?t5(e,t,0):-1}var iC=Object.prototype.hasOwnProperty;function iO(e){if(null==e)return!0;
12if(rc(e)&&(tI(e)||"string"==typeof e||"function"==typeof e.splice||rA(e)||r_(e)||rv(e)))return!e.length;var t=nN(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(rh(e))return!rM(e).length;for(var r in e)if(iC.call(e,r))return!1;return!0}var iL=rS&&rS.isRegExp,iP=iL?rk(iL):function(e){return tk(e)&&"[object RegExp]"==tE(e)};function iM(e){return void 0===e}function iD(e,t,r,n,i){return i(e,function(e,i,a){r=n?(n=!1,e):t(r,e,i,a)}),r}function ij(e,t,r){var n=tI(e)?na:iD,i=arguments.length<3;return n(e,ie(t),r,i,ir)}function iU(e,t){return(tI(e)?nd:im)(e,function(e){if("function"!=typeof e)throw TypeError("Expected a function");return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}(ie(t)))}var iF=nR&&1/nZ(new nR([,-0]))[1]==1/0?function(e){return new nR(e)}:t1;function iG(e){return e&&e.length?function(e,t,r){var n=-1,i=t8,a=e.length,s=!0,o=[],l=o;if(a>=200){var u=iF(e);if(u)return nZ(u);s=!1,i=nq,l=new nW}else l=o;e:for(;++n<a;){var c=e[n],d=c;if(c=0!==c?c:0,s&&d==d){for(var f=l.length;f--;)if(l[f]===d)continue e;o.push(c)}else i(l,d,void 0)||(l!==o&&l.push(d),o.push(c))}return o}(e):[]}function iB(e){console&&console.error&&console.error(`Error: ${e}`)}function iK(e){console&&console.warn&&console.warn(`Warning: ${e}`)}function iV(e){let t=new Date().getTime(),r=e();return{time:new Date().getTime()-t,value:r}}function iH(e){function t(){}t.prototype=e;let r=new t;function n(){return typeof r.bar}return n(),n(),e}var iz="object"==typeof global&&global&&global.Object===Object&&global,iW="object"==typeof self&&self&&self.Object===Object&&self,iY=iz||iW||Function("return this")(),iq=iY.Symbol,iX=Object.prototype,iQ=iX.hasOwnProperty,iZ=iX.toString,iJ=iq?iq.toStringTag:void 0,i0=Object.prototype.toString,i1=iq?iq.toStringTag:void 0;function i2(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":i1&&i1 in Object(e)?function(e){var t=iQ.call(e,iJ),r=e[iJ];try{e[iJ]=void 0;var n=!0}catch{}var i=iZ.call(e);return n&&(t?e[iJ]=r:delete e[iJ]),i}(e):i0.call(e)}function i4(e){return null!=e&&"object"==typeof e}function i9(e){return"symbol"==typeof e||i4(e)&&"[object Symbol]"==i2(e)}function i3(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}var i7=Array.isArray,i6=iq?iq.prototype:void 0,i5=i6?i6.toString:void 0,i8=/\s/,ae=/^\s+/;function at(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var ar=NaN,an=/^[-+]0x[0-9a-f]+$/i,ai=/^0b[01]+$/i,aa=/^0o[0-7]+$/i,as=parseInt,ao=1/0;function al(e){return e}function au(e){if(!at(e))return!1;var t=i2(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}
12var ac=iY["__core-js_shared__"],ad=(fp=/[^.]+$/.exec(ac&&ac.keys&&ac.keys.IE_PROTO||""))?"Symbol(src)_1."+fp:"",af=Function.prototype.toString;function ah(e){if(null!=e){try{return af.call(e)}catch{}try{return e+""}catch{}}return""}var ap=/^\[object .+?Constructor\]$/,am=Object.prototype,ag=Function.prototype.toString,ay=am.hasOwnProperty,av=RegExp("^"+ag.call(ay).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function aT(e,t){var r=null==e?void 0:e[t];return at(r)&&(!ad||!(ad in r))&&(au(r)?av:ap).test(ah(r))?r:void 0}var aR=aT(iY,"WeakMap"),a$=Date.now,aA=function(){try{var e=aT(Object,"defineProperty");return e({},"",{}),e}catch{}}(),aE=(fm=aA?function(e,t){return aA(e,"toString",{configurable:!0,enumerable:!1,value:function(){return t},writable:!0})}:al,fg=0,fy=0,function(){var e=a$(),t=16-(e-fy);if(fy=e,t>0){if(++fg>=800)return arguments[0]}else fg=0;return fm.apply(void 0,arguments)});function ak(e){return e!=e}var ax=/^(?:0|[1-9]\d*)$/;function ab(e,t){var r=typeof e;return!!(t=t??9007199254740991)&&("number"==r||"symbol"!=r&&ax.test(e))&&e>-1&&e%1==0&&e<t}function aI(e,t,r){"__proto__"==t&&aA?aA(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}function aS(e,t){return e===t||e!=e&&t!=t}var aw=Object.prototype.hasOwnProperty;function a_(e,t,r){var n=e[t];aw.call(e,t)&&aS(n,r)&&(void 0!==r||t in e)||aI(e,t,r)}var aN=Math.max;function aC(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function aO(e){return null!=e&&aC(e.length)&&!au(e)}var aL=Object.prototype;function aP(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||aL)}function aM(e){return i4(e)&&"[object Arguments]"==i2(e)}var aD=Object.prototype,aj=aD.hasOwnProperty,aU=aD.propertyIsEnumerable,aF=aM(function(){return arguments}())?aM:function(e){return i4(e)&&aj.call(e,"callee")&&!aU.call(e,"callee")},aG="object"==typeof exports&&exports&&!exports.nodeType&&exports,aB=aG&&"object"==typeof module&&module&&!module.nodeType&&module,aK=aB&&aB.exports===aG?iY.Buffer:void 0,aV=(aK?aK.isBuffer:void 0)||function(){return!1},aH={};function az(e){return function(t){return e(t)}}aH["[object Float32Array]"]=aH["[object Float64Array]"]=aH["[object Int8Array]"]=aH["[object Int16Array]"]=aH["[object Int32Array]"]=aH["[object Uint8Array]"]=aH["[object Uint8ClampedArray]"]=aH["[object Uint16Array]"]=aH["[object Uint32Array]"]=!0,aH["[object Arguments]"]=aH["[object Array]"]=aH["[object ArrayBuffer]"]=aH["[object Boolean]"]=aH["[object DataView]"]=aH["[object Date]"]=aH["[object Error]"]=aH["[object Function]"]=aH["[object Map]"]=aH["[object Number]"]=aH["[object Object]"]=aH["[object RegExp]"]=aH["[object Set]"]=aH["[object String]"]=aH["[object WeakMap]"]=!1;var aW="object"==typeof exports&&exports&&!exports.nodeType&&exports,aY=aW&&"object"==typeof module&&module&&!module.nodeType&&module,aq=aY&&aY.exports===aW&&iz.process,aX=function(){try{return aY&&aY.require&&aY.require("util").types||aq&&aq.binding&&aq.binding("util")}catch{}}(),aQ=aX&&aX.isTypedArray,aZ=aQ?az(aQ):function(e){return i4(e)&&aC(e.length)&&!!aH[i2(e)]},aJ=Object.prototype.hasOwnProperty;function a0(e,t){var r=i7(e),n=!r&&aF(e),i=!r&&!n&&aV(e),a=!r&&!n&&!i&&aZ(e),s=r||n||i||a,o=s?function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}(e.length,String):[],l=o.length;for(var u in e)(t||aJ.call(e,u))&&!(s&&("length"==u||i&&("offset"==u||"parent"==u)||a&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||ab(u,l)))&&o.push(u);return o}function a1(e,t){return function(r){return e(t(r))}}var a2=a1(Object.keys,Object),a4=Object.prototype.hasOwnProperty;function a9(e){return aO(e)?a0(e):function(e){if(!aP(e))return a2(e);var t=[];for(var r in Object(e))a4.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}var a3=Object.prototype.hasOwnProperty,a7=(fv=function(e,t){if(aP(t)||aO(t)){!function(e,t,r,n){var i=!r;r||(r={});for(var a=-1,s=t.length;++a<s;){var o=t[a],l=void 0;void 0===l&&(l=e[o]),i?aI(r,o,l):a_(r,o,l)}}(t,a9(t),e);return}for(var r in t)a3.call(t,r)&&a_(e,r,t[r])},aE((fR=fT=function(e,t){var r=-1,n=t.length,i=n>1?t[n-1]:void 0,a=n>2?t[2]:void 0;for(i=fv.length>3&&"function"==typeof i?(n--,i):void 0,a&&function(e,t,r){if(!at(r))return!1;var n=typeof t;return("number"==n?!!(aO(r)&&ab(t,r.length)):"string"==n&&(t in r))&&aS(r[t],e)}(t[0],t[1],a)&&(i=n<3?void 0:i,n=1),e=Object(e);++r<n;){var s=t[r];s&&fv(e,s,r,i)}return e},f$=aN((f$=void 0,fR.length-1),0),function(){for(var e=arguments,t=-1,r=aN(e.length-f$,0),n=Array(r);++t<r;)n[t]=e[f$+t];t=-1;for(var i=Array(f$+1);++t<f$;)i[t]=e[t];return i[f$]=n,function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}(fR,this,i)}),fT+"")),a6=Object.prototype.hasOwnProperty;function a5(e){return aO(e)?a0(e,!0):function(e){if(!at(e))return function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}(e);var t=aP(e),r=[];for(var n in e)"constructor"==n&&(t||!a6.call(e,n))||r.push(n);return r}(e)}var a8=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,se=/^\w*$/;function st(e,t){if(i7(e))return!1;var r=typeof e;return!!("number"==r||"symbol"==r||"boolean"==r||null==e||i9(e))||se.test(e)||!a8.test(e)||null!=t&&e in Object(t)}var sr=aT(Object,"create"),sn=Object.prototype.hasOwnProperty,si=Object.prototype.hasOwnProperty;function sa(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function ss(e,t){for(var r=e.length;r--;)if(aS(e[r][0],t))return r;return -1}sa.prototype.clear=function(){this.__data__=sr?sr(null):{},this.size=0},sa.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},sa.prototype.get=function(e){var t=this.__data__;if(sr){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return sn.call(t,e)?t[e]:void 0},sa.prototype.has=function(e){var t=this.__data__;return sr?void 0!==t[e]:si.call(t,e)},sa.prototype.set=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=sr&&void 0===t?"__lodash_hash_undefined__":t,this};var so=Array.prototype.splice;function sl(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}sl.prototype.clear=function(){this.__data__=[],this.size=0},sl.prototype.delete=function(e){var t=this.__data__,r=ss(t,e);return!(r<0)&&(r==t.length-1?t.pop():so.call(t,r,1),--this.size,!0)},sl.prototype.get=function(e){var t=this.__data__,r=ss(t,e);return r<0?void 0:t[r][1]},sl.prototype.has=function(e){return ss(this.__data__,e)>-1},sl.prototype.set=function(e,t){var r=this.__data__,n=ss(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};var su=aT(iY,"Map");function sc(e,t){var r,n=e.__data__;return("string"==(r=typeof t)||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==t:null===t)?n["string"==typeof t?"string":"hash"]:n.map}function sd(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}function sf(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw TypeError("Expected a function");var r=function(){var n=arguments,i=t?t.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var s=e.apply(this,n);return r.cache=a.set(i,s)||a,s};return r.cache=new(sf.Cache||sd),r}sd.prototype.clear=function(){this.size=0,this.__data__={hash:new sa,map:new(su||sl),string:new sa}},sd.prototype.delete=function(e){var t=sc(this,e).delete(e);return this.size-=t?1:0,t},sd.prototype.get=function(e){return sc(this,e).get(e)},sd.prototype.has=function(e){return sc(this,e).has(e)},sd.prototype.set=function(e,t){var r=sc(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}
12,sf.Cache=sd;var sh=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,sp=/\\(\\)?/g,sm=(fE=(fA=sf(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(sh,function(e,r,n,i){t.push(n?i.replace(sp,"$1"):r||e)}),t},function(e){return 500===fE.size&&fE.clear(),e})).cache,fA);function sg(e,t){return i7(e)?e:st(e,t)?[e]:sm(null==e?"":function e(t){if("string"==typeof t)return t;if(i7(t))return i3(t,e)+"";if(i9(t))return i5?i5.call(t):"";var r=t+"";return"0"==r&&1/t==-1/0?"-0":r}(e))}function sy(e){if("string"==typeof e||i9(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function sv(e,t){t=sg(t,e);for(var r=0,n=t.length;null!=e&&r<n;)e=e[sy(t[r++])];return r&&r==n?e:void 0}function sT(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}var sR=a1(Object.getPrototypeOf,Object);function s$(e){var t=this.__data__=new sl(e);this.size=t.size}function sA(){return[]}s$.prototype.clear=function(){this.__data__=new sl,this.size=0},s$.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},s$.prototype.get=function(e){return this.__data__.get(e)},s$.prototype.has=function(e){return this.__data__.has(e)},s$.prototype.set=function(e,t){var r=this.__data__;if(r instanceof sl){var n=r.__data__;if(!su||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new sd(n)}return r.set(e,t),this.size=r.size,this};var sE=Object.prototype.propertyIsEnumerable,sk=Object.getOwnPropertySymbols,sx=sk?function(e){return null==e?[]:function(e,t){for(var r=-1,n=null==e?0:e.length,i=0,a=[];++r<n;){var s=e[r];t(s,r,e)&&(a[i++]=s)}return a}(sk(e=Object(e)),function(t){return sE.call(e,t)})}:sA,sb=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)sT(t,sx(e)),e=sR(e);return t}:sA;function sI(e,t,r){var n=t(e);return i7(e)?n:sT(n,r(e))}var sS=aT(iY,"DataView"),sw=aT(iY,"Promise"),s_=aT(iY,"Set"),sN="[object Map]",sC="[object Promise]",sO="[object Set]",sL="[object WeakMap]",sP="[object DataView]",sM=ah(sS),sD=ah(su),sj=ah(sw),sU=ah(s_),sF=ah(aR),sG=i2;(sS&&sG(new sS(new ArrayBuffer(1)))!=sP||su&&sG(new su)!=sN||sw&&sG(sw.resolve())!=sC||s_&&sG(new s_)!=sO||aR&&sG(new aR)!=sL)&&(sG=function(e){var t=i2(e),r="[object Object]"==t?e.constructor:void 0,n=r?ah(r):"";if(n)switch(n){case sM:return sP;case sD:return sN;case sj:return sC;case sU:return sO;case sF:return sL}return t});var sB=iY.Uint8Array;function sK(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new sd;++t<r;)this.add(e[t])}function sV(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}function sH(e,t,r,n,i,a){var s=1&r,o=e.length,l=t.length;if(o!=l&&!(s&&l>o))return!1;var u=a.get(e),c=a.get(t);if(u&&c)return u==t&&c==e;var d=-1,f=!0,h=2&r?new sK:void 0;for(a.set(e,t),a.set(t,e);++d<o;){var p=e[d],m=t[d];if(n)var g=s?n(m,p,d,t,e,a):n(p,m,d,e,t,a);if(void 0!==g){if(g)continue;f=!1;break}if(h){if(!sV(t,function(e,t){if(!h.has(t)&&(p===e||i(p,e,r,n,a)))return h.push(t)})){f=!1;break}}else if(!(p===m||i(p,m,r,n,a))){f=!1;break}}return a.delete(e),a.delete(t),f}function sz(e){var t=-1,r=Array(e.size);return e.forEach(function(e,n){r[++t]=[n,e]}),r}function sW(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}sK.prototype.add=sK.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},sK.prototype.has=function(e){return this.__data__.has(e)};var sY=iq?iq.prototype:void 0,sq=sY?sY.valueOf:void 0,sX=Object.prototype.hasOwnProperty,sQ="[object Arguments]",sZ="[object Array]",sJ="[object Object]",s0=Object.prototype.hasOwnProperty;function s1(e,t,r,n,i){return e===t||(null!=e&&null!=t&&(i4(e)||i4(t))?function(e,t,r,n,i,a){var s=i7(e),o=i7(t),l=s?sZ:sG(e),u=o?sZ:sG(t);l=l==sQ?sJ:l,u=u==sQ?sJ:u;var c=l==sJ,d=u==sJ,f=l==u;if(f&&aV(e)){if(!aV(t))return!1;s=!0,c=!1}if(f&&!c)return a||(a=new s$),s||aZ(e)?sH(e,t,r,n,i,a):function(e,t,r,n,i,a,s){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)break;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!a(new sB(e),new sB(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return aS(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var o=sz;case"[object Set]":var l=1&n;if(o||(o=sW),e.size!=t.size&&!l)break;var u=s.get(e);if(u)return u==t;n|=2,s.set(e,t);
12var c=sH(o(e),o(t),n,i,a,s);return s.delete(e),c;case"[object Symbol]":if(sq)return sq.call(e)==sq.call(t)}return!1}(e,t,l,r,n,i,a);if(!(1&r)){var h=c&&s0.call(e,"__wrapped__"),p=d&&s0.call(t,"__wrapped__");if(h||p){var m=h?e.value():e,g=p?t.value():t;return a||(a=new s$),i(m,g,r,n,a)}}return!!f&&(a||(a=new s$),function(e,t,r,n,i,a){var s=1&r,o=sI(e,a9,sx),l=o.length;if(l!=sI(t,a9,sx).length&&!s)return!1;for(var u=l;u--;){var c=o[u];if(!(s?c in t:sX.call(t,c)))return!1}var d=a.get(e),f=a.get(t);if(d&&f)return d==t&&f==e;var h=!0;a.set(e,t),a.set(t,e);for(var p=s;++u<l;){var m=e[c=o[u]],g=t[c];if(n)var y=s?n(g,m,c,t,e,a):n(m,g,c,e,t,a);if(!(void 0===y?m===g||i(m,g,r,n,a):y)){h=!1;break}p||(p="constructor"==c)}if(h&&!p){var v=e.constructor,T=t.constructor;v!=T&&"constructor"in e&&"constructor"in t&&!("function"==typeof v&&v instanceof v&&"function"==typeof T&&T instanceof T)&&(h=!1)}return a.delete(e),a.delete(t),h}(e,t,r,n,i,a))}(e,t,r,n,s1,i):e!=e&&t!=t)}function s2(e,t){return function(r){return null!=r&&r[e]===t&&(void 0!==t||e in Object(r))}}function s4(e,t){return null!=e&&t in Object(e)}function s9(e){var t,r,n,i,a;return"function"==typeof e?e:null==e?al:"object"==typeof e?i7(e)?(t=e[0],r=e[1],st(t)&&(n=r)==n&&!at(n)?s2(sy(t),r):function(e){var n,i=void 0===(n=null==e?void 0:sv(e,t))?void 0:n;return void 0===i&&i===r?null!=e&&function(e,t,r){t=sg(t,e);for(var n=-1,i=t.length,a=!1;++n<i;){var s=sy(t[n]);if(!(a=null!=e&&r(e,s)))break;e=e[s]}return a||++n!=i?a:!!(i=null==e?0:e.length)&&aC(i)&&ab(s,i)&&(i7(e)||aF(e))}(e,t,s4):s1(r,i,3)}):1==(i=function(e){for(var t=a9(e),r=t.length;r--;){var n=t[r],i=e[n];t[r]=[n,i,i==i&&!at(i)]}return t}(e)).length&&i[0][2]?s2(i[0][0],i[0][1]):function(t){return t===e||function(e,t,r,n){var i=r.length,a=i;if(null==e)return!a;for(e=Object(e);i--;){var s=r[i];if(s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++i<a;){var o=(s=r[i])[0],l=e[o],u=s[1];if(s[2]){if(void 0===l&&!(o in e))return!1}else{var c,d=new s$;if(!(void 0===c?s1(u,l,3,void 0,d):c))return!1}}return!0}(t,0,i)}:st(e)?(a=sy(e),function(e){return null==e?void 0:e[a]}):function(t){return sv(t,e)}}var s3=function(e,t,r){for(var n=-1,i=Object(e),a=r(e),s=a.length;s--;){var o=a[++n];if(!1===t(i[o],o,i))break}return e},s7=(fk=function(e,t){return e&&s3(e,t,a9)},function(e,t){if(null==e)return e;if(!aO(e))return fk(e,t);for(var r=e.length,n=-1,i=Object(e);++n<r&&!1!==t(i[n],n,i););return e});function s6(e,t){return(i7(e)?i3:function(e,t){var r=-1,n=aO(e)?Array(e.length):[];return s7(e,function(e,i,a){n[++r]=t(e,i,a)}),n})(e,s9(t))}function s5(e){return"string"==typeof e||!i7(e)&&i4(e)&&"[object String]"==i2(e)}var s8=Math.max,oe=aX&&aX.isRegExp,ot=oe?az(oe):function(e){return i4(e)&&"[object RegExp]"==i2(e)};function or(e,t){if(null==e)return{};var r=i3(sI(e,a5,sb),function(e){return[e]});return t=s9(t),function(e,t,r){for(var n=-1,i=t.length,a={};++n<i;){var s=t[n],o=sv(e,s);r(o,s)&&function(e,t,r,n){if(at(e)){t=sg(t,e);for(var i=-1,a=t.length,s=a-1,o=e;null!=o&&++i<a;){var l=sy(t[i]),u=r;if("__proto__"===l||"constructor"===l||"prototype"===l)break;if(i!=s){var c=o[l];u=void 0,u=at(c)?c:ab(t[i+1])?[]:{}}a_(o,l,u),o=o[l]}}}(a,sg(s,e),o)}return a}(e,r,function(e,r){return t(e,r[0])})}class on{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){var t,r;e.visit(this),t=this.definition,r=t=>{t.accept(e)},(i7(t)?function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}:s7)(t,r)}}class oi extends on{constructor(e){super([]),this.idx=1,a7(this,or(e,e=>void 0!==e))}set definition(e){}get definition(){return void 0!==this.referencedRule?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class oa extends on{constructor(e){super(e.definition),this.orgText="",a7(this,or(e,e=>void 0!==e))}}class os extends on{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,a7(this,or(e,e=>void 0!==e))}}let oo=class extends on{constructor(e){super(e.definition),this.idx=1,a7(this,or(e,e=>void 0!==e))}};class ol extends on{constructor(e){super(e.definition),this.idx=1,a7(this,or(e,e=>void 0!==e))}}class ou extends on{constructor(e){super(e.definition),this.idx=1,a7(this,or(e,e=>void 0!==e))}}class oc extends on{constructor(e){super(e.definition),this.idx=1,a7(this,or(e,e=>void 0!==e))}}class od extends on{constructor(e){super(e.definition),this.idx=1,a7(this,or(e,e=>void 0!==e))}}class of extends on{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,a7(this,or(e,e=>void 0!==e))}}class oh{constructor(e){this.idx=1,a7(this,or(e,e=>void 0!==e))}accept(e){e.visit(this)}}class op{visit(e){switch(e.constructor){case oi:return this.visitNonTerminal(e);case os:return this.visitAlternative(e);case oo:return this.visitOption(e);case ol:return this.visitRepetitionMandatory(e);case ou:return this.visitRepetitionMandatoryWithSeparator(e);case od:return this.visitRepetitionWithSeparator(e);case oc:return this.visitRepetition(e);case of:return this.visitAlternation(e);case oh:return this.visitTerminal(e);case oa:return this.visitRule(e);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 om(e,t=[]){var r,n,i,a,s,o,l,u,c,d,f,h,p,m,g;return e instanceof oo||e instanceof oc||e instanceof od||(e instanceof of?(r=e.definition,n=e=>om(e,t),(i7(r)?sV:function(e,t){var r;return s7(e,function(e,n,i){return!(r=t(e,n,i))}),!!r})(r,s9(n))):!(e instanceof oi&&(s=t,o=e,s=aO(s)?s:null==(c=s)?[]:i3(a9(c),function(e){return c[e]}),l=l?(h=(f=(d=l)?(d=function(e){if("number"==typeof e)return e;if(i9(e))return ar;if(at(e)){var t,r="function"==typeof e.valueOf?e.valueOf():e;e=at(r)?r+"":r}if("string"!=typeof e)return 0===e?e:+e;e=(t=e)&&t.slice(0,function(e){for(var t=e.length;t--&&i8.test(e.charAt(t)););return t}(t)+1).replace(ae,"");var n=ai.test(e);return n||aa.test(e)?as(e.slice(2),n?2:8):an.test(e)?ar:+e}(d))===ao||d===-ao?(d<0?-1:1)*17976931348623157e292:d==d?d:0:0===d?d:0)%1,f==f?h?f-h:f:0):0,g=s.length,l<0&&(l=s8(g+l,0)),s5(s)?l<=g&&s.indexOf(o,l)>-1:!!g&&(p=s,m=l,(o==o?function(e,t,r){for(var n=r-1,i=e.length;++n<i;)if(e[n]===t)return n;return -1}(p,o,m):function(e,t,r,n){for(var i=e.length,a=r+-1;++a<i;)if(t(e[a],a,e))return a;return -1}(p,ak,m))>-1)))&&e instanceof on&&(e instanceof oi&&t.push(e),i=e.definition,a=e=>om(e,t),(i7(i)?function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(!t(e[r],r,e))return!1;return!0}:function(e,t){var r=!0;return s7(e,function(e,n,i){return r=!!t(e,n,i)}),r})(i,s9(a))))}function og(e){if(e instanceof oi)return"SUBRULE";if(e instanceof oo)return"OPTION";if(e instanceof of)return"OR";if(e instanceof ol)return"AT_LEAST_ONE";if(e instanceof ou)return"AT_LEAST_ONE_SEP";if(e instanceof od)return"MANY_SEP";if(e instanceof oc)return"MANY";if(e instanceof oh)return"CONSUME";throw Error("non exhaustive match")}class oy{walk(e,t=[]){ih(e.definition,(r,n)=>{let i=ic(e.definition,n+1);if(r instanceof oi)this.walkProdRef(r,i,t);else if(r instanceof oh)this.walkTerminal(r,i,t);else if(r instanceof os)this.walkFlat(r,i,t);else if(r instanceof oo)this.walkOption(r,i,t);else if(r instanceof ol)this.walkAtLeastOne(r,i,t);else if(r instanceof ou)this.walkAtLeastOneSep(r,i,t);else if(r instanceof od)this.walkManySep(r,i,t);else if(r instanceof oc)this.walkMany(r,i,t);else if(r instanceof of)this.walkOr(r,i,t);else throw Error("non exhaustive match")})}walkTerminal(e,t,r){}walkProdRef(e,t,r){}walkFlat(e,t,r){let n=t.concat(r);
12this.walk(e,n)}walkOption(e,t,r){let n=t.concat(r);this.walk(e,n)}walkAtLeastOne(e,t,r){let n=[new oo({definition:e.definition})].concat(t,r);this.walk(e,n)}walkAtLeastOneSep(e,t,r){let n=ov(e,t,r);this.walk(e,n)}walkMany(e,t,r){let n=[new oo({definition:e.definition})].concat(t,r);this.walk(e,n)}walkManySep(e,t,r){let n=ov(e,t,r);this.walk(e,n)}walkOr(e,t,r){let n=t.concat(r);ih(e.definition,e=>{let t=new os({definition:[e]});this.walk(t,n)})}}function ov(e,t,r){return[new oo({definition:[new oh({terminalType:e.separator})].concat(e.definition)})].concat(t,r)}function oT(e){if(e instanceof oi)return oT(e.referencedRule);if(e instanceof oh)return[e.terminalType];if(e instanceof os||e instanceof oo||e instanceof oc||e instanceof ol||e instanceof ou||e instanceof od||e instanceof oh||e instanceof oa)return function(e){let t=[],r=e.definition,n=0,i=r.length>n,a,s=!0;for(;i&&s;)s=om(a=r[n]),t=t.concat(oT(a)),n+=1,i=r.length>n;return iG(t)}(e);if(e instanceof of)return iG(nr(iR(e.definition,e=>oT(e))));throw Error("non exhaustive match")}let oR="_~IN~_";class o$ extends oy{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,r){}walkProdRef(e,t,r){var n,i;let a=(n=e.referencedRule,i=e.idx,n.name+i+oR+this.topProd.name),s=oT(new os({definition:t.concat(r)}));this.follows[a]=s}}let oA={},oE=new e4;function ok(e){let t=e.toString();if(oA.hasOwnProperty(t))return oA[t];{let e=oE.pattern(t);return oA[t]=e,e}}let ox="Complement Sets are not supported for first char optimization",ob=`Unable to use "first char" lexer optimizations: 13`;function oI(e,t,r){let n=oz(e);t[n]=n,!0===r&&function(e,t){let r=String.fromCharCode(e),n=r.toUpperCase();if(n!==r){let e=oz(n.charCodeAt(0));t[e]=e}else{let e=r.toLowerCase();if(e!==r){let r=oz(e.charCodeAt(0));t[r]=r}}}(e,t)}function oS(e,t){return iv(e.value,e=>"number"==typeof e?i_(t,e):void 0!==iv(t,t=>e.from<=t&&t<=e.to))}class ow extends e9{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(!0!==this.found){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return}super.visitChildren(e)}}visitCharacter(e){i_(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?void 0===oS(e,this.targetCharCodes)&&(this.found=!0):void 0!==oS(e,this.targetCharCodes)&&(this.found=!0)}}function o_(e,t){if(!(t instanceof RegExp))return void 0!==iv(t,t=>i_(e,t.charCodeAt(0)));{let r=ok(t),n=new ow(e);return n.visit(r),n.found}}let oN="PATTERN",oC="defaultMode",oO="modes",oL="boolean"==typeof RegExp("(?:)").sticky,oP=/[^\\][$]/,oM=/[^\\[][\^]|^\^/;function oD(e){let t=e.ignoreCase?"i":"";return RegExp(`^(?:${e.source})`,t)}function oj(e){let t=e.ignoreCase?"iy":"y";return RegExp(`${e.source}`,t)}function oU(e){let t=e.PATTERN;if(iP(t))return!1;if(tG(t)||ib(t,"exec"))return!0;if(iI(t))return!1;throw Error("non exhaustive match")}function oF(e){return!!iI(e)&&1===e.length&&e.charCodeAt(0)}let oG={test:function(e){let t=e.length;for(let r=this.lastIndex;r<t;r++){let t=e.charCodeAt(r);if(10===t)return this.lastIndex=r+1,!0;if(13===t)return 10===e.charCodeAt(r+1)?this.lastIndex=r+2:this.lastIndex=r+1,!0}return!1},lastIndex:0};function oB(e,t){if(ib(e,"LINE_BREAKS"))return!1;if(iP(e.PATTERN)){try{o_(t,e.PATTERN)}catch(e){return{issue:hS.IDENTIFY_TERMINATOR,errMsg:e.message}}return!1}if(iI(e.PATTERN))return!1;if(oU(e))return{issue:hS.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}function oK(e){return iR(e,e=>iI(e)?e.charCodeAt(0):e)}function oV(e,t,r){void 0===e[t]?e[t]=[r]:e[t].push(r)}let oH=[];function oz(e){return e<256?e:oH[e]}function oW(e,t){let r=e.tokenTypeIdx;return r===t.tokenTypeIdx||!0===t.isParent&&!0===t.categoryMatchesMap[r]}function oY(e,t){return e.tokenTypeIdx===t.tokenTypeIdx}let oq=1,oX={};function oQ(e){let t=function(e){let t=nH(e),r=e,n=!0;for(;n;){let e=il(r=nz(nr(iR(r,e=>e.CATEGORIES))),t);t=t.concat(e),iO(e)?n=!1:r=e}return t}(e);ih(t,e=>{oZ(e)||(oX[oq]=e,e.tokenTypeIdx=oq++),oJ(e)&&!tI(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),oJ(e)||(e.CATEGORIES=[]),ib(e,"categoryMatches")||(e.categoryMatches=[]),ib(e,"categoryMatchesMap")||(e.categoryMatchesMap={})}),ih(t,e=>{(function e(t,r){ih(t,e=>{r.categoryMatchesMap[e.tokenTypeIdx]=!0}),ih(r.CATEGORIES,n=>{let i=t.concat(r);i_(i,n)||e(i,n)})})([],e)}),ih(t,e=>{e.categoryMatches=[],ih(e.categoryMatchesMap,(t,r)=>{e.categoryMatches.push(oX[r].tokenTypeIdx)})}),ih(t,e=>{e.isParent=e.categoryMatches.length>0})}function oZ(e){return ib(e,"tokenTypeIdx")}function oJ(e){return ib(e,"CATEGORIES")}function o0(e){return ib(e,"tokenTypeIdx")}let o1={buildUnableToPopLexerModeMessage:e=>`Unable to pop Lexer Mode after encountering Token ->${e.image}
13<- The Mode Stack is empty`,buildUnexpectedCharactersMessage:(e,t,r,n,i)=>`unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${r} characters.`};(fx=hS||(hS={}))[fx.MISSING_PATTERN=0]="MISSING_PATTERN",fx[fx.INVALID_PATTERN=1]="INVALID_PATTERN",fx[fx.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",fx[fx.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",fx[fx.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",fx[fx.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",fx[fx.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",fx[fx.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",fx[fx.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",fx[fx.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",fx[fx.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",fx[fx.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",fx[fx.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",fx[fx.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",fx[fx.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",fx[fx.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",fx[fx.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",fx[fx.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE";let o2={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` 14`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:o1,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(o2);class o4{constructor(e,t=o2){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=(e,t)=>{if(!0!==this.traceInitPerf)return t();{this.traceInitIndent++;let r=Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${r}--> <${e}>`);let{time:n,value:i}=iV(t),a=n>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${r}<-- <${e}> time: ${n}ms`),this.traceInitIndent--,i}},"boolean"==typeof t)throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. 15a boolean 2nd argument is no longer supported`);this.config=rU({},o2,t);let r=this.config.traceInitPerf;!0===r?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):"number"==typeof r&&(this.traceInitMaxIdent=r,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let r,n=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===o2.lineTerminatorsPattern)this.config.lineTerminatorsPattern=oG;else if(this.config.lineTerminatorCharacters===o2.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config. 16 For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),tI(e)?r={modes:{defaultMode:nH(e)},defaultMode:oC}:(n=!1,r=nH(e))}),!1===this.config.skipValidations&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(function(e,t,r){let n=[];return ib(e,oC)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+oC+`> property in its definition 17`,type:hS.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),ib(e,oO)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+oO+`> property in its definition 18`,type:hS.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),ib(e,oO)&&ib(e,oC)&&!ib(e.modes,e.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${oC}: <${e.defaultMode}>which does not exist 19`,type:hS.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),ib(e,oO)&&ih(e.modes,(e,t)=>{ih(e,(r,i)=>{iM(r)?n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${t}> at index: <${i}> 20`,type:hS.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}
20):ib(r,"LONGER_ALT")&&ih(tI(r.LONGER_ALT)?r.LONGER_ALT:[r.LONGER_ALT],i=>{iM(i)||i_(e,i)||n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${i.name}> on token <${r.name}> outside of mode <${t}> 21`,type:hS.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),n}(r,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(function(e,t,r){let n=[],i=!1,a=iU(nz(nr(iS(e.modes))),e=>e[oN]===o4.NA),s=oK(r);return t&&ih(a,e=>{let t=oB(e,s);if(!1!==t){let r={message:function(e,t){if(t.issue===hS.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern. 22 The problem is in the <${e.name}> Token Type 23 Root cause: ${t.errMsg}. 24 For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(t.issue===hS.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option. 25 The problem is in the <${e.name}> Token Type 26 For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}(e,t),type:t.issue,tokenType:e};n.push(r)}else ib(e,"LINE_BREAKS")?!0===e.LINE_BREAKS&&(i=!0):o_(s,e.PATTERN)&&(i=!0)}),t&&!i&&n.push({message:`Warning: No LINE_BREAKS Found. 27 This Lexer has been defined to track line and column information, 28 But none of the Token Types can be identified as matching a line terminator. 29 See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS 30 for details.`,type:hS.NO_LINE_BREAKS_FLAGS}),n}(r,this.trackStartLines,this.config.lineTerminatorCharacters))}
30)),r.modes=r.modes?r.modes:{},ih(r.modes,(e,t)=>{r.modes[t]=iU(e,e=>iM(e))});let i=rD(r.modes);if(ih(r.modes,(e,r)=>{this.TRACE_INIT(`Mode: <${r}> processing`,()=>{if(this.modes.push(r),!1===this.config.skipValidations&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(function(e,t){let r=[],n=function(e){let t=ig(e,e=>!ib(e,oN));return{errors:iR(t,e=>({message:"Token Type: ->"+e.name+"<- missing static 'PATTERN' property",type:hS.MISSING_PATTERN,tokenTypes:[e]})),valid:il(e,t)}}(e);r=r.concat(n.errors);let i=function(e){let t=ig(e,e=>{let t=e[oN];return!iP(t)&&!tG(t)&&!ib(t,"exec")&&!iI(t)});return{errors:iR(t,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:hS.INVALID_PATTERN,tokenTypes:[e]})),valid:il(e,t)}}(n.valid),a=i.valid;return(r=(r=(r=(r=r.concat(i.errors)).concat(function(e){let t=[],r=ig(e,e=>iP(e[oN]));return(t=(t=(t=(t=t.concat(function(e){class t extends e9{constructor(){super(...arguments),this.found=!1}visitEndAnchor(e){this.found=!0}}return iR(ig(e,e=>{let r=e.PATTERN;try{let e=ok(r),n=new t;return n.visit(e),n.found}catch{return oP.test(r.source)}}),e=>({message:`Unexpected RegExp Anchor Error: 31 Token Type: ->`+e.name+`<- static 'PATTERN' cannot contain end of input anchor '$' 32 See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:hS.EOI_ANCHOR_FOUND,tokenTypes:[e]}))}(r))).concat(function(e){class t extends e9{constructor(){super(...arguments),this.found=!1}visitStartAnchor(e){this.found=!0}}return iR(ig(e,e=>{let r=e.PATTERN;try{let e=ok(r),n=new t;return n.visit(e),n.found}catch{return oM.test(r.source)}}),e=>({message:`Unexpected RegExp Anchor Error: 33 Token Type: ->`+e.name+`<- static 'PATTERN' cannot contain start of input anchor '^' 34 See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:hS.SOI_ANCHOR_FOUND,tokenTypes:[e]}))}(r))).concat(iR(ig(r,e=>{let t=e[oN];return t instanceof RegExp&&(t.multiline||t.global)}),e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:hS.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[e]})))).concat(function(e){let t=[],r=iR(e,r=>ij(e,(e,n)=>(r.PATTERN.source!==n.PATTERN.source||i_(t,n)||n.PATTERN===o4.NA||(t.push(n),e.push(n)),e),[]));return iR(ig(r=nz(r),e=>e.length>1),e=>{let t=iR(e,e=>e.name);return{message:`The same RegExp pattern ->${iT(e).PATTERN}<-has been used in all of the following Token Types: ${t.join(", ")} <-`,type:hS.DUPLICATE_PATTERNS_FOUND,tokenTypes:e}})}(r))).concat(iR(ig(r,e=>e.PATTERN.test("")),e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' must not match an empty string",type:hS.EMPTY_MATCH_PATTERN,tokenTypes:[e]})))}(a))).concat(iR(ig(a,e=>{if(!ib(e,"GROUP"))return!1;let t=e.GROUP;return t!==o4.SKIPPED&&t!==o4.NA&&!iI(t)}),e=>({message:"Token Type: ->"+e.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:hS.INVALID_GROUP_TYPE_FOUND,tokenTypes:[e]})))).concat(iR(ig(a,e=>void 0!==e.PUSH_MODE&&!i_(t,e.PUSH_MODE)),e=>({message:`Token Type: ->${e.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${e.PUSH_MODE}<-which does not exist`,type:hS.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[e]})))).concat(function(e){let t=[],r=ij(e,(e,t,r)=>{let n=t.PATTERN;return n===o4.NA||(iI(n)?e.push({str:n,idx:r,tokenType:t}):iP(n)&&void 0===iv([".","\\","[","]","|","^","$","(",")","?","*","+","{"],e=>-1!==n.source.indexOf(e))&&e.push({str:n.source,idx:r,tokenType:t})),e},[]);return ih(e,(e,n)=>{ih(r,({str:r,idx:i,tokenType:a})=>{if(n<i&&function(e,t){if(iP(t)){let r=t.exec(e);return null!==r&&0===r.index}if(tG(t))return t(e,0,[],{});if(ib(t,"exec"))return t.exec(e,0,[],{});if("string"==typeof t)return t===e;throw Error("non exhaustive match")}(r,e.PATTERN)){let r=`Token: ->${a.name}<- can never be matched. 35Because it appears AFTER the Token Type ->${e.name}<-in the lexer's definition. 36See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;
36t.push({message:r,type:hS.UNREACHABLE_PATTERN,tokenTypes:[e,a]})}})}),t}(a))}(e,i))}),iO(this.lexerDefinitionErrors)){let n;oQ(e),this.TRACE_INIT("analyzeTokenTypes",()=>{n=function(e,t){let r,n,i,a,s,o,l,u,c,d,f;let h=(t=is(t,{useSticky:oL,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` 37`],tracer:(e,t)=>t()})).tracer;h("initCharCodeToOptimizedIndexMap",()=>{(function(){if(iO(oH)){oH=Array(65536);for(let e=0;e<65536;e++)oH[e]=e>255?255+~~(e/255):e}})()}),h("Reject Lexer.NA",()=>{r=iU(e,e=>e[oN]===o4.NA)});let p=!1,m;h("Transform Patterns",()=>{p=!1,m=iR(r,e=>{let r=e[oN];if(iP(r)){let e=r.source;return 1!==e.length||"^"===e||"$"===e||"."===e||r.ignoreCase?2!==e.length||"\\"!==e[0]||i_(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],e[1])?t.useSticky?oj(r):oD(r):e[1]:e}if(tG(r))return p=!0,{exec:r};if("object"==typeof r)return p=!0,r;if("string"==typeof r){if(1===r.length)return r;{let e=new RegExp(r.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"));return t.useSticky?oj(e):oD(e)}}throw Error("non exhaustive match")})}),h("misc mapping",()=>{n=iR(r,e=>e.tokenTypeIdx),i=iR(r,e=>{let t=e.GROUP;if(t!==o4.SKIPPED){if(iI(t))return t;if(iM(t))return!1;throw Error("non exhaustive match")}}),a=iR(r,e=>{let t=e.LONGER_ALT;if(t)return tI(t)?iR(t,e=>iN(r,e)):[iN(r,t)]}),s=iR(r,e=>e.PUSH_MODE),o=iR(r,e=>ib(e,"POP_MODE"))}),h("Line Terminator Handling",()=>{let e=oK(t.lineTerminatorCharacters);l=iR(r,e=>!1),"onlyOffset"!==t.positionTracking&&(l=iR(r,t=>ib(t,"LINE_BREAKS")?!!t.LINE_BREAKS:!1===oB(t,e)&&o_(e,t.PATTERN)))}),h("Misc Mapping #2",()=>{u=iR(r,oU),c=iR(m,oF),d=ij(r,(e,t)=>{let r=t.GROUP;return iI(r)&&r!==o4.SKIPPED&&(e[r]=[]),e},{}),f=iR(m,(e,t)=>({pattern:m[t],longerAlt:a[t],canLineTerminator:l[t],isCustom:u[t],short:c[t],group:i[t],push:s[t],pop:o[t],tokenTypeIdx:n[t],tokenType:r[t]}))});let g=!0,y=[];return t.safeMode||h("First Char Optimization",()=>{y=ij(r,(e,r,n)=>{if("string"==typeof r.PATTERN)oV(e,oz(r.PATTERN.charCodeAt(0)),f[n]);else if(tI(r.START_CHARS_HINT)){let t;ih(r.START_CHARS_HINT,r=>{let i=oz("string"==typeof r?r.charCodeAt(0):r);t!==i&&(t=i,oV(e,i,f[n]))})}else if(iP(r.PATTERN)){if(r.PATTERN.unicode)g=!1,t.ensureOptimizations&&iB(`${ob} Unable to analyze < ${r.PATTERN.toString()} > pattern. 38 The regexp unicode flag is not currently supported by the regexp-to-ast library. 39 This will disable the lexer's first char optimizations. 40 For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let i=function(e,t=!1){try{let t=ok(e);return function e(t,r,n){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)e(t.value[i],r,n);break;case"Alternative":let i=t.value;for(let t=0;t<i.length;t++){let a=i[t];switch(a.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}switch(a.type){case"Character":oI(a.value,r,n);break;case"Set":if(!0===a.complement)throw Error(ox);ih(a.value,e=>{if("number"==typeof e)oI(e,r,n);else if(!0===n)for(let t=e.from;t<=e.to;t++)oI(t,r,n);else{for(let t=e.from;t<=e.to&&t<256;t++)oI(t,r,n);if(e.to>=256){let t=e.from>=256?e.from:256,n=e.to,i=oz(t),a=oz(n);for(let e=i;e<=a;e++)r[e]=e}}});break;case"Group":e(a.value,r,n);break;default:throw Error("Non Exhaustive Match")}let s=void 0!==a.quantifier&&0===a.quantifier.atLeast;if("Group"===a.type&&!1===function e(t){let r=t.quantifier;return!!r&&0===r.atLeast||!!t.value&&(tI(t.value)?ip(t.value,e):e(t.value))}(a)||"Group"!==a.type&&!1===s)break}break;default:throw Error("non exhaustive match!")}return iS(r)}(t.value,{},t.flags.ignoreCase)}catch(r){if(r.message===ox)t&&iK(`${ob} Unable to optimize: < ${e.toString()} > 41 Complement Sets cannot be automatically optimized. 42 This will disable the lexer's first char optimizations. 43 See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let r="";t&&(r=` 44 This will disable the lexer's first char optimizations. 45 See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),iB(`${ob} 46 Failed parsing: < ${e.toString()} > 47 Using the @chevrotain/regexp-to-ast library 48 Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}(r.PATTERN,t.ensureOptimizations);iO(i)&&(g=!1),ih(i,t=>{oV(e,t,f[n])})}}else t.ensureOptimizations&&iB(`${ob} TokenType: <${r.name}> is using a custom token pattern without providing <start_chars_hint> parameter. 49 This will disable the lexer's first char optimizations. 50 For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),g=!1;return e},[])}),{emptyGroups:d,patternIdxToConfig:f,charCodeToPatternIdxToConfig:y,hasCustom:p,canBeOptimized:g}}(e,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[r]=n.patternIdxToConfig,this.charCodeToPatternIdxToConfig[r]=n.charCodeToPatternIdxToConfig,this.emptyGroups=rU({},this.emptyGroups,n.emptyGroups),this.hasCustom=n.hasCustom||this.hasCustom,this.canModeBeOptimized[r]=n.canBeOptimized}})}),this.defaultMode=r.defaultMode,!iO(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling)throw Error(`Errors detected in definition of Lexer: 51`+iR(this.lexerDefinitionErrors,e=>e.message).join(`----------------------- 52`));ih(this.lexerDefinitionWarning,e=>{iK(e.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(oL?(this.chopInput=tF,this.match=this.matchWithTest):(this.updateLastIndex=t1,this.match=this.matchWithExec),n&&(this.handleModes=t1),!1===this.trackStartLines&&(this.computeNewColumn=tF),!1===this.trackEndLines&&(this.updateTokenEndLineColumnLocation=t1),/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 e=ij(this.canModeBeOptimized,(e,t,r)=>(!1===t&&e.push(r),e),[]);if(t.ensureOptimizations&&!iO(e))throw Error(`Lexer Modes: < ${e.join(", ")} > cannot be optimized. 53 Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. 54 Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{oA={}}),this.TRACE_INIT("toFastProperties",()=>{iH(this)})})}tokenize(e,t=this.defaultMode){if(!iO(this.lexerDefinitionErrors))throw Error(`Unable to Tokenize because Errors detected in definition of Lexer: 55`+iR(this.lexerDefinitionErrors,e=>e.message).join(`----------------------- 56`));return this.tokenizeInternal(e,t)}tokenizeInternal(e,t){let r,n,i,a,s,o,l,u,c,d,f,h,p,m,g,y,v;let T=e,R=T.length,$=0,A=0,E=Array(this.hasCustom?0:Math.floor(e.length/10)),k=[],x=this.trackStartLines?1:void 0,b=this.trackStartLines?1:void 0,I=function(e){let t={};return ih(rD(e),r=>{if(tI(e[r]))t[r]=[];else throw Error("non exhaustive match")}),t}(this.emptyGroups),S=this.trackStartLines,w=this.config.lineTerminatorsPattern,_=0,N=[],C=[],O=[],L=[];function P(){return N}function M(e){let t=C[oz(e)];return void 0===t?L:t}Object.freeze(L);let D=e=>{if(1===O.length&&void 0===e.tokenType.PUSH_MODE){let t=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(e);k.push({offset:e.startOffset,line:e.startLine,column:e.startColumn,length:e.image.length,message:t})}else{O.pop();let e=iu(O);N=this.patternIdxToConfig[e],C=this.charCodeToPatternIdxToConfig[e],_=N.length;let t=this.canModeBeOptimized[e]&&!1===this.config.safeMode;y=C&&t?M:P}};function j(e){O.push(e),C=this.charCodeToPatternIdxToConfig[e],_=(N=this.patternIdxToConfig[e]).length,_=N.length;let t=this.canModeBeOptimized[e]&&!1===this.config.safeMode;y=C&&t?M:P}j.call(this,t);let U=this.config.recoveryEnabled;for(;$<R;){o=null;let t=T.charCodeAt($),C=y(t),O=C.length;for(r=0;r<O;r++){let n=(v=C[r]).pattern;l=null;
56let c=v.short;if(!1!==c?t===c&&(o=n):!0===v.isCustom?null!==(g=n.exec(T,$,E,I))?(o=g[0],void 0!==g.payload&&(l=g.payload)):o=null:(this.updateLastIndex(n,$),o=this.match(n,e,$)),null!==o){if(void 0!==(s=v.longerAlt)){let t=s.length;for(i=0;i<t;i++){let t=N[s[i]],r=t.pattern;if(u=null,!0===t.isCustom?null!==(g=r.exec(T,$,E,I))?(a=g[0],void 0!==g.payload&&(u=g.payload)):a=null:(this.updateLastIndex(r,$),a=this.match(r,e,$)),a&&a.length>o.length){o=a,l=u,v=t;break}}}break}}if(null!==o){if(c=o.length,void 0!==(d=v.group)&&(f=v.tokenTypeIdx,h=this.createTokenInstance(o,$,f,v.tokenType,x,b,c),this.handlePayload(h,l),!1===d?A=this.addToken(E,A,h):I[d].push(h)),e=this.chopInput(e,c),$+=c,b=this.computeNewColumn(b,c),!0===S&&!0===v.canLineTerminator){let e=0,t,r;w.lastIndex=0;do!0===(t=w.test(o))&&(r=w.lastIndex-1,e++);while(!0===t);0!==e&&(x+=e,b=c-r,this.updateTokenEndLineColumnLocation(h,d,r,e,x,b,c))}this.handleModes(v,D,j,h)}else{let t=$,r=x,i=b,a=!1===U;for(;!1===a&&$<R;)for(e=this.chopInput(e,1),$++,n=0;n<_;n++){let t=N[n],r=t.pattern,i=t.short;if(!1!==i?T.charCodeAt($)===i&&(a=!0):!0===t.isCustom?a=null!==r.exec(T,$,E,I):(this.updateLastIndex(r,$),a=null!==r.exec(e)),!0===a)break}if(p=$-t,b=this.computeNewColumn(b,p),m=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(T,t,p,r,i),k.push({offset:t,line:r,column:i,length:p,message:m}),!1===U)break}}return this.hasCustom||(E.length=A),{tokens:E,groups:I,errors:k}}handleModes(e,t,r,n){if(!0===e.pop){let i=e.push;t(n),void 0!==i&&r.call(this,i)}else void 0!==e.push&&r.call(this,e.push)}chopInput(e,t){return e.substring(t)}updateLastIndex(e,t){e.lastIndex=t}updateTokenEndLineColumnLocation(e,t,r,n,i,a,s){let o,l;void 0!==t&&(l=(o=r===s-1)?-1:0,1===n&&!0===o||(e.endLine=i+l,e.endColumn=a-1+-l))}computeNewColumn(e,t){return e+t}createOffsetOnlyToken(e,t,r,n){return{image:e,startOffset:t,tokenTypeIdx:r,tokenType:n}}createStartOnlyToken(e,t,r,n,i,a){return{image:e,startOffset:t,startLine:i,startColumn:a,tokenTypeIdx:r,tokenType:n}}createFullToken(e,t,r,n,i,a,s){return{image:e,startOffset:t,endOffset:t+s-1,startLine:i,endLine:i,startColumn:a,endColumn:a+s-1,tokenTypeIdx:r,tokenType:n}}addTokenUsingPush(e,t,r){return e.push(r),t}addTokenUsingMemberAccess(e,t,r){return e[t]=r,++t}handlePayloadNoCustom(e,t){}handlePayloadWithCustom(e,t){null!==t&&(e.payload=t)}matchWithTest(e,t,r){return!0===e.test(t)?t.substring(r,e.lastIndex):null}matchWithExec(e,t){let r=e.exec(t);return null!==r?r[0]:null}}function o9(e){return o3(e)?e.LABEL:e.name}function o3(e){return iI(e.LABEL)&&""!==e.LABEL}o4.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",o4.NA=/NOT_APPLICABLE/;let o7="categories",o6="label",o5="group",o8="push_mode",le="pop_mode",lt="longer_alt",lr="line_breaks",ln="start_chars_hint";function li(e){let t=e.pattern,r={};if(r.name=e.name,iM(t)||(r.PATTERN=t),ib(e,"parent"))throw`The parent property is no longer supported. 57See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return ib(e,o7)&&(r.CATEGORIES=e[o7]),oQ([r]),ib(e,o6)&&(r.LABEL=e[o6]),ib(e,o5)&&(r.GROUP=e[o5]),ib(e,le)&&(r.POP_MODE=e[le]),ib(e,o8)&&(r.PUSH_MODE=e[o8]),ib(e,lt)&&(r.LONGER_ALT=e[lt]),ib(e,lr)&&(r.LINE_BREAKS=e[lr]),ib(e,ln)&&(r.START_CHARS_HINT=e[ln]),r}let la=li({name:"EOF",pattern:o4.NA});function ls(e,t,r,n,i,a,s,o){return{image:t,startOffset:r,endOffset:n,startLine:i,endLine:a,startColumn:s,endColumn:o,tokenTypeIdx:e.tokenTypeIdx,tokenType:e}}oQ([la]);let lo={buildMismatchTokenMessage:({expected:e,actual:t,previous:r,ruleName:n})=>`Expecting ${o3(e)?`--> ${o9(e)} <--`:`token of type --> ${e.name} <--`} but found --> '${t.image}' <--`,buildNotAllInputParsedMessage:({firstRedundant:e,ruleName:t})=>"Redundant input, expecting EOF but found: "+e.image,buildNoViableAltMessage({expectedPathsPerAlt:e,actual:t,previous:r,customUserDescription:n,ruleName:i}){let a="Expecting: ",s=` 58but found: '`+iT(t).image+"'";if(n)return a+n+s;{let t=iR(ij(e,(e,t)=>e.concat(t),[]),e=>`[${iR(e,e=>o9(e)).join(", ")}]`);return a+`one of these possible Token sequences: 59${iR(t,(e,t)=>` ${t+1}. ${e}`).join(` 60`)}`+s}},buildEarlyExitMessage({expectedIterationPaths:e,actual:t,customUserDescription:r,ruleName:n}){let i="Expecting: ",a=` 61but found: '`+iT(t).image+"'";return r?i+r+a:i+`expecting at least one iteration which starts with one of these possible Token sequences:: 62 <${iR(e,e=>`[${iR(e,e=>o9(e)).join(",")}]`).join(" ,")}>`+a}};Object.freeze(lo);let ll={buildRuleNotFoundError:(e,t)=>
62"Invalid grammar, reference to a rule which is not defined: ->"+t.nonTerminalName+`<- 63inside top level rule: ->`+e.name+"<-"},lu={buildDuplicateFoundError(e,t){let r=e.name,n=iT(t),i=n.idx,a=og(n),s=n instanceof oh?n.terminalType.name:n instanceof oi?n.nonTerminalName:"",o=`->${a}${i>0?i:""}<- ${s?`with argument: ->${s}<-`:""} 64 appears more than once (${t.length} times) in the top level rule: ->${r}<-. 65 For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES 66 `;return(o=o.replace(/[ \t]+/g," ")).replace(/\s\s+/g,` 67`)},buildNamespaceConflictError:e=>`Namespace conflict found in grammar. 68The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${e.name}>. 69To resolve this make sure each Terminal and Non-Terminal names are unique 70This is easy to accomplish by using the convention that Terminal names start with an uppercase letter 71and Non-Terminal names start with a lower case letter.`,buildAlternationPrefixAmbiguityError(e){let t=iR(e.prefixPath,e=>o9(e)).join(", "),r=0===e.alternation.idx?"":e.alternation.idx;return`Ambiguous alternatives: <${e.ambiguityIndices.join(" ,")}> due to common lookahead prefix 72in <OR${r}> inside <${e.topLevelRule.name}> Rule, 73<${t}> may appears as a prefix path in all these alternatives. 74See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX 75For Further details.`},buildAlternationAmbiguityError(e){let t=iR(e.prefixPath,e=>o9(e)).join(", "),r=0===e.alternation.idx?"":e.alternation.idx;return`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(" ,")}> in <OR${r}> inside <${e.topLevelRule.name}> Rule, 76<${t}> may appears as a prefix path in all these alternatives. 77See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES 78For Further details.`},buildEmptyRepetitionError(e){let t=og(e.repetition);return 0!==e.repetition.idx&&(t+=e.repetition.idx),`The repetition <${t}> within Rule <${e.topLevelRule.name}> can never consume any tokens. 79This could lead to an infinite loop.`},buildTokenNameError:e=>"deprecated",buildEmptyAlternationError:e=>`Ambiguous empty alternative: <${e.emptyChoiceIdx+1}> in <OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule. 80Only the last alternative may be an empty alternative.`,buildTooManyAlternativesError:e=>`An Alternation cannot have more than 256 alternatives: 81<OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule. 82 has ${e.alternation.definition.length+1} alternatives.`,buildLeftRecursionError(e){let t=e.topLevelRule.name,r=iR(e.leftRecursionPath,e=>e.name),n=`${t} --> ${r.concat([t]).join(" --> ")}`;return`Left Recursion found in grammar. 83rule: <${t}> can be invoked from itself (directly or indirectly) 84without consuming any Tokens. The grammar path that causes this is: 85 ${n} 86 To fix this refactor your grammar to remove the left recursion. 87see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError:e=>"deprecated",buildDuplicateRuleNameError(e){let t;return t=e.topLevelRule instanceof oa?e.topLevelRule.name:e.topLevelRule,`Duplicate definition, rule: ->${t}<- is already defined in the grammar: ->${e.grammarName}<-`}};class lc extends op{constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){ih(iS(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let t=this.nameToTopRule[e.nonTerminalName];if(t)e.referencedRule=t;else{let t=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:t,type:hN.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class ld extends oy{constructor(e,t){super(),this.topProd=e,this.path=t,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=nH(this.path.ruleStack).reverse(),this.occurrenceStack=nH(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,t=[]){this.found||super.walk(e,t)}walkProdRef(e,t,r){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let n=t.concat(r);this.updateExpectedNext(),this.walk(e.referencedRule,n)}}updateExpectedNext(){iO(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class lf extends ld{constructor(e,t){super(e,t),this.path=t,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,t,r){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let e=new os({definition:t.concat(r)});this.possibleTokTypes=oT(e),this.found=!0}}}class lh extends oy{constructor(e,t){super(),this.topRule=e,this.occurrence=t,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class lp extends lh{walkMany(e,t,r){if(e.idx===this.occurrence){let e=iT(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof oh&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkMany(e,t,r)}}class lm extends lh{walkManySep(e,t,r){if(e.idx===this.occurrence){let e=iT(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof oh&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkManySep(e,t,r)}}class lg extends lh{walkAtLeastOne(e,t,r){if(e.idx===this.occurrence){let e=iT(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof oh&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOne(e,t,r)}}class ly extends lh{walkAtLeastOneSep(e,t,r){if(e.idx===this.occurrence){let e=iT(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof oh&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOneSep(e,t,r)}}function lv(e,t,r=[]){r=nH(r);let n=[],i=0;function a(a){let s=lv(a.concat(ic(e,i+1)),t,r);return n.concat(s)}for(;r.length<t&&i<e.length;){let t=e[i];if(t instanceof os||t instanceof oi)return a(t.definition);if(t instanceof oo)n=a(t.definition);else if(t instanceof ol)return a(t.definition.concat([new oc({definition:t.definition})]));else if(t instanceof ou)return a([new os({definition:t.definition}),new oc({definition:[new oh({terminalType:t.separator})].concat(t.definition)})]);else if(t instanceof od)n=a(t.definition.concat([new oc({definition:[new oh({terminalType:t.separator})].concat(t.definition)})]));else if(t instanceof oc)n=a(t.definition.concat([new oc({definition:t.definition})]));else{if(t instanceof of)return ih(t.definition,e=>{!1===iO(e.definition)&&(n=a(e.definition))}),n;if(t instanceof oh)r.push(t.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:ic(e,i)}),n}function lT(e,t,r,n){let i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE",o=!1,l=t.length,u=l-n-1,c=[],d=[];for(d.push({idx:-1,def:e,ruleStack:[],occurrenceStack:[]});!iO(d);){let e=d.pop();if(e===s){o&&iu(d).idx<=u&&d.pop();continue}let n=e.def,f=e.idx,h=e.ruleStack,p=e.occurrenceStack;if(iO(n))continue;let m=n[0];
87if(m===i){let e={idx:f,def:ic(n),ruleStack:id(h),occurrenceStack:id(p)};d.push(e)}else if(m instanceof oh){if(f<l-1){let e=f+1;if(r(t[e],m.terminalType)){let t={idx:e,def:ic(n),ruleStack:h,occurrenceStack:p};d.push(t)}}else if(f===l-1)c.push({nextTokenType:m.terminalType,nextTokenOccurrence:m.idx,ruleStack:h,occurrenceStack:p}),o=!0;else throw Error("non exhaustive match")}else if(m instanceof oi){let e=nH(h);e.push(m.nonTerminalName);let t=nH(p);t.push(m.idx);let r={idx:f,def:m.definition.concat(a,ic(n)),ruleStack:e,occurrenceStack:t};d.push(r)}else if(m instanceof oo){let e={idx:f,def:ic(n),ruleStack:h,occurrenceStack:p};d.push(e),d.push(s);let t={idx:f,def:m.definition.concat(ic(n)),ruleStack:h,occurrenceStack:p};d.push(t)}else if(m instanceof ol){let e=new oc({definition:m.definition,idx:m.idx}),t={idx:f,def:m.definition.concat([e],ic(n)),ruleStack:h,occurrenceStack:p};d.push(t)}else if(m instanceof ou){let e=new oc({definition:[new oh({terminalType:m.separator})].concat(m.definition),idx:m.idx}),t={idx:f,def:m.definition.concat([e],ic(n)),ruleStack:h,occurrenceStack:p};d.push(t)}else if(m instanceof od){let e={idx:f,def:ic(n),ruleStack:h,occurrenceStack:p};d.push(e),d.push(s);let t=new oc({definition:[new oh({terminalType:m.separator})].concat(m.definition),idx:m.idx}),r={idx:f,def:m.definition.concat([t],ic(n)),ruleStack:h,occurrenceStack:p};d.push(r)}else if(m instanceof oc){let e={idx:f,def:ic(n),ruleStack:h,occurrenceStack:p};d.push(e),d.push(s);let t=new oc({definition:m.definition,idx:m.idx}),r={idx:f,def:m.definition.concat([t],ic(n)),ruleStack:h,occurrenceStack:p};d.push(r)}else if(m instanceof of)for(let e=m.definition.length-1;e>=0;e--){let t={idx:f,def:m.definition[e].definition.concat(ic(n)),ruleStack:h,occurrenceStack:p};d.push(t),d.push(s)}else if(m instanceof os)d.push({idx:f,def:m.definition.concat(ic(n)),ruleStack:h,occurrenceStack:p});else if(m instanceof oa)d.push(function(e,t,r,n){let i=nH(r);i.push(e.name);let a=nH(n);return a.push(1),{idx:t,def:e.definition,ruleStack:i,occurrenceStack:a}}(m,f,h,p));else throw Error("non exhaustive match")}return c}function lR(e){if(e instanceof oo||"Option"===e)return hw.OPTION;if(e instanceof oc||"Repetition"===e)return hw.REPETITION;if(e instanceof ol||"RepetitionMandatory"===e)return hw.REPETITION_MANDATORY;if(e instanceof ou||"RepetitionMandatoryWithSeparator"===e)return hw.REPETITION_MANDATORY_WITH_SEPARATOR;if(e instanceof od||"RepetitionWithSeparator"===e)return hw.REPETITION_WITH_SEPARATOR;if(e instanceof of||"Alternation"===e)return hw.ALTERNATION;throw Error("non exhaustive match")}function l$(e){let{occurrence:t,rule:r,prodType:n,maxLookahead:i}=e,a=lR(n);return a===hw.ALTERNATION?lw(t,r,i):l_(t,r,a,i)}function lA(e,t,r,n){let i=e.length,a=ip(e,e=>ip(e,e=>1===e.length));if(t)return function(t){let n=iR(t,e=>e.GATE);for(let t=0;t<i;t++){let i=e[t],a=i.length,s=n[t];if(!(void 0!==s&&!1===s.call(this)))e:for(let e=0;e<a;e++){let n=i[e],a=n.length;for(let e=0;e<a;e++)if(!1===r(this.LA(e+1),n[e]))continue e;return t}}};if(!a||n)return function(){for(let t=0;t<i;t++){let n=e[t],i=n.length;e:for(let e=0;e<i;e++){let i=n[e],a=i.length;for(let e=0;e<a;e++)if(!1===r(this.LA(e+1),i[e]))continue e;return t}}};{let t=ij(iR(e,e=>nr(e)),(e,t,r)=>(ih(t,t=>{ib(e,t.tokenTypeIdx)||(e[t.tokenTypeIdx]=r),ih(t.categoryMatches,t=>{ib(e,t)||(e[t]=r)})}),e),{});return function(){return t[this.LA(1).tokenTypeIdx]}}}function lE(e,t,r){let n=ip(e,e=>1===e.length),i=e.length;if(!n||r)return function(){e:for(let r=0;r<i;r++){let n=e[r],i=n.length;for(let e=0;e<i;e++)if(!1===t(this.LA(e+1),n[e]))continue e;return!0}return!1};{let t=nr(e);if(1===t.length&&iO(t[0].categoryMatches)){let e=t[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}{let e=ij(t,(e,t,r)=>(e[t.tokenTypeIdx]=!0,ih(t.categoryMatches,t=>{e[t]=!0}),e),[]);return function(){return!0===e[this.LA(1).tokenTypeIdx]}}}}(fb=hw||(hw={}))[fb.OPTION=0]="OPTION",fb[fb.REPETITION=1]="REPETITION",fb[fb.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",fb[fb.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",fb[fb.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",fb[fb.ALTERNATION=5]="ALTERNATION";class lk extends oy{constructor(e,t,r){super(),this.topProd=e,this.targetOccurrence=t,this.targetProdType=r}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,t,r,n){return e.idx===this.targetOccurrence&&this.targetProdType===t&&(this.restDef=r.concat(n),!0)}walkOption(e,t,r){this.checkIsTarget(e,hw.OPTION,t,r)||super.walkOption(e,t,r)}walkAtLeastOne(e,t,r){this.checkIsTarget(e,hw.REPETITION_MANDATORY,t,r)||super.walkOption(e,t,r)}walkAtLeastOneSep(e,t,r){this.checkIsTarget(e,hw.REPETITION_MANDATORY_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}walkMany(e,t,r){this.checkIsTarget(e,hw.REPETITION,t,r)||super.walkOption(e,t,r)}walkManySep(e,t,r){this.checkIsTarget(e,hw.REPETITION_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}}class lx extends op{constructor(e,t,r){super(),this.targetOccurrence=e,this.targetProdType=t,this.targetRef=r,this.result=[]}checkIsTarget(e,t){e.idx===this.targetOccurrence&&this.targetProdType===t&&(void 0===this.targetRef||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,hw.OPTION)}visitRepetition(e){this.checkIsTarget(e,hw.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,hw.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,hw.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,hw.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,hw.ALTERNATION)}}function lb(e){let t=Array(e);for(let r=0;r<e;r++)t[r]=[];return t}function lI(e){let t=[""];for(let r=0;r<e.length;r++){let n=e[r],i=[];for(let e=0;e<t.length;e++){let r=t[e];i.push(r+"_"+n.tokenTypeIdx);for(let e=0;e<n.categoryMatches.length;e++){let t="_"+n.categoryMatches[e];i.push(r+t)}}t=i}return t}function lS(e,t){let r=iR(e,e=>lv([e],1)),n=lb(r.length),i=iR(r,e=>{let t={};return ih(e,e=>{ih(lI(e.partialPath),e=>{t[e]=!0})}),t}),a=r;for(let e=1;e<=t;e++){let r=a;a=lb(r.length);for(let s=0;s<r.length;s++){let o=r[s];for(let r=0;r<o.length;r++){let l=o[r].partialPath,u=o[r].suffixDef,c=lI(l);if(function(e,t,r){for(let n=0;n<e.length;n++){if(n===r)continue;let i=e[n];for(let e=0;e<t.length;e++)if(!0===i[t[e]])return!1}return!0}(i,c,s)||iO(u)||l.length===t){let e=n[s];if(!1===lN(e,l)){e.push(l);for(let e=0;e<c.length;e++){let t=c[e];i[s][t]=!0}}}else{let t=lv(u,e+1,l);a[s]=a[s].concat(t),ih(t,e=>{ih(lI(e.partialPath),e=>{i[s][e]=!0})})}}}}return n}function lw(e,t,r,n){let i=new lx(e,hw.ALTERNATION,n);return t.accept(i),lS(i.result,r)}function l_(e,t,r,n){let i=new lx(e,r);t.accept(i);let a=i.result,s=new lk(t,e,r).startWalking();return lS([new os({definition:a}),new os({definition:s})],n)}function lN(e,t){e:for(let r=0;r<e.length;r++){let n=e[r];if(n.length===t.length){for(let e=0;e<n.length;e++){let r=t[e],i=n[e];if((r===i||void 0!==i.categoryMatchesMap[r.tokenTypeIdx])==!1)continue e}return!0}}return!1}function lC(e){return ip(e,e=>ip(e,e=>ip(e,e=>iO(e.categoryMatches))))}function lO(e){return`${og(e)}_#_${e.idx}_#_${lL(e)}`}function lL(e){return e instanceof oh?e.terminalType.name:e instanceof oi?e.
87nonTerminalName:""}class lP extends op{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)}}class lM extends op{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}class lD extends op{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)}}let lj="MismatchedTokenException",lU="NoViableAltException",lF="EarlyExitException",lG="NotAllInputParsedException",lB=[lj,lU,lF,lG];function lK(e){return i_(lB,e.name)}Object.freeze(lB);class lV extends Error{constructor(e,t){super(e),this.token=t,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class lH extends lV{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=lj}}class lz extends lV{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=lU}}class lW extends lV{constructor(e,t){super(e,t),this.name=lG}}class lY extends lV{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=lF}}let lq={},lX="InRuleRecoveryException";class lQ extends Error{constructor(e){super(e),this.name=lX}}class lZ{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=ib(e,"recoveryEnabled")?e.recoveryEnabled:um.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=lJ)}getTokenToInsert(e){let t=ls(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,t,r,n){let i=this.findReSyncTokenType(),a=this.exportLexerState(),s=[],o=!1,l=this.LA(1),u=this.LA(1),c=()=>{let e=this.LA(0),t=new lH(this.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:l,previous:e,ruleName:this.getCurrRuleFullName()}),l,this.LA(0));t.resyncedTokens=id(s),this.SAVE_ERROR(t)};for(;!o;)if(this.tokenMatcher(u,n)){c();return}else if(r.call(this)){c(),e.apply(this,t);return}else this.tokenMatcher(u,i)?o=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,s));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,t,r){return!(!1===r||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))}getFollowsForInRuleRecovery(e,t){let r=this.getCurrentGrammarPath(e,t);return this.getNextPossibleTokenTypes(r)}tryInRuleRecovery(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let e=this.SKIP_TOKEN();return this.consumeToken(),e}throw new lQ("sad sad panda")}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,t){if(!this.canTokenTypeBeInsertedInRecovery(e)||iO(t))return!1;let r=this.LA(1);return void 0!==iv(t,e=>this.tokenMatcher(r,e))}canRecoverWithSingleTokenDeletion(e){return!!this.canTokenTypeBeDeletedInRecovery(e)&&this.tokenMatcher(this.LA(2),e)}isInCurrentRuleReSyncSet(e){let t=this.getCurrFollowKey();return i_(this.getFollowSetFromFollowKey(t),e)}findReSyncTokenType(){let e=this.flattenFollowSet(),t=this.LA(1),r=2;for(;;){let n=iv(e,e=>oW(t,e));if(void 0!==n)return n;t=this.LA(r),r++}}getCurrFollowKey(){if(1===this.RULE_STACK.length)return lq;let e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,
87inRule:this.shortRuleNameToFullName(r)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,t=this.RULE_OCCURRENCE_STACK;return iR(e,(r,n)=>0===n?lq:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:t[n],inRule:this.shortRuleNameToFullName(e[n-1])})}flattenFollowSet(){return nr(iR(this.buildFullFollowKeyStack(),e=>this.getFollowSetFromFollowKey(e)))}getFollowSetFromFollowKey(e){if(e===lq)return[la];let t=e.ruleName+e.idxInCallingRule+oR+e.inRule;return this.resyncFollows[t]}addToResyncTokens(e,t){return this.tokenMatcher(e,la)||t.push(e),t}reSyncTo(e){let t=[],r=this.LA(1);for(;!1===this.tokenMatcher(r,e);)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,t);return id(t)}attemptInRepetitionRecovery(e,t,r,n,i,a,s){}getCurrentGrammarPath(e,t){return{ruleStack:this.getHumanReadableRuleStack(),occurrenceStack:nH(this.RULE_OCCURRENCE_STACK),lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){return iR(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}}function lJ(e,t,r,n,i,a,s){let o=this.getKeyForAutomaticLookahead(n,i),l=this.firstAfterRepMap[o];if(void 0===l){let e=this.getCurrRuleFullName();l=new a(this.getGAstProductions()[e],i).startWalking(),this.firstAfterRepMap[o]=l}let u=l.token,c=l.occurrence,d=l.isEndOfRule;1===this.RULE_STACK.length&&d&&void 0===u&&(u=la,c=1),!(void 0===u||void 0===c)&&this.shouldInRepetitionRecoveryBeTried(u,c,s)&&this.tryInRepetitionRecovery(e,t,r,u)}class l0{constructor(e){var t;this.maxLookahead=null!==(t=null==e?void 0:e.maxLookahead)&&void 0!==t?t:um.maxLookahead}validate(e){let t=this.validateNoLeftRecursion(e.rules);return iO(t)?[...t,...this.validateEmptyOrAlternatives(e.rules),...this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),...this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead)]:t}validateNoLeftRecursion(e){return i$(e,e=>(function e(t,r,n,i=[]){let a=[],s=function e(t){let r=[];if(iO(t))return r;let n=iT(t);if(n instanceof oi)r.push(n.referencedRule);else if(n instanceof os||n instanceof oo||n instanceof ol||n instanceof ou||n instanceof od||n instanceof oc)r=r.concat(e(n.definition));else if(n instanceof of)r=nr(iR(n.definition,t=>e(t.definition)));else if(!(n instanceof oh))throw Error("non exhaustive match");let i=om(n),a=t.length>1;if(!i||!a)return r;{let n=ic(t);return r.concat(e(n))}}(r.definition);if(iO(s))return[];{let r=t.name;i_(s,t)&&a.push({message:n.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:i}),type:hN.LEFT_RECURSION,ruleName:r});let o=i$(il(s,i.concat([t])),r=>{let a=nH(i);return a.push(r),e(t,r,n,a)});return a.concat(o)}})(e,e,lu))}validateEmptyOrAlternatives(e){return i$(e,e=>(function(e,t){let r=new lM;return e.accept(r),i$(r.alternations,r=>i$(id(r.definition),(n,i)=>iO(lT([n],[],oW,1))?[{message:t.buildEmptyAlternationError({topLevelRule:e,alternation:r,emptyChoiceIdx:i}),type:hN.NONE_LAST_EMPTY_ALT,ruleName:e.name,occurrence:r.idx,alternative:i+1}]:[]))})(e,lu))}validateAmbiguousAlternationAlternatives(e,t){return i$(e,e=>(function(e,t,r){let n=new lM;e.accept(n);let i=n.alternations;return i$(i=iU(i,e=>!0===e.ignoreAmbiguities),n=>{let i=lw(n.idx,e,n.maxLookahead||t,n),a=function(e,t,r,n){let i=[];return iR(ij(e,(r,n,a)=>(!0===t.definition[a].ignoreAmbiguities||ih(n,n=>{let s=[a];ih(e,(e,r)=>{a!==r&&lN(e,n)&&!0!==t.definition[r].ignoreAmbiguities&&s.push(r)}),s.length>1&&!lN(i,n)&&(i.push(n),r.push({alts:s,path:n}))}),r),[]),e=>{let i=iR(e.alts,e=>e+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:hN.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:t.idx,alternatives:e.alts}})}(i,n,e,r),s=function(e,t,r,n){let i=ij(e,(e,t,r)=>{let n=iR(t,e=>({idx:r,path:e}));return e.concat(n)},[]);return nz(i$(i,e=>{if(!0===t.definition[e.idx].ignoreAmbiguities)return[];let a=e.idx,s=e.path;return iR(ig(i,e=>{var r;return!0!==t.definition[e.idx].ignoreAmbiguities&&e.idx<a&&(r=e.path).length<s.length&&ip(r,(e,t)=>{let r=s[t];return e===r||r.categoryMatchesMap[e.tokenTypeIdx]})}),e=>{let i=[e.idx+1,a+1],s=0===t.idx?"":t.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:hN.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:s,alternatives:i}})}))}(i,n,e,r);return a.concat(s)})})(e,t,lu))}validateSomeNonEmptyLookaheadPath(e,t){return function(e,t,r){let n=[];return ih(e,e=>{let i=new lD;e.accept(i),ih(i.allProductions,i=>{let a=lR(i),s=i.maxLookahead||t;if(iO(nr(l_(i.idx,e,a,s)[0]))){let t=r.buildEmptyRepetitionError({topLevelRule:e,repetition:i});n.push({message:t,type:hN.NO_NON_EMPTY_LOOKAHEAD,ruleName:e.name})}})}),n}(e,t,lu)}buildLookaheadForAlternation(e){return function(e,t,r,n,i,a){let s=lw(e,t,r),o=lC(s)?oY:oW;return a(s,n,o,i)}(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,lA)}buildLookaheadForOptional(e){return function(e,t,r,n,i,a){let s=l_(e,t,i,r),o=lC(s)?oY:oW;return a(s[0],o,n)}(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,lR(e.prodType),lE)}}class l1{initLooksAhead(e){this.dynamicTokensEnabled=ib(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:um.dynamicTokensEnabled,this.maxLookahead=ib(e,"maxLookahead")?e.maxLookahead:um.maxLookahead,this.lookaheadStrategy=ib(e,"lookaheadStrategy")?e.lookaheadStrategy:new l0({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){ih(e,e=>{this.TRACE_INIT(`${e.name} Rule Lookahead`,()=>{let{alternation:t,repetition:r,option:n,repetitionMandatory:i,repetitionMandatoryWithSeparator:a,repetitionWithSeparator:s}=function(e){l4.reset(),e.accept(l4);let t=l4.dslMethods;return l4.reset(),t}(e);ih(t,t=>{let r=0===t.idx?"":t.idx;this.TRACE_INIT(`${og(t)}${r}`,()=>{var r;let n=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:t.idx,rule:e,maxLookahead:t.maxLookahead||this.maxLookahead,hasPredicates:t.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),i=(r=this.fullRuleNameToShort[e.name],256|t.idx|r);this.setLaFuncCache(i,n)})}),ih(r,t=>{this.computeLookaheadFunc(e,t.idx,768,"Repetition",t.maxLookahead,og(t))}),ih(n,t=>{this.computeLookaheadFunc(e,t.idx,512,"Option",t.maxLookahead,og(t))}),ih(i,t=>{this.computeLookaheadFunc(e,t.idx,1024,"RepetitionMandatory",t.maxLookahead,og(t))}),ih(a,t=>{this.computeLookaheadFunc(e,t.idx,1536,"RepetitionMandatoryWithSeparator",t.maxLookahead,og(t))}),ih(s,t=>{this.computeLookaheadFunc(e,t.idx,1280,"RepetitionWithSeparator",t.maxLookahead,og(t))})})})}computeLookaheadFunc(e,t,r,n,i,a){this.TRACE_INIT(`${a}${0===t?"":t}`,()=>{let a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:t,rule:e,maxLookahead:i||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:n}),s=t|r|this.fullRuleNameToShort[e.name];this.setLaFuncCache(s,a)})}getKeyForAutomaticLookahead(e,t){return t|e|this.getLastExplicitRuleShortName()}
87getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,t){this.lookAheadFuncsCache.set(e,t)}}class l2 extends op{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)}}let l4=new l2;function l9(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.endOffset=t.endOffset):e.endOffset<t.endOffset&&(e.endOffset=t.endOffset)}function l3(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.startColumn=t.startColumn,e.startLine=t.startLine,e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine):e.endOffset<t.endOffset&&(e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine)}function l7(e,t){Object.defineProperty(e,"name",{enumerable:!1,configurable:!0,writable:!1,value:t})}function l6(e,t){let r=rD(e),n=r.length;for(let i=0;i<n;i++){let n=e[r[i]],a=n.length;for(let e=0;e<a;e++){let r=n[e];void 0===r.tokenTypeIdx&&this[r.name](r.children,t)}}}(fI=h_||(h_={}))[fI.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",fI[fI.MISSING_METHOD=1]="MISSING_METHOD";class l5{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=ib(e,"nodeLocationTracking")?e.nodeLocationTracking:um.nodeLocationTracking,this.outputCst){if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=l3,this.setNodeLocationFromNode=l3,this.cstPostRule=t1,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=t1,this.setNodeLocationFromNode=t1,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=l9,this.setNodeLocationFromNode=l9,this.cstPostRule=t1,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=t1,this.setNodeLocationFromNode=t1,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=t1,this.setNodeLocationFromNode=t1,this.cstPostRule=t1,this.setInitialNodeLocation=t1;else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}else this.cstInvocationStateUpdate=t1,this.cstFinallyStateUpdate=t1,this.cstPostTerminal=t1,this.cstPostNonTerminal=t1,this.cstPostRule=t1}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let t={name:e,children:Object.create(null)};this.setInitialNodeLocation(t),this.CST_STACK.push(t)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let t=this.LA(0),r=e.location;r.startOffset<=t.startOffset?(r.endOffset=t.endOffset,r.endLine=t.endLine,r.endColumn=t.endColumn):(r.startOffset=NaN,r.startLine=NaN,r.startColumn=NaN)}cstPostRuleOnlyOffset(e){let t=this.LA(0),r=e.location;r.startOffset<=t.startOffset?r.endOffset=t.endOffset:r.startOffset=NaN}cstPostTerminal(e,t){let r=this.CST_STACK[this.CST_STACK.length-1];void 0===r.children[e]?r.children[e]=[t]:r.children[e].push(t),this.setNodeLocationFromToken(r.location,t)}cstPostNonTerminal(e,t){let r=this.CST_STACK[this.CST_STACK.length-1];void 0===r.children[t]?r.children[t]=[e]:r.children[t].push(e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(iM(this.baseCstVisitorConstructor)){let e=function(e,t){let r=function(){};return l7(r,e+"BaseSemantics"),r.prototype={visit:function(e,t){if(tI(e)&&(e=e[0]),!iM(e))return this[e.name](e.children,t)},validateVisitor:function(){var e;let r=(e=this,nz(iR(ig(t,t=>!1===tG(e[t])),t=>({msg:`Missing visitor method: <${t}> on ${e.constructor.name} CST Visitor.`,type:h_.MISSING_METHOD,methodName:t}))));if(!iO(r)){let e=iR(r,e=>e.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: 88 ${e.join(` 89 90`).replace(/\n/g,` 91 `)}`)}}},r.prototype.constructor=r,r._RULE_NAMES=t,r}(this.className,rD(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(iM(this.baseCstVisitorWithDefaultsConstructor)){let e=function(e,t,r){let n=function(){};l7(n,e+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return ih(t,e=>{i[e]=l6}),n.prototype=i,n.prototype.constructor=n,n}(this.className,rD(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}}class l8{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(!0!==this.selfAnalysisDone)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):up}LA(e){let t=this.currIdx+e;return t<0||this.tokVectorLength<=t?up:this.tokVector[t]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}}class ue{ACTION(e){return e.call(this)}consume(e,t,r){return this.consumeInternal(t,e,r)}subrule(e,t,r){return this.subruleInternal(t,e,r)}option(e,t){return this.optionInternal(t,e)}or(e,t){return this.orInternal(t,e)}many(e,t){return this.manyInternal(e,t)}atLeastOne(e,t){return this.atLeastOneInternal(e,t)}CONSUME(e,t){return this.consumeInternal(e,0,t)}CONSUME1(e,t){return this.consumeInternal(e,1,t)}CONSUME2(e,t){return this.consumeInternal(e,2,t)}CONSUME3(e,t){return this.consumeInternal(e,3,t)}CONSUME4(e,t){return this.consumeInternal(e,4,t)}CONSUME5(e,t){return this.consumeInternal(e,5,t)}CONSUME6(e,t){return this.consumeInternal(e,6,t)}CONSUME7(e,t){return this.consumeInternal(e,7,t)}CONSUME8(e,t){return this.consumeInternal(e,8,t)}CONSUME9(e,t){return this.consumeInternal(e,9,t)}SUBRULE(e,t){return this.subruleInternal(e,0,t)}SUBRULE1(e,t){return this.subruleInternal(e,1,t)}SUBRULE2(e,t){return this.subruleInternal(e,2,t)}SUBRULE3(e,t){return this.subruleInternal(e,3,t)}SUBRULE4(e,t){return this.subruleInternal(e,4,t)}SUBRULE5(e,t){return this.subruleInternal(e,5,t)}SUBRULE6(e,t){return this.subruleInternal(e,6,t)}SUBRULE7(e,t){return this.subruleInternal(e,7,t)}SUBRULE8(e,t){return this.subruleInternal(e,8,t)}SUBRULE9(e,t){return this.subruleInternal(e,9,t)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,t,r=ug){if(i_(this.definedRulesNames,e)){let t={message:lu.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}
91),type:hN.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(t)}this.definedRulesNames.push(e);let n=this.defineRule(e,t,r);return this[e]=n,n}OVERRIDE_RULE(e,t,r=ug){let n=function(e,t,r){let n=[];return i_(t,e)||n.push({message:`Invalid rule override, rule: ->${e}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,type:hN.INVALID_RULE_OVERRIDE,ruleName:e}),n}(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(n);let i=this.defineRule(e,t,r);return this[e]=i,i}BACKTRACK(e,t){return function(){this.isBackTrackingStack.push(1);let r=this.saveRecogState();try{return e.apply(this,t),!0}catch(e){if(lK(e))return!1;throw e}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return s6(iS(this.gastProductionsCache),function e(t){function r(t){return s6(t,e)}if(t instanceof oi){let e={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return s5(t.label)&&(e.label=t.label),e}if(t instanceof os)return{type:"Alternative",definition:r(t.definition)};if(t instanceof oo)return{type:"Option",idx:t.idx,definition:r(t.definition)};if(t instanceof ol)return{type:"RepetitionMandatory",idx:t.idx,definition:r(t.definition)};if(t instanceof ou)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:e(new oh({terminalType:t.separator})),definition:r(t.definition)};if(t instanceof od)return{type:"RepetitionWithSeparator",idx:t.idx,separator:e(new oh({terminalType:t.separator})),definition:r(t.definition)};if(t instanceof oc)return{type:"Repetition",idx:t.idx,definition:r(t.definition)};if(t instanceof of)return{type:"Alternation",idx:t.idx,definition:r(t.definition)};if(t instanceof oh){var n,i;let e={type:"Terminal",name:t.terminalType.name,label:s5((i=n=t.terminalType).LABEL)&&""!==i.LABEL?n.LABEL:n.name,idx:t.idx};s5(t.label)&&(e.terminalLabel=t.label);let r=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(e.pattern=ot(r)?r.source:r),e}if(t instanceof oa)return{type:"Rule",name:t.name,orgText:t.orgText,definition:r(t.definition)};throw Error("non exhaustive match")})}}class ut{initRecognizerEngine(e,t){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=oY,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},ib(t,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property. 92 See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 93 For Further details.`);if(tI(e)){if(iO(e))throw Error(`A Token Vocabulary cannot be empty. 94 Note that the first argument for the parser constructor 95 is no longer a Token vector (since v4.0).`);if("number"==typeof e[0].startOffset)throw Error(`The Parser constructor no longer accepts a token vector as the first argument. 96 See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 97 For Further details.`)}if(tI(e))this.tokensMap=ij(e,(e,t)=>(e[t.name]=t,e),{});else if(ib(e,"modes")&&ip(nr(iS(e.modes)),o0)){let t=iG(nr(iS(e.modes)));this.tokensMap=ij(t,(e,t)=>(e[t.name]=t,e),{})}else if(tC(e))this.tokensMap=nH(e);else throw Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=la;let r=ip(ib(e,"modes")?nr(iS(e.modes)):iS(e),e=>iO(e.categoryMatches));this.tokenMatcher=r?oY:oW,oQ(iS(this.tokensMap))}defineRule(e,t,r){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' 98Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let n=ib(r,"resyncEnabled")?r.resyncEnabled:ug.resyncEnabled,i=ib(r,"recoveryValueFunc")?r.recoveryValueFunc:ug.recoveryValueFunc,a=this.ruleShortNameIdx<<12;return this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=e,this.fullRuleNameToShort[e]=a,Object.assign(!0===this.outputCst?function(...r){try{this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,r);let n=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(n),n}catch(e){return this.invokeRuleCatch(e,n,i)}finally{this.ruleFinallyStateUpdate()}}:function(...r){try{return this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,r)}catch(e){return this.invokeRuleCatch(e,n,i)}finally{this.ruleFinallyStateUpdate()}},{ruleName:e,originalGrammarAction:t})}invokeRuleCatch(e,t,r){let n=1===this.RULE_STACK.length,i=t&&!this.isBackTracking()&&this.recoveryEnabled;if(lK(e)){if(i){let t=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(t)){if(e.resyncedTokens=this.reSyncTo(t),!this.outputCst)return r(e);{let e=this.CST_STACK[this.CST_STACK.length-1];return e.recoveredNode=!0,e}}if(this.outputCst){let t=this.CST_STACK[this.CST_STACK.length-1];t.recoveredNode=!0,e.partialCstResult=t}throw e}if(n)return this.moveToTerminatedState(),r(e)}throw e}optionInternal(e,t){let r=this.getKeyForAutomaticLookahead(512,t);return this.optionInternalLogic(e,t,r)}
98optionInternalLogic(e,t,r){let n=this.getLaFuncFromCache(r),i;if("function"!=typeof e){i=e.DEF;let t=e.GATE;if(void 0!==t){let e=n;n=()=>t.call(this)&&e.call(this)}}else i=e;if(!0===n.call(this))return i.call(this)}atLeastOneInternal(e,t){let r=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,t,r)}atLeastOneInternalLogic(e,t,r){let n=this.getLaFuncFromCache(r),i;if("function"!=typeof t){i=t.DEF;let e=t.GATE;if(void 0!==e){let t=n;n=()=>e.call(this)&&t.call(this)}}else i=t;if(!0===n.call(this)){let e=this.doSingleRepetition(i);for(;!0===n.call(this)&&!0===e;)e=this.doSingleRepetition(i)}else throw this.raiseEarlyExitException(e,hw.REPETITION_MANDATORY,t.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],n,1024,e,lg)}atLeastOneSepFirstInternal(e,t){let r=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,t,r)}atLeastOneSepFirstInternalLogic(e,t,r){let n=t.DEF,i=t.SEP;if(!0===this.getLaFuncFromCache(r).call(this)){n.call(this);let t=()=>this.tokenMatcher(this.LA(1),i);for(;!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,n,ly],t,1536,e,ly)}else throw this.raiseEarlyExitException(e,hw.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG)}manyInternal(e,t){let r=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,t,r)}manyInternalLogic(e,t,r){let n=this.getLaFuncFromCache(r),i;if("function"!=typeof t){i=t.DEF;let e=t.GATE;if(void 0!==e){let t=n;n=()=>e.call(this)&&t.call(this)}}else i=t;let a=!0;for(;!0===n.call(this)&&!0===a;)a=this.doSingleRepetition(i);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],n,768,e,lp,a)}manySepFirstInternal(e,t){let r=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,t,r)}manySepFirstInternalLogic(e,t,r){let n=t.DEF,i=t.SEP;if(!0===this.getLaFuncFromCache(r).call(this)){n.call(this);let t=()=>this.tokenMatcher(this.LA(1),i);for(;!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,n,lm],t,1280,e,lm)}}repetitionSepSecondInternal(e,t,r,n,i){for(;r();)this.CONSUME(t),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,r,n,i],r,1536,e,i)}doSingleRepetition(e){let t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){let r=this.getKeyForAutomaticLookahead(256,t),n=tI(e)?e:e.DEF,i=this.getLaFuncFromCache(r).call(this,n);if(void 0!==i)return n[i].ALT.call(this);this.raiseNoAltException(t,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),0===this.RULE_STACK.length&&!1===this.isAtEndOfInput()){let e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new lW(t,e))}}subruleInternal(e,t,r){let n;try{let i=void 0!==r?r.ARGS:void 0;return this.subruleIdx=t,n=e.apply(this,i),this.cstPostNonTerminal(n,void 0!==r&&void 0!==r.
98LABEL?r.LABEL:e.ruleName),n}catch(t){throw this.subruleInternalError(t,r,e.ruleName)}}subruleInternalError(e,t,r){throw lK(e)&&void 0!==e.partialCstResult&&(this.cstPostNonTerminal(e.partialCstResult,void 0!==t&&void 0!==t.LABEL?t.LABEL:r),delete e.partialCstResult),e}consumeInternal(e,t,r){let n;try{let t=this.LA(1);!0===this.tokenMatcher(t,e)?(this.consumeToken(),n=t):this.consumeInternalError(e,t,r)}catch(r){n=this.consumeInternalRecovery(e,t,r)}return this.cstPostTerminal(void 0!==r&&void 0!==r.LABEL?r.LABEL:e.name,n),n}consumeInternalError(e,t,r){let n;let i=this.LA(0);throw n=void 0!==r&&r.ERR_MSG?r.ERR_MSG:this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:i,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new lH(n,t,i))}consumeInternalRecovery(e,t,r){if(this.recoveryEnabled&&"MismatchedTokenException"===r.name&&!this.isBackTracking()){let n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(e){throw e.name===lX?r:e}}else throw r}saveRecogState(){let e=this.errors,t=nH(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,t,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t)}isBackTracking(){return 0!==this.isBackTrackingStack.length}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),la)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}class ur{initErrorHandler(e){this._errors=[],this.errorMessageProvider=ib(e,"errorMessageProvider")?e.errorMessageProvider:um.errorMessageProvider}SAVE_ERROR(e){if(lK(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:nH(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return nH(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,t,r){let n=this.getCurrRuleFullName(),i=l_(e,this.getGAstProductions()[n],t,this.maxLookahead)[0],a=[];for(let e=1;e<=this.maxLookahead;e++)a.push(this.LA(e));let s=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:i,actual:a,previous:this.LA(0),customUserDescription:r,ruleName:n});throw this.SAVE_ERROR(new lY(s,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){let r=this.getCurrRuleFullName(),n=lw(e,this.getGAstProductions()[r],this.maxLookahead),i=[];for(let e=1;e<=this.maxLookahead;e++)i.push(this.LA(e));let a=this.LA(0),s=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:n,actual:i,previous:a,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new lz(s,this.LA(1),a))}}class un{initContentAssist(){}computeContentAssist(e,t){let r=this.gastProductionsCache[e];if(iM(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return lT([r],t,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let t=iT(e.ruleStack);return new lf(this.getGAstProductions()[t],e).startWalking()}}let ui={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(ui);let ua=li({name:"RECORDING_PHASE_TOKEN",pattern:o4.NA});oQ([ua]);let us=ls(ua,`This IToken indicates the Parser is in Recording Phase 99 See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(us);let uo={name:`This CSTNode indicates the Parser is in Recording Phase 100 See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}};class ul{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let t=e>0?e:"";this[`CONSUME${t}`]=function(t,r){return this.consumeInternalRecord(t,e,r)},this[`SUBRULE${t}`]=function(t,r){return this.subruleInternalRecord(t,e,r)},this[`OPTION${t}`]=function(t){return this.optionInternalRecord(t,e)},this[`OR${t}`]=function(t){return this.orInternalRecord(t,e)},this[`MANY${t}`]=function(t){this.manyInternalRecord(e,t)},this[`MANY_SEP${t}`]=function(t){this.manySepFirstInternalRecord(e,t)},this[`AT_LEAST_ONE${t}`]=function(t){this.atLeastOneInternalRecord(e,t)},this[`AT_LEAST_ONE_SEP${t}`]=function(t){this.atLeastOneSepFirstInternalRecord(e,t)}}this.consume=function(e,t,r){return this.consumeInternalRecord(t,e,r)},this.subrule=function(e,t,r){return this.subruleInternalRecord(t,e,r)},this.option=function(e,t){return this.optionInternalRecord(t,e)},this.or=function(e,t){return this.orInternalRecord(t,e)},this.many=function(e,t){this.manyInternalRecord(e,t)},this.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{for(let e=0;e<10;e++){let t=e>0?e:"";delete this[`CONSUME${t}`],delete this[`SUBRULE${t}`],delete this[`OPTION${t}`],delete this[`OR${t}`],delete this[`MANY${t}`],delete this[`MANY_SEP${t}`],delete this[`AT_LEAST_ONE${t}`],delete this[`AT_LEAST_ONE_SEP${t}`]}delete this.consume,delete this.subrule,delete this.option,delete this.or,delete this.many,delete this.atLeastOne,delete this.ACTION,delete this.BACKTRACK,delete this.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,t){return()=>!0}LA_RECORD(e){return up}topLevelRuleRecord(e,t){try{let r=new oa({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),t.call(this),this.recordingProdStack.pop(),r}
100catch(e){if(!0!==e.KNOWN_RECORDER_ERROR)try{e.message=e.message+` 101 This error was thrown during the "grammar recording phase" For more info see: 102 https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{}throw e}}optionInternalRecord(e,t){return uu.call(this,oo,e,t)}atLeastOneInternalRecord(e,t){uu.call(this,ol,t,e)}atLeastOneSepFirstInternalRecord(e,t){uu.call(this,ou,t,e,!0)}manyInternalRecord(e,t){uu.call(this,oc,t,e)}manySepFirstInternalRecord(e,t){uu.call(this,od,t,e,!0)}orInternalRecord(e,t){return uc.call(this,e,t)}subruleInternalRecord(e,t,r){if(uf(t),!e||!1===ib(e,"ruleName")){let r=Error(`<SUBRULE${ud(t)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> 103 inside top level rule: <${this.recordingProdStack[0].name}>`);throw r.KNOWN_RECORDER_ERROR=!0,r}let n=iu(this.recordingProdStack),i=new oi({idx:t,nonTerminalName:e.ruleName,label:null==r?void 0:r.LABEL,referencedRule:void 0});return n.definition.push(i),this.outputCst?uo:ui}consumeInternalRecord(e,t,r){if(uf(t),!oZ(e)){let r=Error(`<CONSUME${ud(t)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> 104 inside top level rule: <${this.recordingProdStack[0].name}>`);throw r.KNOWN_RECORDER_ERROR=!0,r}let n=iu(this.recordingProdStack),i=new oh({idx:t,terminalType:e,label:null==r?void 0:r.LABEL});return n.definition.push(i),us}}function uu(e,t,r,n=!1){uf(r);let i=iu(this.recordingProdStack),a=tG(t)?t:t.DEF,s=new e({definition:[],idx:r});return n&&(s.separator=t.SEP),ib(t,"MAX_LOOKAHEAD")&&(s.maxLookahead=t.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),ui}function uc(e,t){var r;uf(t);let n=iu(this.recordingProdStack),i=!1===tI(e),a=!1===i?e:e.DEF,s=new of({definition:[],idx:t,ignoreAmbiguities:i&&!0===e.IGNORE_AMBIGUITIES});ib(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD);let o=(r=e=>tG(e.GATE),(tI(a)?nY:function(e,t){var r;return ir(e,function(e,n,i){return!(r=t(e,n,i))}),!!r})(a,ie(r)));return s.hasPredicates=o,n.definition.push(s),ih(a,e=>{let t=new os({definition:[]});s.definition.push(t),ib(e,"IGNORE_AMBIGUITIES")?t.ignoreAmbiguities=e.IGNORE_AMBIGUITIES:ib(e,"GATE")&&(t.ignoreAmbiguities=!0),this.recordingProdStack.push(t),e.ALT.call(this),this.recordingProdStack.pop()}),ui}function ud(e){return 0===e?"":`${e}`}function uf(e){if(e<0||e>255){let t=Error(`Invalid DSL Method idx value: <${e}> 105 Idx value must be a none negative value smaller than 256`);throw t.KNOWN_RECORDER_ERROR=!0,t}}class uh{initPerformanceTracer(e){if(ib(e,"traceInitPerf")){let t=e.traceInitPerf,r="number"==typeof t;this.traceInitMaxIdent=r?t:1/0,this.traceInitPerf=r?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=um.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,t){if(!0!==this.traceInitPerf)return t();{this.traceInitIndent++;let r=Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${r}--> <${e}>`);let{time:n,value:i}=iV(t),a=n>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${r}<-- <${e}> time: ${n}ms`),this.traceInitIndent--,i}}}let up=ls(la,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(up);let um=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:lo,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),ug=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});function uy(e){return function(){return e}}(fS=hN||(hN={}))[fS.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",fS[fS.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",fS[fS.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",fS[fS.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",fS[fS.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",fS[fS.LEFT_RECURSION=5]="LEFT_RECURSION",fS[fS.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",fS[fS.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",fS[fS.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",fS[fS.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",fS[fS.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",fS[fS.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",fS[fS.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",fS[fS.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION";class uv{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 t=this.className;this.TRACE_INIT("toFastProps",()=>{iH(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),ih(this.definedRulesNames,e=>{let t;let r=this[e].originalGrammarAction;this.TRACE_INIT(`${e} Rule`,()=>{t=this.topLevelRuleRecord(e,r)}),this.gastProductionsCache[e]=t})}finally{this.disableRecording()}});let r=[];if(this.TRACE_INIT("Grammar Resolving",()=>{r=function(e){let t=is(e,{errMsgProvider:ll}),r={};return ih(e.rules,e=>{r[e.name]=e}),function(e,t){let r=new lc(e,t);return r.resolveRefs(),r.errors}(r,t.errMsgProvider)}({rules:iS(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT("Grammar Validations",()=>{if(iO(r)&&!1===this.skipValidations){var e,n;let r=function(e,t,r,n){let i=i$(e,e=>(function(e,t){let r=new lP;return e.accept(r),iR(iS(function(e,t){if(null==e)return{};var r=tb(ny(e,rG,ng),function(e){return[e]});return t=ie(t),function(e,t,r){for(var n=-1,i=t.length,a={};++n<i;){var s=t[n],o=r6(e,s);r(o,s)&&function(e,t,r,n){if(tC(e)){t=r3(t,e);for(var i=-1,a=t.length,s=a-1,o=e;null!=o&&++i<a;){var l=r7(t[i]),u=r;if("__proto__"===l||"constructor"===l||"prototype"===l)break;if(i!=s){var c=o[l];u=void 0,u=tC(c)?c:rt(t[i+1])?[]:{}}ra(o,l,u),o=o[l]}}}(a,r3(s,e),o)}return a}(e,r,function(e,r){return t(e,r[0])})}(iE(r.allProductions,lO),e=>e.length>1)),r=>{let n=iT(r),i=t.buildDuplicateFoundError(e,r),a=og(n),s={message:i,type:hN.DUPL
105ICATE_PRODUCTIONS,ruleName:e.name,dslName:a,occurrence:n.idx},o=lL(n);return o&&(s.parameter=o),s})})(e,r)),a=function(e,t,r){let n=[],i=iR(t,e=>e.name);return ih(e,e=>{let t=e.name;if(i_(i,t)){let i=r.buildNamespaceConflictError(e);n.push({message:i,type:hN.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:t})}}),n}(e,t,r),s=i$(e,e=>(function(e,t){let r=new lM;return e.accept(r),i$(r.alternations,r=>r.definition.length>255?[{message:t.buildTooManyAlternativesError({topLevelRule:e,alternation:r}),type:hN.TOO_MANY_ALTS,ruleName:e.name,occurrence:r.idx}]:[])})(e,r)),o=i$(e,t=>(function(e,t,r,n){let i=[];if(ij(t,(t,r)=>r.name===e.name?t+1:t,0)>1){let t=n.buildDuplicateRuleNameError({topLevelRule:e,grammarName:r});i.push({message:t,type:hN.DUPLICATE_RULE_NAME,ruleName:e.name})}return i})(t,e,n,r));return i.concat(a,s,o)}((e=is(e={rules:iS(this.gastProductionsCache),tokenTypes:iS(this.tokensMap),errMsgProvider:lu,grammarName:t},{errMsgProvider:lu})).rules,e.tokenTypes,e.errMsgProvider,e.grammarName),i=iR((n={lookaheadStrategy:this.lookaheadStrategy,rules:iS(this.gastProductionsCache),tokenTypes:iS(this.tokensMap),grammarName:t}).lookaheadStrategy.validate({rules:n.rules,tokenTypes:n.tokenTypes,grammarName:n.grammarName}),e=>Object.assign({type:hN.CUSTOM_LOOKAHEAD_VALIDATION},e));this.definitionErrors=this.definitionErrors.concat(r,i)}}),iO(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let e=function(e){let t={};return ih(e,e=>{rU(t,new o$(e).startWalking())}),t}(iS(this.gastProductionsCache));this.resyncFollows=e}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var e,t;null===(t=(e=this.lookaheadStrategy).initialize)||void 0===t||t.call(e,{rules:iS(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(iS(this.gastProductionsCache))})),!uv.DEFER_DEFINITION_ERRORS_HANDLING&&!iO(this.definitionErrors))throw e=iR(this.definitionErrors,e=>e.message),Error(`Parser Definition Errors detected: 106 ${e.join(` 107------------------------------- 108`)}`)})}constructor(e,t){if(this.definitionErrors=[],this.selfAnalysisDone=!1,this.initErrorHandler(t),this.initLexerAdapter(),this.initLooksAhead(t),this.initRecognizerEngine(e,t),this.initRecoverable(t),this.initTreeBuilder(t),this.initContentAssist(),this.initGastRecorder(t),this.initPerformanceTracer(t),ib(t,"ignoredIssues"))throw Error(`The <ignoredIssues> IParserConfig property has been deprecated. 109 Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead. 110 See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES 111 For further details.`);this.skipValidations=ib(t,"skipValidations")?t.skipValidations:um.skipValidations}}uv.DEFER_DEFINITION_ERRORS_HANDLING=!1,function(e,t){t.forEach(t=>{let r=t.prototype;Object.getOwnPropertyNames(r).forEach(n=>{if("constructor"===n)return;let i=Object.getOwnPropertyDescriptor(r,n);i&&(i.get||i.set)?Object.defineProperty(e.prototype,n,i):e.prototype[n]=t.prototype[n]})})}(uv,[lZ,l1,l5,l8,ut,ue,ur,un,ul,uh]);class uT extends uv{constructor(e,t=um){let r=nH(t);r.outputCst=!1,super(e,r)}}function uR(e,t,r){return`${e.name}_${t}_${r}`}class u${constructor(e){this.target=e}isEpsilon(){return!1}}class uA extends u${constructor(e,t){super(e),this.tokenType=t}}class uE extends u${constructor(e){super(e)}isEpsilon(){return!0}}class uk extends u${constructor(e,t,r){super(e),this.rule=t,this.followState=r}isEpsilon(){return!0}}function ux(e,t,r,n,i){let a=n.left,s=n.right,o=uN(e,t,r,{type:11});uI(e,o);let l=uN(e,t,r,{type:12});return a.loopback=o,l.loopback=o,e.decisionMap[uR(t,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=o,u_(s,o),void 0===i?(u_(o,a),u_(o,l)):(u_(o,l),u_(o,i.left),u_(i.right,a)),{left:a,right:l}}function ub(e,t,r,n,i){let a=n.left,s=n.right,o=uN(e,t,r,{type:10});uI(e,o);let l=uN(e,t,r,{type:12}),u=uN(e,t,r,{type:9});return o.loopback=u,l.loopback=u,u_(o,a),u_(o,l),u_(s,u),void 0!==i?(u_(u,l),u_(u,i.left),u_(i.right,a)):u_(u,o),e.decisionMap[uR(t,i?"RepetitionWithSeparator":"Repetition",r.idx)]=o,{left:o,right:l}}function uI(e,t){return e.decisionStates.push(t),t.decision=e.decisionStates.length-1,t.decision}function uS(e,t,r,n,...i){let a=uN(e,t,n,{type:8,start:r});for(let e of(r.end=a,i))void 0!==e?(u_(r,e.left),u_(e.right,a)):u_(r,a);return e.decisionMap[uR(t,function(e){if(e instanceof of)return"Alternation";if(e instanceof oo)return"Option";if(e instanceof oc)return"Repetition";if(e instanceof od)return"RepetitionWithSeparator";if(e instanceof ol)return"RepetitionMandatory";if(e instanceof ou)return"RepetitionMandatoryWithSeparator";throw Error("Invalid production type encountered")}(n),n.idx)]=r,{left:r,right:a}}function uw(e,t,r,n){let i=uN(e,t,n,{type:1}),a=uN(e,t,n,{type:1});return uC(i,new uA(a,r)),{left:i,right:a}}function u_(e,t){uC(e,new uE(t))}function uN(e,t,r,n){let i=Object.assign({atn:e,production:r,epsilonOnlyTransitions:!1,rule:t,transitions:[],nextTokenWithinRule:[],stateNumber:e.states.length},n);return e.states.push(i),i}function uC(e,t){0===e.transitions.length&&(e.epsilonOnlyTransitions=t.isEpsilon()),e.transitions.push(t)}let uO={};class uL{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let t=uP(e);
111t in this.map||(this.map[t]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return(0,i.m)(this.configs,e=>e.alt)}get key(){let e="";for(let t in this.map)e+=t+":";return e}}function uP(e,t=!0){return`${t?`a${e.alt}`:""}s${e.state.stateNumber}:${e.stack.map(e=>e.stateNumber.toString()).join("_")}`}class uM{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,t){this.predicates[e]=t}toString(){let e="",t=this.predicates.length;for(let r=0;r<t;r++)e+=!0===this.predicates[r]?"1":"0";return e}}let uD=new uM;class uj extends l0{constructor(e){var t;super(),this.logging=null!==(t=null==e?void 0:e.logging)&&void 0!==t?t:e=>console.log(e)}initialize(e){this.atn=function(e){let t={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};(function(e,t){let r=t.length;for(let n=0;n<r;n++){let r=t[n],i=uN(e,r,void 0,{type:2}),a=uN(e,r,void 0,{type:7});i.stop=a,e.ruleToStartState.set(r,i),e.ruleToStopState.set(r,a)}})(t,e);let r=e.length;for(let n=0;n<r;n++){let r=e[n],s=function e(t,r,n){let s=(0,a.m)((0,i.m)(n.definition,n=>(function t(r,n,a){return a instanceof oh?uw(r,n,a.terminalType,a):a instanceof oi?function(e,t,r){let n=r.referencedRule,i=e.ruleToStartState.get(n),a=uN(e,t,r,{type:1}),s=uN(e,t,r,{type:1});return uC(a,new uk(i,n,s)),{left:a,right:s}}(r,n,a):a instanceof of?function(e,r,n){let a=uN(e,r,n,{type:1});uI(e,a);let s=(0,i.m)(n.definition,n=>t(e,r,n));return uS(e,r,a,n,...s)}(r,n,a):a instanceof oo?function(t,r,n){let i=uN(t,r,n,{type:1});uI(t,i);let a=uS(t,r,i,n,e(t,r,n));return function(e,t,r,n){let i=n.left;return u_(i,n.right),e.decisionMap[uR(t,"Option",r.idx)]=i,n}(t,r,n,a)}(r,n,a):a instanceof oc?function(t,r,n){let i=uN(t,r,n,{type:5});uI(t,i);let a=uS(t,r,i,n,e(t,r,n));return ub(t,r,n,a)}(r,n,a):a instanceof od?function(t,r,n){let i=uN(t,r,n,{type:5});uI(t,i);let a=uS(t,r,i,n,e(t,r,n)),s=uw(t,r,n.separator,n);return ub(t,r,n,a,s)}(r,n,a):a instanceof ol?function(t,r,n){let i=uN(t,r,n,{type:4});uI(t,i);let a=uS(t,r,i,n,e(t,r,n));return ux(t,r,n,a)}(r,n,a):a instanceof ou?function(t,r,n){let i=uN(t,r,n,{type:4});uI(t,i);let a=uS(t,r,i,n,e(t,r,n)),s=uw(t,r,n.separator,n);return ux(t,r,n,a,s)}(r,n,a):e(r,n,a)})(t,r,n)),e=>void 0!==e);return 1===s.length?s[0]:0===s.length?void 0:function(e,t){let r=t.length;for(let n=0;n<r-1;n++){let r;let i=t[n];1===i.left.transitions.length&&(r=i.left.transitions[0]);let a=r instanceof uk,s=r,o=t[n+1].left;1===i.left.type&&1===i.right.type&&void 0!==r&&(a&&s.followState===i.right||r.target===i.right)?(a?s.followState=o:r.target=o,function(e,t){e.states.splice(e.states.indexOf(t),1)}(e,i.right)):u_(i.right,o)}let n=t[0],i=t[r-1];return{left:n.left,right:i.right}}(t,s)}(t,r,r);void 0!==s&&function(e,t,r){u_(e.ruleToStartState.get(t),r.left);let n=e.ruleToStopState.get(t);u_(r.right,n)}(t,r,s)}return t}(e.rules),this.dfas=function(e){let t=e.decisionStates.length,r=Array(t);for(let n=0;n<t;n++)r[n]=function(e,t){let r={};return n=>{let i=n.toString(),a=r[i];return void 0!==a||(a={atnStartState:e,decision:t,states:{}},r[i]=a),a}}(e.decisionStates[n],n);return r}(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:t,rule:r,hasPredicates:n,dynamicTokensEnabled:s}=e,o=this.dfas,l=this.logging,u=uR(r,"Alternation",t),c=this.atn.decisionMap[u].decision,d=(0,i.m)(l$({maxLookahead:1,occurrence:t,prodType:"Alternation",rule:r}),e=>(0,i.m)(e,e=>e[0]));if(!uU(d,!1)||s)return n?function(e){let t=new uM,r=void 0===e?0:e.length;for(let n=0;n<r;n++){let r=null==e?void 0:e[n].GATE;t.set(n,void 0===r||r.call(this))}let n=uF.call(this,o,c,t,l);return"number"==typeof n?n:void 0}:function(){let e=uF.call(this,o,c,uD,l);return"number"==typeof e?e:void 0};{let e=(0,a.r)(d,(e,t,r)=>((0,a.n)(t,t=>{t&&(e[t.tokenTypeIdx]=r,(0,a.n)(t.categoryMatches,t=>{e[t]=r}))}),e),{});return n?function(t){var r;let n=e[this.LA(1).tokenTypeIdx];if(void 0!==t&&void 0!==n){let e=null===(r=t[n])||void 0===r?void 0:r.GATE;if(void 0!==e&&!1===e.call(this))return}return n}:function(){return e[this.LA(1).tokenTypeIdx]}}}buildLookaheadForOptional(e){let{prodOccurrence:t,rule:r,prodType:n,dynamicTokensEnabled:o}=e,l=this.dfas,u=this.logging,c=uR(r,n,t),d=this.atn.decisionMap[c].decision,f=(0,i.m)(l$({maxLookahead:1,occurrence:t,prodType:n,rule:r}),e=>(0,i.m)(e,e=>e[0]));
111if(uU(f)&&f[0][0]&&!o){let e=f[0],t=(0,i.f)(e);if(1===t.length&&(0,s.b1)(t[0].categoryMatches)){let e=t[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}{let e=(0,a.r)(t,(e,t)=>(void 0!==t&&(e[t.tokenTypeIdx]=!0,(0,a.n)(t.categoryMatches,t=>{e[t]=!0})),e),{});return function(){return!0===e[this.LA(1).tokenTypeIdx]}}}return function(){let e=uF.call(this,l,d,uD,u);return"object"!=typeof e&&0===e}}}function uU(e,t=!0){let r=new Set;for(let n of e){let e=new Set;for(let i of n){if(void 0===i){if(t)break;return!1}for(let t of[i.tokenTypeIdx].concat(i.categoryMatches))if(r.has(t)){if(!e.has(t))return!1}else r.add(t),e.add(t)}}return!0}function uF(e,t,r,n){let i=e[t](r),a=i.start;if(void 0===a){let e=function(e){let t=new uL,r=e.transitions.length;for(let n=0;n<r;n++)uW({state:e.transitions[n].target,alt:n,stack:[]},t);return t}(i.atnStartState);a=uz(i,uV(e)),i.start=a}return uG.apply(this,[i,a,r,n])}function uG(e,t,r,n){let s=t,o=1,l=[],u=this.LA(o++);for(;;){var c,d;let t=(c=s,d=u,c.edges[d.tokenTypeIdx]);if(void 0===t&&(t=uB.apply(this,[e,s,u,o,r,n])),t===uO)return function(e,t,r){var n,s,o,l;return{actualToken:r,possibleTokenTypes:(o=(n=t.configs.elements,s=e=>e.state.transitions,(0,a.b)((0,i.m)(n,s))).filter(e=>e instanceof uA).map(e=>e.tokenType),l=e=>e.tokenTypeIdx,o&&o.length?(0,a.l)(o,(0,a.d)(l)):[]),tokenPath:e}}(l,s,u);if(!0===t.isAcceptState)return t.prediction;s=t,l.push(u),u=this.LA(o++)}}function uB(e,t,r,n,a,s){let o=function(e,t,r){let n;let i=new uL,a=[];for(let n of e.elements){if(!1===r.is(n.alt))continue;if(7===n.state.type){a.push(n);continue}let e=n.state.transitions.length;for(let r=0;r<e;r++){let e=function(e,t){if(e instanceof uA&&oW(t,e.tokenType))return e.target}(n.state.transitions[r],t);void 0!==e&&i.add({state:e,alt:n.alt,stack:n.stack})}}if(0===a.length&&1===i.size&&(n=i),void 0===n)for(let e of(n=new uL,i.elements))uW(e,n);if(a.length>0&&!function(e){for(let t of e.elements)if(7===t.state.type)return!0;return!1}(n))for(let e of a)n.add(e);return n}(t.configs,r,a);if(0===o.size)return uH(e,t,r,uO),uO;let l=uV(o),u=function(e,t){let r;for(let n of e.elements)if(!0===t.is(n.alt)){if(void 0===r)r=n.alt;else if(r!==n.alt)return}return r}(o,a);if(void 0!==u)l.isAcceptState=!0,l.prediction=u,l.configs.uniqueAlt=u;else if(function(e){if(function(e){for(let t of e.elements)if(7!==t.state.type)return!1;return!0}(e))return!0;let t=function(e){let t=new Map;for(let r of e){let e=uP(r,!1),n=t.get(e);void 0===n&&(n={},t.set(e,n)),n[r.alt]=!0}return t}(e.elements);return function(e){for(let t of Array.from(e.values()))if(Object.keys(t).length>1)return!0;return!1}(t)&&!function(e){for(let t of Array.from(e.values()))if(1===Object.keys(t).length)return!0;return!1}(t)}(o)){let t=(0,i.d)(o.alts);l.isAcceptState=!0,l.prediction=t,l.configs.uniqueAlt=t,uK.apply(this,[e,n,o.alts,s])}return uH(e,t,r,l)}function uK(e,t,r,n){let a=[];for(let e=1;e<=t;e++)a.push(this.LA(e).tokenType);let s=e.atnStartState;n(function(e){let t=(0,i.m)(e.prefixPath,e=>o9(e)).join(", "),r=0===e.production.idx?"":e.production.idx;return`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(", ")}> in <${function(e){if(e instanceof oi)return"SUBRULE";if(e instanceof oo)return"OPTION";if(e instanceof of)return"OR";if(e instanceof ol)return"AT_LEAST_ONE";if(e instanceof ou)return"AT_LEAST_ONE_SEP";if(e instanceof od)return"MANY_SEP";if(e instanceof oc)return"MANY";if(e instanceof oh)return"CONSUME";throw Error("non exhaustive match")}(e.production)}${r}> inside <${e.topLevelRule.name}> Rule, 112<${t}> may appears as a prefix path in all these alternatives. 113See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES 114For Further details.`}({topLevelRule:s.rule,ambiguityIndices:r,production:s.production,prefixPath:a}))}function uV(e){return{configs:e,edges:{},isAcceptState:!1,prediction:-1}}function uH(e,t,r,n){return n=uz(e,n),t.edges[r.tokenTypeIdx]=n,n}function uz(e,t){if(t===uO)return t;let r=t.configs.key,n=e.states[r];return void 0!==n?n:(t.configs.finalize(),e.states[r]=t,t)}function uW(e,t){let r=e.state;if(7===r.type){if(e.stack.length>0){let r=[...e.stack];uW({state:r.pop(),alt:e.alt,stack:r},t)}else t.add(e);return}r.epsilonOnlyTransitions||t.add(e);let n=r.transitions.length;for(let i=0;i<n;i++){let n=function(e,t){if(t instanceof uE)return{state:t.target,alt:e.alt,stack:e.stack};if(t instanceof uk){let r=[...e.stack,t.followState];return{state:t.target,alt:e.alt,stack:r}}}(e,r.transitions[i]);void 0!==n&&uW(n,t)}}(hC||(hC={})).is=function(e){return"string"==typeof e},(hO||(hO={})).is=function(e){return"string"==typeof e},(fw=hL||(hL={})).MIN_VALUE=-2147483648,fw.MAX_VALUE=2147483647,fw.is=function(e){return"number"==typeof e&&fw.MIN_VALUE<=e&&e<=fw.MAX_VALUE},(f_=hP||(hP={})).MIN_VALUE=0,f_.MAX_VALUE=2147483647,f_.is=function(e){return"number"==typeof e&&f_.MIN_VALUE<=e&&e<=f_.MAX_VALUE},(fN=hM||(hM={})).create=function(e,t){return e===Number.MAX_VALUE&&(e=hP.MAX_VALUE),t===Number.MAX_VALUE&&(t=hP.MAX_VALUE),{line:e,character:t}},fN.is=function(e){return pW.objectLiteral(e)&&pW.uinteger(e.line)&&pW.uinteger(e.character)},(fC=hD||(hD={})).create=function(e,t,r,n){if(pW.uinteger(e)&&pW.uinteger(t)&&pW.uinteger(r)&&pW.uinteger(n))return{start:hM.create(e,t),end:hM.create(r,n)};if(hM.is(e)&&hM.is(t))return{start:e,end:t};
114throw Error(`Range#create called with invalid arguments[${e}, ${t}, ${r}, ${n}]`)},fC.is=function(e){return pW.objectLiteral(e)&&hM.is(e.start)&&hM.is(e.end)},(fO=hj||(hj={})).create=function(e,t){return{uri:e,range:t}},fO.is=function(e){return pW.objectLiteral(e)&&hD.is(e.range)&&(pW.string(e.uri)||pW.undefined(e.uri))},(fL=hU||(hU={})).create=function(e,t,r,n){return{targetUri:e,targetRange:t,targetSelectionRange:r,originSelectionRange:n}},fL.is=function(e){return pW.objectLiteral(e)&&hD.is(e.targetRange)&&pW.string(e.targetUri)&&hD.is(e.targetSelectionRange)&&(hD.is(e.originSelectionRange)||pW.undefined(e.originSelectionRange))},(fP=hF||(hF={})).create=function(e,t,r,n){return{red:e,green:t,blue:r,alpha:n}},fP.is=function(e){return pW.objectLiteral(e)&&pW.numberRange(e.red,0,1)&&pW.numberRange(e.green,0,1)&&pW.numberRange(e.blue,0,1)&&pW.numberRange(e.alpha,0,1)},(fM=hG||(hG={})).create=function(e,t){return{range:e,color:t}},fM.is=function(e){return pW.objectLiteral(e)&&hD.is(e.range)&&hF.is(e.color)},(fD=hB||(hB={})).create=function(e,t,r){return{label:e,textEdit:t,additionalTextEdits:r}},fD.is=function(e){return pW.objectLiteral(e)&&pW.string(e.label)&&(pW.undefined(e.textEdit)||hQ.is(e))&&(pW.undefined(e.additionalTextEdits)||pW.typedArray(e.additionalTextEdits,hQ.is))},(fj=hK||(hK={})).Comment="comment",fj.Imports="imports",fj.Region="region",(fU=hV||(hV={})).create=function(e,t,r,n,i,a){let s={startLine:e,endLine:t};return pW.defined(r)&&(s.startCharacter=r),pW.defined(n)&&(s.endCharacter=n),pW.defined(i)&&(s.kind=i),pW.defined(a)&&(s.collapsedText=a),s},fU.is=function(e){return pW.objectLiteral(e)&&pW.uinteger(e.startLine)&&pW.uinteger(e.startLine)&&(pW.undefined(e.startCharacter)||pW.uinteger(e.startCharacter))&&(pW.undefined(e.endCharacter)||pW.uinteger(e.endCharacter))&&(pW.undefined(e.kind)||pW.string(e.kind))},(fF=hH||(hH={})).create=function(e,t){return{location:e,message:t}},fF.is=function(e){return pW.defined(e)&&hj.is(e.location)&&pW.string(e.message)},(fG=hz||(hz={})).Error=1,fG.Warning=2,fG.Information=3,fG.Hint=4,(fB=hW||(hW={})).Unnecessary=1,fB.Deprecated=2,(hY||(hY={})).is=function(e){return pW.objectLiteral(e)&&pW.string(e.href)},(fK=hq||(hq={})).create=function(e,t,r,n,i,a){let s={range:e,message:t};return pW.defined(r)&&(s.severity=r),pW.defined(n)&&(s.code=n),pW.defined(i)&&(s.source=i),pW.defined(a)&&(s.relatedInformation=a),s},fK.is=function(e){var t;return pW.defined(e)&&hD.is(e.range)&&pW.string(e.message)&&(pW.number(e.severity)||pW.undefined(e.severity))&&(pW.integer(e.code)||pW.string(e.code)||pW.undefined(e.code))&&(pW.undefined(e.codeDescription)||pW.string(null===(t=e.codeDescription)||void 0===t?void 0:t.href))&&(pW.string(e.source)||pW.undefined(e.source))&&(pW.undefined(e.relatedInformation)||pW.typedArray(e.relatedInformation,hH.is))},(fV=hX||(hX={})).create=function(e,t,...r){let n={title:e,command:t};return pW.defined(r)&&r.length>0&&(n.arguments=r),n},fV.is=function(e){return pW.defined(e)&&pW.string(e.title)&&pW.string(e.command)},(fH=hQ||(hQ={})).replace=function(e,t){return{range:e,newText:t}},fH.insert=function(e,t){return{range:{start:e,end:e},newText:t}},fH.del=function(e){return{range:e,newText:""}},fH.is=function(e){return pW.objectLiteral(e)&&pW.string(e.newText)&&hD.is(e.range)},(fz=hZ||(hZ={})).create=function(e,t,r){let n={label:e};return void 0!==t&&(n.needsConfirmation=t),void 0!==r&&(n.description=r),n},fz.is=function(e){return pW.objectLiteral(e)&&pW.string(e.label)&&(pW.boolean(e.needsConfirmation)||void 0===e.needsConfirmation)&&(pW.string(e.description)||void 0===e.description)},(hJ||(hJ={})).is=function(e){return pW.string(e)},(fW=h0||(h0={})).replace=function(e,t,r){return{range:e,newText:t,annotationId:r}},fW.insert=function(e,t,r){return{range:{start:e,end:e},newText:t,annotationId:r}},fW.del=function(e,t){return{range:e,newText:"",annotationId:t}},fW.is=function(e){return hQ.is(e)&&(hZ.is(e.annotationId)||hJ.is(e.annotationId))},(fY=h1||(h1={})).create=function(e,t){return{textDocument:e,edits:t}}
114,fY.is=function(e){return pW.defined(e)&&h5.is(e.textDocument)&&Array.isArray(e.edits)},(fq=h2||(h2={})).create=function(e,t,r){let n={kind:"create",uri:e};return void 0!==t&&(void 0!==t.overwrite||void 0!==t.ignoreIfExists)&&(n.options=t),void 0!==r&&(n.annotationId=r),n},fq.is=function(e){return e&&"create"===e.kind&&pW.string(e.uri)&&(void 0===e.options||(void 0===e.options.overwrite||pW.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||pW.boolean(e.options.ignoreIfExists)))&&(void 0===e.annotationId||hJ.is(e.annotationId))},(fX=h4||(h4={})).create=function(e,t,r,n){let i={kind:"rename",oldUri:e,newUri:t};return void 0!==r&&(void 0!==r.overwrite||void 0!==r.ignoreIfExists)&&(i.options=r),void 0!==n&&(i.annotationId=n),i},fX.is=function(e){return e&&"rename"===e.kind&&pW.string(e.oldUri)&&pW.string(e.newUri)&&(void 0===e.options||(void 0===e.options.overwrite||pW.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||pW.boolean(e.options.ignoreIfExists)))&&(void 0===e.annotationId||hJ.is(e.annotationId))},(fQ=h9||(h9={})).create=function(e,t,r){let n={kind:"delete",uri:e};return void 0!==t&&(void 0!==t.recursive||void 0!==t.ignoreIfNotExists)&&(n.options=t),void 0!==r&&(n.annotationId=r),n},fQ.is=function(e){return e&&"delete"===e.kind&&pW.string(e.uri)&&(void 0===e.options||(void 0===e.options.recursive||pW.boolean(e.options.recursive))&&(void 0===e.options.ignoreIfNotExists||pW.boolean(e.options.ignoreIfNotExists)))&&(void 0===e.annotationId||hJ.is(e.annotationId))},(h3||(h3={})).is=function(e){return e&&(void 0!==e.changes||void 0!==e.documentChanges)&&(void 0===e.documentChanges||e.documentChanges.every(e=>pW.string(e.kind)?h2.is(e)||h4.is(e)||h9.is(e):h1.is(e)))},(fZ=h7||(h7={})).create=function(e){return{uri:e}},fZ.is=function(e){return pW.defined(e)&&pW.string(e.uri)},(fJ=h6||(h6={})).create=function(e,t){return{uri:e,version:t}},fJ.is=function(e){return pW.defined(e)&&pW.string(e.uri)&&pW.integer(e.version)},(f0=h5||(h5={})).create=function(e,t){return{uri:e,version:t}},f0.is=function(e){return pW.defined(e)&&pW.string(e.uri)&&(null===e.version||pW.integer(e.version))},(f1=h8||(h8={})).create=function(e,t,r,n){return{uri:e,languageId:t,version:r,text:n}},f1.is=function(e){return pW.defined(e)&&pW.string(e.uri)&&pW.string(e.languageId)&&pW.integer(e.version)&&pW.string(e.text)},(f2=pe||(pe={})).PlainText="plaintext",f2.Markdown="markdown",f2.is=function(e){return e===f2.PlainText||e===f2.Markdown},(pt||(pt={})).is=function(e){return pW.objectLiteral(e)&&pe.is(e.kind)&&pW.string(e.value)},(f4=pr||(pr={})).Text=1,f4.Method=2,f4.Function=3,f4.Constructor=4,f4.Field=5,f4.Variable=6,f4.Class=7,f4.Interface=8,f4.Module=9,f4.Property=10,f4.Unit=11,f4.Value=12,f4.Enum=13,f4.Keyword=14,f4.Snippet=15,f4.Color=16,f4.File=17,f4.Reference=18,f4.Folder=19,f4.EnumMember=20,f4.Constant=21,f4.Struct=22,f4.Event=23,f4.Operator=24,f4.TypeParameter=25,(f9=pn||(pn={})).PlainText=1,f9.Snippet=2,(pi||(pi={})).Deprecated=1,(f3=pa||(pa={})).create=function(e,t,r){return{newText:e,insert:t,replace:r}},f3.is=function(e){return e&&pW.string(e.newText)&&hD.is(e.insert)&&hD.is(e.replace)},(f7=ps||(ps={})).asIs=1,f7.adjustIndentation=2,(po||(po={})).is=function(e){return e&&(pW.string(e.detail)||void 0===e.detail)&&(pW.string(e.description)||void 0===e.description)},(pl||(pl={})).create=function(e){return{label:e}},(pu||(pu={})).create=function(e,t){return{items:e||[],isIncomplete:!!t}},(f6=pc||(pc={})).fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},f6.is=function(e){return pW.string(e)||pW.objectLiteral(e)&&pW.string(e.language)&&pW.string(e.value)},(pd||(pd={})).is=function(e){return!!e&&pW.objectLiteral(e)&&(pt.is(e.contents)||pc.is(e.contents)||pW.typedArray(e.contents,pc.is))&&(void 0===e.range||hD.is(e.range))},(pf||(pf={})).create=function(e,t){return t?{label:e,documentation:t}:{label:e}},(ph||(ph={})).create=function(e,t,...r){let n={label:e};return pW.defined(t)&&(n.documentation=t),pW.defined(r)?n.parameters=r:n.parameters=[],n},(f5=pp||(pp={})).Text=1,f5.Read=2,f5.Write=3,(pm||(pm={})).create=function(e,t){let r={range:e};return pW.number(t)&&(r.kind=t),r},(f8=pg||(pg={})).File=1,f8.Module=2,f8.Namespace=3,f8.Package=4,f8.Class=5,f8.Method=6,f8.Property=7,f8.Field=8,f8.Constructor=9,f8.Enum=10,f8.Interface=11,f8.Function=12,f8.Variable=13,f8.Constant=14,f8.String=15,f8.Number=16,f8.Boolean=17,f8.Array=18,f8.Object=19,f8.Key=20,f8.Null=21,f8.EnumMember=22,f8.Struct=23,f8.Event=24,f8.Operator=25,f8.TypeParameter=26,(py||(py={})).Deprecated=1,(pv||(pv={}
114)).create=function(e,t,r,n,i){let a={name:e,kind:t,location:{uri:n,range:r}};return i&&(a.containerName=i),a},(pT||(pT={})).create=function(e,t,r,n){return void 0!==n?{name:e,kind:t,location:{uri:r,range:n}}:{name:e,kind:t,location:{uri:r}}},(he=pR||(pR={})).create=function(e,t,r,n,i,a){let s={name:e,detail:t,kind:r,range:n,selectionRange:i};return void 0!==a&&(s.children=a),s},he.is=function(e){return e&&pW.string(e.name)&&pW.number(e.kind)&&hD.is(e.range)&&hD.is(e.selectionRange)&&(void 0===e.detail||pW.string(e.detail))&&(void 0===e.deprecated||pW.boolean(e.deprecated))&&(void 0===e.children||Array.isArray(e.children))&&(void 0===e.tags||Array.isArray(e.tags))},(ht=p$||(p$={})).Empty="",ht.QuickFix="quickfix",ht.Refactor="refactor",ht.RefactorExtract="refactor.extract",ht.RefactorInline="refactor.inline",ht.RefactorRewrite="refactor.rewrite",ht.Source="source",ht.SourceOrganizeImports="source.organizeImports",ht.SourceFixAll="source.fixAll",(hr=pA||(pA={})).Invoked=1,hr.Automatic=2,(hn=pE||(pE={})).create=function(e,t,r){let n={diagnostics:e};return null!=t&&(n.only=t),null!=r&&(n.triggerKind=r),n},hn.is=function(e){return pW.defined(e)&&pW.typedArray(e.diagnostics,hq.is)&&(void 0===e.only||pW.typedArray(e.only,pW.string))&&(void 0===e.triggerKind||e.triggerKind===pA.Invoked||e.triggerKind===pA.Automatic)},(hi=pk||(pk={})).create=function(e,t,r){let n={title:e},i=!0;return"string"==typeof t?(i=!1,n.kind=t):hX.is(t)?n.command=t:n.edit=t,i&&void 0!==r&&(n.kind=r),n},hi.is=function(e){return e&&pW.string(e.title)&&(void 0===e.diagnostics||pW.typedArray(e.diagnostics,hq.is))&&(void 0===e.kind||pW.string(e.kind))&&(void 0!==e.edit||void 0!==e.command)&&(void 0===e.command||hX.is(e.command))&&(void 0===e.isPreferred||pW.boolean(e.isPreferred))&&(void 0===e.edit||h3.is(e.edit))},(ha=px||(px={})).create=function(e,t){let r={range:e};return pW.defined(t)&&(r.data=t),r},ha.is=function(e){return pW.defined(e)&&hD.is(e.range)&&(pW.undefined(e.command)||hX.is(e.command))},(hs=pb||(pb={})).create=function(e,t){return{tabSize:e,insertSpaces:t}},hs.is=function(e){return pW.defined(e)&&pW.uinteger(e.tabSize)&&pW.boolean(e.insertSpaces)},(ho=pI||(pI={})).create=function(e,t,r){return{range:e,target:t,data:r}},ho.is=function(e){return pW.defined(e)&&hD.is(e.range)&&(pW.undefined(e.target)||pW.string(e.target))},(hl=pS||(pS={})).create=function(e,t){return{range:e,parent:t}},hl.is=function(e){return pW.objectLiteral(e)&&hD.is(e.range)&&(void 0===e.parent||hl.is(e.parent))},(hu=pw||(pw={})).namespace="namespace",hu.type="type",hu.class="class",hu.enum="enum",hu.interface="interface",hu.struct="struct",hu.typeParameter="typeParameter",hu.parameter="parameter",hu.variable="variable",hu.property="property",hu.enumMember="enumMember",hu.event="event",hu.function="function",hu.method="method",hu.macro="macro",hu.keyword="keyword",hu.modifier="modifier",hu.comment="comment",hu.string="string",hu.number="number",hu.regexp="regexp",hu.operator="operator",hu.decorator="decorator",(hc=p_||(p_={})).declaration="declaration",hc.definition="definition",hc.readonly="readonly",hc.static="static",hc.deprecated="deprecated",hc.abstract="abstract",hc.async="async",hc.modification="modification",hc.documentation="documentation",hc.defaultLibrary="defaultLibrary",(pN||(pN={})).is=function(e){return pW.objectLiteral(e)&&(void 0===e.resultId||"string"==typeof e.resultId)&&Array.isArray(e.data)&&(0===e.data.length||"number"==typeof e.data[0])},(hd=pC||(pC={})).create=function(e,t){return{range:e,text:t}},hd.is=function(e){return null!=e&&hD.is(e.range)&&pW.string(e.text)},(hf=pO||(pO={})).create=function(e,t,r){return{range:e,variableName:t,caseSensitiveLookup:r}},hf.is=function(e){return null!=e&&hD.is(e.range)&&pW.boolean(e.caseSensitiveLookup)&&(pW.string(e.variableName)||void 0===e.variableName)},(hh=pL||(pL={})).create=function(e,t){return{range:e,expression:t}},hh.is=function(e){return null!=e&&hD.is(e.range)&&(pW.string(e.expression)||void 0===e.expression)},(hp=pP||(pP={})).create=function(e,t){return{frameId:e,stoppedLocation:t}},hp.is=function(e){return pW.defined(e)&&hD.is(e.stoppedLocation)},(hm=pM||(pM={})).Type=1,hm.Parameter=2,hm.is=function(e){return 1===e||2===e},(hg=pD||(pD={})).create=function(e){return{value:e}},hg.is=function(e){return pW.objectLiteral(e)&&(void 0===e.tooltip||pW.string(e.tooltip)||pt.is(e.tooltip))&&(void 0===e.location||hj.is(e.location))&&(void 0===e.command||hX.is(e.command))},(hy=pj||(pj={})).create=function(e,t,r){let n={position:e,label:t};return void 0!==r&&(n.kind=r),n},hy.is=function(e){return pW.objectLiteral(e)&&hM.is(e.position)&&(pW.string(e.label)||pW.typedArray(e.label,pD.is))&&(void 0===e.kind||pM.is(e.kind))&&void 0===e.textEdits||pW.typedArray(e.textEdits,hQ.is)&&(void 0===e.tooltip||pW.string(e.tooltip)||pt.is(e.tooltip))&&(void 0===e.paddingLeft||pW.boolean(e.paddingLeft))&&(void 0===e.paddingRight||pW.boolean(e.paddingRight))},(pU||(pU={})).createSnippet=function(e){return{kind:"snippet",value:e}},(pF||(pF={}
114)).create=function(e,t,r,n){return{insertText:e,filterText:t,range:r,command:n}},(pG||(pG={})).create=function(e){return{items:e}},(hv=pB||(pB={})).Invoked=0,hv.Automatic=1,(pK||(pK={})).create=function(e,t){return{range:e,text:t}},(pV||(pV={})).create=function(e,t){return{triggerKind:e,selectedCompletionInfo:t}},(pH||(pH={})).is=function(e){return pW.objectLiteral(e)&&hO.is(e.uri)&&pW.string(e.name)},(hT=pz||(pz={})).create=function(e,t,r,n){return new uY(e,t,r,n)},hT.is=function(e){return!!(pW.defined(e)&&pW.string(e.uri)&&(pW.undefined(e.languageId)||pW.string(e.languageId))&&pW.uinteger(e.lineCount)&&pW.func(e.getText)&&pW.func(e.positionAt)&&pW.func(e.offsetAt))},hT.applyEdits=function(e,t){let r=e.getText(),n=function e(t,r){if(t.length<=1)return t;let n=t.length/2|0,i=t.slice(0,n),a=t.slice(n);e(i,r),e(a,r);let s=0,o=0,l=0;for(;s<i.length&&o<a.length;)0>=r(i[s],a[o])?t[l++]=i[s++]:t[l++]=a[o++];for(;s<i.length;)t[l++]=i[s++];for(;o<a.length;)t[l++]=a[o++];return t}(t,(e,t)=>{let r=e.range.start.line-t.range.start.line;return 0===r?e.range.start.character-t.range.start.character:r}),i=r.length;for(let t=n.length-1;t>=0;t--){let a=n[t],s=e.offsetAt(a.range.start),o=e.offsetAt(a.range.end);if(o<=i)r=r.substring(0,s)+a.newText+r.substring(o,r.length);else throw Error("Overlapping edit");i=s}return r};let uY=class{constructor(e,t,r,n){this._uri=e,this._languageId=t,this._version=r,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(void 0===this._lineOffsets){let e=[],t=this._content,r=!0;for(let n=0;n<t.length;n++){r&&(e.push(n),r=!1);let i=t.charAt(n);r="\r"===i||i===` 115`,"\r"===i&&n+1<t.length&&t.charAt(n+1)===` 116`&&n++}r&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),r=0,n=t.length;if(0===n)return hM.create(0,e);for(;r<n;){let i=Math.floor((r+n)/2);t[i]>e?n=i:r=i+1}let i=r-1;return hM.create(i,e-t[i])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line],n=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,n),r)}get lineCount(){return this.getLineOffsets().length}};!function(e){let t=Object.prototype.toString;e.defined=function(e){return"u">typeof e},e.undefined=function(e){return typeof e>"u"},e.boolean=function(e){return!0===e||!1===e},e.string=function(e){return"[object String]"===t.call(e)},e.number=function(e){return"[object Number]"===t.call(e)},e.numberRange=function(e,r,n){return"[object Number]"===t.call(e)&&r<=e&&e<=n},e.integer=function(e){return"[object Number]"===t.call(e)&&-2147483648<=e&&e<=2147483647},e.uinteger=function(e){return"[object Number]"===t.call(e)&&0<=e&&e<=2147483647},e.func=function(e){return"[object Function]"===t.call(e)},e.objectLiteral=function(e){return null!==e&&"object"==typeof e},e.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)}}(pW||(pW={}));class uq{constructor(){this.nodeStack=[]}get current(){var e;return null!==(e=this.nodeStack[this.nodeStack.length-1])&&void 0!==e?e:this.rootNode}buildRootNode(e){return this.rootNode=new u0(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let t=new uZ;return t.grammarSource=e,t.root=this.rootNode,this.current.content.push(t),this.nodeStack.push(t),t}buildLeafNode(e,t){let r=new uQ(e.startOffset,e.image.length,x(e),e.tokenType,!t);return r.grammarSource=t,r.root=this.rootNode,this.current.content.push(r),r}removeNode(e){let t=e.container;if(t){let r=t.content.indexOf(e);r>=0&&t.content.splice(r,1)}}addHiddenNodes(e){let t=[];for(let r of e){let e=new uQ(r.startOffset,r.image.length,x(r),r.tokenType,!0);e.root=this.rootNode,t.push(e)}let r=this.current,n=!1;if(r.content.length>0){r.content.push(...t);return}for(;r.container;){let e=r.container.content.indexOf(r);if(e>0){r.container.content.splice(e,0,...t),n=!0;break}r=r.container}n||this.rootNode.content.unshift(...t)}construct(e){let t=this.current;"string"==typeof e.$type&&(this.current.astNode=e),e.$cstNode=t;let r=this.nodeStack.pop();(null==r?void 0:r.content.length)===0&&this.removeNode(r)}}class uX{get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var e,t;let r="string"==typeof(null===(e=this._astNode)||void 0===e?void 0:e.$type)?this._astNode:null===(t=this.container)||void 0===t?void 0:t.astNode;if(!r)throw Error("This node has no associated AST element");return r}set astNode(e){this._astNode=e}
116get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}}class uQ extends uX{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,t,r,n,i=!1){super(),this._hidden=i,this._offset=e,this._tokenType=n,this._length=t,this._range=r}}class uZ extends uX{constructor(){super(...arguments),this.content=new uJ(this)}get children(){return this.content}get offset(){var e,t;return null!==(t=null===(e=this.firstNonHiddenNode)||void 0===e?void 0:e.offset)&&void 0!==t?t:0}get length(){return this.end-this.offset}get end(){var e,t;return null!==(t=null===(e=this.lastNonHiddenNode)||void 0===e?void 0:e.end)&&void 0!==t?t:0}get range(){let e=this.firstNonHiddenNode,t=this.lastNonHiddenNode;if(!e||!t)return{start:hM.create(0,0),end:hM.create(0,0)};if(void 0===this._rangeCache){let{range:r}=e,{range:n}=t;this._rangeCache={start:r.start,end:n.end.line<r.start.line?r.start:n.end}}return this._rangeCache}get firstNonHiddenNode(){for(let e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){let t=this.content[e];if(!t.hidden)return t}return this.content[this.content.length-1]}}class uJ extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,uJ.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,t,...r){return this.addParents(r),super.splice(e,t,...r)}addParents(e){for(let t of e)t.container=this.parent}}class u0 extends uZ{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}let u1=Symbol("Datatype");function u2(e){return e.$type===u1}let u4=e=>e.endsWith("â")?e:e+"â";class u9{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let t=this.lexer.definition,r="production"===e.LanguageMetaData.mode;this.wrapper=new ce(t,Object.assign(Object.assign({},e.parser.ParserConfig),{skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider}))}alternatives(e,t){this.wrapper.wrapOr(e,t)}optional(e,t){this.wrapper.wrapOption(e,t)}many(e,t){this.wrapper.wrapMany(e,t)}atLeastOne(e,t){this.wrapper.wrapAtLeastOne(e,t)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class u3 extends u9{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new uq,this.stack=[],this.assignmentMap=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,t){let r=this.computeRuleType(e),n=this.wrapper.DEFINE_RULE(u4(e.name),this.startImplementation(r,t).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}computeRuleType(e){if(!e.fragment)return ts(e)?u1:to(e)??e.name}parse(e,t={}){this.nodeBuilder.buildRootNode(e);let r=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=r.tokens;let n=t.rule?this.allRules.get(t.rule):this.mainRule;if(!n)throw Error(t.rule?`No rule found with name '${t.rule}'`:"No main rule available.");let i=n.call(this.wrapper,{});return this.nodeBuilder.addHiddenNodes(r.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,{value:i,lexerErrors:r.errors,lexerReport:r.report,parserErrors:this.wrapper.errors}}startImplementation(e,t){return r=>{let n;let i=!this.isRecording()&&void 0!==e;if(i){let t={$type:e};this.stack.push(t),e===u1&&(t.value="")}try{n=t(r)}catch{n=void 0}return void 0===n&&i&&(n=this.construct()),n}}extractHiddenTokens(e){let t=this.lexerResult.hidden;if(!t.length)return[];let r=e.startOffset;for(let e=0;e<t.length;e++)if(t[e].startOffset>r)return t.splice(0,e);return t.splice(0,t.length)}consume(e,t,r){let n=this.wrapper.wrapConsume(e,t);if(!this.isRecording()&&this.isValidToken(n)){let e=this.extractHiddenTokens(n);this.nodeBuilder.addHiddenNodes(e);let t=this.nodeBuilder.buildLeafNode(n,r),{assignment:i,isCrossRef:a}=this.getAssignment(r),s=this.current;if(i){let e=ek(r)?n.image:this.converter.convert(n.image,t);this.assign(i.operator,i.feature,e,t,a)}else if(u2(s)){let e=n.image;ek(r)||(e=this.converter.convert(e,t).toString()),s.value+=e}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&"number"==typeof e.endOffset&&!isNaN(e.endOffset)}subrule(e,t,r,n,i){let a;this.isRecording()||r||(a=this.nodeBuilder.buildCompositeNode(n));let s=this.wrapper.wrapSubrule(e,t,i);!this.isRecording()&&a&&a.length>0&&this.performSubruleAssignment(s,n,a)}performSubruleAssignment(e,t,r){let{assignment:n,isCrossRef:i}=this.getAssignment(t);if(n)this.assign(n.operator,n.feature,e,r,i);else if(!n){let t=this.current;if(u2(t))t.value+=e.toString();else if("object"==typeof e&&e){let r=this.assignWithoutOverride(e,t);this.stack.pop(),this.stack.push(r)}}}action(e,t){if(!this.isRecording()){let r=this.current;t.feature&&t.operator?(r=this.construct(),this.nodeBuilder.removeNode(r.$cstNode),this.nodeBuilder.buildCompositeNode(t).content.push(r.$cstNode),this.stack.push({$type:e}),this.assign(t.operator,t.feature,r,r.$cstNode,!1)):r.$type=e}}construct(){if(this.isRecording())return;let e=this.current;return function(e){for(let[t,r]of Object.entries(e))t.startsWith("$")||(Array.isArray(r)?r.forEach((r,n)=>{d(r)&&(r.$container=e,r.$containerProperty=t,r.$containerIndex=n)}):d(r)&&(r.$container=e,r.$containerProperty=t))}(e),this.nodeBuilder.construct(e),this.stack.pop(),u2(e)?this.converter.convert(e.value,e.$cstNode):(function(e,t){for(let r of e.getTypeMetaData(t.$type).properties)void 0!==r.defaultValue&&void 0===t[r.name]&&(t[r.name]=function e(t){return Array.isArray(t)?[...t.map(e)]:t}(r.defaultValue))}(this.astReflection,e),e)}getAssignment(e){if(!this.assignmentMap.has(e)){let t=ej(e,eg);this.assignmentMap.set(e,{assignment:t,isCrossRef:!!t&&eT(t.terminal)})}return this.assignmentMap.get(e)}assign(e,t,r,n,i){let a;let s=this.current;switch(a=i&&"string"==typeof r?this.linker.buildReference(s,t,n,r):r,e){case"=":s[t]=a;break;case"?=":s[t]=!0;break;case"+=":Array.isArray(s[t])||(s[t]=[]),s[t].push(a)}}assignWithoutOverride(e,t){for(let[r,n]of Object.entries(t)){let t=e[r];void 0===t?e[r]=n:Array.isArray(t)&&Array.isArray(n)&&(n.push(...t),e[r]=n)}let r=e.$cstNode;return r&&(r.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class u7{buildMismatchTokenMessage(e){return lo.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return lo.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return lo.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return lo.buildEarlyExitMessage(e)}}class u6 extends u7{buildMismatchTokenMessage({expected:e,actual:t}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${t.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class u5 extends u9{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let t=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=t.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}
vendor: 1,058 bytes, line 116
116rule(e,t){let r=this.wrapper.DEFINE_RULE(u4(e.name),this.startImplementation(t).bind(this));return this.allRules.set(e.name,r),e.entry&&(this.mainRule=r),r}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return t=>{let r=this.keepStackSize();try{e(t)}finally{this.resetStackSize(r)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,t,r){this.wrapper.wrapConsume(e,t),this.isRecording()||(this.lastElementStack=[...this.elementStack,r],this.nextTokenIndex=this.currIdx+1)}subrule(e,t,r,n,i){this.before(n),this.wrapper.wrapSubrule(e,t,i),this.after(n)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let t=this.elementStack.lastIndexOf(e);t>=0&&this.elementStack.splice(t)}}get currIdx(){return this.wrapper.currIdx}}let u8={recoveryEnabled:!0,nodeLocationTracking:"full",ski
116pValidations:!0,errorMessageProvider:new u6};class ce extends uT{constructor(e,t){super(e,Object.assign(Object.assign(Object.assign({},u8),{lookaheadStrategy:t&&"maxLookahead"in t?new l0({maxLookahead:t.maxLookahead}):new uj({logging:t.skipValidations?()=>{}:void 0})}),t))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,t){return this.RULE(e,t)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,t){return this.consume(e,t)}wrapSubrule(e,t,r){return this.subrule(e,t,{ARGS:[r]})}wrapOr(e,t){this.or(e,t)}wrapOption(e,t){this.option(e,t)}wrapMany(e,t){this.many(e,t)}wrapAtLeastOne(e,t){this.atLeastOne(e,t)}}function ct(e,t,r){return function(e,t){let r=tr(t,!1);for(let n of A(t.rules).filter(ee).filter(e=>r.has(e))){let t=Object.assign(Object.assign({},e),{consume:1,optional:1,subrule:1,many:1,or:1});e.parser.rule(n,function e(t,r,n=!1){let i;if(ek(r))i=function(e,t){let r=e.consume++,n=e.tokens[t.value];if(!n)throw Error("Could not find token for keyword: "+t.value);return()=>e.parser.consume(r,n,t)}(t,r);else if(ef(r))i=function(e,t){let r=tl(t);return()=>e.parser.action(r,t)}(t,r);else if(eg(r))i=e(t,r.terminal);else if(eT(r))i=function e(t,r,n=r.terminal){if(n){if(eS(n)&&ee(n.rule.ref)){let e=n.rule.ref,i=t.subrule++;return n=>t.parser.subrule(i,ca(t,e),!1,r,n)}if(eS(n)&&es(n.rule.ref)){let e=t.consume++,i=cs(t,n.rule.ref.name);return()=>t.parser.consume(e,i,r)}if(ek(n)){let e=t.consume++,i=cs(t,n.value);return()=>t.parser.consume(e,i,r)}else throw Error("Could not build cross reference parser")}{if(!r.type.ref)throw Error("Could not resolve reference to type: "+r.type.$refText);let n=ta(r.type.ref),i=null==n?void 0:n.terminal;if(!i)throw Error("Could not find name assignment for type: "+tl(r.type.ref));return e(t,r,i)}}(t,r);else if(eS(r))i=function(e,t){let r=t.rule.ref;if(ee(r)){let n=e.subrule++,i=r.fragment,a=t.arguments.length>0?function(e,t){let r=t.map(e=>cr(e.value));return t=>{let n={};for(let i=0;i<r.length;i++){let a=e.parameters[i],s=r[i];n[a.name]=s(t)}return n}}(r,t.arguments):()=>({});return s=>e.parser.subrule(n,ca(e,r),i,t,a(s))}if(es(r)){let n=e.consume++,i=cs(e,r.name);return()=>e.parser.consume(n,i,t)}if(r)_();else throw new w(t.$cstNode,`Undefined rule: ${t.rule.$refText}`)}(t,r);else if(ep(r))i=function(t,r){if(1===r.elements.length)return e(t,r.elements[0]);{let n=[];for(let i of r.elements){let r={ALT:e(t,i,!0)},a=cn(i);a&&(r.GATE=cr(a)),n.push(r)}let i=t.or++;return e=>t.parser.alternatives(i,n.map(t=>{let r={ALT:()=>t.ALT(e)},n=t.GATE;return n&&(r.GATE=()=>n(e)),r}))}}(t,r);else if(eO(r))i=function(t,r){if(1===r.elements.length)return e(t,r.elements[0]);let n=[];for(let i of r.elements){let r={ALT:e(t,i,!0)},a=cn(i);a&&(r.GATE=cr(a)),n.push(r)}let i=t.or++,a=(e,t)=>{let r=t.getRuleStack().join("-");return`uGroup_${e}_${r}`},s=ci(t,cn(r),e=>t.parser.alternatives(i,n.map((r,n)=>{let s={ALT:()=>!0},o=t.parser;s.ALT=()=>{if(r.ALT(e),!o.isRecording()){let e=a(i,o);o.unorderedGroups.get(e)||o.unorderedGroups.set(e,[]);let t=o.unorderedGroups.get(e);typeof(null==t?void 0:t[n])>"u"&&(t[n]=!0)}};let l=r.GATE;return l?s.GATE=()=>l(e):s.GATE=()=>{let e=o.unorderedGroups.get(a(i,o));return!(null!=e&&e[n])},s})),"*");return e=>{s(e),t.parser.isRecording()||t.parser.unorderedGroups.delete(a(i,t.parser))}}(t,r);else if(eA(r))i=function(t,r){let n=r.elements.map(r=>e(t,r));return e=>n.forEach(t=>t(e))}(t,r);else if(eD.isInstance(r,eR)){let e=t.consume++;i=()=>t.parser.consume(e,la,r)}else throw new w(r.$cstNode,`Unexpected element type: ${r.$type}`);return ci(t,n?void 0:cn(r),i,r.cardinality)}(t,n.definition))}}({parser:t,tokens:r,ruleNames:new Map},e),t}function cr(e){if(eD.isInstance(e,G)){let t=cr(e.left),r=cr(e.right);return e=>t(e)||r(e)}if(eD.isInstance(e,F)){let t=cr(e.left),r=cr(e.right);return e=>t(e)&&r(e)}if(eD.isInstance(e,q)){let t=cr(e.value);return e=>!t(e)}if(eD.isInstance(e,Z)){let t=e.parameter.ref.name;return e=>void 0!==e&&!0===e[t]}if(eD.isInstance(e,U)){let t=!!e.true;return()=>t}_()}function cn(e){if(eA(e))return e.guardCondition}function ci(e,t,r,n){let i=t&&cr(t);
116if(!n){if(!i)return r;{let t=e.or++;return n=>e.parser.alternatives(t,[{ALT:()=>r(n),GATE:()=>i(n)},{ALT:uy(),GATE:()=>!i(n)}])}}if("*"===n){let t=e.many++;return n=>e.parser.many(t,{DEF:()=>r(n),GATE:i?()=>i(n):void 0})}if("+"===n){let t=e.many++;if(!i)return n=>e.parser.atLeastOne(t,{DEF:()=>r(n)});{let n=e.or++;return a=>e.parser.alternatives(n,[{ALT:()=>e.parser.atLeastOne(t,{DEF:()=>r(a)}),GATE:()=>i(a)},{ALT:uy(),GATE:()=>!i(a)}])}}if("?"===n){let t=e.optional++;return n=>e.parser.optional(t,{DEF:()=>r(n),GATE:i?()=>i(n):void 0})}_()}function ca(e,t){let r=function(e,t){if(ee(t))return t.name;if(e.ruleNames.has(t))return e.ruleNames.get(t);{let r=t,n=r.$container,i=t.$type;for(;!ee(n);)(eA(n)||ep(n)||eO(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,e.ruleNames.set(t,i),i}}(e,t),n=e.parser.getRule(r);if(!n)throw Error(`Rule "${r}" not found."`);return n}function cs(e,t){let r=e.tokens[t];if(!r)throw Error(`Token "${t}" not found."`);return r}class co{constructor(){this.diagnostics=[]}buildTokens(e,t){let r=A(tr(e,!1)),n=this.buildTerminalTokens(r),i=this.buildKeywordTokens(r,n,t);return n.forEach(e=>{let t=e.PATTERN;"object"==typeof t&&t&&"test"in t&&te(t)?i.unshift(e):i.push(e)}),i}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}
116popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(es).filter(e=>!e.fragment).map(e=>this.buildTerminalToken(e)).toArray()}buildTerminalToken(e){let t=tu(e),r=this.requiresCustomPattern(t)?this.regexPatternFunction(t):t,n={name:e.name,PATTERN:r};return"function"==typeof r&&(n.LINE_BREAKS=!0),e.hidden&&(n.GROUP=te(t)?o4.SKIPPED:"hidden"),n}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))||!!(e.source.includes("?<=")||e.source.includes("?<!"))}regexPatternFunction(e){let t=RegExp(e,e.flags+"y");return(e,r)=>(t.lastIndex=r,t.exec(e))}buildKeywordTokens(e,t,r){return e.filter(ee).flatMap(e=>eB(e).filter(ek)).distinct(e=>e.value).toArray().sort((e,t)=>t.value.length-e.value.length).map(e=>this.buildKeywordToken(e,t,!!(null!=r&&r.caseInsensitive)))}buildKeywordToken(e,t,r){let n=this.buildKeywordPattern(e,r),i={name:e.value,PATTERN:n,LONGER_ALT:this.findLongerAlt(e,t)};return"function"==typeof n&&(i.LINE_BREAKS=!0),i}buildKeywordPattern(e,t){var r;return t?new RegExp((r=e.value,Array.prototype.map.call(r,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:tt(e)).join(""))):e.value}findLongerAlt(e,t){return t.reduce((t,r)=>{let n=null==r?void 0:r.PATTERN;return null!=n&&n.source&&function(e,t){let r=function(e){"string"==typeof e&&(e=new RegExp(e));let t=e,r=e.source,n=0;return new RegExp(function e(){let i="",a;function s(e){i+=r.substr(n,e),n+=e}function o(e){i+="(?:"+r.substr(n,e)+"|$)",n+=e}for(;n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":o(3);break;case"x":o(4);break;case"u":o(t.unicode?"{"===r[n+2]?r.indexOf("}",n)-n+1:6:2);break;case"p":case"P":o(t.unicode?r.indexOf("}",n)-n+1:2);break;case"k":o(r.indexOf(">",n)-n+1);break;default:o(2)}break;case"[":(a=/\[(?:\\.|.)*?\]/g).lastIndex=n,o((a=a.exec(r)||[])[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":s(1);break;case"{":(a=/\{\d+,?\d*\}/g).lastIndex=n,(a=a.exec(r))?s(a[0].length):o(1);break;case"(":if("?"===r[n+1])switch(r[n+2]){case":":i+="(?:",n+=3,i+=e()+"|$)";break;case"=":i+="(?=",n+=3,i+=e()+")";break;case"!":a=n,n+=3,e(),i+=r.substr(a,n-a);break;case"<":switch(r[n+3]){case"=":case"!":a=n,n+=4,e(),i+=r.substr(a,n-a);break;default:s(r.indexOf(">",n)-n+1),i+=e()+"|$)"}}else s(1),i+=e()+"|$)";break;case")":return++n,i;default:o(1)}return i}(),e.flags)}(e),n=t.match(r);return!!n&&n[0].length>0}("^"+n.source+"$",e.value)&&t.push(r),t},[])}}class cl{convert(e,t){let r=t.grammarSource;if(eT(r)&&(r=function(e){if(e.terminal)return e.terminal;if(e.type.ref){let t=ta(e.type.ref);return null==t?void 0:t.terminal}}(r)),eS(r)){let n=r.rule.ref;if(!n)throw Error("This cst node was not parsed by a rule.");return this.runConverter(n,e,t)}return e}runConverter(e,t,r){var n,i,a,s;switch(e.name.toUpperCase()){case"INT":return pY.convertInt(t);case"STRING":return pY.convertString(t);case"ID":return pY.convertID(t)}switch(null===(n=es(e)?null!==(a=null===(i=e.type)||void 0===i?void 0:i.name)&&void 0!==a?a:"str
116ing":null!==(s=to(e))&&void 0!==s?s:e.name)||void 0===n?void 0:n.toLowerCase()){case"number":return pY.convertNumber(t);case"boolean":return pY.convertBoolean(t);case"bigint":return pY.convertBigint(t);case"date":return pY.convertDate(t);default:return t}}}(hR=pY||(pY={})).convertString=function(e){let t="";for(let r=1;r<e.length-1;r++){let n=e.charAt(r);"\\"===n?t+=function(e){switch(e){case"b":return"\b";case"f":return"\f";case"n":return` 117`;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return e}}(e.charAt(++r)):t+=n}return t},hR.convertID=function(e){return"^"===e.charAt(0)?e.substring(1):e},hR.convertInt=function(e){return parseInt(e)},hR.convertBigint=function(e){return BigInt(e)},hR.convertDate=function(e){return new Date(e)},hR.convertNumber=function(e){return Number(e)},hR.convertBoolean=function(e){return"true"===e.toLowerCase()};var cu={},cc={};function cd(){if(void 0===n)throw Error("No runtime abstraction layer installed");return n}Object.defineProperty(cc,"__esModule",{value:!0}),(cd||(cd={})).install=function(e){if(void 0===e)throw Error("No runtime abstraction layer provided");n=e},cc.default=cd;var cf={};function ch(e){return"string"==typeof e||e instanceof String}function cp(e){return Array.isArray(e)}Object.defineProperty(cf,"__esModule",{value:!0}),cf.stringArray=cf.array=cf.func=cf.error=cf.number=cf.string=cf.boolean=void 0,cf.boolean=function(e){return!0===e||!1===e},cf.string=ch,cf.number=function(e){return"number"==typeof e||e instanceof Number},cf.error=function(e){return e instanceof Error},cf.func=function(e){return"function"==typeof e},cf.array=cp,cf.stringArray=function(e){return cp(e)&&e.every(e=>ch(e))};var cm={};Object.defineProperty(cm,"__esModule",{value:!0});var cg=cm.Emitter=cm.Event=void 0;!function(e){let t={dispose(){}};e.None=function(){return t}}(pq||(cm.Event=pq={}));class cy{add(e,t=null,r){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(r)&&r.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let r=!1;for(let n=0,i=this._callbacks.length;n<i;n++)if(this._callbacks[n]===e){if(this._contexts[n]===t){this._callbacks.splice(n,1),this._contexts.splice(n,1);return}r=!0}if(r)throw Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let t=[],r=this._callbacks.slice(0),n=this._contexts.slice(0);for(let i=0,a=r.length;i<a;i++)try{t.push(r[i].apply(n[i],e))}catch(e){(0,cc.default)().console.error(e)}return t}isEmpty(){return!this._callbacks||0===this._callbacks.length}dispose(){this._callbacks=void 0,this._contexts=void 0}}class cv{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,t,r)=>{this._callbacks||(this._callbacks=new cy),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);let n={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),n.dispose=cv._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(r)&&r.push(n),n}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}cg=cm.Emitter=cv,cv._noop=function(){},Object.defineProperty(cu,"__esModule",{value:!0});var cT=cu.CancellationTokenSource=pX=cu.CancellationToken=void 0;(h$=pQ||(pX=cu.CancellationToken=pQ={})).None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:cm.Event.None}),h$.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:cm.Event.None}),h$.is=function(e){return e&&(e===h$.None||e===h$.Cancelled||cf.boolean(e.isCancellationRequested)&&!!e.onCancellationRequested)};let cR=Object.freeze(function(e,t){let r=(0,cc.default)().timer.setTimeout(e.bind(t),0);return{dispose(){r.dispose()}}});class c${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?cR:(this._emitter||(this._emitter=new cm.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class cA{get token(){return this._token||(this._token=new c$),this._token}
117cancel(){this._token?this._token.cancel():this._token=pQ.Cancelled}dispose(){this._token?this._token instanceof c$&&this._token.dispose():this._token=pQ.None}}cT=cu.CancellationTokenSource=cA;let cE=0,ck=Symbol("OperationCancelled");async function cx(e){if(e===pX.None)return;let t=performance.now();if(t-cE>=10&&(cE=t,await new Promise(e=>{typeof setImmediate>"u"?setTimeout(e,0):setImmediate(e)}),cE=performance.now()),e.isCancellationRequested)throw ck}class cb{constructor(){this.promise=new Promise((e,t)=>{this.resolve=t=>(e(t),this),this.reject=e=>(t(e),this)})}}class cI{constructor(e,t,r,n){this._uri=e,this._languageId=t,this._version=r,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(e,t){for(let t of e)if(cI.isIncremental(t)){let e=c_(t.range),r=this.offsetAt(e.start),n=this.offsetAt(e.end);this._content=this._content.substring(0,r)+t.text+this._content.substring(n,this._content.length);let i=Math.max(e.start.line,0),a=Math.max(e.end.line,0),s=this._lineOffsets,o=cS(t.text,!1,r);if(a-i===o.length)for(let e=0,t=o.length;e<t;e++)s[e+i+1]=o[e];else o.length<1e4?s.splice(i+1,a-i,...o):this._lineOffsets=s=s.slice(0,i+1).concat(o,s.slice(a+1));let l=t.text.length-(n-r);if(0!==l)for(let e=i+1+o.length,t=s.length;e<t;e++)s[e]=s[e]+l}else if(cI.isFull(t))this._content=t.text,this._lineOffsets=void 0;else throw Error("Unknown change event received");this._version=t}getLineOffsets(){return void 0===this._lineOffsets&&(this._lineOffsets=cS(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),r=0,n=t.length;if(0===n)return{line:0,character:e};for(;r<n;){let i=Math.floor((r+n)/2);t[i]>e?n=i:r=i+1}let i=r-1;return e=this.ensureBeforeEOL(e,t[i]),{line:i,character:e-t[i]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line];if(e.character<=0)return r;let n=e.line+1<t.length?t[e.line+1]:this._content.length,i=Math.min(r+e.character,n);return this.ensureBeforeEOL(i,r)}ensureBeforeEOL(e,t){for(;e>t&&cw(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){return null!=e&&"string"==typeof e.text&&void 0!==e.range&&(void 0===e.rangeLength||"number"==typeof e.rangeLength)}static isFull(e){return null!=e&&"string"==typeof e.text&&void 0===e.range&&void 0===e.rangeLength}}function cS(e,t,r=0){let n=t?[r]:[];for(let t=0;t<e.length;t++){let i=e.charCodeAt(t);cw(i)&&(13===i&&t+1<e.length&&10===e.charCodeAt(t+1)&&t++,n.push(r+t+1))}return n}function cw(e){return 13===e||10===e}function c_(e){let t=e.start,r=e.end;return t.line>r.line||t.line===r.line&&t.character>r.character?{start:r,end:t}:e}function cN(e){let t=c_(e.range);return t!==e.range?{newText:e.newText,range:t}:e}(hA=pZ||(pZ={})).create=function(e,t,r,n){return new cI(e,t,r,n)},hA.update=function(e,t,r){if(e instanceof cI)return e.update(t,r),e;throw Error("TextDocument.update: document must be created by TextDocument.create")},hA.applyEdits=function(e,t){let r=e.getText(),n=function e(t,r){if(t.length<=1)return t;let n=t.length/2|0,i=t.slice(0,n),a=t.slice(n);e(i,r),e(a,r);let s=0,o=0,l=0;for(;s<i.length&&o<a.length;)0>=r(i[s],a[o])?t[l++]=i[s++]:t[l++]=a[o++];for(;s<i.length;)t[l++]=i[s++];for(;o<a.length;)t[l++]=a[o++];return t}(t.map(cN),(e,t)=>{let r=e.range.start.line-t.range.start.line;return 0===r?e.range.start.character-t.range.start.character:r}),i=0,a=[];for(let t of n){let n=e.offsetAt(t.range.start);if(n<i)throw Error("Overlapping edit");n>i&&a.push(r.substring(i,n)),t.newText.length&&a.push(t.newText),i=e.offsetAt(t.range.end)}return a.push(r.substr(i)),a.join("")},(()=>{var e={470:e=>{function t(e){if("string"!=typeof e)throw TypeError("Path must be a string. Received "+JSON.stringify(e))}function r(e,t){for(var r,n="",i=0,a=-1,s=0,o=0;o<=e.length;++o){if(o<e.length)r=e.charCodeAt(o);else{if(47===r)break;r=47}if(47===r){if(!(a===o-1||1===s)){if(a!==o-1&&2===s){if(n.length<2||2!==i||46!==n.charCodeAt(n.length-1)||46!==n.charCodeAt(n.length-2)){if(n.length>2){var l=n.lastIndexOf("/");if(l!==n.length-1){-1===l?(n="",i=0):i=(n=n.slice(0,l)).length-1-n.lastIndexOf("/"),a=o,s=0;continue}}else if(2===n.length||1===n.length){n="",i=0,a=o,s=0;continue}}t&&(n.length>0?n+="/..":n="..",i=2)}else n.length>0?n+="/"+e.slice(a+1,o):n=e.slice(a+1,o),i=o-a-1}a=o,s=0}else 46===r&&-1!==s?++s:s=-1}return n}var n={resolve:function(){for(var e,n,i="",a=!1,s=arguments.length-1;s>=-1&&!a;s--)s>=0?e=arguments[s]:(void 0===n&&(n=o.cwd()),e=n),t(e),0!==e.length&&(i=e+"/"+i,a=47===e.charCodeAt(0));return i=r(i,!a),a?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var n=47===e.charCodeAt(0),i=47===e.charCodeAt(e.length-1);return 0!==(e=r(e,!n)).length||n||(e="."),e.length>0&&i&&(e+="/"),n?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0==arguments.length)return".";for(var e,r=0;r<arguments.length;++r){var i=arguments[r];t(i),i.length>0&&(void 0===e?e=i:e+="/"+i)}return void 0===e?".":n.normalize(e)},relative:function(e,r){if(t(e),t(r),e===r||(e=n.resolve(e))===(r=n.resolve(r)))return"";for(var i=1;i<e.length&&47===e.charCodeAt(i);++i);for(var a=e.length,s=a-i,o=1;o<r.length&&47===r.charCodeAt(o);++o);for(var l=r.length-o,u=s<l?s:l,c=-1,d=0;d<=u;++d){if(d===u){if(l>u){if(47===r.charCodeAt(o+d))return r.slice(o+d+1);if(0===d)return r.slice(o+d)}else s>u&&(47===e.charCodeAt(i+d)?c=d:0===d&&(c=0));break}var f=e.charCodeAt(i+d);if(f!==r.charCodeAt(o+d))break;47===f&&(c=d)}var h="";for(d=i+c+1;d<=a;++d)d!==a&&47!==e.charCodeAt(d)||(0===h.length?h+="..":h+="/..");return h.length>0?h+r.slice(o+c):(o+=c,47===r.charCodeAt(o)&&++o,r.slice(o))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var r=e.charCodeAt(0),n=47===r,i=-1,a=!0,s=e.length-1;s>=1;--s)if(47===(r=e.charCodeAt(s))){if(!a){i=s;break}}else a=!1;
117return -1===i?n?"/":".":n&&1===i?"//":e.slice(0,i)},basename:function(e,r){if(void 0!==r&&"string"!=typeof r)throw TypeError('"ext" argument must be a string');t(e);var n,i=0,a=-1,s=!0;if(void 0!==r&&r.length>0&&r.length<=e.length){if(r.length===e.length&&r===e)return"";var o=r.length-1,l=-1;for(n=e.length-1;n>=0;--n){var u=e.charCodeAt(n);if(47===u){if(!s){i=n+1;break}}else -1===l&&(s=!1,l=n+1),o>=0&&(u===r.charCodeAt(o)?-1==--o&&(a=n):(o=-1,a=l))}return i===a?a=l:-1===a&&(a=e.length),e.slice(i,a)}for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!s){i=n+1;break}}else -1===a&&(s=!1,a=n+1);return -1===a?"":e.slice(i,a)},extname:function(e){t(e);for(var r=-1,n=0,i=-1,a=!0,s=0,o=e.length-1;o>=0;--o){var l=e.charCodeAt(o);if(47!==l)-1===i&&(a=!1,i=o+1),46===l?-1===r?r=o:1!==s&&(s=1):-1!==r&&(s=-1);else if(!a){n=o+1;break}}return -1===r||-1===i||0===s||1===s&&r===i-1&&r===n+1?"":e.slice(r,i)},format:function(e){var t,r;if(null===e||"object"!=typeof e)throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return t=e.dir||e.root,r=e.base||(e.name||"")+(e.ext||""),t?t===e.root?t+r:t+"/"+r:r},parse:function(e){t(e);var r={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return r;var n,i=e.charCodeAt(0),a=47===i;a?(r.root="/",n=1):n=0;for(var s=-1,o=0,l=-1,u=!0,c=e.length-1,d=0;c>=n;--c)if(47!==(i=e.charCodeAt(c)))-1===l&&(u=!1,l=c+1),46===i?-1===s?s=c:1!==d&&(d=1):-1!==s&&(d=-1);else if(!u){o=c+1;break}return -1===s||-1===l||0===d||1===d&&s===l-1&&s===o+1?-1!==l&&(r.base=r.name=0===o&&a?e.slice(1,l):e.slice(o,l)):(0===o&&a?(r.name=e.slice(1,s),r.base=e.slice(1,l)):(r.name=e.slice(o,s),r.base=e.slice(o,l)),r.ext=e.slice(s,l)),o>0?r.dir=e.slice(0,o-1):a&&(r.dir="/"),r},sep:"/",delimiter:":",win32:null,posix:null};n.posix=n,e.exports=n}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{let e;r.r(n),r.d(n,{URI:()=>u,Utils:()=>$}),"object"==typeof o?e="win32"===o.platform:"object"==typeof navigator&&(e=navigator.userAgent.indexOf("Windows")>=0);let t=/^\w[\w\d+.-]*$/,i=/^\//,a=/^\/\//;function s(e,r){if(!e.scheme&&r)throw Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!t.test(e.scheme))throw Error("[UriError]: Scheme contains illegal characters.");if(e.path){if(e.authority){if(!i.test(e.path))throw 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(e.path))throw Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}let l=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class u{constructor(e,t,r,n,i,a=!1){c(this,"scheme"),c(this,"authority"),c(this,"path"),c(this,"query"),c(this,"fragment"),"object"==typeof e?(this.scheme=e.scheme||"",this.authority=e.authority||"",this.path=e.path||"",this.query=e.query||"",this.fragment=e.fragment||""):(this.scheme=e||a?e:"file",this.authority=t||"",this.path=function(e,t){switch(e){case"https":case"http":case"file":t?"/"!==t[0]&&(t="/"+t):t="/"}return t}(this.scheme,r||""),this.query=n||"",this.fragment=i||"",s(this,a))}static isUri(e){return e instanceof u||!!e&&"string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString}get fsPath(){return g(this)}with(e){if(!e)return this;let{scheme:t,authority:r,path:n,query:i,fragment:a}=e;return void 0===t?t=this.scheme:null===t&&(t=""),void 0===r?r=this.authority:null===r&&(r=""),void 0===n?n=this.path:null===n&&(n=""),void 0===i?i=this.query:null===i&&(i=""),void 0===a?a=this.fragment:null===a&&(a=""),t===this.scheme&&r===this.authority&&n===this.path&&i===this.query&&a===this.fragment?this:new f(t,r,n,i,a)}static parse(e,t=!1){let r=l.exec(e);return r?new f(r[2]||"",T(r[4]||""),T(r[5]||""),T(r[7]||""),T(r[9]||""),t):new f("","","","","")}static file(t){let r="";if(e&&(t=t.replace(/\\/g,"/")),"/"===t[0]&&"/"===t[1]){let e=t.indexOf("/",2);-1===e?(r=t.substring(2),t="/"):(r=t.substring(2,e),t=t.substring(e)||"/")}return new f("file",r,t,"","")}static from(e){let t=new f(e.scheme,e.authority,e.path,e.query,e.fragment);return s(t,!0),t}toString(e=!1){return y(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof u)return e;{let t=new f(e);return t._formatted=e.external,t._fsPath=e._sep===d?e.fsPath:null,t}}return e}}let d=e?1:void 0;class f extends u{constructor(){super(...arguments),c(this,"_formatted",null),c(this,"_fsPath",null)}get fsPath(){return this._fsPath||(this._fsPath=g(this)),this._fsPath}toString(e=!1){return e?y(this,!0):(this._formatted||(this._formatted=y(this,!1)),this._formatted)}toJSON(){let e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=d),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}let h={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 p(e,t,r){let n,i=-1;for(let a=0;a<e.length;a++){let s=e.charCodeAt(a);if(s>=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||t&&47===s||r&&91===s||r&&93===s||r&&58===s)-1!==i&&(n+=encodeURIComponent(e.substring(i,a)),i=-1),void 0!==n&&(n+=e.charAt(a));else{void 0===n&&(n=e.substr(0,a));let t=h[s];void 0!==t?(-1!==i&&(n+=encodeURIComponent(e.substring(i,a)),i=-1),n+=t):-1===i&&(i=a)}}return -1!==i&&(n+=encodeURIComponent(e.substring(i))),void 0!==n?n:e}function m(e){let t;for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);35===n||63===n?(void 0===t&&(t=e.substr(0,r)),t+=h[n]):void 0!==t&&(t+=e[r])}return void 0!==t?t:e}function g(t,r){let n;return n=t.authority&&t.path.length>1&&"file"===t.scheme?`//${t.authority}${t.path}`:47===t.path.charCodeAt(0)&&(t.path.charCodeAt(1)>=65&&90>=t.path.charCodeAt(1)||t.path.charCodeAt(1)>=97&&122>=t.path.charCodeAt(1))&&58===t.path.charCodeAt(2)?t.path[1].toLowerCase()+t.path.substr(2):t.path,e&&(n=n.replace(/\//g,"\\")),n}function y(e,t){let r=t?m:p,n="",{scheme:i,authority:a,path:s,query:o,fragment:l}=e;if(i&&(n+=i+":"),(a||"file"===i)&&(n+="//"),a){let e=a.indexOf("@");if(-1!==e){let t=a.substr(0,e);a=a.substr(e+1),-1===(e=t.lastIndexOf(":"))?n+=r(t,!1,!1):n+=r(t.substr(0,e),!1,!1)+":"+r(t.substr(e+1),!1,!0),n+="@"}-1===(e=(a=a.toLowerCase()).lastIndexOf(":"))?n+=r(a,!1,!0):n+=r(a.substr(0,e),!1,!0)+a.substr(e)}if(s){if(s.length>=3&&47===s.charCodeAt(0)&&58===s.charCodeAt(2)){let e=s.charCodeAt(1);e>=65&&e<=90&&(s=`/${String.fromCharCode(e+32)}:${s.substr(3)}`)}else if(s.length>=2&&58===s.charCodeAt(1)){let e=s.charCodeAt(0);e>=65&&e<=90&&(s=`${String.fromCharCode(e+32)}:${s.substr(2)}`)}n+=r(s,!0,!1)}return o&&(n+="?"+r(o,!1,!1)),l&&(n+="#"+(t?l:p(l,!1,!1))),n}let v=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function T(e){return e.match(v)?e.replace(v,e=>(function e(t){try{return decodeURIComponent(t)}catch{return t.length>3?t.substr(0,3)+e(t.substr(3)):t}})(e)):e}var R,$,A=r(470);let E=A.posix||A;(R=$||($={})).joinPath=function(e,...t){return e.with({path:E.join(e.path,...t)})},R.resolvePath=function(e,...t){let r=e.path,n=!1;"/"!==r[0]&&(r="/"+r,n=!0);let i=E.resolve(r,...t);return n&&"/"===i[0]&&!e.authority&&(i=i.substring(1)),e.with({path:i})},R.dirname=function(e){if(0===e.path.length||"/"===e.path)return e;let t=E.dirname(e.path);return 1===t.length&&46===t.charCodeAt(0)&&(t=""),e.with({path:t})}
117,R.basename=function(e){return E.basename(e.path)},R.extname=function(e){return E.extname(e.path)}})(),pJ=n})();let{URI:cC,Utils:cO}=pJ;(hE=p0||(p0={})).basename=cO.basename,hE.dirname=cO.dirname,hE.extname=cO.extname,hE.joinPath=cO.joinPath,hE.resolvePath=cO.resolvePath,hE.equals=function(e,t){return(null==e?void 0:e.toString())===(null==t?void 0:t.toString())},hE.relative=function(e,t){let r="string"==typeof e?e:e.path,n="string"==typeof t?t:t.path,i=r.split("/").filter(e=>e.length>0),a=n.split("/").filter(e=>e.length>0),s=0;for(;s<i.length&&i[s]===a[s];s++);return"../".repeat(i.length-s)+a.slice(s).join("/")},hE.normalize=function(e){return cC.parse(e.toString()).toString()},(hk=p1||(p1={}))[hk.Changed=0]="Changed",hk[hk.Parsed=1]="Parsed",hk[hk.IndexedContent=2]="IndexedContent",hk[hk.ComputedScopes=3]="ComputedScopes",hk[hk.Linked=4]="Linked",hk[hk.IndexedReferences=5]="IndexedReferences",hk[hk.Validated=6]="Validated";class cL{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,t=pX.None){let r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,t)}fromTextDocument(e,t,r){return t=t??cC.parse(e.uri),pX.is(r)?this.createAsync(t,e,r):this.create(t,e,r)}fromString(e,t,r){return pX.is(r)?this.createAsync(t,e,r):this.create(t,e,r)}fromModel(e,t){return this.create(t,{$model:e})}create(e,t,r){if("string"==typeof t){let n=this.parse(e,t,r);return this.createLangiumDocument(n,e,void 0,t)}if("$model"in t){let r={value:t.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(r,e)}{let n=this.parse(e,t.getText(),r);return this.createLangiumDocument(n,e,t)}}async createAsync(e,t,r){if("string"==typeof t){let n=await this.parseAsync(e,t,r);return this.createLangiumDocument(n,e,void 0,t)}{let n=await this.parseAsync(e,t.getText(),r);return this.createLangiumDocument(n,e,t)}}createLangiumDocument(e,t,r,n){let i;if(r)i={parseResult:e,uri:t,state:p1.Parsed,references:[],textDocument:r};else{let r=this.createTextDocumentGetter(t,n);i={parseResult:e,uri:t,state:p1.Parsed,references:[],get textDocument(){return r()}}}return e.value.$document=i,i}async update(e,t){var r,n;let i=null===(r=e.parseResult.value.$cstNode)||void 0===r?void 0:r.root.fullText,a=null===(n=this.textDocuments)||void 0===n?void 0:n.get(e.uri.toString()),s=a?a.getText():await this.fileSystemProvider.readFile(e.uri);if(a)Object.defineProperty(e,"textDocument",{value:a});else{let t=this.createTextDocumentGetter(e.uri,s);Object.defineProperty(e,"textDocument",{get:t})}return i!==s&&(e.parseResult=await this.parseAsync(e.uri,s,t),e.parseResult.value.$document=e),e.state=p1.Parsed,e}parse(e,t,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(t,r)}parseAsync(e,t,r){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(t,r)}createTextDocumentGetter(e,t){let r;let n=this.serviceRegistry;return()=>r??(r=pZ.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,t??""))}}class cP{constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.serviceRegistry=e.ServiceRegistry}get all(){return A(this.documentMap.values())}addDocument(e){let t=e.uri.toString();if(this.documentMap.has(t))throw Error(`A document with the URI '${t}' is already present.`);this.documentMap.set(t,e)}getDocument(e){let t=e.toString();return this.documentMap.get(t)}async getOrCreateDocument(e,t){let r=this.getDocument(e);return r||(r=await this.langiumDocumentFactory.fromUri(e,t),this.addDocument(r),r)}createDocument(e,t,r){if(r)return this.langiumDocumentFactory.fromString(t,e,r).then(e=>(this.addDocument(e),e));{let r=this.langiumDocumentFactory.fromString(t,e);return this.addDocument(r),r}}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){let t=e.toString(),r=this.documentMap.get(t);return r&&(this.serviceRegistry.getServices(e).references.Linker.unlink(r),r.state=p1.Changed,r.precomputedScopes=void 0,r.diagnostics=void 0),r}deleteDocument(e){let t=e.toString(),r=this.documentMap.get(t);return r&&(r.state=p1.Changed,this.documentMap.delete(t)),r}}let cM=Symbol("ref_resolving");class cD{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator}async link(e,t=pX.None){for(let r of eK(e.parseResult.value))await cx(t),eH(r).forEach(t=>this.doLink(t,e))}doLink(e,t){var r;let n=e.reference;if(void 0===n._ref){n._ref=cM;try{let t=this.getCandidate(e);if(h(t))n._ref=t;else if(n._nodeDescription=t,this.langiumDocuments().hasDocument(t.documentUri)){let r=this.loadAstNode(t);n._ref=r??this.createLinkingError(e,t)}else n._ref=void 0}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);let t=null!==(r=i.message)&&void 0!==r?r:String(i);n._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${n.$refText}': ${t}`})}t.references.push(n)}}unlink(e){for(let t of e.references)delete t._ref,delete t._nodeDescription;e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}buildReference(e,t,r,n){let i=this,a={$refNode:r,$refText:n,get ref(){var s,o;if(d(this._ref))return this._ref;if("object"==typeof(o=this._nodeDescription)&&null!==o&&"string"==typeof o.name&&"string"==typeof o.type&&"string"==typeof o.path){let r=i.loadAstNode(this._nodeDescription);this._ref=r??i.createLinkingError({reference:a,container:e,property:t},this._nodeDescription)}else if(void 0===this._ref){this._ref=cM;let r=eF(e).$document,n=i.getLinkedNode({reference:a,container:e,property:t});if(n.error&&r&&r.state<p1.ComputedScopes)return this._ref=void 0;this._ref=null!==(s=n.node)&&void 0!==s?s:n.error,this._nodeDescription=n.descr,null==r||r.references.push(this)}else if(this._ref===cM)throw Error(`Cyclic reference resolution detected: ${i.astNodeLocator.getAstNodePath(e)}/${t} (symbol '${n}')`);return d(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return h(this._ref)?this._ref:void 0}};return a}getLinkedNode(e){var t;try{let t=this.getCandidate(e);if(h(t))return{error:t};let r=this.loadAstNode(t);return r?{node:r,descr:t}:{descr:t,error:this.createLinkingError(e,t)}}catch(n){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,n);let r=null!==(t=n.message)&&void 0!==t?t:String(n);return{error:Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${e.reference.$refText}': ${r}`})}}}
117loadAstNode(e){if(e.node)return e.node;let t=this.langiumDocuments().getDocument(e.documentUri);if(t)return this.astNodeLocator.getAstNode(t.parseResult.value,e.path)}createLinkingError(e,t){let r=eF(e.container).$document;r&&r.state<p1.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${r.uri}).`);let n=this.reflection.getReferenceType(e);return Object.assign(Object.assign({},e),{message:`Could not resolve reference to ${n} named '${e.reference.$refText}'.`,targetDescription:t})}}class cj{getName(e){if("string"==typeof e.name)return e.name}getNameNode(e){return tn(e.$cstNode,"name")}}class cU{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator}findDeclaration(e){if(e){let t=function(e){var t;let r=e.astNode;for(;r===(null===(t=e.container)||void 0===t?void 0:t.astNode);){let t=ej(e.grammarSource,eg);if(t)return t;e=e.container}}(e),r=e.astNode;if(t&&r){let n=r[t.feature];if(f(n))return n.ref;if(Array.isArray(n)){for(let t of n)if(f(t)&&t.$refNode&&t.$refNode.offset<=e.offset&&t.$refNode.end>=e.end)return t.ref}}if(r){let t=this.nameProvider.getNameNode(r);if(t&&(t===e||function(e,t){for(;e.container;)if((e=e.container)===t)return!0;return!1}(e,t)))return r}}}findDeclarationNode(e){let t=this.findDeclaration(e);if(null!=t&&t.$cstNode)return this.nameProvider.getNameNode(t)??t.$cstNode}findReferences(e,t){let r=[];if(t.includeDeclaration){let t=this.getReferenceToSelf(e);t&&r.push(t)}let n=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return t.documentUri&&(n=n.filter(e=>p0.equals(e.sourceUri,t.documentUri))),r.push(...n),A(r)}getReferenceToSelf(e){let t=this.nameProvider.getNameNode(e);if(t){let r=eU(e),n=this.nodeLocator.getAstNodePath(e);return{sourceUri:r.uri,sourcePath:n,targetUri:r.uri,targetPath:n,segment:b(t),local:!0}}}}class cF{constructor(e){if(this.map=new Map,e)for(let[t,r]of e)this.add(t,r)}get size(){return hb.sum(A(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,t){if(void 0===t)return this.map.delete(e);{let r=this.map.get(e);if(r){let n=r.indexOf(t);if(n>=0)return 1===r.length?this.map.delete(e):r.splice(n,1),!0}return!1}}get(e){var t;return null!==(t=this.map.get(e))&&void 0!==t?t:[]}has(e,t){if(void 0===t)return this.map.has(e);{let r=this.map.get(e);return!!r&&r.indexOf(t)>=0}}add(e,t){return this.map.has(e)?this.map.get(e).push(t):this.map.set(e,[t]),this}addAll(e,t){return this.map.has(e)?this.map.get(e).push(...t):this.map.set(e,Array.from(t)),this}forEach(e){this.map.forEach((t,r)=>t.forEach(t=>e(t,r,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return A(this.map.entries()).flatMap(([e,t])=>t.map(t=>[e,t]))}keys(){return A(this.map.keys())}values(){return A(this.map.values()).flat()}entriesGroupedByKey(){return A(this.map.entries())}}class cG{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[t,r]of e)this.set(t,r)}clear(){this.map.clear(),this.inverse.clear()}set(e,t){return this.map.set(e,t),this.inverse.set(t,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let t=this.map.get(e);return void 0!==t&&(this.map.delete(e),this.inverse.delete(t),!0)}}class cB{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,t=pX.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,t)}async computeExportsForNode(e,t,r=eG,n=pX.None){let i=[];for(let a of(this.exportNode(e,i,t),r(e)))await cx(n),this.exportNode(a,i,t);return i}exportNode(e,t,r){let n=this.nameProvider.getName(e);n&&t.push(this.descriptions.createDescription(e,n,r))}async computeLocalScopes(e,t=pX.None){let r=e.parseResult.value,n=new cF;for(let i of eB(r))await cx(t),this.processNode(i,e,n);return n}processNode(e,t,r){let n=e.$container;if(n){let i=this.nameProvider.getName(e);i&&r.add(n,this.descriptions.createDescription(e,i,t))}}}class cK{constructor(e,t,r){var n;this.elements=e,this.outerScope=t,this.caseInsensitive=null!==(n=null==r?void 0:r.caseInsensitive)&&void 0!==n&&n}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){return(this.caseInsensitive?this.elements.find(t=>t.name.toLowerCase()===e.toLowerCase()):this.elements.find(t=>t.name===e))||(this.outerScope?this.outerScope.getElement(e):void 0)}}class cV{constructor(e,t,r){var n;for(let t of(this.elements=new Map,this.caseInsensitive=null!==(n=null==r?void 0:r.caseInsensitive)&&void 0!==n&&n,e)){let e=this.caseInsensitive?t.name.toLowerCase():t.name;this.elements.set(e,t)}this.outerScope=t}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e;return this.elements.get(t)||(this.outerScope?this.outerScope.getElement(e):void 0)}getAllElements(){let e=A(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class cH{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e
117=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw Error("This cache has already been disposed")}}class cz extends cH{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,t){this.throwIfDisposed(),this.cache.set(e,t)}get(e,t){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(t){let r=t();return this.cache.set(e,r),r}}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class cW extends cH{constructor(e){super(),this.cache=new Map,this.converter=e??(e=>e)}has(e,t){return this.throwIfDisposed(),this.cacheForContext(e).has(t)}set(e,t,r){this.throwIfDisposed(),this.cacheForContext(e).set(t,r)}get(e,t,r){this.throwIfDisposed();let n=this.cacheForContext(e);if(n.has(t))return n.get(t);if(r){let e=r();return n.set(t,e),e}}delete(e,t){return this.throwIfDisposed(),this.cacheForContext(e).delete(t)}clear(e){if(this.throwIfDisposed(),e){let t=this.converter(e);this.cache.delete(t)}else this.cache.clear()}cacheForContext(e){let t=this.converter(e),r=this.cache.get(t);return r||(r=new Map,this.cache.set(t,r)),r}}class cY extends cz{constructor(e,t){super(),t?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(t,()=>{this.clear()}
117)),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((e,t)=>{t.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class cq{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 cY(e.shared)}getScope(e){let t=[],r=this.reflection.getReferenceType(e),n=eU(e.container).precomputedScopes;if(n){let i=e.container;do{let e=n.get(i);e.length>0&&t.push(A(e).filter(e=>this.reflection.isSubtype(e.type,r))),i=i.$container}while(i)}let i=this.getGlobalScope(r,e);for(let e=t.length-1;e>=0;e--)i=this.createScope(t[e],i);return i}createScope(e,t,r){return new cK(A(e),t,r)}createScopeForNodes(e,t,r){return new cK(A(e).map(e=>{let t=this.nameProvider.getName(e);if(t)return this.descriptions.createDescription(e,t)}).nonNullable(),t,r)}getGlobalScope(e,t){return this.globalScopeCache.get(e,()=>new cV(this.indexManager.allElements(e)))}}function cX(e){return"object"==typeof e&&!!e&&("$ref"in e||"$error"in e)}class cQ{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,t){let r=t??{},n=null==t?void 0:t.replacer,i=(e,t)=>this.replacer(e,t,r),a=n?(e,t)=>n(e,t,i):i;try{return this.currentDocument=eU(e),JSON.stringify(e,a,null==t?void 0:t.space)}finally{this.currentDocument=void 0}}deserialize(e,t){let r=JSON.parse(e);return this.linkNode(r,r,t??{}),r}replacer(e,t,{refText:r,sourceText:n,textRegions:i,comments:a,uriConverter:s}){var o,l,u,c;if(!this.ignoreProperties.has(e)){if(f(t)){let e=t.ref,n=r?t.$refText:void 0;if(!e)return{$error:null!==(l=null===(o=t.error)||void 0===o?void 0:o.message)&&void 0!==l?l:"Could not resolve reference",$refText:n};{let r=eU(e),i="";this.currentDocument&&this.currentDocument!==r&&(i=s?s(r.uri,t):r.uri.toString());let a=this.astNodeLocator.getAstNodePath(e);return{$ref:`${i}#${a}`,$refText:n}}}{let r;if(!d(t))return t;if(i&&(r=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},t)),(!e||t.$document)&&null!=r&&r.$textRegion&&(r.$textRegion.documentURI=null===(u=this.currentDocument)||void 0===u?void 0:u.uri.toString())),n&&!e&&(r??(r=Object.assign({},t)),r.$sourceText=null===(c=t.$cstNode)||void 0===c?void 0:c.text),a){r??(r=Object.assign({},t));let e=this.commentProvider.getComment(t);e&&(r.$comment=e.replace(/\r/g,""))}return r??t}}}addAstNodeRegionWithAssignmentsTo(e){let t=e=>({offset:e.offset,end:e.end,length:e.length,range:e.range});if(e.$cstNode){let r=(e.$textRegion=t(e.$cstNode)).assignments={};return Object.keys(e).filter(e=>!e.startsWith("$")).forEach(n=>{var i;let a=((i=e.$cstNode)&&n?ti(i,n,i.astNode,!0):[]).map(t);0!==a.length&&(r[n]=a)}),e}}linkNode(e,t,r,n,i,a){for(let[n,i]of Object.entries(e))if(Array.isArray(i))for(let a=0;a<i.length;a++){let s=i[a];cX(s)?i[a]=this.reviveReference(e,n,t,s,r):d(s)&&this.linkNode(s,t,r,e,n,a)}else cX(i)?e[n]=this.reviveReference(e,n,t,i,r):d(i)&&this.linkNode(i,t,r,e,n);e.$container=n,e.$containerProperty=i,e.$containerIndex=a}reviveReference(e,t,r,n,i){let a=n.$refText,s=n.$error;if(n.$ref){let e=this.getRefNode(r,n.$ref,i.uriConverter);if(d(e))return a||(a=this.nameProvider.getName(e)),{$refText:a??"",ref:e};s=e}if(s){let r={$refText:a??""};return r.error={container:e,property:t,message:s,reference:r},r}}getRefNode(e,t,r){try{let n=t.indexOf("#");if(0===n)return this.astNodeLocator.getAstNode(e,t.substring(1))||"Could not resolve path: "+t;if(n<0){let e=r?r(t):cC.parse(t),n=this.langiumDocuments.getDocument(e);return n?n.parseResult.value:"Could not find document for URI: "+t}let i=r?r(t.substring(0,n)):cC.parse(t.substring(0,n)),a=this.langiumDocuments.getDocument(i);if(!a)return"Could not find document for URI: "+t;if(n===t.length-1)return a.parseResult.value;return this.astNodeLocator.getAstNode(a.parseResult.value,t.substring(n+1))||"Could not resolve URI: "+t}catch(e){return String(e)}}}class cZ{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.textDocuments=null==e?void 0:e.workspace.TextDocuments}register(e){let t=e.LanguageMetaData;for(let r of t.fileExtensions)this.fileExtensionMap.has(r)&&console.warn(`The file extension ${r} is used by multiple languages. It is now assigned to '${t.languageId}'.`),this.fileExtensionMap.set(r,e);this.languageIdMap.set(t.languageId,e),1===this.languageIdMap.size?this.singleton=e:this.singleton=void 0}getServices(e){var t,r;if(void 0!==this.singleton)return this.singleton;if(0===this.languageIdMap.size)throw Error("The service registry is empty. Use `register` to register the services of a language.");let n=null===(r=null===(t=this.textDocuments)||void 0===t?void 0:t.get(e))||void 0===r?void 0:r.languageId;if(void 0!==n){let e=this.languageIdMap.get(n);if(e)return e}let i=p0.extname(e),a=this.fileExtensionMap.get(i);
117if(!a)throw n?Error(`The service registry contains no services for the extension '${i}' for language '${n}'.`):Error(`The service registry contains no services for the extension '${i}'.`);return a}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}}function cJ(e){return{code:e}}(p2||(p2={})).all=["fast","slow","built-in"];class c0{constructor(e){this.entries=new cF,this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,t=this,r="fast"){if("built-in"===r)throw Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(let[n,i]of Object.entries(e))if(Array.isArray(i))for(let e of i){let i={check:this.wrapValidationException(e,t),category:r};this.addEntry(n,i)}else if("function"==typeof i){let e={check:this.wrapValidationException(i,t),category:r};this.addEntry(n,e)}else _()}wrapValidationException(e,t){return async(r,n,i)=>{await this.handleException(()=>e.call(t,r,n,i),"An error occurred during validation",n,r)}}async handleException(e,t,r,n){try{await e()}catch(i){if(i===ck)throw i;console.error(`${t}:`,i),i instanceof Error&&i.stack&&console.error(i.stack);let e=i instanceof Error?i.message:String(i);r("error",`${t}: ${e}`,{node:n})}}addEntry(e,t){if("AstNode"===e){this.entries.add("AstNode",t);return}for(let r of this.reflection.getAllSubTypes(e))this.entries.add(r,t)}getChecks(e,t){let r=A(this.entries.get(e)).concat(this.entries.get("AstNode"));return t&&(r=r.filter(e=>t.includes(e.category))),r.map(e=>e.check)}registerBeforeDocument(e,t=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",t))}registerAfterDocument(e,t=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",t))}wrapPreparationException(e,t,r){return async(n,i,a,s)=>{await this.handleException(()=>e.call(r,n,i,a,s),t,i,n)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}}class c1{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,t={},r=pX.None){let n=e.parseResult,i=[];if(await cx(r),(!t.categories||t.categories.includes("built-in"))&&(this.processLexingErrors(n,i,t),t.stopAfterLexingErrors&&i.some(e=>{var t;return(null===(t=e.data)||void 0===t?void 0:t.code)===p4.LexingError})||(this.processParsingErrors(n,i,t),t.stopAfterParsingErrors&&i.some(e=>{var t;return(null===(t=e.data)||void 0===t?void 0:t.code)===p4.ParsingError}))||(this.processLinkingErrors(e,i,t),t.stopAfterLinkingErrors&&i.some(e=>{var t;return(null===(t=e.data)||void 0===t?void 0:t.code)===p4.LinkingError}))))return i;try{i.push(...await this.validateAst(n.value,t,r))}catch(e){if(e===ck)throw e;console.error("An error occurred during validation:",e)}return await cx(r),i}processLexingErrors(e,t,r){var n,i,a;for(let r of[...e.lexerErrors,...null!==(i=null===(n=e.lexerReport)||void 0===n?void 0:n.diagnostics)&&void 0!==i?i:[]]){let e=null!==(a=r.severity)&&void 0!==a?a:"error",n={severity:c2(e),range:{start:{line:r.line-1,character:r.column-1},end:{line:r.line-1,character:r.column+r.length-1}},message:r.message,data:function(e){switch(e){case"error":return cJ(p4.LexingError);case"warning":return cJ(p4.LexingWarning);case"info":return cJ(p4.LexingInfo);case"hint":return cJ(p4.LexingHint);default:throw Error("Invalid diagnostic severity: "+e)}}(e),source:this.getSource()};t.push(n)}}processParsingErrors(e,t,r){for(let r of e.parserErrors){let e;if(isNaN(r.token.startOffset)){if("previousToken"in r){let t=r.previousToken;if(isNaN(t.startOffset)){let t={line:0,character:0};e={start:t,end:t}}else{let r={line:t.endLine-1,character:t.endColumn};e={start:r,end:r}}}}else e=x(r.token);if(e){let n={severity:c2("error"),range:e,message:r.message,data:cJ(p4.ParsingError),source:this.getSource()};t.push(n)}}}processLinkingErrors(e,t,r){for(let r of e.references){let e=r.error;if(e){let r={node:e.container,property:e.property,index:e.index,data:{code:p4.LinkingError,containerType:e.container.$type,property:e.property,refText:e.reference.$refText}};t.push(this.toDiagnostic("error",e.message,r))}}}async validateAst(e,t,r=pX.None){let n=[],i=(e,t,r)=>{n.push(this.toDiagnostic(e,t,r))};return await this.validateAstBefore(e,t,i,r),await this.validateAstNodes(e,t,i,r),await this.validateAstAfter(e,t,i,r),n}async validateAstBefore(e,t,r,n=pX.None){var i;for(let a of this.validationRegistry.checksBefore)await cx(n),await a(e,r,null!==(i=t.categories)&&void 0!==i?i:[],n)}async validateAstNodes(e,t,r,n=pX.None){await Promise.all(eK(e).map(async e=>{for(let i of(await cx(n),this.validationRegistry.getChecks(e.$type,t.categories)))await i(e,r,n)}))}async validateAstAfter(e,t,r,n=pX.None){var i;for(let a of this.validationRegistry.checksAfter)await cx(n),await a(e,r,null!==(i=t.categories)&&void 0!==i?i:[],n)}toDiagnostic(e,t,r){let n;return{message:t,range:r.range?r.range:("string"==typeof r.property?n=tn(r.
117node.$cstNode,r.property,r.index):"string"==typeof r.keyword&&(n=function(e,t,r){if(!e)return;let n=function(e,t,r){let n;if(e.astNode!==r)return[];if(ek(e.grammarSource)&&e.grammarSource.value===t)return[e];let i=k(e).iterator(),a=[];do if(!(n=i.next()).done){let e=n.value;e.astNode===r?ek(e.grammarSource)&&e.grammarSource.value===t&&a.push(e):i.prune()}while(!n.done);return a}(e,t,null==e?void 0:e.astNode);if(0!==n.length)return r=void 0!==r?Math.max(0,Math.min(r,n.length-1)):0,n[r]}(r.node.$cstNode,r.keyword,r.index)),n??(n=r.node.$cstNode),n?n.range:{start:{line:0,character:0},end:{line:0,character:0}}),severity:c2(e),code:r.code,codeDescription:r.codeDescription,tags:r.tags,relatedInformation:r.relatedInformation,data:r.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function c2(e){switch(e){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw Error("Invalid diagnostic severity: "+e)}}(hx=p4||(p4={})).LexingError="lexing-error",hx.LexingWarning="lexing-warning",hx.LexingInfo="lexing-info",hx.LexingHint="lexing-hint",hx.ParsingError="parsing-error",hx.LinkingError="linking-error";class c4{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,t,r){let n;let i=r??eU(e);t??(t=this.nameProvider.getName(e));let a=this.astNodeLocator.getAstNodePath(e);if(!t)throw Error(`Node at path ${a} has no name.`);let s=()=>{var t;return n??(n=b(null!==(t=this.nameProvider.getNameNode(e))&&void 0!==t?t:e.$cstNode))};return{node:e,name:t,get nameSegment(){return s()},selectionSegment:b(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}}class c9{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,t=pX.None){let r=[];for(let n of eK(e.parseResult.value))await cx(t),eH(n).filter(e=>!h(e)).forEach(e=>{let t=this.createDescription(e);t&&r.push(t)});return r}createDescription(e){let t=e.reference.$nodeDescription,r=e.reference.$refNode;if(!t||!r)return;let n=eU(e.container).uri;return{sourceUri:n,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:t.documentUri,targetPath:t.path,segment:b(r),local:p0.equals(t.documentUri,n)}}}class c3{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let t=this.getAstNodePath(e.$container),r=this.getPathSegment(e);return t+this.segmentSeparator+r}return""}getPathSegment({$containerProperty:e,$containerIndex:t}){if(!e)throw Error("Missing '$containerProperty' in AST node.");return void 0!==t?e+this.indexSeparator+t:e}getAstNode(e,t){return t.split(this.segmentSeparator).reduce((e,t)=>{if(!e||0===t.length)return e;let r=t.indexOf(this.indexSeparator);if(r>0){let n=t.substring(0,r),i=parseInt(t.substring(r+1)),a=e[n];return null==a?void 0:a[i]}return e[t]},e)}}class c7{constructor(e){this._ready=new cb,this.settings={},this.workspaceConfig=!1,this.onConfigurationSectionUpdateEmitter=new cg,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var t,r;this.workspaceConfig=null!==(r=null===(t=e.capabilities.workspace)||void 0===t?void 0:t.configuration)&&void 0!==r&&r}async initialized(e){if(this.workspaceConfig){if(e.register){let t=this.serviceRegistry.all;e.register({section:t.map(e=>this.toSectionName(e.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let t=this.serviceRegistry.all.map(e=>({section:this.toSectionName(e.LanguageMetaData.languageId)})),r=await e.fetchConfiguration(t);t.forEach((e,t)=>{this.updateSectionConfiguration(e.section,r[t])})}}this._ready.resolve()}updateConfiguration(e){e.settings&&Object.keys(e.settings).forEach(t=>{let r=e.settings[t];this.updateSectionConfiguration(t,r),this.onConfigurationSectionUpdateEmitter.fire({section:t,configuration:r})})}updateSectionConfiguration(e,t){this.settings[e]=t}async getConfiguration(e,t){await this.ready;let r=this.toSectionName(e);if(this.settings[r])return this.settings[r][t]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}(p9||(p9={})).create=function(e){return{dispose:async()=>await e()}};class c6{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new cF,this.documentPhaseListeners=new cF,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=p1.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.serviceRegistry=e.ServiceRegistry}async build(e,t={},r=pX.None){var n,i;for(let r of e){let e=r.uri.toString();if(r.state===p1.Validated){if("boolean"==typeof t.validation&&t.validation)r.state=p1.IndexedReferences,r.diagnostics=void 0,this.buildState.delete(e);else if("object"==typeof t.validation){let a=this.buildState.get(e),s=null===(n=null==a?void 0:a.result)||void 0===n?void 0:n.validationChecks;if(s){let n=(null!==(i=t.validation.categories)&&void 0!==i?i:p2.all).filter(e=>!s.includes(e));n.length>0&&(this.buildState.set(e,{completed:!1,options:{validation:Object.assign(Object.assign({},t.validation),{categories:n})},result:a.result}),r.state=p1.IndexedReferences)}}}else this.buildState.delete(e)}this.currentState=p1.Changed,await this.emitUpdate(e.map(e=>e.uri),[]),await this.buildDocuments(e,t,r)}async update(e,t,r=pX.None){for(let e of(this.currentState=p1.Changed,t))this.langiumDocuments.deleteDocument(e),this.buildState.delete(e.toString()),this.indexManager.remove(e);for(let t of e){if(!this.langiumDocuments.invalidateDocument(t)){let e=this.langiumDocumentFactory.fromModel({$type:"INVALID"},t);e.state=p1.Changed,this.langiumDocuments.addDocument(e)}this.buildState.delete(t.toString())}let n=A(e).concat(t).map(e=>e.toString()).toSet();this.langiumDocuments.all.filter(e=>
117!n.has(e.uri.toString())&&this.shouldRelink(e,n)).forEach(e=>{this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e),e.state=Math.min(e.state,p1.ComputedScopes),e.diagnostics=void 0}),await this.emitUpdate(e,t),await cx(r);let i=this.sortDocuments(this.langiumDocuments.all.filter(e=>{var t;return e.state<p1.Linked||!(!(null===(t=this.buildState.get(e.uri.toString()))||void 0===t)&&t.completed)}).toArray());await this.buildDocuments(i,this.updateBuildOptions,r)}async emitUpdate(e,t){await Promise.all(this.updateListeners.map(r=>r(e,t)))}sortDocuments(e){let t=0,r=e.length-1;for(;t<r;){for(;t<e.length&&this.hasTextDocument(e[t]);)t++;for(;r>=0&&!this.hasTextDocument(e[r]);)r--;t<r&&([e[t],e[r]]=[e[r],e[t]])}return e}hasTextDocument(e){var t;return!!(!(null===(t=this.textDocuments)||void 0===t)&&t.get(e.uri))}shouldRelink(e,t){return!!e.references.some(e=>void 0!==e.error)||this.indexManager.isAffected(e,t)}onUpdate(e){return this.updateListeners.push(e),p9.create(()=>{let t=this.updateListeners.indexOf(e);t>=0&&this.updateListeners.splice(t,1)})}async buildDocuments(e,t,r){this.prepareBuild(e,t),await this.runCancelable(e,p1.Parsed,r,e=>this.langiumDocumentFactory.update(e,r)),await this.runCancelable(e,p1.IndexedContent,r,e=>this.indexManager.updateContent(e,r)),await this.runCancelable(e,p1.ComputedScopes,r,async e=>{let t=this.serviceRegistry.getServices(e.uri).references.ScopeComputation;e.precomputedScopes=await t.computeLocalScopes(e,r)}),await this.runCancelable(e,p1.Linked,r,e=>this.serviceRegistry.getServices(e.uri).references.Linker.link(e,r)),await this.runCancelable(e,p1.IndexedReferences,r,e=>this.indexManager.updateReferences(e,r));let n=e.filter(e=>this.shouldValidate(e));for(let t of(await this.runCancelable(n,p1.Validated,r,e=>this.validate(e,r)),e)){let e=this.buildState.get(t.uri.toString());e&&(e.completed=!0)}}prepareBuild(e,t){for(let r of e){let e=r.uri.toString(),n=this.buildState.get(e);(!n||n.completed)&&this.buildState.set(e,{completed:!1,options:t,result:null==n?void 0:n.result})}}async runCancelable(e,t,r,n){for(let i of e.filter(e=>e.state<t))await cx(r),await n(i),i.state=t,await this.notifyDocumentPhase(i,t,r);let i=e.filter(e=>e.state===t);await this.notifyBuildPhase(i,t,r),this.currentState=t}onBuildPhase(e,t){return this.buildPhaseListeners.add(e,t),p9.create(()=>{this.buildPhaseListeners.delete(e,t)})}onDocumentPhase(e,t){return this.documentPhaseListeners.add(e,t),p9.create(()=>{this.documentPhaseListeners.delete(e,t)})}waitUntil(e,t,r){let n;if(t&&"path"in t?n=t:r=t,r??(r=pX.None),n){let t=this.langiumDocuments.getDocument(n);if(t&&t.state>e)return Promise.resolve(n)}return this.currentState>=e?Promise.resolve(void 0):r.isCancellationRequested?Promise.reject(ck):new Promise((t,i)=>{let a=this.onBuildPhase(e,()=>{if(a.dispose(),s.dispose(),n){let e=this.langiumDocuments.getDocument(n);t(null==e?void 0:e.uri)}else t(void 0)}),s=r.onCancellationRequested(()=>{a.dispose(),s.dispose(),i(ck)})})}async notifyDocumentPhase(e,t,r){for(let n of this.documentPhaseListeners.get(t).slice())try{await n(e,r)}catch(e){if(e!==ck)throw e}}async notifyBuildPhase(e,t,r){if(0!==e.length)for(let n of this.buildPhaseListeners.get(t).slice())await cx(r),await n(e,r)}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,t){var r,n;let i=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,a=this.getBuildOptions(e).validation,s="object"==typeof a?a:void 0,o=await i.validateDocument(e,s,t);e.diagnostics?e.diagnostics.push(...o):e.diagnostics=o;let l=this.buildState.get(e.uri.toString());if(l){null!==(r=l.result)&&void 0!==r||(l.result={});let e=null!==(n=null==s?void 0:s.categories)&&void 0!==n?n:p2.all;l.result.validationChecks?l.result.validationChecks.push(...e):l.result.validationChecks=[...e]}}getBuildOptions(e){var t,r;return null!==(r=null===(t=this.buildState.get(e.uri.toString()))||void 0===t?void 0:t.options)&&void 0!==r?r:{}}}class c5{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new cW,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,t){let r=eU(e).uri,n=[];
117return this.referenceIndex.forEach(e=>{e.forEach(e=>{p0.equals(e.targetUri,r)&&e.targetPath===t&&n.push(e)})}),A(n)}allElements(e,t){let r=A(this.symbolIndex.keys());return t&&(r=r.filter(e=>!t||t.has(e))),r.map(t=>this.getFileDescriptions(t,e)).flat()}getFileDescriptions(e,t){var r;return t?this.symbolByTypeIndex.get(e,t,()=>{var r;return(null!==(r=this.symbolIndex.get(e))&&void 0!==r?r:[]).filter(e=>this.astReflection.isSubtype(e.type,t))}):null!==(r=this.symbolIndex.get(e))&&void 0!==r?r:[]}remove(e){let t=e.toString();this.symbolIndex.delete(t),this.symbolByTypeIndex.clear(t),this.referenceIndex.delete(t)}async updateContent(e,t=pX.None){let r=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.computeExports(e,t),n=e.uri.toString();this.symbolIndex.set(n,r),this.symbolByTypeIndex.clear(n)}async updateReferences(e,t=pX.None){let r=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,t);this.referenceIndex.set(e.uri.toString(),r)}isAffected(e,t){let r=this.referenceIndex.get(e.uri.toString());
117return!!r&&r.some(e=>!e.local&&t.has(e.targetUri.toString()))}}class c8{constructor(e){this.initialBuildOptions={},this._ready=new cb,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){var t;this.folders=null!==(t=e.workspaceFolders)&&void 0!==t?t:void 0}initialized(e){return this.mutex.write(e=>{var t;return this.initializeWorkspace(null!==(t=this.folders)&&void 0!==t?t:[],e)})}async initializeWorkspace(e,t=pX.None){let r=await this.performStartup(e);await cx(t),await this.documentBuilder.build(r,this.initialBuildOptions,t)}async performStartup(e){let t=this.serviceRegistry.all.flatMap(e=>e.LanguageMetaData.fileExtensions),r=[],n=e=>{r.push(e),this.langiumDocuments.hasDocument(e.uri)||this.langiumDocuments.addDocument(e)};return await this.loadAdditionalDocuments(e,n),await Promise.all(e.map(e=>[e,this.getRootFolder(e)]).map(async e=>this.traverseFolder(...e,t,n))),this._ready.resolve(),r}loadAdditionalDocuments(e,t){return Promise.resolve()}getRootFolder(e){return cC.parse(e.uri)}async traverseFolder(e,t,r,n){let i=await this.fileSystemProvider.readDirectory(t);await Promise.all(i.map(async t=>{this.includeEntry(e,t,r)&&(t.isDirectory?await this.traverseFolder(e,t.uri,r,n):t.isFile&&n(await this.langiumDocuments.getOrCreateDocument(t.uri)))}))}includeEntry(e,t,r){let n=p0.basename(t.uri);if(n.startsWith("."))return!1;if(t.isDirectory)return"node_modules"!==n&&"out"!==n;if(t.isFile){let e=p0.extname(t.uri);return r.includes(e)}return!1}}class de{buildUnexpectedCharactersMessage(e,t,r,n,i){return o1.buildUnexpectedCharactersMessage(e,t,r,n,i)}buildUnableToPopLexerModeMessage(e){return o1.buildUnableToPopLexerModeMessage(e)}}let dt={mode:"full"};class dr{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let t=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(t);let r=di(t)?Object.values(t):t,n="production"===e.LanguageMetaData.mode;
117this.chevrotainLexer=new o4(r,{positionTracking:"full",skipValidations:n,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,t=dt){var r,n,i;let a=this.chevrotainLexer.tokenize(e);return{tokens:a.tokens,errors:a.errors,hidden:null!==(r=a.groups.hidden)&&void 0!==r?r:[],report:null===(i=(n=this.tokenBuilder).flushLexingReport)||void 0===i?void 0:i.call(n,e)}}toTokenTypeDictionary(e){if(di(e))return e;let t=dn(e)?Object.values(e.modes).flat():e,r={};return t.forEach(e=>r[e.name]=e),r}}function dn(e){return e&&"modes"in e&&"defaultMode"in e}function di(e){return!(Array.isArray(e)&&(0===e.length||"name"in e[0]))&&!dn(e)}function da(e){return("string"==typeof e?e:e.text).split(e3)}let ds=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,dl=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu,du=/\S/,dc=/\s*$/;function dd(e,t){let r=e.substring(t).match(du);return r?t+r.index:e.length}function df(e){let t=e.tokens[e.index],r=t,n=t,i=[];for(;t&&"break"!==t.type&&"tag"!==t.type;)i.push("inline-tag"===e.tokens[e.index].type?dh(e,!0):dp(e)),n=t,t=e.tokens[e.index];return new dT(i,hD.create(r.range.start,n.range.end))}function dh(e,t){let r=e.tokens[e.index++],n=r.content.substring(1),i=e.tokens[e.index];if((null==i?void 0:i.type)==="text"){if(t){let i=dp(e);return new dv(n,new dT([i],i.range),t,hD.create(r.range.start,i.range.end))}{let i=df(e);return new dv(n,i,t,hD.create(r.range.start,i.range.end))}}{let e=r.range;return new dv(n,new dT([],e),t,e)}}function dp(e){let t=e.tokens[e.index++];return new dR(t.content,t.range)}function dm(e){if(!e)return dm({start:"/**",end:"*/",line:"*"});let{start:t,end:r,line:n}=e;return{start:dg(t,!0),end:dg(r,!1),line:dg(n,!0)}}function dg(e,t){if("string"!=typeof e&&"object"!=typeof e)return e;{let r="string"==typeof e?tt(e):e.source;return t?RegExp(`^\\s*${r}`):RegExp(`\\s*${r}\\s*$`)}}class dy{constructor(e,t){this.elements=e,this.range=t}getTag(e){return this.getAllTags().find(t=>t.name===e)}getTags(e){return this.getAllTags().filter(t=>t.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let t of this.elements)if(0===e.length)e=t.toString();else{let r=t.toString();e+=d$(e)+r}return e.trim()}toMarkdown(e){let t="";for(let r of this.elements)if(0===t.length)t=r.toMarkdown(e);else{let n=r.toMarkdown(e);t+=d$(t)+n}return t.trim()}}class dv{constructor(e,t,r,n){this.name=e,this.content=t,this.inline=r,this.range=n}toString(){let e=`@${this.name}`,t=this.content.toString();return 1===this.content.inlines.length?e=`${e} ${t}`:this.content.inlines.length>1&&(e=`${e} 118${t}`),this.inline?`{${e}}`:e}toMarkdown(e){var t,r;return null!==(r=null===(t=null==e?void 0:e.renderTag)||void 0===t?void 0:t.call(e,this))&&void 0!==r?r:this.toMarkdownDefault(e)}toMarkdownDefault(e){let t=this.content.toMarkdown(e);if(this.inline){let r=function(e,t,r){var n,i;if("linkplain"===e||"linkcode"===e||"link"===e){let a=t.indexOf(" "),s=t;if(a>0){let e=dd(t,a);s=t.substring(e),t=t.substring(0,a)}return("linkcode"===e||"link"===e&&"code"===r.link)&&(s=`\`${s}\``),null!==(i=null===(n=r.renderLink)||void 0===n?void 0:n.call(r,t,s))&&void 0!==i?i:function(e,t){try{return cC.parse(e,!0),`[${t}](${e})`}catch{return e}}(t,s)}}(this.name,t,e??{});if("string"==typeof r)return r}let r="";(null==e?void 0:e.tag)==="italic"||(null==e?void 0:e.tag)===void 0?r="*":(null==e?void 0:e.tag)==="bold"?r="**":(null==e?void 0:e.tag)==="bold-italic"&&(r="***");let n=`${r}@${this.name}${r}`;return 1===this.content.inlines.length?n=`${n} â ${t}`:this.content.inlines.length>1&&(n=`${n} 119${t}`),this.inline?`{${n}}`:n}}class dT{constructor(e,t){this.inlines=e,this.range=t}toString(){let e="";for(let t=0;t<this.inlines.length;t++){let r=this.inlines[t],n=this.inlines[t+1];e+=r.toString(),n&&n.range.start.line>r.range.start.line&&(e+=` 120`)}return e}toMarkdown(e){let t="";for(let r=0;r<this.inlines.length;r++){let n=this.inlines[r],i=this.inlines[r+1];t+=n.toMarkdown(e),i&&i.range.start.line>n.range.start.line&&(t+=` 121`)}return t}}class dR{constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}}function d$(e){return e.endsWith(` 122`)?` 123`:` 124 125`}class dA{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let t=this.commentProvider.getComment(e);
125if(t&&function(e,t){let r=dm(void 0),n=da(e);if(0===n.length)return!1;let i=n[0],a=n[n.length-1],s=r.start,o=r.end;return!!(null!=s&&s.exec(i))&&!!(null!=o&&o.exec(a))}(t)){let r,n;return("string"==typeof t?n=void 0:n=t.range.start,r=void 0,n||(n=hM.create(0,0)),function(e){var t,r,n,i;let a=hM.create(e.position.line,e.position.character);if(0===e.tokens.length)return new dy([],hD.create(a,a));let s=[];for(;e.index<e.tokens.length;){let t=function(e,t){let r=e.tokens[e.index];return"tag"===r.type?dh(e,!1):"text"===r.type||"inline-tag"===r.type?df(e):void(function(e,t){if(t){let r=new dR("",e.range);"inlines"in t?t.inlines.push(r):t.content.inlines.push(r)}}(r,t),e.index++)}(e,s[s.length-1]);t&&s.push(t)}let o=null!==(r=null===(t=s[0])||void 0===t?void 0:t.range.start)&&void 0!==r?r:a,l=null!==(i=null===(n=s[s.length-1])||void 0===n?void 0:n.range.end)&&void 0!==i?i:a;return new dy(s,hD.create(o,l))}({index:0,tokens:function(e){var t,r,n;let i=[],a=e.position.line,s=e.position.character;for(let o=0;o<e.lines.length;o++){let l=0===o,u=o===e.lines.length-1,c=e.lines[o],d=0;if(l&&e.options.start){let r=null===(t=e.options.start)||void 0===t?void 0:t.exec(c);r&&(d=r.index+r[0].length)}else{let t=null===(r=e.options.line)||void 0===r?void 0:r.exec(c);t&&(d=t.index+t[0].length)}if(u){let t=null===(n=e.options.end)||void 0===n?void 0:n.exec(c);t&&(c=c.substring(0,t.index))}if(dd(c=c.substring(0,function(e){let t=e.match(dc);if(t&&"number"==typeof t.index)return t.index}(c)),d)>=c.length){if(i.length>0){let e=hM.create(a,s);i.push({type:"break",content:"",range:hD.create(e,e)})}}else{ds.lastIndex=d;let e=ds.exec(c);if(e){let t=e[0],r=e[1],n=hM.create(a,s+d),o=hM.create(a,s+d+t.length);i.push({type:"tag",content:r,range:hD.create(n,o)}),d+=t.length,d=dd(c,d)}if(d<c.length){let e=c.substring(d),t=Array.from(e.matchAll(dl));i.push(...function(e,t,r,n){let i=[];if(0===e.length){let e=hM.create(r,n),a=hM.create(r,n+t.length);i.push({type:"text",content:t,range:hD.create(e,a)})}else{let a=0;for(let s of e){let e=s.index,o=t.substring(a,e);o.length>0&&i.push({type:"text",content:t.substring(a,e),range:hD.create(hM.create(r,a+n),hM.create(r,e+n))});let l=o.length+1,u=s[1];if(i.push({type:"inline-tag",content:u,range:hD.create(hM.create(r,a+l+n),hM.create(r,a+l+u.length+n))}),l+=u.length,4===s.length){l+=s[2].length;let e=s[3];i.push({type:"text",content:e,range:hD.create(hM.create(r,a+l+n),hM.create(r,a+l+e.length+n))})}else i.push({type:"text",content:"",range:hD.create(hM.create(r,a+l+n),hM.create(r,a+l+n))});a=e+s[0].length}let s=t.substring(a);s.length>0&&i.push({type:"text",content:s,range:hD.create(hM.create(r,a+n),hM.create(r,a+n+s.length))})}return i}(t,e,a,s+d))}}a++,s=0}return i.length>0&&"break"===i[i.length-1].type?i.slice(0,-1):i}({lines:da(t),position:n,options:dm(r)}),position:n})).toMarkdown({renderLink:(t,r)=>this.documentationLinkRenderer(e,t,r),renderTag:t=>this.documentationTagRenderer(e,t)})}}documentationLinkRenderer(e,t,r){var n;let i=null!==(n=this.findNameInPrecomputedScopes(e,t))&&void 0!==n?n:this.findNameInGlobalScope(e,t);if(i&&i.nameSegment){let e=i.nameSegment.range.start.line+1,t=i.nameSegment.range.start.character+1,n=i.documentUri.with({fragment:`L${e},${t}`});return`[${r}](${n.toString()})`}}documentationTagRenderer(e,t){}findNameInPrecomputedScopes(e,t){let r=eU(e).precomputedScopes;if(!r)return;let n=e;do{let e=r.get(n).find(e=>e.name===t);if(e)return e;n=n.$container}while(n)}findNameInGlobalScope(e,t){return this.indexManager.allElements().find(e=>e.name===t)}}class dE{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var t;return"string"==typeof e.$comment?e.$comment:null===(t=function(e,t){if(e){let r=function(e,t=!0){for(;e.container;){let r=e.container,n=r.content.indexOf(e);for(;n>0;){n--;let e=r.content[n];if(t||!e.hidden)return e}e=r}}(e,!0);if(r&&S(r,t))return r;if(y(e)){let r=e.content.findIndex(e=>!e.hidden);for(let n=r-1;n>=0;n--){let r=e.content[n];if(S(r,t))return r}}}}(e.$cstNode,this.grammarConfig().multilineCommentRules))||void 0===t?void 0:t.text}}class dk{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}}class dx{constructor(){this.previousTokenSource=new cT,this.writeQueue=[],this.readQueue=[],this.done=!0}
125write(e){this.cancelWrite();let t=(cE=performance.now(),new cT);return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,r=pX.None){let n=new cb;return e.push({action:t,deferred:n,cancellationToken:r}),this.performNextOperation(),n.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else{if(!(this.readQueue.length>0))return;e.push(...this.readQueue.splice(0,this.readQueue.length))}this.done=!1,await Promise.all(e.map(async({action:e,deferred:t,cancellationToken:r})=>{try{let n=await Promise.resolve().then(()=>e(r));t.resolve(n)}catch(e){e===ck?t.resolve(void 0):t.reject(e)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class db{constructor(e){this.grammarElementIdMap=new cG,this.tokenTypeIdMap=new cG,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(e=>Object.assign(Object.assign({},e),{message:e.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let t=new Map,r=new Map;for(let r of eK(e))t.set(r,{});if(e.$cstNode)for(let t of k(e.$cstNode))r.set(t,{});return{astNodes:t,cstNodes:r}}dehydrateAstNode(e,t){let r=t.astNodes.get(e);for(let[n,i]of(r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,void 0!==e.$cstNode&&(r.$cstNode=this.dehydrateCstNode(e.$cstNode,t)),Object.entries(e)))if(!n.startsWith("$")){if(Array.isArray(i)){let e=[];for(let a of(r[n]=e,i))d(a)?e.push(this.dehydrateAstNode(a,t)):f(a)?e.push(this.dehydrateReference(a,t)):e.push(a)}else d(i)?r[n]=this.dehydrateAstNode(i,t):f(i)?r[n]=this.dehydrateReference(i,t):void 0!==i&&(r[n]=i)}return r}dehydrateReference(e,t){let r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=t.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,t){let r=t.cstNodes.get(e);return y(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=t.astNodes.get(e.astNode),m(e)?r.content=e.content.map(e=>this.dehydrateCstNode(e,t)):g(e)&&(r.tokenType=e.tokenType.name,r.offset=e.offset,r.length=e.length,r.startLine=e.range.start.line,r.startColumn=e.range.start.character,r.endLine=e.range.end.line,r.endColumn=e.range.end.character),r}hydrate(e){let t=e.value,r=this.createHydrationContext(t);return"$cstNode"in t&&this.hydrateCstNode(t.$cstNode,r),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(t,r)}}createHydrationContext(e){let t;let r=new Map,n=new Map;for(let t of eK(e))r.set(t,{});if(e.$cstNode)for(let r of k(e.$cstNode)){let e;"fullText"in r?t=e=new u0(r.fullText):"content"in r?e=new uZ:"tokenType"in r&&(e=this.hydrateCstLeafNode(r)),e&&(n.set(r,e),e.root=t)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,t){let r=t.astNodes.get(e);for(let[n,i]of(r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode&&(r.$cstNode=t.cstNodes.get(e.$cstNode)),Object.entries(e)))if(!n.startsWith("$")){if(Array.isArray(i)){let e=[];for(let a of(r[n]=e,i))d(a)?e.push(this.setParent(this.hydrateAstNode(a,t),r)):f(a)?e.push(this.hydrateReference(a,r,n,t)):e.push(a)}else d(i)?r[n]=this.setParent(this.hydrateAstNode(i,t),r):f(i)?r[n]=this.hydrateReference(i,r,n,t):void 0!==i&&(r[n]=i)}return r}setParent(e,t){return e.$container=t,e}hydrateReference(e,t,r,n){return this.linker.buildReference(t,r,n.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,t,r=0){let n=t.cstNodes.get(e);if("number"==typeof e.grammarSource&&(n.grammarSource=this.getGrammarElement(e.grammarSource)),n.astNode=t.astNodes.get(e.astNode),m(n))for(let i of e.content){let e=this.hydrateCstNode(i,t,r++);n.content.push(e)}return n}hydrateCstLeafNode(e){let t=this.getTokenType(e.tokenType),r=e.offset,n=e.length,i=e.startLine,a=e.startColumn;return new uQ(r,n,{start:{line:i,character:a},end:{line:e.endLine,character:e.endColumn}},t,e.hidden)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let t of eK(this.grammar))eD.isInstance(t,M)&&this.grammarElementIdMap.set(t,e++)}}function dI(e){return{documentation:{CommentProvider:e=>new dE(e),DocumentationProvider:e=>new dA(e)},parser:{AsyncParser:e=>new dk(e),GrammarConfig:e=>(function(e){let t=[];for(let n of e.Grammar.rules){var r;es(n)&&(r=n).hidden&&!te(tu(r))&&function(e){try{return"string"==typeof e&&(e=new RegExp(e)),e=e.toString(),e5.reset(e),e5.visit(e7.pattern(e)),e5.multiline}catch{return!1}}
125(tu(n))&&t.push(n.name)}return{multilineCommentRules:t,nameRegexp:I}})(e),LangiumParser:e=>(function(e){let t=function(e){let t=e.Grammar,r=e.parser.Lexer;return ct(t,new u3(e),r.definition)}(e);return t.finalize(),t})(e),CompletionParser:e=>(function(e){let t=e.Grammar,r=e.parser.Lexer,n=new u5(e);return ct(t,n,r.definition),n.finalize(),n})(e),ValueConverter:()=>new cl,TokenBuilder:()=>new co,Lexer:e=>new dr(e),ParserErrorMessageProvider:()=>new u6,LexerErrorMessageProvider:()=>new de},workspace:{AstNodeLocator:()=>new c3,AstNodeDescriptionProvider:e=>new c4(e),ReferenceDescriptionProvider:e=>new c9(e)},references:{Linker:e=>new cD(e),NameProvider:()=>new cj,ScopeProvider:e=>new cq(e),ScopeComputation:e=>new cB(e),References:e=>new cU(e)},serializer:{Hydrator:e=>new db(e),JsonSerializer:e=>new cQ(e)},validation:{DocumentValidator:e=>new c1(e),ValidationRegistry:e=>new c0(e)},shared:()=>e.shared}}function dS(e){return{ServiceRegistry:e=>new cZ(e),workspace:{LangiumDocuments:e=>new cP(e),LangiumDocumentFactory:e=>new cL(e),DocumentBuilder:e=>new c6(e),IndexManager:e=>new c5(e),WorkspaceManager:e=>new c8(e),FileSystemProvider:t=>e.fileSystemProvider(t),WorkspaceLock:()=>new dx,ConfigurationProvider:e=>new c7(e)}}}function dw(e,t,r,n,i,a,s,o,l){return dN([e,t,r,n,i,a,s,o,l].reduce(dL,{}))}(p3||(p3={})).merge=(e,t)=>dL(dL({},e),t);let d_=Symbol("isProxy");function dN(e,t){let r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw Error("Cannot set property on injected service container")},get:(n,i)=>i===d_||dO(n,i,e,t||r),getOwnPropertyDescriptor:(n,i)=>(dO(n,i,e,t||r),Object.getOwnPropertyDescriptor(n,i)),has:(t,r)=>r in e,ownKeys:()=>[...Object.getOwnPropertyNames(e)]});return r}let dC=Symbol();function dO(e,t,r,n){if(t in e){if(e[t]instanceof Error)throw Error("Construction failure. Please make sure that your dependencies are constructable.",{cause:e[t]});if(e[t]===dC)throw Error('Cycle detected. Please make "'+String(t)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return e[t]}if(t in r){let i=r[t];e[t]=dC;try{e[t]="function"==typeof i?i(n):dN(i,n)}catch(r){throw e[t]=r instanceof Error?r:void 0,r}return e[t]}}function dL(e,t){if(t){for(let[r,n]of Object.entries(t))if(void 0!==n){let t=e[r];null!==t&&null!==n&&"object"==typeof t&&"object"==typeof n?e[r]=dL(t,n):e[r]=n}}return e}class dP{readFile(){throw Error("No file system is available.")}async readDirectory(){return[]}}let dM={fileSystemProvider:()=>new dP},dD={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},dj={AstReflection:()=>new eM};function dU(e){var t;let r=function(){let e=dw(dS(dM),dj),t=dw(dI({shared:e}),dD);return e.ServiceRegistry.register(t),t}(),n=r.serializer.JsonSerializer.deserialize(e);return r.shared.workspace.LangiumDocumentFactory.fromModel(n,cC.parse(`memory://${null!==(t=n.name)&&void 0!==t?t:"grammar"}.langium`)),n}var dF=Object.defineProperty,dG=(e,t)=>dF(e,"name",{value:t,configurable:!0}),dB="Statement",dK="Architecture";dG(function(e){return mf.isInstance(e,dK)},"isArchitecture");var dV="Axis",dH="Branch";dG(function(e){return mf.isInstance(e,dH)},"isBranch");var dz="Checkout",dW="CherryPicking",dY="ClassDefStatement",dq="Commit";dG(function(e){return mf.isInstance(e,dq)},"isCommit");var dX="Curve",dQ="Edge",dZ="Entry",dJ="GitGraph";dG(function(e){return mf.isInstance(e,dJ)},"isGitGraph");var d0="Group",d1="Info";dG(function(e){return mf.isInstance(e,d1)},"isInfo");var d2="Item",d4="Junction",d9="Merge";dG(function(e){return mf.isInstance(e,d9)},"isMerge");var d3="Option",d7="Packet";dG(function(e){return mf.isInstance(e,d7)},"isPacket");var d6="PacketBlock";dG(function(e){return mf.isInstance(e,d6)},"isPacketBlock"),dG(function(e){return mf.isInstance(e,"Pie")},"isPie");var d5="PieSection";dG(function(e){return mf.isInstance(e,d5)},"isPieSection");var d8="Radar",fe="Service",ft="Treemap";dG(function(e){return mf.isInstance(e,ft)},"isTreemap");var fr,fn,fi,fa,fs,fo,fl,fu,fc,fd,ff,fh,fp,fm,fg,fy,fv,fT,fR,f$,fA,fE,fk,fx,fb,fI,fS,fw,f_,fN,fC,fO,fL,fP,fM,fD,fj,fU,fF,fG,fB,fK,fV,fH,fz,fW,fY,fq,fX,fQ,fZ,fJ,f0,f1,f2,f4,f9,f3,f7,f6,f5,f8,he,ht,hr,hn,hi,ha,hs,ho,hl,hu,hc,hd,hf,hh,hp,hm,hg,hy,hv,hT,hR,h$,hA,hE,hk,hx,hb,hI,hS,hw,h_,hN,hC,hO,hL,hP,hM,hD,hj,hU,hF,hG,hB,hK,hV,hH,hz,hW,hY,hq,hX,hQ,hZ,hJ,h0,h1,h2,h4,h9,h3,h7,h6,h5,h8,pe,pt,pr,pn,pi,pa,ps,po,pl,pu,pc,pd,pf,ph,pp,pm,pg,py,pv,pT,pR,p$,pA,pE,pk,px,pb,pI,pS,pw,p_,pN,pC,pO,pL,pP,pM,pD,pj,pU,pF,pG,pB,pK,pV,pH,pz,pW,pY,pq,pX,pQ,pZ,pJ,p0,p1,p2,p4,p9,p3,p7,p6,p5,p8,me,mt,mr,mn,mi,ma,ms,mo="TreemapRow",ml="Direction",mu="Leaf",mc="Section",md=(dG(p7=class extends p{getAllTypes(){return[dK,dV,dH,dz,dW,dY,dq,dX,ml,dQ,dZ,dJ,d0,d1,d2,d4,mu,d9,d3,d7,d6,"Pie",d5,d8,mc,fe,dB,ft,mo]}computeIsSubtype(e,t){switch(e){case dH:case dz:case dW:case dq:case d9:return this.isSubtype(dB,t);case ml:return this.isSubtype(dJ,t);case mu:case mc:return this.isSubtype(d2,t);default:return!1}}getReferenceType(e){let t=`${e.container.$type}:${e.property}`;if("Entry:axis"===t)return dV;throw Error(`${t} is not a valid reference id.`)}getTypeMetaData(e){switch(e){case dK:return{name:dK,properties:[{name:"accDescr"},{name:"accTitle"},{name:"edges",defaultValue:[]},{name:"groups",defaultValue:[]},{name:"junctions",defaultValue:[]},{name:"services",defaultValue:[]},{name:"title"}]};case dV:return{name:dV,properties:[{name:"label"},{name:"name"}]};case dH:return{name:dH,properties:[{name:"name"},{name:"order"}]};case dz:return{name:dz,properties:[{name:"branch"}]};case dW:return{name:dW,properties:[{name:"id"},{name:"parent"},{name:"tags",defaultValue:[]}]};case dY:return{name:dY,properties:[{name:"className"},{name:"styleText"}]};case dq:return{name:dq,properties:[{name:"id"},{name:"message"},{name:"tags",defaultValue:[]},{name:"type"}]};case dX:return{name:dX,properties:[{name:"entries",defaultValue:[]},{name:"label"},{name:"name"}]};case dQ:return{name:dQ,properties:[{name:"lhsDir"},{name:"lhsGroup",defaultValue:!1},{name:"lhsId"},{name:"lhsInto",defaultValue:!1},{name:"rhsDir"},{name:"rhsGroup",defaultValue:!1},{name:"rhsId"},{name:"rhsInto",defaultValue:!1},{name:"title"}]};case dZ:return{name:dZ,properties:[{name:"axis"},{name:"value"}]};case dJ:return{name:dJ,properties:[{name:"accDescr"},{name:"accTitle"},{name:"statements",defaultValue:[]},{name:"title"}]};case d0:return{name:d0,properties:[{name:"icon"},{name:"id"},{name:"in"},{name:"title"}]};case d1:return{name:d1,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case d2:return{name:d2,properties:[{name:"classSelector"},{name:"name"}]};case d4:return{name:d4,properties:[{name:"id"},{name:"in"}]};case d9:return{name:d9,properties:[{name:"branch"},{name:"id"},{name:"tags",defaultValue:[]},{name:"type"}]};case d3:return{name:d3,properties:[{name:"name"},{name:"value",defaultValue:!1}]};case d7:return{name:d7,properties:[{name:"accDescr"},{name:"accTitle"},{name:"blocks",defaultValue:[]},{name:"title"}]};case d6:return{name:d6,properties:[{name:"bits"},{name:"end"},{name:"label"},{name:"start"}]};
125case"Pie":return{name:"Pie",properties:[{name:"accDescr"},{name:"accTitle"},{name:"sections",defaultValue:[]},{name:"showData",defaultValue:!1},{name:"title"}]};case d5:return{name:d5,properties:[{name:"label"},{name:"value"}]};case d8:return{name:d8,properties:[{name:"accDescr"},{name:"accTitle"},{name:"axes",defaultValue:[]},{name:"curves",defaultValue:[]},{name:"options",defaultValue:[]},{name:"title"}]};case fe:return{name:fe,properties:[{name:"icon"},{name:"iconText"},{name:"id"},{name:"in"},{name:"title"}]};case ft:return{name:ft,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"},{name:"TreemapRows",defaultValue:[]}]};case mo:return{name:mo,properties:[{name:"indent"},{name:"item"}]};case ml:return{name:ml,properties:[{name:"accDescr"},{name:"accTitle"},{name:"dir"},{name:"statements",defaultValue:[]},{name:"title"}]};case mu:return{name:mu,properties:[{name:"classSelector"},{name:"name"},{name:"value"}]};case mc:return{name:mc,properties:[{name:"classSelector"},{name:"name"}]};default:return{name:e,properties:[]}}}},"MermaidAstReflection"),p7),mf=new md,mh=dG(()=>p6??(p6=dU(`{"$type":"Grammar","isDeclared":true,"name":"Info","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}
125`)),"InfoGrammar"),mp=dG(()=>p5??(p5=dU(`{"$type":"Grammar","isDeclared":true,"name":"Packet","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"PacketGrammar"),mm=dG(()=>p8??(p8=dU(`{"$type":"Grammar","isDeclared":true,"name":"Pie","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"}
125,{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"}}]},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"PieGrammar"),mg=dG(()=>me??(me=dU(`{"$type":"Grammar","isDeclared":true,"name":"Architecture","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/"},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/"},"fragment":false,"hidden":false},{"$type":
125"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"ArchitectureGrammar"),my=dG(()=>mt??(mt=dU(`{"$type":"Grammar","isDeclared":true,"name":"GitGraph","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"GitGraphGrammar"),mv=dG(()=>mr??(mr=dU(`{"$type":"Grammar","isDeclared":true,"name":"Radar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"argu
125ments":[]},"deprecatedSyntax":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"}}]},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}}}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"definesHiddenTokens":false,"hiddenTokens":[],"types":[],"usedGrammars":[]}`)),"RadarGrammar"),mT=dG(()=>mn??(mn=dU(`{"$type":"Grammar","isDeclared":true,"name":"Treemap","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"}},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"}},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","}},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"?"}
125,{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@14"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammar"),mR={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},m$={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},mA={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},mE={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},mk={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},mx={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},mb={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},mI={AstReflection:dG(()=>new md,"AstReflection")},mS={Grammar:dG(()=>mh(),"Grammar"),LanguageMetaData:dG(()=>mR,"LanguageMetaData"),parser:{}},mw={Grammar:dG(()=>mp(),"Grammar"),LanguageMetaData:dG(()=>m$,"LanguageMetaData"),parser:{}},m_={Grammar:dG(()=>mm(),"Grammar"),LanguageMetaData:dG(()=>mA,"LanguageMetaData"),parser:{}},mN={Grammar:dG(()=>mg(),"Grammar"),LanguageMetaData:dG(()=>mE,"LanguageMetaData"),parser:{}},mC={Grammar:dG(()=>my(),"Grammar"),LanguageMetaData:dG(()=>mk,"LanguageMetaData"),parser:{}},mO={Grammar:dG(()=>mv(),"Grammar"),LanguageMetaData:dG(()=>mx,"LanguageMetaData"),parser:{}},mL={Grammar:dG(()=>mT(),"Grammar"),LanguageMetaData:dG(()=>mb,"LanguageMetaData"),parser:{}},mP={ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/accTitle[\t ]*:([^\n\r]*)/,TITLE:/title([\t ][^\n\r]*|)/},mM=(dG(mi=class extends cl{runConverter(e,t,r){let n=this.runCommonConverter(e,t,r);return void 0===n&&(n=this.runCustomConverter(e,t,r)),void 0===n?super.runConverter(e,t,r):n}runCommonConverter(e,t,r){let n=mP[e.name];if(void 0===n)return;let i=n.exec(t);if(null!==i){if(void 0!==i[1])return i[1].trim().replace(/[\t ]{2,}/gm," ");
125if(void 0!==i[2])return i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,` 126`)}}},"AbstractMermaidValueConverter"),mi),mD=(dG(ma=class extends mM{runCustomConverter(e,t,r){}},"CommonValueConverter"),ma),mj=(dG(ms=class extends co{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,r){let n=super.buildKeywordTokens(e,t,r);return n.forEach(e=>{this.keywords.has(e.name)&&void 0!==e.PATTERN&&(e.PATTERN=RegExp(e.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}},"AbstractMermaidTokenBuilder"),ms);dG(class extends mj{},"CommonTokenBuilder");var mU,mF=(dG(mU=class extends mj{constructor(){super(["gitGraph"])}},"GitGraphTokenBuilder"),mU),mG={parser:{TokenBuilder:dG(()=>new mF,"TokenBuilder"),ValueConverter:dG(()=>new mD,"ValueConverter")}};function mB(e=dM){let t=dw(dS(e),mI),r=dw(dI({shared:t}),mC,mG);return t.ServiceRegistry.register(r),{shared:t,GitGraph:r}}dG(mB,"createGitGraphServices");var mK,mV=(dG(mK=class extends mj{constructor(){super(["info","showInfo"])}},"InfoTokenBuilder"),mK),mH={parser:{TokenBuilder:dG(()=>new mV,"TokenBuilder"),ValueConverter:dG(()=>new mD,"ValueConverter")}};function mz(e=dM){let t=dw(dS(e),mI),r=dw(dI({shared:t}),mS,mH);return t.ServiceRegistry.register(r),{shared:t,Info:r}}dG(mz,"createInfoServices");var mW,mY=(dG(mW=class extends mj{constructor(){super(["packet"])}},"PacketTokenBuilder"),mW),mq={parser:{TokenBuilder:dG(()=>new mY,"TokenBuilder"),ValueConverter:dG(()=>new mD,"ValueConverter")}};function mX(e=dM){let t=dw(dS(e),mI),r=dw(dI({shared:t}),mw,mq);return t.ServiceRegistry.register(r),{shared:t,Packet:r}}dG(mX,"createPacketServices");var mQ,mZ,mJ=(dG(mQ=class extends mj{constructor(){super(["pie","showData"])}},"PieTokenBuilder"),mQ),m0=(dG(mZ=class extends mM{runCustomConverter(e,t,r){if("PIE_SECTION_LABEL"===e.name)return t.replace(/"/g,"").trim()}},"PieValueConverter"),mZ),m1={parser:{TokenBuilder:dG(()=>new mJ,"TokenBuilder"),ValueConverter:dG(()=>new m0,"ValueConverter")}};function m2(e=dM){let t=dw(dS(e),mI),r=dw(dI({shared:t}),m_,m1);return t.ServiceRegistry.register(r),{shared:t,Pie:r}}dG(m2,"createPieServices");var m4,m9,m3=(dG(m4=class extends mj{constructor(){super(["architecture"])}},"ArchitectureTokenBuilder"),m4),m7=(dG(m9=class extends mM{runCustomConverter(e,t,r){return"ARCH_ICON"===e.name?t.replace(/[()]/g,"").trim():"ARCH_TEXT_ICON"===e.name?t.replace(/["()]/g,""):"ARCH_TITLE"===e.name?t.replace(/[[\]]/g,"").trim():void 0}},"ArchitectureValueConverter"),m9),m6={parser:{TokenBuilder:dG(()=>new m3,"TokenBuilder"),ValueConverter:dG(()=>new m7,"ValueConverter")}};function m5(e=dM){let t=dw(dS(e),mI),r=dw(dI({shared:t}),mN,m6);return t.ServiceRegistry.register(r),{shared:t,Architecture:r}}dG(m5,"createArchitectureServices");var m8,ge=(dG(m8=class extends mj{constructor(){super(["radar-beta"])}},"RadarTokenBuilder"),m8),gt={parser:{TokenBuilder:dG(()=>new ge,"TokenBuilder"),ValueConverter:dG(()=>new mD,"ValueConverter")}};function gr(e=dM){let t=dw(dS(e),mI),r=dw(dI({shared:t}),mO,gt);return t.ServiceRegistry.register(r),{shared:t,Radar:r}}dG(gr,"createRadarServices");var gn,gi,ga=(dG(gn=class extends mj{constructor(){super(["treemap"])}},"TreemapTokenBuilder"),gn),gs=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,go=(dG(gi=class extends mM{runCustomConverter(e,t,r){if("NUMBER2"===e.name)return parseFloat(t.replace(/,/g,""));if("SEPARATOR"===e.name||"STRING2"===e.name)return t.substring(1,t.length-1);if("INDENTATION"===e.name)return t.length;if("ClassDef"===e.name){if("string"!=typeof t)return t;let e=gs.exec(t);if(e)return{$type:"ClassDefStatement",className:e[1],styleText:e[2]||void 0}}}},"TreemapValueConverter"),gi);function gl(e){let t=e.validation.TreemapValidator,r=e.validation.ValidationRegistry;if(r){let e={Treemap:t.checkSingleRoot.bind(t)};r.register(e,t)}}dG(gl,"registerValidationChecks");var gu,gc=(dG(gu=class{checkSingleRoot(e,t){let r;for(let n of e.TreemapRows)n.item&&(void 0===r&&void 0===n.indent?r=0:void 0===n.indent?t("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}):void 0!==r&&r>=parseInt(n.indent,10)&&t("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}))}},"TreemapValidator"),gu),gd={parser:{TokenBuilder:dG(()=>new ga,"TokenBuilder"),ValueConverter:dG(()=>new go,"ValueConverter")},validation:{TreemapValidator:dG(()=>new gc,"TreemapValidator")}};function gf(e=dM){let t=dw(dS(e),mI),r=dw(dI({shared:t}),mL,gd);return t.ServiceRegistry.register(r),gl(r),{shared:t,Treemap:r}}dG(gf,"createTreemapServices");var gh={},gp={info:dG(async()=>{let{createInfoServices:e}=await r.e(3144).then(r.bind(r,53144)),t=e().Info.parser.LangiumParser;gh.info=t},"info"),packet:dG(async()=>{let{createPacketServices:e}=await r.e(6711).then(r.bind(r,66711)),t=e().Packet.parser.LangiumParser;gh.packet=t},"packet"),pie:dG(async()=>{let{createPieServices:e}=await r.e(1905).then(r.bind(r,21905)),t=e().Pie.parser.LangiumParser;gh.pie=t},"pie"),architecture:dG(async()=>{let{createArchitectureServices:e}=await r.e(9670).then(r.bind(r,82545)),t=e().Architecture.parser.LangiumParser;gh.architecture=t},"architecture"),gitGraph:dG(async()=>{let{createGitGraphServices:e}=await r.e(8007).then(r.bind(r,68007)),t=e().GitGraph.parser.LangiumParser;gh.gitGraph=t},"gitGraph"),radar:dG(async()=>{let{createRadarServices:e}=await r.e(3365).then(r.bind(r,13365)),t=e().Radar.parser.LangiumParser;gh.radar=t},"radar"),treemap:dG(async()=>{let{createTreemapServices:e}=await r.e(1913).then(r.bind(r,11913)),t=e().Treemap.parser.LangiumParser;gh.treemap=t},"treemap")};async function gm(e,t){let r=gp[e];if(!r)throw Error(`Unknown diagram type: ${e}`);gh[e]||await r();let n=gh[e].parse(t);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new gy(n);return n.value}dG(gm,"parse");
126var gg,gy=(dG(gg=class extends Error{constructor(e){super(`Parsing failed: ${e.lexerErrors.map(e=>e.message).join(` 127`)} ${e.parserErrors.map(e=>e.message).join(` 128`)}`),this.result=e}},"MermaidParseError"),gg)}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.