@sme.up/ketchup2 2.0.0-SNAPSHOT-20250905083046 → 2.0.0-SNAPSHOT-20250905085901
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_basePickBy-CnrWHKZp.js +151 -0
- package/dist/_basePickBy-DGKSP0gv.cjs +1 -0
- package/dist/_baseUniq-CfaAVYmv.cjs +1 -0
- package/dist/_baseUniq-rrVUjaHq.js +614 -0
- package/dist/arc-Cvsmptc6.js +83 -0
- package/dist/arc-DXWJO88c.cjs +1 -0
- package/dist/architecture-O4VJ6CD3-Bg5u-0vt.js +5 -0
- package/dist/architecture-O4VJ6CD3-DaYZgGoD.cjs +1 -0
- package/dist/architectureDiagram-KFL7JDKH-Cc3SNGmS.cjs +36 -0
- package/dist/architectureDiagram-KFL7JDKH-D30vYX4H.js +4660 -0
- package/dist/blockDiagram-ZYB65J3Q-XNfNJO0n.cjs +122 -0
- package/dist/blockDiagram-ZYB65J3Q-sf1yE8If.js +2261 -0
- package/dist/c4Diagram-AAMF2YG6-BNCxdxyW.js +1580 -0
- package/dist/c4Diagram-AAMF2YG6-BTBu0vwj.cjs +10 -0
- package/dist/channel-BlMDdAyt.js +5 -0
- package/dist/channel-DeQCp9ft.cjs +1 -0
- package/dist/chunk-ANTBXLJU-B62KbLiF.js +8 -0
- package/dist/chunk-ANTBXLJU-BjQOW3U7.cjs +1 -0
- package/dist/chunk-FHKO5MBM-DWB4p0-W.js +15 -0
- package/dist/chunk-FHKO5MBM-DzOslnSz.cjs +1 -0
- package/dist/chunk-GLLZNHP4-DDFtxbSr.js +19 -0
- package/dist/chunk-GLLZNHP4-DDZwz-lX.cjs +15 -0
- package/dist/chunk-JBRWN2VN-BLY_1jNQ.cjs +165 -0
- package/dist/chunk-JBRWN2VN-D7vb9zR6.js +1375 -0
- package/dist/chunk-LXBSTHXV-BmkvPzxs.cjs +220 -0
- package/dist/chunk-LXBSTHXV-Brv31JUq.js +1370 -0
- package/dist/chunk-NRVI72HA-Bltdz_dQ.js +19 -0
- package/dist/chunk-NRVI72HA-ClkSCOVn.cjs +1 -0
- package/dist/chunk-OMD6QJNC--UN3JI3w.cjs +1 -0
- package/dist/chunk-OMD6QJNC-D64ATN0N.js +64 -0
- package/dist/chunk-WVR4S24B-0YswEo26.cjs +1 -0
- package/dist/chunk-WVR4S24B-DiP_ArIP.js +8 -0
- package/dist/classDiagram-3BZAVTQC-DWqAc0qT.cjs +1 -0
- package/dist/classDiagram-3BZAVTQC-f7jl_VZA.js +16 -0
- package/dist/classDiagram-v2-QTMF73CY-DWqAc0qT.cjs +1 -0
- package/dist/classDiagram-v2-QTMF73CY-f7jl_VZA.js +16 -0
- package/dist/clone-BWcBp581.cjs +1 -0
- package/dist/clone-BnZevyiW.js +8 -0
- package/dist/cytoscape.esm-CamnA8MN.js +18735 -0
- package/dist/cytoscape.esm-uM8noIeE.cjs +331 -0
- package/dist/dagre-2BBEFEWP-CUPOuCtr.js +444 -0
- package/dist/dagre-2BBEFEWP-DbhCjIet.cjs +4 -0
- package/dist/defaultLocale-D7EN2tov.js +171 -0
- package/dist/defaultLocale-DIVzfLaQ.cjs +1 -0
- package/dist/diagram-4IRLE6MV-CQJ20yhM.cjs +24 -0
- package/dist/diagram-4IRLE6MV-DFeMx_Rq.js +532 -0
- package/dist/diagram-GUPCWM2R-CLKZFWXo.js +142 -0
- package/dist/diagram-GUPCWM2R-DQ8Z1dVv.cjs +24 -0
- package/dist/diagram-RP2FKANI-CPEWV2Fk.js +217 -0
- package/dist/diagram-RP2FKANI-DUPB9s-y.cjs +43 -0
- package/dist/erDiagram-HZWUO2LU-C0Gk1Swz.cjs +60 -0
- package/dist/erDiagram-HZWUO2LU-CyY2HjMf.js +841 -0
- package/dist/flowDiagram-THRYKUMA-gJkHOeSL.cjs +162 -0
- package/dist/flowDiagram-THRYKUMA-w-8EX9wZ.js +1620 -0
- package/dist/ganttDiagram-WV7ZQ7D5-CmPXBktC.js +2504 -0
- package/dist/ganttDiagram-WV7ZQ7D5-DATuP_Ex.cjs +267 -0
- package/dist/gitGraph-ZV4HHKMB-BXu_2mfy.js +5 -0
- package/dist/gitGraph-ZV4HHKMB-e_eUYuE2.cjs +1 -0
- package/dist/gitGraphDiagram-OJR772UL-D7Q38-er.js +699 -0
- package/dist/gitGraphDiagram-OJR772UL-vqgYdo84.cjs +65 -0
- package/dist/graph-D2z8dVgI.cjs +1 -0
- package/dist/graph-fWVDVASg.js +247 -0
- package/dist/index-CBHQ10D6.js +23234 -0
- package/dist/index-CH3q61Aa.cjs +266 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/info-63CPKGFF-B6aHvvSX.js +5 -0
- package/dist/info-63CPKGFF-B7Bgcqhg.cjs +1 -0
- package/dist/infoDiagram-DDUCL6P7-Bb42gyGF.cjs +2 -0
- package/dist/infoDiagram-DDUCL6P7-G8W4Cyzb.js +24 -0
- package/dist/init-CHZsXQcr.cjs +1 -0
- package/dist/init-DjUOC4st.js +16 -0
- package/dist/journeyDiagram-FFXJYRFH-Bck7isLB.js +836 -0
- package/dist/journeyDiagram-FFXJYRFH-DFTMezSW.cjs +139 -0
- package/dist/kanban-definition-KOZQBZVT-Bf4fYslI.cjs +89 -0
- package/dist/kanban-definition-KOZQBZVT-hP_ZGt4S.js +719 -0
- package/dist/katex-C2g-EhzP.cjs +261 -0
- package/dist/katex-CUSbq6rG.js +11692 -0
- package/dist/ketchup2.cjs.js +1 -50
- package/dist/ketchup2.css +1 -1
- package/dist/ketchup2.es.js +23 -8127
- package/dist/layout-B-lXVQQa.cjs +1 -0
- package/dist/layout-CSXO9mhe.js +1324 -0
- package/dist/linear-BZgyGW2T.cjs +1 -0
- package/dist/linear-Cx2KaZOo.js +259 -0
- package/dist/mermaid-parser.core-COPhuhoR.js +12966 -0
- package/dist/mermaid-parser.core-DgsyN-z8.cjs +128 -0
- package/dist/mindmap-definition-LNHGMQRG-DJsQpf8y.cjs +95 -0
- package/dist/mindmap-definition-LNHGMQRG-DQUm__JP.js +3230 -0
- package/dist/ordinal-CagbB1m8.cjs +1 -0
- package/dist/ordinal-DfAQgscy.js +61 -0
- package/dist/packet-HUATNLJX-C2VUbl0T.js +5 -0
- package/dist/packet-HUATNLJX-G8eR5ynJ.cjs +1 -0
- package/dist/pie-WTHONI2E-CfCIU8Tr.cjs +1 -0
- package/dist/pie-WTHONI2E-D4qp2Ay_.js +5 -0
- package/dist/pieDiagram-DBDJKBY4-DqPdbFqw.cjs +30 -0
- package/dist/pieDiagram-DBDJKBY4-nGyOC7-l.js +161 -0
- package/dist/quadrantDiagram-YPSRARAO-DF8AYAxY.cjs +7 -0
- package/dist/quadrantDiagram-YPSRARAO-hyzkVUsQ.js +1022 -0
- package/dist/radar-NJJJXTRR-BpgvgEoJ.cjs +1 -0
- package/dist/radar-NJJJXTRR-DJxmCfQM.js +5 -0
- package/dist/requirementDiagram-EGVEC5DT-DOtzLvFO.cjs +64 -0
- package/dist/requirementDiagram-EGVEC5DT-RXOLhPE3.js +850 -0
- package/dist/sankeyDiagram-HRAUVNP4-CUoOlfVB.cjs +10 -0
- package/dist/sankeyDiagram-HRAUVNP4-DGFS1jVK.js +810 -0
- package/dist/sequenceDiagram-4MX5Z3NR-Cx06uio3.js +2281 -0
- package/dist/sequenceDiagram-4MX5Z3NR-DoW8n1Xr.cjs +122 -0
- package/dist/stateDiagram-UUKSUZ4H-Burg3mSA.cjs +1 -0
- package/dist/stateDiagram-UUKSUZ4H-C2OsUgT8.js +263 -0
- package/dist/stateDiagram-v2-EYPG3UTE-CVHvpjP1.cjs +1 -0
- package/dist/stateDiagram-v2-EYPG3UTE-DL1ew380.js +16 -0
- package/dist/timeline-definition-3HZDQTIS-B66f0uxR.cjs +61 -0
- package/dist/timeline-definition-3HZDQTIS-Bos8RJ8U.js +797 -0
- package/dist/treemap-75Q7IDZK-DyG1W8W-.cjs +1 -0
- package/dist/treemap-75Q7IDZK-Dynfjwww.js +5 -0
- package/dist/xychartDiagram-FDP5SA34-BzWuQtxg.js +1340 -0
- package/dist/xychartDiagram-FDP5SA34-CvgmaqN1.cjs +7 -0
- package/package.json +3 -3
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";const $=require("./index-CH3q61Aa.cjs"),m=require("./_baseUniq-CfaAVYmv.cjs"),g=require("./_basePickBy-DGKSP0gv.cjs"),Z=require("./clone-BWcBp581.cjs");var su=Object.prototype,au=su.hasOwnProperty,Te=$.createAssigner(function(n,e){if($.isPrototype(e)||$.isArrayLike(e)){$.copyObject(e,m.keys(e),n);return}for(var t in e)au.call(e,t)&&$.assignValue(n,t,e[t])});function sl(n,e,t){var r=-1,i=n.length;e<0&&(e=-e>i?0:i+e),t=t>i?i:t,t<0&&(t+=i),i=e>t?0:t-e>>>0,e>>>=0;for(var s=Array(i);++r<i;)s[r]=n[r+e];return s}function Gn(n){for(var e=-1,t=n==null?0:n.length,r=0,i=[];++e<t;){var s=n[e];s&&(i[r++]=s)}return i}function ou(n,e,t,r){for(var i=-1,s=n==null?0:n.length;++i<s;){var a=n[i];e(r,a,t(a),n)}return r}function lu(n,e,t,r){return m.baseEach(n,function(i,s,a){e(r,i,t(i),a)}),r}function cu(n,e){return function(t,r){var i=$.isArray(t)?ou:lu,s=e?e():{};return i(t,n,m.baseIteratee(r),s)}}var uu=200;function du(n,e,t,r){var i=-1,s=m.arrayIncludes,a=!0,o=n.length,l=[],c=e.length;if(!o)return l;e.length>=uu&&(s=m.cacheHas,a=!1,e=new m.SetCache(e));e:for(;++i<o;){var u=n[i],d=u;if(u=u!==0?u:0,a&&d===d){for(var h=c;h--;)if(e[h]===d)continue e;l.push(u)}else s(e,d,r)||l.push(u)}return l}var Zr=$.baseRest(function(n,e){return $.isArrayLikeObject(n)?du(n,m.baseFlatten(e,1,$.isArrayLikeObject,!0)):[]});function Y(n,e,t){var r=n==null?0:n.length;return r?(e=e===void 0?1:g.toInteger(e),sl(n,e<0?0:e,r)):[]}function Pn(n,e,t){var r=n==null?0:n.length;return r?(e=e===void 0?1:g.toInteger(e),e=r-e,sl(n,0,e<0?0:e)):[]}function fu(n,e){for(var t=-1,r=n==null?0:n.length;++t<r;)if(!e(n[t],t,n))return!1;return!0}function hu(n,e){var t=!0;return m.baseEach(n,function(r,i,s){return t=!!e(r,i,s),t}),t}function Ie(n,e,t){var r=$.isArray(n)?fu:hu;return r(n,m.baseIteratee(e))}function Ce(n){return n&&n.length?n[0]:void 0}function ye(n,e){return m.baseFlatten(g.map(n,e))}var pu=Object.prototype,mu=pu.hasOwnProperty,gu=cu(function(n,e,t){mu.call(n,t)?n[t].push(e):$.baseAssignValue(n,t,[e])}),yu="[object String]";function le(n){return typeof n=="string"||!$.isArray(n)&&$.isObjectLike(n)&&$.baseGetTag(n)==yu}var Tu=Math.max;function ae(n,e,t,r){n=$.isArrayLike(n)?n:m.values(n),t=t?g.toInteger(t):0;var i=n.length;return t<0&&(t=Tu(i+t,0)),le(n)?t<=i&&n.indexOf(e,t)>-1:!!i&&m.baseIndexOf(n,e,t)>-1}function Zs(n,e,t){var r=n==null?0:n.length;if(!r)return-1;var i=0;return m.baseIndexOf(n,e,i)}var Ru="[object RegExp]";function vu(n){return $.isObjectLike(n)&&$.baseGetTag(n)==Ru}var ea=$.nodeUtil&&$.nodeUtil.isRegExp,Ve=ea?$.baseUnary(ea):vu,Eu="Expected a function";function Au(n){if(typeof n!="function")throw new TypeError(Eu);return function(){var e=arguments;switch(e.length){case 0:return!n.call(this);case 1:return!n.call(this,e[0]);case 2:return!n.call(this,e[0],e[1]);case 3:return!n.call(this,e[0],e[1],e[2])}return!n.apply(this,e)}}function Ne(n,e){if(n==null)return{};var t=m.arrayMap(m.getAllKeysIn(n),function(r){return[r]});return e=m.baseIteratee(e),g.basePickBy(n,t,function(r,i){return e(r,i[0])})}function ei(n,e){var t=$.isArray(n)?m.arrayFilter:m.baseFilter;return t(n,Au(m.baseIteratee(e)))}function ku(n,e){var t;return m.baseEach(n,function(r,i,s){return t=e(r,i,s),!t}),!!t}function al(n,e,t){var r=$.isArray(n)?m.arraySome:ku;return r(n,m.baseIteratee(e))}function Ss(n){return n&&n.length?m.baseUniq(n):[]}function $u(n,e){return n&&n.length?m.baseUniq(n,m.baseIteratee(e)):[]}function ne(n){return typeof n=="object"&&n!==null&&typeof n.$type=="string"}function be(n){return typeof n=="object"&&n!==null&&typeof n.$refText=="string"}function xu(n){return typeof n=="object"&&n!==null&&typeof n.name=="string"&&typeof n.type=="string"&&typeof n.path=="string"}function mr(n){return typeof n=="object"&&n!==null&&ne(n.container)&&be(n.reference)&&typeof n.message=="string"}class ol{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,t){return ne(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});const i=r[t];if(i!==void 0)return i;{const s=this.computeIsSubtype(e,t);return r[t]=s,s}}getAllSubTypes(e){const t=this.allSubtypes[e];if(t)return t;{const r=this.getAllTypes(),i=[];for(const s of r)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}}function Mn(n){return typeof n=="object"&&n!==null&&Array.isArray(n.content)}function ll(n){return typeof n=="object"&&n!==null&&typeof n.tokenType=="object"}function cl(n){return Mn(n)&&typeof n.fullText=="string"}class X{constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){const 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(){const e=this.iterator();let t=0,r=e.next();for(;!r.done;)t++,r=e.next();return t}toArray(){const e=[],t=this.iterator();let r;do r=t.next(),r.value!==void 0&&e.push(r.value);while(!r.done);return e}toSet(){return new Set(this)}toMap(e,t){const r=this.map(i=>[e?e(i):i,t?t(i):i]);return new Map(r)}toString(){return this.join()}concat(e){return new X(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),t=>{let r;if(!t.firstDone){do if(r=this.nextFn(t.first),!r.done)return r;while(!r.done);t.firstDone=!0}do if(r=t.iterator.next(),!r.done)return r;while(!r.done);return me})}join(e=","){const t=this.iterator();let r="",i,s=!1;do i=t.next(),i.done||(s&&(r+=e),r+=Su(i.value)),s=!0;while(!i.done);return r}indexOf(e,t=0){const r=this.iterator();let i=0,s=r.next();for(;!s.done;){if(i>=t&&s.value===e)return i;s=r.next(),i++}return-1}every(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(!e(r.value))return!1;r=t.next()}return!0}some(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(e(r.value))return!0;r=t.next()}return!1}forEach(e){const t=this.iterator();let r=0,i=t.next();for(;!i.done;)e(i.value,r),i=t.next(),r++}map(e){return new X(this.startFn,t=>{const{done:r,value:i}=this.nextFn(t);return r?me:{done:!1,value:e(i)}})}filter(e){return new X(this.startFn,t=>{let r;do if(r=this.nextFn(t),!r.done&&e(r.value))return r;while(!r.done);return me})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,t){const r=this.iterator();let i=t,s=r.next();for(;!s.done;)i===void 0?i=s.value:i=e(i,s.value),s=r.next();return i}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,r){const i=e.next();if(i.done)return r;const s=this.recursiveReduce(e,t,r);return s===void 0?i.value:t(s,i.value)}find(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(e(r.value))return r.value;r=t.next()}}findIndex(e){const t=this.iterator();let r=0,i=t.next();for(;!i.done;){if(e(i.value))return r;i=t.next(),r++}return-1}includes(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(r.value===e)return!0;r=t.next()}return!1}flatMap(e){return new X(()=>({this:this.startFn()}),t=>{do{if(t.iterator){const s=t.iterator.next();if(s.done)t.iterator=void 0;else return s}const{done:r,value:i}=this.nextFn(t.this);if(!r){const s=e(i);if(wr(s))t.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(t.iterator);return me})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const t=e>1?this.flat(e-1):this;return new X(()=>({this:t.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:i,value:s}=t.nextFn(r.this);if(!i)if(wr(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return me})}head(){const t=this.iterator().next();if(!t.done)return t.value}tail(e=1){return new X(()=>{const t=this.startFn();for(let r=0;r<e;r++)if(this.nextFn(t).done)return t;return t},this.nextFn)}limit(e){return new X(()=>({size:0,state:this.startFn()}),t=>(t.size++,t.size>e?me:this.nextFn(t.state)))}distinct(e){return new X(()=>({set:new Set,internalState:this.startFn()}),t=>{let r;do if(r=this.nextFn(t.internalState),!r.done){const i=e?e(r.value):r.value;if(!t.set.has(i))return t.set.add(i),r}while(!r.done);return me})}exclude(e,t){const r=new Set;for(const i of e){const s=t?t(i):i;r.add(s)}return this.filter(i=>{const s=t?t(i):i;return!r.has(s)})}}function Su(n){return typeof n=="string"?n:typeof n>"u"?"undefined":typeof n.toString=="function"?n.toString():Object.prototype.toString.call(n)}function wr(n){return!!n&&typeof n[Symbol.iterator]=="function"}const Iu=new X(()=>{},()=>me),me=Object.freeze({done:!0,value:void 0});function J(...n){if(n.length===1){const e=n[0];if(e instanceof X)return e;if(wr(e))return new X(()=>e[Symbol.iterator](),t=>t.next());if(typeof e.length=="number")return new X(()=>({index:0}),t=>t.index<e.length?{done:!1,value:e[t.index++]}:me)}return n.length>1?new X(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<n.length){const t=n[e.collIndex++];wr(t)?e.iterator=t[Symbol.iterator]():t&&typeof t.length=="number"&&(e.array=t)}}while(e.iterator||e.array||e.collIndex<n.length);return me}):Iu}class Is extends X{constructor(e,t,r){super(()=>({iterators:r?.includeRoot?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const a=i.iterators[i.iterators.length-1].next();if(a.done)i.iterators.pop();else return i.iterators.push(t(a.value)[Symbol.iterator]()),a}return me})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var Wi;(function(n){function e(s){return s.reduce((a,o)=>a+o,0)}n.sum=e;function t(s){return s.reduce((a,o)=>a*o,0)}n.product=t;function r(s){return s.reduce((a,o)=>Math.min(a,o))}n.min=r;function i(s){return s.reduce((a,o)=>Math.max(a,o))}n.max=i})(Wi||(Wi={}));function Hi(n){return new Is(n,e=>Mn(e)?e.content:[],{includeRoot:!0})}function Cu(n,e){for(;n.container;)if(n=n.container,n===e)return!0;return!1}function ji(n){return{start:{character:n.startColumn-1,line:n.startLine-1},end:{character:n.endColumn,line:n.endLine-1}}}function Lr(n){if(!n)return;const{offset:e,end:t,range:r}=n;return{range:r,offset:e,end:t,length:t-e}}var Ge;(function(n){n[n.Before=0]="Before",n[n.After=1]="After",n[n.OverlapFront=2]="OverlapFront",n[n.OverlapBack=3]="OverlapBack",n[n.Inside=4]="Inside",n[n.Outside=5]="Outside"})(Ge||(Ge={}));function Nu(n,e){if(n.end.line<e.start.line||n.end.line===e.start.line&&n.end.character<=e.start.character)return Ge.Before;if(n.start.line>e.end.line||n.start.line===e.end.line&&n.start.character>=e.end.character)return Ge.After;const t=n.start.line>e.start.line||n.start.line===e.start.line&&n.start.character>=e.start.character,r=n.end.line<e.end.line||n.end.line===e.end.line&&n.end.character<=e.end.character;return t&&r?Ge.Inside:t?Ge.OverlapBack:r?Ge.OverlapFront:Ge.Outside}function wu(n,e){return Nu(n,e)>Ge.After}const Lu=/^[\w\p{L}]$/u;function _u(n,e){if(n){const t=bu(n,!0);if(t&&ta(t,e))return t;if(cl(n)){const r=n.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=n.content[i];if(ta(s,e))return s}}}}function ta(n,e){return ll(n)&&e.includes(n.tokenType.name)}function bu(n,e=!0){for(;n.container;){const t=n.container;let r=t.content.indexOf(n);for(;r>0;){r--;const i=t.content[r];if(e||!i.hidden)return i}n=t}}class ul extends Error{constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}}function Un(n){throw new Error("Error! The input value was not handled.")}const zn="AbstractRule",qn="AbstractType",gi="Condition",na="TypeDefinition",yi="ValueLiteral",Jt="AbstractElement";function Ou(n){return M.isInstance(n,Jt)}const Yn="ArrayLiteral",Xn="ArrayType",Qt="BooleanLiteral";function Pu(n){return M.isInstance(n,Qt)}const Zt="Conjunction";function Mu(n){return M.isInstance(n,Zt)}const en="Disjunction";function Du(n){return M.isInstance(n,en)}const Jn="Grammar",Ti="GrammarImport",tn="InferredType";function dl(n){return M.isInstance(n,tn)}const nn="Interface";function fl(n){return M.isInstance(n,nn)}const Ri="NamedArgument",rn="Negation";function Fu(n){return M.isInstance(n,rn)}const Qn="NumberLiteral",Zn="Parameter",sn="ParameterReference";function Gu(n){return M.isInstance(n,sn)}const an="ParserRule";function ke(n){return M.isInstance(n,an)}const er="ReferenceType",gr="ReturnType";function Uu(n){return M.isInstance(n,gr)}const on="SimpleType";function Bu(n){return M.isInstance(n,on)}const tr="StringLiteral",Rt="TerminalRule";function ht(n){return M.isInstance(n,Rt)}const ln="Type";function hl(n){return M.isInstance(n,ln)}const vi="TypeAttribute",nr="UnionType",cn="Action";function ti(n){return M.isInstance(n,cn)}const un="Alternatives";function pl(n){return M.isInstance(n,un)}const dn="Assignment";function ot(n){return M.isInstance(n,dn)}const fn="CharacterRange";function Vu(n){return M.isInstance(n,fn)}const hn="CrossReference";function Cs(n){return M.isInstance(n,hn)}const pn="EndOfFile";function Ku(n){return M.isInstance(n,pn)}const mn="Group";function Ns(n){return M.isInstance(n,mn)}const gn="Keyword";function lt(n){return M.isInstance(n,gn)}const yn="NegatedToken";function Wu(n){return M.isInstance(n,yn)}const Tn="RegexToken";function Hu(n){return M.isInstance(n,Tn)}const Rn="RuleCall";function ct(n){return M.isInstance(n,Rn)}const vn="TerminalAlternatives";function ju(n){return M.isInstance(n,vn)}const En="TerminalGroup";function zu(n){return M.isInstance(n,En)}const An="TerminalRuleCall";function qu(n){return M.isInstance(n,An)}const kn="UnorderedGroup";function ml(n){return M.isInstance(n,kn)}const $n="UntilToken";function Yu(n){return M.isInstance(n,$n)}const xn="Wildcard";function Xu(n){return M.isInstance(n,xn)}class gl extends ol{getAllTypes(){return[Jt,zn,qn,cn,un,Yn,Xn,dn,Qt,fn,gi,Zt,hn,en,pn,Jn,Ti,mn,tn,nn,gn,Ri,yn,rn,Qn,Zn,sn,an,er,Tn,gr,Rn,on,tr,vn,En,Rt,An,ln,vi,na,nr,kn,$n,yi,xn]}computeIsSubtype(e,t){switch(e){case cn:case un:case dn:case fn:case hn:case pn:case mn:case gn:case yn:case Tn:case Rn:case vn:case En:case An:case kn:case $n:case xn:return this.isSubtype(Jt,t);case Yn:case Qn:case tr:return this.isSubtype(yi,t);case Xn:case er:case on:case nr:return this.isSubtype(na,t);case Qt:return this.isSubtype(gi,t)||this.isSubtype(yi,t);case Zt:case en:case rn:case sn:return this.isSubtype(gi,t);case tn:case nn:case ln:return this.isSubtype(qn,t);case an:return this.isSubtype(zn,t)||this.isSubtype(qn,t);case Rt:return this.isSubtype(zn,t);default:return!1}}getReferenceType(e){const t=`${e.container.$type}:${e.property}`;switch(t){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return qn;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return zn;case"Grammar:usedGrammars":return Jn;case"NamedArgument:parameter":case"ParameterReference:parameter":return Zn;case"TerminalRuleCall:rule":return Rt;default:throw new Error(`${t} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case Jt:return{name:Jt,properties:[{name:"cardinality"},{name:"lookahead"}]};case Yn:return{name:Yn,properties:[{name:"elements",defaultValue:[]}]};case Xn:return{name:Xn,properties:[{name:"elementType"}]};case Qt:return{name:Qt,properties:[{name:"true",defaultValue:!1}]};case Zt:return{name:Zt,properties:[{name:"left"},{name:"right"}]};case en:return{name:en,properties:[{name:"left"},{name:"right"}]};case Jn:return{name:Jn,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 Ti:return{name:Ti,properties:[{name:"path"}]};case tn:return{name:tn,properties:[{name:"name"}]};case nn:return{name:nn,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case Ri:return{name:Ri,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case rn:return{name:rn,properties:[{name:"value"}]};case Qn:return{name:Qn,properties:[{name:"value"}]};case Zn:return{name:Zn,properties:[{name:"name"}]};case sn:return{name:sn,properties:[{name:"parameter"}]};case an:return{name:an,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 er:return{name:er,properties:[{name:"referenceType"}]};case gr:return{name:gr,properties:[{name:"name"}]};case on:return{name:on,properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case tr:return{name:tr,properties:[{name:"value"}]};case Rt:return{name:Rt,properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case ln:return{name:ln,properties:[{name:"name"},{name:"type"}]};case vi:return{name:vi,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case nr:return{name:nr,properties:[{name:"types",defaultValue:[]}]};case cn:return{name:cn,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case un:return{name:un,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case dn:return{name:dn,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case fn:return{name:fn,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case hn:return{name:hn,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case pn:return{name:pn,properties:[{name:"cardinality"},{name:"lookahead"}]};case mn:return{name:mn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case gn:return{name:gn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case yn:return{name:yn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case Tn:return{name:Tn,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case Rn:return{name:Rn,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case vn:return{name:vn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case En:return{name:En,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case An:return{name:An,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case kn:return{name:kn,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case $n:return{name:$n,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case xn:return{name:xn,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}const M=new gl;function Ju(n){for(const[e,t]of Object.entries(n))e.startsWith("$")||(Array.isArray(t)?t.forEach((r,i)=>{ne(r)&&(r.$container=n,r.$containerProperty=e,r.$containerIndex=i)}):ne(t)&&(t.$container=n,t.$containerProperty=e))}function ni(n,e){let t=n;for(;t;){if(e(t))return t;t=t.$container}}function He(n){const t=zi(n).$document;if(!t)throw new Error("AST node has no document.");return t}function zi(n){for(;n.$container;)n=n.$container;return n}function ws(n,e){if(!n)throw new Error("Node must be an AstNode.");const t=e?.range;return new X(()=>({keys:Object.keys(n),keyIndex:0,arrayIndex:0}),r=>{for(;r.keyIndex<r.keys.length;){const i=r.keys[r.keyIndex];if(!i.startsWith("$")){const s=n[i];if(ne(s)){if(r.keyIndex++,ra(s,t))return{done:!1,value:s}}else if(Array.isArray(s)){for(;r.arrayIndex<s.length;){const a=r.arrayIndex++,o=s[a];if(ne(o)&&ra(o,t))return{done:!1,value:o}}r.arrayIndex=0}}r.keyIndex++}return me})}function Bn(n,e){if(!n)throw new Error("Root node must be an AstNode.");return new Is(n,t=>ws(t,e))}function Et(n,e){if(!n)throw new Error("Root node must be an AstNode.");return new Is(n,t=>ws(t,e),{includeRoot:!0})}function ra(n,e){var t;if(!e)return!0;const r=(t=n.$cstNode)===null||t===void 0?void 0:t.range;return r?wu(r,e):!1}function yl(n){return new X(()=>({keys:Object.keys(n),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const t=e.keys[e.keyIndex];if(!t.startsWith("$")){const r=n[t];if(be(r))return e.keyIndex++,{done:!1,value:{reference:r,container:n,property:t}};if(Array.isArray(r)){for(;e.arrayIndex<r.length;){const i=e.arrayIndex++,s=r[i];if(be(s))return{done:!1,value:{reference:s,container:n,property:t,index:i}}}e.arrayIndex=0}}e.keyIndex++}return me})}function Qu(n,e){const t=n.getTypeMetaData(e.$type),r=e;for(const i of t.properties)i.defaultValue!==void 0&&r[i.name]===void 0&&(r[i.name]=Tl(i.defaultValue))}function Tl(n){return Array.isArray(n)?[...n.map(Tl)]:n}function w(n){return n.charCodeAt(0)}function Ei(n,e){Array.isArray(n)?n.forEach(function(t){e.push(t)}):e.push(n)}function qt(n,e){if(n[e]===!0)throw"duplicate flag "+e;n[e],n[e]=!0}function Tt(n){if(n===void 0)throw Error("Internal Error - Should never get here!");return!0}function Zu(){throw Error("Internal Error - Should never get here!")}function ia(n){return n.type==="Character"}const _r=[];for(let n=w("0");n<=w("9");n++)_r.push(n);const br=[w("_")].concat(_r);for(let n=w("a");n<=w("z");n++)br.push(n);for(let n=w("A");n<=w("Z");n++)br.push(n);const sa=[w(" "),w("\f"),w(`
|
|
2
|
+
`),w("\r"),w(" "),w("\v"),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w(" "),w("\u2028"),w("\u2029"),w(" "),w(" "),w(" "),w("\uFEFF")],ed=/[0-9a-fA-F]/,rr=/[0-9]/,td=/[1-9]/;class Rl{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("/");const t=this.disjunction();this.consumeChar("/");const 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":qt(r,"global");break;case"i":qt(r,"ignoreCase");break;case"m":qt(r,"multiLine");break;case"u":qt(r,"unicode");break;case"y":qt(r,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:t,loc:this.loc(0)}}disjunction(){const 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(){const 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(){const e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let t;switch(this.popChar()){case"=":t="Lookahead";break;case"!":t="NegativeLookahead";break}Tt(t);const r=this.disjunction();return this.consumeChar(")"),{type:t,value:r,loc:this.loc(e)}}return Zu()}quantifier(e=!1){let t;const 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"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:i,atMost:i};break;case",":let s;this.isDigit()?(s=this.integerIncludingZero(),t={atLeast:i,atMost:s}):t={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&t===void 0)return;Tt(t);break}if(!(e===!0&&t===void 0)&&Tt(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;const t=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),Tt(e))return e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[w(`
|
|
3
|
+
`),w("\r"),w("\u2028"),w("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case"d":e=_r;break;case"D":e=_r,t=!0;break;case"s":e=sa;break;case"S":e=sa,t=!0;break;case"w":e=br;break;case"W":e=br,t=!0;break}if(Tt(e))return{type:"Set",value:e,complement:t}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=w("\f");break;case"n":e=w(`
|
|
4
|
+
`);break;case"r":e=w("\r");break;case"t":e=w(" ");break;case"v":e=w("\v");break}if(Tt(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");const e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:w("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){const e=this.popChar();return{type:"Character",value:w(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
|
|
5
|
+
`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:const e=this.popChar();return{type:"Character",value:w(e)}}}characterClass(){const e=[];let t=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),t=!0);this.isClassAtom();){const r=this.classAtom();if(r.type,ia(r)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,ia(i)){if(i.value<r.value)throw Error("Range out of order in character class");e.push({from:r.value,to:i.value})}else Ei(r.value,e),e.push(w("-")),Ei(i.value,e)}else Ei(r.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:w("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;switch(this.consumeChar("("),this.peekChar(0)){case"?":this.consumeChar("?"),this.consumeChar(":"),e=!1;break;default:this.groupIdx++;break}const t=this.disjunction();this.consumeChar(")");const r={type:"Group",capturing:e,value:t};return e&&(r.idx=this.groupIdx),r}positiveInteger(){let e=this.popChar();if(td.test(e)===!1)throw Error("Expecting a positive integer");for(;rr.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(rr.test(e)===!1)throw Error("Expecting an integer");for(;rr.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){const 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:w(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 rr.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(){const e=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case`
|
|
9
|
+
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let t="";for(let i=0;i<e;i++){const s=this.popChar();if(ed.test(s)===!1)throw Error("Expecting a HexDecimal digits");t+=s}return{type:"Character",value:parseInt(t,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){const e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(e!==void 0&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}class ri{visitChildren(e){for(const t in e){const r=e[t];e.hasOwnProperty(t)&&(r.type!==void 0?this.visit(r):Array.isArray(r)&&r.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const nd=/\r?\n/gm,rd=new Rl;class id extends ri{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){const t=String.fromCharCode(e.value);if(!this.multiline&&t===`
|
|
10
|
+
`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=ii(t);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitSet(e){if(!this.multiline){const t=this.regex.substring(e.loc.begin,e.loc.end),r=new RegExp(t);this.multiline=!!`
|
|
11
|
+
`.match(r)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const t=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}}const Ai=new id;function sd(n){try{return typeof n=="string"&&(n=new RegExp(n)),n=n.toString(),Ai.reset(n),Ai.visit(rd.pattern(n)),Ai.multiline}catch{return!1}}const ad=`\f
|
|
12
|
+
\r \v \u2028\u2029 \uFEFF`.split("");function qi(n){const e=typeof n=="string"?new RegExp(n):n;return ad.some(t=>e.test(t))}function ii(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function od(n){return Array.prototype.map.call(n,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:ii(e)).join("")}function ld(n,e){const t=cd(n),r=e.match(t);return!!r&&r[0].length>0}function cd(n){typeof n=="string"&&(n=new RegExp(n));const e=n,t=n.source;let r=0;function i(){let s="",a;function o(c){s+=t.substr(r,c),r+=c}function l(c){s+="(?:"+t.substr(r,c)+"|$)",r+=c}for(;r<t.length;)switch(t[r]){case"\\":switch(t[r+1]){case"c":l(3);break;case"x":l(4);break;case"u":e.unicode?t[r+2]==="{"?l(t.indexOf("}",r)-r+1):l(6):l(2);break;case"p":case"P":e.unicode?l(t.indexOf("}",r)-r+1):l(2);break;case"k":l(t.indexOf(">",r)-r+1);break;default:l(2);break}break;case"[":a=/\[(?:\\.|.)*?\]/g,a.lastIndex=r,a=a.exec(t)||[],l(a[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":a=/\{\d+,?\d*\}/g,a.lastIndex=r,a=a.exec(t),a?o(a[0].length):l(1);break;case"(":if(t[r+1]==="?")switch(t[r+2]){case":":s+="(?:",r+=3,s+=i()+"|$)";break;case"=":s+="(?=",r+=3,s+=i()+")";break;case"!":a=r,r+=3,i(),s+=t.substr(a,r-a);break;case"<":switch(t[r+3]){case"=":case"!":a=r,r+=4,i(),s+=t.substr(a,r-a);break;default:o(t.indexOf(">",r)-r+1),s+=i()+"|$)";break}break}else o(1),s+=i()+"|$)";break;case")":return++r,s;default:l(1);break}return s}return new RegExp(i(),n.flags)}function ud(n){return n.rules.find(e=>ke(e)&&e.entry)}function dd(n){return n.rules.filter(e=>ht(e)&&e.hidden)}function vl(n,e){const t=new Set,r=ud(n);if(!r)return new Set(n.rules);const i=[r].concat(dd(n));for(const a of i)El(a,t,e);const s=new Set;for(const a of n.rules)(t.has(a.name)||ht(a)&&a.hidden)&&s.add(a);return s}function El(n,e,t){e.add(n.name),Bn(n).forEach(r=>{if(ct(r)||t){const i=r.rule.ref;i&&!e.has(i.name)&&El(i,e,t)}})}function fd(n){if(n.terminal)return n.terminal;if(n.type.ref){const e=kl(n.type.ref);return e?.terminal}}function hd(n){return n.hidden&&!qi(Os(n))}function pd(n,e){return!n||!e?[]:Ls(n,e,n.astNode,!0)}function Al(n,e,t){if(!n||!e)return;const r=Ls(n,e,n.astNode,!0);if(r.length!==0)return t!==void 0?t=Math.max(0,Math.min(t,r.length-1)):t=0,r[t]}function Ls(n,e,t,r){if(!r){const i=ni(n.grammarSource,ot);if(i&&i.feature===e)return[n]}return Mn(n)&&n.astNode===t?n.content.flatMap(i=>Ls(i,e,t,!1)):[]}function md(n,e,t){if(!n)return;const r=gd(n,e,n?.astNode);if(r.length!==0)return t!==void 0?t=Math.max(0,Math.min(t,r.length-1)):t=0,r[t]}function gd(n,e,t){if(n.astNode!==t)return[];if(lt(n.grammarSource)&&n.grammarSource.value===e)return[n];const r=Hi(n).iterator();let i;const s=[];do if(i=r.next(),!i.done){const a=i.value;a.astNode===t?lt(a.grammarSource)&&a.grammarSource.value===e&&s.push(a):r.prune()}while(!i.done);return s}function yd(n){var e;const t=n.astNode;for(;t===((e=n.container)===null||e===void 0?void 0:e.astNode);){const r=ni(n.grammarSource,ot);if(r)return r;n=n.container}}function kl(n){let e=n;return dl(e)&&(ti(e.$container)?e=e.$container.$container:ke(e.$container)?e=e.$container:Un(e.$container)),$l(n,e,new Map)}function $l(n,e,t){var r;function i(s,a){let o;return ni(s,ot)||(o=$l(a,a,t)),t.set(n,o),o}if(t.has(n))return t.get(n);t.set(n,void 0);for(const s of Bn(e)){if(ot(s)&&s.feature.toLowerCase()==="name")return t.set(n,s),s;if(ct(s)&&ke(s.rule.ref))return i(s,s.rule.ref);if(Bu(s)&&(!((r=s.typeRef)===null||r===void 0)&&r.ref))return i(s,s.typeRef.ref)}}function xl(n){return Sl(n,new Set)}function Sl(n,e){if(e.has(n))return!0;e.add(n);for(const t of Bn(n))if(ct(t)){if(!t.rule.ref||ke(t.rule.ref)&&!Sl(t.rule.ref,e))return!1}else{if(ot(t))return!1;if(ti(t))return!1}return!!n.definition}function _s(n){if(n.inferredType)return n.inferredType.name;if(n.dataType)return n.dataType;if(n.returnType){const e=n.returnType.ref;if(e){if(ke(e))return e.name;if(fl(e)||hl(e))return e.name}}}function bs(n){var e;if(ke(n))return xl(n)?n.name:(e=_s(n))!==null&&e!==void 0?e:n.name;if(fl(n)||hl(n)||Uu(n))return n.name;if(ti(n)){const t=Td(n);if(t)return t}else if(dl(n))return n.name;throw new Error("Cannot get name of Unknown Type")}function Td(n){var e;if(n.inferredType)return n.inferredType.name;if(!((e=n.type)===null||e===void 0)&&e.ref)return bs(n.type.ref)}function Rd(n){var e,t,r;return ht(n)?(t=(e=n.type)===null||e===void 0?void 0:e.name)!==null&&t!==void 0?t:"string":(r=_s(n))!==null&&r!==void 0?r:n.name}function Os(n){const e={s:!1,i:!1,u:!1},t=Wt(n.definition,e),r=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(t,r)}const Ps=/[\s\S]/.source;function Wt(n,e){if(ju(n))return vd(n);if(zu(n))return Ed(n);if(Vu(n))return $d(n);if(qu(n)){const t=n.rule.ref;if(!t)throw new Error("Missing rule reference.");return Be(Wt(t.definition),{cardinality:n.cardinality,lookahead:n.lookahead})}else{if(Wu(n))return kd(n);if(Yu(n))return Ad(n);if(Hu(n)){const t=n.regex.lastIndexOf("/"),r=n.regex.substring(1,t),i=n.regex.substring(t+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),Be(r,{cardinality:n.cardinality,lookahead:n.lookahead,wrap:!1})}else{if(Xu(n))return Be(Ps,{cardinality:n.cardinality,lookahead:n.lookahead});throw new Error(`Invalid terminal element: ${n?.$type}`)}}}function vd(n){return Be(n.elements.map(e=>Wt(e)).join("|"),{cardinality:n.cardinality,lookahead:n.lookahead})}function Ed(n){return Be(n.elements.map(e=>Wt(e)).join(""),{cardinality:n.cardinality,lookahead:n.lookahead})}function Ad(n){return Be(`${Ps}*?${Wt(n.terminal)}`,{cardinality:n.cardinality,lookahead:n.lookahead})}function kd(n){return Be(`(?!${Wt(n.terminal)})${Ps}*?`,{cardinality:n.cardinality,lookahead:n.lookahead})}function $d(n){return n.right?Be(`[${ki(n.left)}-${ki(n.right)}]`,{cardinality:n.cardinality,lookahead:n.lookahead,wrap:!1}):Be(ki(n.left),{cardinality:n.cardinality,lookahead:n.lookahead,wrap:!1})}function ki(n){return ii(n.value)}function Be(n,e){var t;return(e.wrap!==!1||e.lookahead)&&(n=`(${(t=e.lookahead)!==null&&t!==void 0?t:""}${n})`),e.cardinality?`${n}${e.cardinality}`:n}function xd(n){const e=[],t=n.Grammar;for(const r of t.rules)ht(r)&&hd(r)&&sd(Os(r))&&e.push(r.name);return{multilineCommentRules:e,nameRegexp:Lu}}function Yi(n){console&&console.error&&console.error(`Error: ${n}`)}function Il(n){console&&console.warn&&console.warn(`Warning: ${n}`)}function Cl(n){const e=new Date().getTime(),t=n();return{time:new Date().getTime()-e,value:t}}function Nl(n){function e(){}e.prototype=n;const t=new e;function r(){return typeof t.bar}return r(),r(),n}function Sd(n){return Id(n)?n.LABEL:n.name}function Id(n){return le(n.LABEL)&&n.LABEL!==""}class Oe{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),m.forEach(this.definition,t=>{t.accept(e)})}}class ie extends Oe{constructor(e){super([]),this.idx=1,Te(this,Ne(e,t=>t!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class Ht extends Oe{constructor(e){super(e.definition),this.orgText="",Te(this,Ne(e,t=>t!==void 0))}}class ce extends Oe{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Te(this,Ne(e,t=>t!==void 0))}}let Q=class extends Oe{constructor(e){super(e.definition),this.idx=1,Te(this,Ne(e,t=>t!==void 0))}};class Re extends Oe{constructor(e){super(e.definition),this.idx=1,Te(this,Ne(e,t=>t!==void 0))}}class ve extends Oe{constructor(e){super(e.definition),this.idx=1,Te(this,Ne(e,t=>t!==void 0))}}class K extends Oe{constructor(e){super(e.definition),this.idx=1,Te(this,Ne(e,t=>t!==void 0))}}class ue extends Oe{constructor(e){super(e.definition),this.idx=1,Te(this,Ne(e,t=>t!==void 0))}}class de extends Oe{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,Te(this,Ne(e,t=>t!==void 0))}}class F{constructor(e){this.idx=1,Te(this,Ne(e,t=>t!==void 0))}accept(e){e.visit(this)}}function Cd(n){return g.map(n,yr)}function yr(n){function e(t){return g.map(t,yr)}if(n instanceof ie){const t={type:"NonTerminal",name:n.nonTerminalName,idx:n.idx};return le(n.label)&&(t.label=n.label),t}else{if(n instanceof ce)return{type:"Alternative",definition:e(n.definition)};if(n instanceof Q)return{type:"Option",idx:n.idx,definition:e(n.definition)};if(n instanceof Re)return{type:"RepetitionMandatory",idx:n.idx,definition:e(n.definition)};if(n instanceof ve)return{type:"RepetitionMandatoryWithSeparator",idx:n.idx,separator:yr(new F({terminalType:n.separator})),definition:e(n.definition)};if(n instanceof ue)return{type:"RepetitionWithSeparator",idx:n.idx,separator:yr(new F({terminalType:n.separator})),definition:e(n.definition)};if(n instanceof K)return{type:"Repetition",idx:n.idx,definition:e(n.definition)};if(n instanceof de)return{type:"Alternation",idx:n.idx,definition:e(n.definition)};if(n instanceof F){const t={type:"Terminal",name:n.terminalType.name,label:Sd(n.terminalType),idx:n.idx};le(n.label)&&(t.terminalLabel=n.label);const r=n.terminalType.PATTERN;return n.terminalType.PATTERN&&(t.pattern=Ve(r)?r.source:r),t}else{if(n instanceof Ht)return{type:"Rule",name:n.name,orgText:n.orgText,definition:e(n.definition)};throw Error("non exhaustive match")}}}class jt{visit(e){const t=e;switch(t.constructor){case ie:return this.visitNonTerminal(t);case ce:return this.visitAlternative(t);case Q:return this.visitOption(t);case Re:return this.visitRepetitionMandatory(t);case ve:return this.visitRepetitionMandatoryWithSeparator(t);case ue:return this.visitRepetitionWithSeparator(t);case K:return this.visitRepetition(t);case de:return this.visitAlternation(t);case F:return this.visitTerminal(t);case Ht:return this.visitRule(t);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}function Nd(n){return n instanceof ce||n instanceof Q||n instanceof K||n instanceof Re||n instanceof ve||n instanceof ue||n instanceof F||n instanceof Ht}function Or(n,e=[]){return n instanceof Q||n instanceof K||n instanceof ue?!0:n instanceof de?al(n.definition,r=>Or(r,e)):n instanceof ie&&ae(e,n)?!1:n instanceof Oe?(n instanceof ie&&e.push(n),Ie(n.definition,r=>Or(r,e))):!1}function wd(n){return n instanceof de}function _e(n){if(n instanceof ie)return"SUBRULE";if(n instanceof Q)return"OPTION";if(n instanceof de)return"OR";if(n instanceof Re)return"AT_LEAST_ONE";if(n instanceof ve)return"AT_LEAST_ONE_SEP";if(n instanceof ue)return"MANY_SEP";if(n instanceof K)return"MANY";if(n instanceof F)return"CONSUME";throw Error("non exhaustive match")}class si{walk(e,t=[]){m.forEach(e.definition,(r,i)=>{const s=Y(e.definition,i+1);if(r instanceof ie)this.walkProdRef(r,s,t);else if(r instanceof F)this.walkTerminal(r,s,t);else if(r instanceof ce)this.walkFlat(r,s,t);else if(r instanceof Q)this.walkOption(r,s,t);else if(r instanceof Re)this.walkAtLeastOne(r,s,t);else if(r instanceof ve)this.walkAtLeastOneSep(r,s,t);else if(r instanceof ue)this.walkManySep(r,s,t);else if(r instanceof K)this.walkMany(r,s,t);else if(r instanceof de)this.walkOr(r,s,t);else throw Error("non exhaustive match")})}walkTerminal(e,t,r){}walkProdRef(e,t,r){}walkFlat(e,t,r){const i=t.concat(r);this.walk(e,i)}walkOption(e,t,r){const i=t.concat(r);this.walk(e,i)}walkAtLeastOne(e,t,r){const i=[new Q({definition:e.definition})].concat(t,r);this.walk(e,i)}walkAtLeastOneSep(e,t,r){const i=aa(e,t,r);this.walk(e,i)}walkMany(e,t,r){const i=[new Q({definition:e.definition})].concat(t,r);this.walk(e,i)}walkManySep(e,t,r){const i=aa(e,t,r);this.walk(e,i)}walkOr(e,t,r){const i=t.concat(r);m.forEach(e.definition,s=>{const a=new ce({definition:[s]});this.walk(a,i)})}}function aa(n,e,t){return[new Q({definition:[new F({terminalType:n.separator})].concat(n.definition)})].concat(e,t)}function Vn(n){if(n instanceof ie)return Vn(n.referencedRule);if(n instanceof F)return bd(n);if(Nd(n))return Ld(n);if(wd(n))return _d(n);throw Error("non exhaustive match")}function Ld(n){let e=[];const t=n.definition;let r=0,i=t.length>r,s,a=!0;for(;i&&a;)s=t[r],a=Or(s),e=e.concat(Vn(s)),r=r+1,i=t.length>r;return Ss(e)}function _d(n){const e=g.map(n.definition,t=>Vn(t));return Ss(g.flatten(e))}function bd(n){return[n.terminalType]}const wl="_~IN~_";class Od extends si{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,r){}walkProdRef(e,t,r){const i=Md(e.referencedRule,e.idx)+this.topProd.name,s=t.concat(r),a=new ce({definition:s}),o=Vn(a);this.follows[i]=o}}function Pd(n){const e={};return m.forEach(n,t=>{const r=new Od(t).startWalking();Te(e,r)}),e}function Md(n,e){return n.name+e+wl}let Tr={};const Dd=new Rl;function ai(n){const e=n.toString();if(Tr.hasOwnProperty(e))return Tr[e];{const t=Dd.pattern(e);return Tr[e]=t,t}}function Fd(){Tr={}}const Ll="Complement Sets are not supported for first char optimization",Pr=`Unable to use "first char" lexer optimizations:
|
|
13
|
+
`;function Gd(n,e=!1){try{const t=ai(n);return Xi(t.value,{},t.flags.ignoreCase)}catch(t){if(t.message===Ll)e&&Il(`${Pr} Unable to optimize: < ${n.toString()} >
|
|
14
|
+
Complement Sets cannot be automatically optimized.
|
|
15
|
+
This will disable the lexer's first char optimizations.
|
|
16
|
+
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let r="";e&&(r=`
|
|
17
|
+
This will disable the lexer's first char optimizations.
|
|
18
|
+
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),Yi(`${Pr}
|
|
19
|
+
Failed parsing: < ${n.toString()} >
|
|
20
|
+
Using the @chevrotain/regexp-to-ast library
|
|
21
|
+
Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}function Xi(n,e,t){switch(n.type){case"Disjunction":for(let i=0;i<n.value.length;i++)Xi(n.value[i],e,t);break;case"Alternative":const r=n.value;for(let i=0;i<r.length;i++){const s=r[i];switch(s.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}const a=s;switch(a.type){case"Character":ir(a.value,e,t);break;case"Set":if(a.complement===!0)throw Error(Ll);m.forEach(a.value,l=>{if(typeof l=="number")ir(l,e,t);else{const c=l;if(t===!0)for(let u=c.from;u<=c.to;u++)ir(u,e,t);else{for(let u=c.from;u<=c.to&&u<In;u++)ir(u,e,t);if(c.to>=In){const u=c.from>=In?c.from:In,d=c.to,h=je(u),f=je(d);for(let y=h;y<=f;y++)e[y]=y}}}});break;case"Group":Xi(a.value,e,t);break;default:throw Error("Non Exhaustive Match")}const o=a.quantifier!==void 0&&a.quantifier.atLeast===0;if(a.type==="Group"&&Ji(a)===!1||a.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return m.values(e)}function ir(n,e,t){const r=je(n);e[r]=r,t===!0&&Ud(n,e)}function Ud(n,e){const t=String.fromCharCode(n),r=t.toUpperCase();if(r!==t){const i=je(r.charCodeAt(0));e[i]=i}else{const i=t.toLowerCase();if(i!==t){const s=je(i.charCodeAt(0));e[s]=s}}}function oa(n,e){return g.find(n.value,t=>{if(typeof t=="number")return ae(e,t);{const r=t;return g.find(e,i=>r.from<=i&&i<=r.to)!==void 0}})}function Ji(n){const e=n.quantifier;return e&&e.atLeast===0?!0:n.value?$.isArray(n.value)?Ie(n.value,Ji):Ji(n.value):!1}class Bd extends ri{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return}super.visitChildren(e)}}visitCharacter(e){ae(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?oa(e,this.targetCharCodes)===void 0&&(this.found=!0):oa(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function Ms(n,e){if(e instanceof RegExp){const t=ai(e),r=new Bd(n);return r.visit(t),r.found}else return g.find(e,t=>ae(n,t.charCodeAt(0)))!==void 0}const ut="PATTERN",Sn="defaultMode",sr="modes";let _l=typeof new RegExp("(?:)").sticky=="boolean";function Vd(n,e){e=g.defaults(e,{useSticky:_l,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
|
|
22
|
+
`],tracer:(x,E)=>E()});const t=e.tracer;t("initCharCodeToOptimizedIndexMap",()=>{ff()});let r;t("Reject Lexer.NA",()=>{r=ei(n,x=>x[ut]===oe.NA)});let i=!1,s;t("Transform Patterns",()=>{i=!1,s=g.map(r,x=>{const E=x[ut];if(Ve(E)){const N=E.source;return N.length===1&&N!=="^"&&N!=="$"&&N!=="."&&!E.ignoreCase?N:N.length===2&&N[0]==="\\"&&!ae(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],N[1])?N[1]:e.useSticky?ca(E):la(E)}else{if($.isFunction(E))return i=!0,{exec:E};if(typeof E=="object")return i=!0,E;if(typeof E=="string"){if(E.length===1)return E;{const N=E.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),D=new RegExp(N);return e.useSticky?ca(D):la(D)}}else throw Error("non exhaustive match")}})});let a,o,l,c,u;t("misc mapping",()=>{a=g.map(r,x=>x.tokenTypeIdx),o=g.map(r,x=>{const E=x.GROUP;if(E!==oe.SKIPPED){if(le(E))return E;if(m.isUndefined(E))return!1;throw Error("non exhaustive match")}}),l=g.map(r,x=>{const E=x.LONGER_ALT;if(E)return $.isArray(E)?g.map(E,D=>Zs(r,D)):[Zs(r,E)]}),c=g.map(r,x=>x.PUSH_MODE),u=g.map(r,x=>g.has(x,"POP_MODE"))});let d;t("Line Terminator Handling",()=>{const x=Pl(e.lineTerminatorCharacters);d=g.map(r,E=>!1),e.positionTracking!=="onlyOffset"&&(d=g.map(r,E=>g.has(E,"LINE_BREAKS")?!!E.LINE_BREAKS:Ol(E,x)===!1&&Ms(x,E.PATTERN)))});let h,f,y,T;t("Misc Mapping #2",()=>{h=g.map(r,bl),f=g.map(s,cf),y=m.reduce(r,(x,E)=>{const N=E.GROUP;return le(N)&&N!==oe.SKIPPED&&(x[N]=[]),x},{}),T=g.map(s,(x,E)=>({pattern:s[E],longerAlt:l[E],canLineTerminator:d[E],isCustom:h[E],short:f[E],group:o[E],push:c[E],pop:u[E],tokenTypeIdx:a[E],tokenType:r[E]}))});let k=!0,v=[];return e.safeMode||t("First Char Optimization",()=>{v=m.reduce(r,(x,E,N)=>{if(typeof E.PATTERN=="string"){const D=E.PATTERN.charCodeAt(0),ee=je(D);$i(x,ee,T[N])}else if($.isArray(E.START_CHARS_HINT)){let D;m.forEach(E.START_CHARS_HINT,ee=>{const $e=typeof ee=="string"?ee.charCodeAt(0):ee,fe=je($e);D!==fe&&(D=fe,$i(x,fe,T[N]))})}else if(Ve(E.PATTERN))if(E.PATTERN.unicode)k=!1,e.ensureOptimizations&&Yi(`${Pr} Unable to analyze < ${E.PATTERN.toString()} > pattern.
|
|
23
|
+
The regexp unicode flag is not currently supported by the regexp-to-ast library.
|
|
24
|
+
This will disable the lexer's first char optimizations.
|
|
25
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const D=Gd(E.PATTERN,e.ensureOptimizations);$.isEmpty(D)&&(k=!1),m.forEach(D,ee=>{$i(x,ee,T[N])})}else e.ensureOptimizations&&Yi(`${Pr} TokenType: <${E.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
|
|
26
|
+
This will disable the lexer's first char optimizations.
|
|
27
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),k=!1;return x},[])}),{emptyGroups:y,patternIdxToConfig:T,charCodeToPatternIdxToConfig:v,hasCustom:i,canBeOptimized:k}}function Kd(n,e){let t=[];const r=Hd(n);t=t.concat(r.errors);const i=jd(r.valid),s=i.valid;return t=t.concat(i.errors),t=t.concat(Wd(s)),t=t.concat(ef(s)),t=t.concat(tf(s,e)),t=t.concat(nf(s)),t}function Wd(n){let e=[];const t=m.filter(n,r=>Ve(r[ut]));return e=e.concat(qd(t)),e=e.concat(Jd(t)),e=e.concat(Qd(t)),e=e.concat(Zd(t)),e=e.concat(Yd(t)),e}function Hd(n){const e=m.filter(n,i=>!g.has(i,ut)),t=g.map(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:W.MISSING_PATTERN,tokenTypes:[i]})),r=Zr(n,e);return{errors:t,valid:r}}function jd(n){const e=m.filter(n,i=>{const s=i[ut];return!Ve(s)&&!$.isFunction(s)&&!g.has(s,"exec")&&!le(s)}),t=g.map(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:W.INVALID_PATTERN,tokenTypes:[i]})),r=Zr(n,e);return{errors:t,valid:r}}const zd=/[^\\][$]/;function qd(n){class e extends ri{constructor(){super(...arguments),this.found=!1}visitEndAnchor(s){this.found=!0}}const t=m.filter(n,i=>{const s=i.PATTERN;try{const a=ai(s),o=new e;return o.visit(a),o.found}catch{return zd.test(s.source)}});return g.map(t,i=>({message:`Unexpected RegExp Anchor Error:
|
|
28
|
+
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
|
|
29
|
+
See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:W.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function Yd(n){const e=m.filter(n,r=>r.PATTERN.test(""));return g.map(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' must not match an empty string",type:W.EMPTY_MATCH_PATTERN,tokenTypes:[r]}))}const Xd=/[^\\[][\^]|^\^/;function Jd(n){class e extends ri{constructor(){super(...arguments),this.found=!1}visitStartAnchor(s){this.found=!0}}const t=m.filter(n,i=>{const s=i.PATTERN;try{const a=ai(s),o=new e;return o.visit(a),o.found}catch{return Xd.test(s.source)}});return g.map(t,i=>({message:`Unexpected RegExp Anchor Error:
|
|
30
|
+
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
|
|
31
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:W.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function Qd(n){const e=m.filter(n,r=>{const i=r[ut];return i instanceof RegExp&&(i.multiline||i.global)});return g.map(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:W.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[r]}))}function Zd(n){const e=[];let t=g.map(n,s=>m.reduce(n,(a,o)=>(s.PATTERN.source===o.PATTERN.source&&!ae(e,o)&&o.PATTERN!==oe.NA&&(e.push(o),a.push(o)),a),[]));t=Gn(t);const r=m.filter(t,s=>s.length>1);return g.map(r,s=>{const a=g.map(s,l=>l.name);return{message:`The same RegExp pattern ->${Ce(s).PATTERN}<-has been used in all of the following Token Types: ${a.join(", ")} <-`,type:W.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}})}function ef(n){const e=m.filter(n,r=>{if(!g.has(r,"GROUP"))return!1;const i=r.GROUP;return i!==oe.SKIPPED&&i!==oe.NA&&!le(i)});return g.map(e,r=>({message:"Token Type: ->"+r.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:W.INVALID_GROUP_TYPE_FOUND,tokenTypes:[r]}))}function tf(n,e){const t=m.filter(n,i=>i.PUSH_MODE!==void 0&&!ae(e,i.PUSH_MODE));return g.map(t,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:W.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function nf(n){const e=[],t=m.reduce(n,(r,i,s)=>{const a=i.PATTERN;return a===oe.NA||(le(a)?r.push({str:a,idx:s,tokenType:i}):Ve(a)&&sf(a)&&r.push({str:a.source,idx:s,tokenType:i})),r},[]);return m.forEach(n,(r,i)=>{m.forEach(t,({str:s,idx:a,tokenType:o})=>{if(i<a&&rf(s,r.PATTERN)){const l=`Token: ->${o.name}<- can never be matched.
|
|
32
|
+
Because it appears AFTER the Token Type ->${r.name}<-in the lexer's definition.
|
|
33
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:l,type:W.UNREACHABLE_PATTERN,tokenTypes:[r,o]})}})}),e}function rf(n,e){if(Ve(e)){const t=e.exec(n);return t!==null&&t.index===0}else{if($.isFunction(e))return e(n,0,[],{});if(g.has(e,"exec"))return e.exec(n,0,[],{});if(typeof e=="string")return e===n;throw Error("non exhaustive match")}}function sf(n){const e=[".","\\","[","]","|","^","$","(",")","?","*","+","{"];return g.find(e,t=>n.source.indexOf(t)!==-1)===void 0}function la(n){const e=n.ignoreCase?"i":"";return new RegExp(`^(?:${n.source})`,e)}function ca(n){const e=n.ignoreCase?"iy":"y";return new RegExp(`${n.source}`,e)}function af(n,e,t){const r=[];return g.has(n,Sn)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Sn+`> property in its definition
|
|
34
|
+
`,type:W.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),g.has(n,sr)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+sr+`> property in its definition
|
|
35
|
+
`,type:W.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),g.has(n,sr)&&g.has(n,Sn)&&!g.has(n.modes,n.defaultMode)&&r.push({message:`A MultiMode Lexer cannot be initialized with a ${Sn}: <${n.defaultMode}>which does not exist
|
|
36
|
+
`,type:W.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),g.has(n,sr)&&m.forEach(n.modes,(i,s)=>{m.forEach(i,(a,o)=>{if(m.isUndefined(a))r.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${s}> at index: <${o}>
|
|
37
|
+
`,type:W.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(g.has(a,"LONGER_ALT")){const l=$.isArray(a.LONGER_ALT)?a.LONGER_ALT:[a.LONGER_ALT];m.forEach(l,c=>{!m.isUndefined(c)&&!ae(i,c)&&r.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${c.name}> on token <${a.name}> outside of mode <${s}>
|
|
38
|
+
`,type:W.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),r}function of(n,e,t){const r=[];let i=!1;const s=Gn(g.flatten(m.values(n.modes))),a=ei(s,l=>l[ut]===oe.NA),o=Pl(t);return e&&m.forEach(a,l=>{const c=Ol(l,o);if(c!==!1){const d={message:df(l,c),type:c.issue,tokenType:l};r.push(d)}else g.has(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(i=!0):Ms(o,l.PATTERN)&&(i=!0)}),e&&!i&&r.push({message:`Warning: No LINE_BREAKS Found.
|
|
39
|
+
This Lexer has been defined to track line and column information,
|
|
40
|
+
But none of the Token Types can be identified as matching a line terminator.
|
|
41
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
|
|
42
|
+
for details.`,type:W.NO_LINE_BREAKS_FLAGS}),r}function lf(n){const e={},t=m.keys(n);return m.forEach(t,r=>{const i=n[r];if($.isArray(i))e[r]=[];else throw Error("non exhaustive match")}),e}function bl(n){const e=n.PATTERN;if(Ve(e))return!1;if($.isFunction(e))return!0;if(g.has(e,"exec"))return!0;if(le(e))return!1;throw Error("non exhaustive match")}function cf(n){return le(n)&&n.length===1?n.charCodeAt(0):!1}const uf={test:function(n){const e=n.length;for(let t=this.lastIndex;t<e;t++){const r=n.charCodeAt(t);if(r===10)return this.lastIndex=t+1,!0;if(r===13)return n.charCodeAt(t+1)===10?this.lastIndex=t+2:this.lastIndex=t+1,!0}return!1},lastIndex:0};function Ol(n,e){if(g.has(n,"LINE_BREAKS"))return!1;if(Ve(n.PATTERN)){try{Ms(e,n.PATTERN)}catch(t){return{issue:W.IDENTIFY_TERMINATOR,errMsg:t.message}}return!1}else{if(le(n.PATTERN))return!1;if(bl(n))return{issue:W.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function df(n,e){if(e.issue===W.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
|
|
43
|
+
The problem is in the <${n.name}> Token Type
|
|
44
|
+
Root cause: ${e.errMsg}.
|
|
45
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===W.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
|
|
46
|
+
The problem is in the <${n.name}> Token Type
|
|
47
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function Pl(n){return g.map(n,t=>le(t)?t.charCodeAt(0):t)}function $i(n,e,t){n[e]===void 0?n[e]=[t]:n[e].push(t)}const In=256;let Rr=[];function je(n){return n<In?n:Rr[n]}function ff(){if($.isEmpty(Rr)){Rr=new Array(65536);for(let n=0;n<65536;n++)Rr[n]=n>255?255+~~(n/255):n}}function Kn(n,e){const t=n.tokenTypeIdx;return t===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[t]===!0}function Mr(n,e){return n.tokenTypeIdx===e.tokenTypeIdx}let ua=1;const Ml={};function Wn(n){const e=hf(n);pf(e),gf(e),mf(e),m.forEach(e,t=>{t.isParent=t.categoryMatches.length>0})}function hf(n){let e=Z.clone(n),t=n,r=!0;for(;r;){t=Gn(g.flatten(g.map(t,s=>s.CATEGORIES)));const i=Zr(t,e);e=e.concat(i),$.isEmpty(i)?r=!1:t=i}return e}function pf(n){m.forEach(n,e=>{Fl(e)||(Ml[ua]=e,e.tokenTypeIdx=ua++),da(e)&&!$.isArray(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),da(e)||(e.CATEGORIES=[]),yf(e)||(e.categoryMatches=[]),Tf(e)||(e.categoryMatchesMap={})})}function mf(n){m.forEach(n,e=>{e.categoryMatches=[],m.forEach(e.categoryMatchesMap,(t,r)=>{e.categoryMatches.push(Ml[r].tokenTypeIdx)})})}function gf(n){m.forEach(n,e=>{Dl([],e)})}function Dl(n,e){m.forEach(n,t=>{e.categoryMatchesMap[t.tokenTypeIdx]=!0}),m.forEach(e.CATEGORIES,t=>{const r=n.concat(e);ae(r,t)||Dl(r,t)})}function Fl(n){return g.has(n,"tokenTypeIdx")}function da(n){return g.has(n,"CATEGORIES")}function yf(n){return g.has(n,"categoryMatches")}function Tf(n){return g.has(n,"categoryMatchesMap")}function Rf(n){return g.has(n,"tokenTypeIdx")}const Qi={buildUnableToPopLexerModeMessage(n){return`Unable to pop Lexer Mode after encountering Token ->${n.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(n,e,t,r,i){return`unexpected character: ->${n.charAt(e)}<- at offset: ${e}, skipped ${t} characters.`}};var W;(function(n){n[n.MISSING_PATTERN=0]="MISSING_PATTERN",n[n.INVALID_PATTERN=1]="INVALID_PATTERN",n[n.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",n[n.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",n[n.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",n[n.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",n[n.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",n[n.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",n[n.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",n[n.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",n[n.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",n[n.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",n[n.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",n[n.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",n[n.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",n[n.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",n[n.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",n[n.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(W||(W={}));const Cn={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
|
|
48
|
+
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Qi,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Cn);class oe{constructor(e,t=Cn){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,s)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;const a=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${a}--> <${i}>`);const{time:o,value:l}=Cl(s),c=o>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&c(`${a}<-- <${i}> time: ${o}ms`),this.traceInitIndent--,l}else return s()},typeof t=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
|
|
49
|
+
a boolean 2nd argument is no longer supported`);this.config=Te({},Cn,t);const r=this.config.traceInitPerf;r===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof r=="number"&&(this.traceInitMaxIdent=r,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,s=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Cn.lineTerminatorsPattern)this.config.lineTerminatorsPattern=uf;else if(this.config.lineTerminatorCharacters===Cn.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
|
|
50
|
+
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),$.isArray(e)?i={modes:{defaultMode:Z.clone(e)},defaultMode:Sn}:(s=!1,i=Z.clone(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(af(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(of(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},m.forEach(i.modes,(o,l)=>{i.modes[l]=ei(o,c=>m.isUndefined(c))});const a=m.keys(i.modes);if(m.forEach(i.modes,(o,l)=>{this.TRACE_INIT(`Mode: <${l}> processing`,()=>{if(this.modes.push(l),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Kd(o,a))}),$.isEmpty(this.lexerDefinitionErrors)){Wn(o);let c;this.TRACE_INIT("analyzeTokenTypes",()=>{c=Vd(o,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[l]=c.patternIdxToConfig,this.charCodeToPatternIdxToConfig[l]=c.charCodeToPatternIdxToConfig,this.emptyGroups=Te({},this.emptyGroups,c.emptyGroups),this.hasCustom=c.hasCustom||this.hasCustom,this.canModeBeOptimized[l]=c.canBeOptimized}})}),this.defaultMode=i.defaultMode,!$.isEmpty(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){const l=g.map(this.lexerDefinitionErrors,c=>c.message).join(`-----------------------
|
|
51
|
+
`);throw new Error(`Errors detected in definition of Lexer:
|
|
52
|
+
`+l)}m.forEach(this.lexerDefinitionWarning,o=>{Il(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(_l?(this.chopInput=$.identity,this.match=this.matchWithTest):(this.updateLastIndex=m.noop,this.match=this.matchWithExec),s&&(this.handleModes=m.noop),this.trackStartLines===!1&&(this.computeNewColumn=$.identity),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=m.noop),/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",()=>{const o=m.reduce(this.canModeBeOptimized,(l,c,u)=>(c===!1&&l.push(u),l),[]);if(t.ensureOptimizations&&!$.isEmpty(o))throw Error(`Lexer Modes: < ${o.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",()=>{Fd()}),this.TRACE_INIT("toFastProperties",()=>{Nl(this)})})}tokenize(e,t=this.defaultMode){if(!$.isEmpty(this.lexerDefinitionErrors)){const i=g.map(this.lexerDefinitionErrors,s=>s.message).join(`-----------------------
|
|
55
|
+
`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
|
|
56
|
+
`+i)}return this.tokenizeInternal(e,t)}tokenizeInternal(e,t){let r,i,s,a,o,l,c,u,d,h,f,y,T,k,v;const x=e,E=x.length;let N=0,D=0;const ee=this.hasCustom?0:Math.floor(e.length/10),$e=new Array(ee),fe=[];let Le=this.trackStartLines?1:void 0,Ee=this.trackStartLines?1:void 0;const S=lf(this.emptyGroups),R=this.trackStartLines,C=this.config.lineTerminatorsPattern;let I=0,b=[],_=[];const L=[],he=[];Object.freeze(he);let j;function V(){return b}function nt(te){const Ae=je(te),yt=_[Ae];return yt===void 0?he:yt}const iu=te=>{if(L.length===1&&te.tokenType.PUSH_MODE===void 0){const Ae=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(te);fe.push({offset:te.startOffset,line:te.startLine,column:te.startColumn,length:te.image.length,message:Ae})}else{L.pop();const Ae=g.last(L);b=this.patternIdxToConfig[Ae],_=this.charCodeToPatternIdxToConfig[Ae],I=b.length;const yt=this.canModeBeOptimized[Ae]&&this.config.safeMode===!1;_&&yt?j=nt:j=V}};function Xs(te){L.push(te),_=this.charCodeToPatternIdxToConfig[te],b=this.patternIdxToConfig[te],I=b.length,I=b.length;const Ae=this.canModeBeOptimized[te]&&this.config.safeMode===!1;_&&Ae?j=nt:j=V}Xs.call(this,t);let xe;const Js=this.config.recoveryEnabled;for(;N<E;){l=null;const te=x.charCodeAt(N),Ae=j(te),yt=Ae.length;for(r=0;r<yt;r++){xe=Ae[r];const pe=xe.pattern;c=null;const Pe=xe.short;if(Pe!==!1?te===Pe&&(l=pe):xe.isCustom===!0?(v=pe.exec(x,N,$e,S),v!==null?(l=v[0],v.payload!==void 0&&(c=v.payload)):l=null):(this.updateLastIndex(pe,N),l=this.match(pe,e,N)),l!==null){if(o=xe.longerAlt,o!==void 0){const We=o.length;for(s=0;s<We;s++){const Me=b[o[s]],rt=Me.pattern;if(u=null,Me.isCustom===!0?(v=rt.exec(x,N,$e,S),v!==null?(a=v[0],v.payload!==void 0&&(u=v.payload)):a=null):(this.updateLastIndex(rt,N),a=this.match(rt,e,N)),a&&a.length>l.length){l=a,c=u,xe=Me;break}}}break}}if(l!==null){if(d=l.length,h=xe.group,h!==void 0&&(f=xe.tokenTypeIdx,y=this.createTokenInstance(l,N,f,xe.tokenType,Le,Ee,d),this.handlePayload(y,c),h===!1?D=this.addToken($e,D,y):S[h].push(y)),e=this.chopInput(e,d),N=N+d,Ee=this.computeNewColumn(Ee,d),R===!0&&xe.canLineTerminator===!0){let pe=0,Pe,We;C.lastIndex=0;do Pe=C.test(l),Pe===!0&&(We=C.lastIndex-1,pe++);while(Pe===!0);pe!==0&&(Le=Le+pe,Ee=d-We,this.updateTokenEndLineColumnLocation(y,h,We,pe,Le,Ee,d))}this.handleModes(xe,iu,Xs,y)}else{const pe=N,Pe=Le,We=Ee;let Me=Js===!1;for(;Me===!1&&N<E;)for(e=this.chopInput(e,1),N++,i=0;i<I;i++){const rt=b[i],mi=rt.pattern,Qs=rt.short;if(Qs!==!1?x.charCodeAt(N)===Qs&&(Me=!0):rt.isCustom===!0?Me=mi.exec(x,N,$e,S)!==null:(this.updateLastIndex(mi,N),Me=mi.exec(e)!==null),Me===!0)break}if(T=N-pe,Ee=this.computeNewColumn(Ee,T),k=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(x,pe,T,Pe,We),fe.push({offset:pe,line:Pe,column:We,length:T,message:k}),Js===!1)break}}return this.hasCustom||($e.length=D),{tokens:$e,groups:S,errors:fe}}handleModes(e,t,r,i){if(e.pop===!0){const s=e.push;t(i),s!==void 0&&r.call(this,s)}else e.push!==void 0&&r.call(this,e.push)}chopInput(e,t){return e.substring(t)}updateLastIndex(e,t){e.lastIndex=t}updateTokenEndLineColumnLocation(e,t,r,i,s,a,o){let l,c;t!==void 0&&(l=r===o-1,c=l?-1:0,i===1&&l===!0||(e.endLine=s+c,e.endColumn=a-1+-c))}computeNewColumn(e,t){return e+t}createOffsetOnlyToken(e,t,r,i){return{image:e,startOffset:t,tokenTypeIdx:r,tokenType:i}}createStartOnlyToken(e,t,r,i,s,a){return{image:e,startOffset:t,startLine:s,startColumn:a,tokenTypeIdx:r,tokenType:i}}createFullToken(e,t,r,i,s,a,o){return{image:e,startOffset:t,endOffset:t+o-1,startLine:s,endLine:s,startColumn:a,endColumn:a+o-1,tokenTypeIdx:r,tokenType:i}}addTokenUsingPush(e,t,r){return e.push(r),t}addTokenUsingMemberAccess(e,t,r){return e[t]=r,t++,t}handlePayloadNoCustom(e,t){}handlePayloadWithCustom(e,t){t!==null&&(e.payload=t)}matchWithTest(e,t,r){return e.test(t)===!0?t.substring(r,e.lastIndex):null}matchWithExec(e,t){const r=e.exec(t);return r!==null?r[0]:null}}oe.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.";oe.NA=/NOT_APPLICABLE/;function At(n){return Gl(n)?n.LABEL:n.name}function Gl(n){return le(n.LABEL)&&n.LABEL!==""}const vf="parent",fa="categories",ha="label",pa="group",ma="push_mode",ga="pop_mode",ya="longer_alt",Ta="line_breaks",Ra="start_chars_hint";function Ul(n){return Ef(n)}function Ef(n){const e=n.pattern,t={};if(t.name=n.name,m.isUndefined(e)||(t.PATTERN=e),g.has(n,vf))throw`The parent property is no longer supported.
|
|
57
|
+
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return g.has(n,fa)&&(t.CATEGORIES=n[fa]),Wn([t]),g.has(n,ha)&&(t.LABEL=n[ha]),g.has(n,pa)&&(t.GROUP=n[pa]),g.has(n,ga)&&(t.POP_MODE=n[ga]),g.has(n,ma)&&(t.PUSH_MODE=n[ma]),g.has(n,ya)&&(t.LONGER_ALT=n[ya]),g.has(n,Ta)&&(t.LINE_BREAKS=n[Ta]),g.has(n,Ra)&&(t.START_CHARS_HINT=n[Ra]),t}const ze=Ul({name:"EOF",pattern:oe.NA});Wn([ze]);function Ds(n,e,t,r,i,s,a,o){return{image:e,startOffset:t,endOffset:r,startLine:i,endLine:s,startColumn:a,endColumn:o,tokenTypeIdx:n.tokenTypeIdx,tokenType:n}}function Bl(n,e){return Kn(n,e)}const vt={buildMismatchTokenMessage({expected:n,actual:e,previous:t,ruleName:r}){return`Expecting ${Gl(n)?`--> ${At(n)} <--`:`token of type --> ${n.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:n,ruleName:e}){return"Redundant input, expecting EOF but found: "+n.image},buildNoViableAltMessage({expectedPathsPerAlt:n,actual:e,previous:t,customUserDescription:r,ruleName:i}){const s="Expecting: ",o=`
|
|
58
|
+
but found: '`+Ce(e).image+"'";if(r)return s+r+o;{const l=m.reduce(n,(h,f)=>h.concat(f),[]),c=g.map(l,h=>`[${g.map(h,f=>At(f)).join(", ")}]`),d=`one of these possible Token sequences:
|
|
59
|
+
${g.map(c,(h,f)=>` ${f+1}. ${h}`).join(`
|
|
60
|
+
`)}`;return s+d+o}},buildEarlyExitMessage({expectedIterationPaths:n,actual:e,customUserDescription:t,ruleName:r}){const i="Expecting: ",a=`
|
|
61
|
+
but found: '`+Ce(e).image+"'";if(t)return i+t+a;{const l=`expecting at least one iteration which starts with one of these possible Token sequences::
|
|
62
|
+
<${g.map(n,c=>`[${g.map(c,u=>At(u)).join(",")}]`).join(" ,")}>`;return i+l+a}}};Object.freeze(vt);const Af={buildRuleNotFoundError(n,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
|
|
63
|
+
inside top level rule: ->`+n.name+"<-"}},at={buildDuplicateFoundError(n,e){function t(u){return u instanceof F?u.terminalType.name:u instanceof ie?u.nonTerminalName:""}const r=n.name,i=Ce(e),s=i.idx,a=_e(i),o=t(i),l=s>0;let c=`->${a}${l?s:""}<- ${o?`with argument: ->${o}<-`:""}
|
|
64
|
+
appears more than once (${e.length} times) in the top level rule: ->${r}<-.
|
|
65
|
+
For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
|
|
66
|
+
`;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,`
|
|
67
|
+
`),c},buildNamespaceConflictError(n){return`Namespace conflict found in grammar.
|
|
68
|
+
The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${n.name}>.
|
|
69
|
+
To resolve this make sure each Terminal and Non-Terminal names are unique
|
|
70
|
+
This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
|
|
71
|
+
and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(n){const e=g.map(n.prefixPath,i=>At(i)).join(", "),t=n.alternation.idx===0?"":n.alternation.idx;return`Ambiguous alternatives: <${n.ambiguityIndices.join(" ,")}> due to common lookahead prefix
|
|
72
|
+
in <OR${t}> inside <${n.topLevelRule.name}> Rule,
|
|
73
|
+
<${e}> may appears as a prefix path in all these alternatives.
|
|
74
|
+
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
|
|
75
|
+
For Further details.`},buildAlternationAmbiguityError(n){const e=g.map(n.prefixPath,i=>At(i)).join(", "),t=n.alternation.idx===0?"":n.alternation.idx;let r=`Ambiguous Alternatives Detected: <${n.ambiguityIndices.join(" ,")}> in <OR${t}> inside <${n.topLevelRule.name}> Rule,
|
|
76
|
+
<${e}> may appears as a prefix path in all these alternatives.
|
|
77
|
+
`;return r=r+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
78
|
+
For Further details.`,r},buildEmptyRepetitionError(n){let e=_e(n.repetition);return n.repetition.idx!==0&&(e+=n.repetition.idx),`The repetition <${e}> within Rule <${n.topLevelRule.name}> can never consume any tokens.
|
|
79
|
+
This could lead to an infinite loop.`},buildTokenNameError(n){return"deprecated"},buildEmptyAlternationError(n){return`Ambiguous empty alternative: <${n.emptyChoiceIdx+1}> in <OR${n.alternation.idx}> inside <${n.topLevelRule.name}> Rule.
|
|
80
|
+
Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(n){return`An Alternation cannot have more than 256 alternatives:
|
|
81
|
+
<OR${n.alternation.idx}> inside <${n.topLevelRule.name}> Rule.
|
|
82
|
+
has ${n.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(n){const e=n.topLevelRule.name,t=g.map(n.leftRecursionPath,s=>s.name),r=`${e} --> ${t.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar.
|
|
83
|
+
rule: <${e}> can be invoked from itself (directly or indirectly)
|
|
84
|
+
without consuming any Tokens. The grammar path that causes this is:
|
|
85
|
+
${r}
|
|
86
|
+
To fix this refactor your grammar to remove the left recursion.
|
|
87
|
+
see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(n){return"deprecated"},buildDuplicateRuleNameError(n){let e;return n.topLevelRule instanceof Ht?e=n.topLevelRule.name:e=n.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${n.grammarName}<-`}};function kf(n,e){const t=new $f(n,e);return t.resolveRefs(),t.errors}class $f extends jt{constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){m.forEach(m.values(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const t=this.nameToTopRule[e.nonTerminalName];if(t)e.referencedRule=t;else{const r=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:r,type:se.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class xf extends si{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=Z.clone(this.path.ruleStack).reverse(),this.occurrenceStack=Z.clone(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){const i=t.concat(r);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){$.isEmpty(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class Sf extends xf{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){const i=t.concat(r),s=new ce({definition:i});this.possibleTokTypes=Vn(s),this.found=!0}}}class oi extends si{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 If extends oi{walkMany(e,t,r){if(e.idx===this.occurrence){const i=Ce(t.concat(r));this.result.isEndOfRule=i===void 0,i instanceof F&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,t,r)}}class va extends oi{walkManySep(e,t,r){if(e.idx===this.occurrence){const i=Ce(t.concat(r));this.result.isEndOfRule=i===void 0,i instanceof F&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,t,r)}}class Cf extends oi{walkAtLeastOne(e,t,r){if(e.idx===this.occurrence){const i=Ce(t.concat(r));this.result.isEndOfRule=i===void 0,i instanceof F&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,t,r)}}class Ea extends oi{walkAtLeastOneSep(e,t,r){if(e.idx===this.occurrence){const i=Ce(t.concat(r));this.result.isEndOfRule=i===void 0,i instanceof F&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,t,r)}}function Zi(n,e,t=[]){t=Z.clone(t);let r=[],i=0;function s(o){return o.concat(Y(n,i+1))}function a(o){const l=Zi(s(o),e,t);return r.concat(l)}for(;t.length<e&&i<n.length;){const o=n[i];if(o instanceof ce)return a(o.definition);if(o instanceof ie)return a(o.definition);if(o instanceof Q)r=a(o.definition);else if(o instanceof Re){const l=o.definition.concat([new K({definition:o.definition})]);return a(l)}else if(o instanceof ve){const l=[new ce({definition:o.definition}),new K({definition:[new F({terminalType:o.separator})].concat(o.definition)})];return a(l)}else if(o instanceof ue){const l=o.definition.concat([new K({definition:[new F({terminalType:o.separator})].concat(o.definition)})]);r=a(l)}else if(o instanceof K){const l=o.definition.concat([new K({definition:o.definition})]);r=a(l)}else{if(o instanceof de)return m.forEach(o.definition,l=>{$.isEmpty(l.definition)===!1&&(r=a(l.definition))}),r;if(o instanceof F)t.push(o.terminalType);else throw Error("non exhaustive match")}i++}return r.push({partialPath:t,suffixDef:Y(n,i)}),r}function Vl(n,e,t,r){const i="EXIT_NONE_TERMINAL",s=[i],a="EXIT_ALTERNATIVE";let o=!1;const l=e.length,c=l-r-1,u=[],d=[];for(d.push({idx:-1,def:n,ruleStack:[],occurrenceStack:[]});!$.isEmpty(d);){const h=d.pop();if(h===a){o&&g.last(d).idx<=c&&d.pop();continue}const f=h.def,y=h.idx,T=h.ruleStack,k=h.occurrenceStack;if($.isEmpty(f))continue;const v=f[0];if(v===i){const x={idx:y,def:Y(f),ruleStack:Pn(T),occurrenceStack:Pn(k)};d.push(x)}else if(v instanceof F)if(y<l-1){const x=y+1,E=e[x];if(t(E,v.terminalType)){const N={idx:x,def:Y(f),ruleStack:T,occurrenceStack:k};d.push(N)}}else if(y===l-1)u.push({nextTokenType:v.terminalType,nextTokenOccurrence:v.idx,ruleStack:T,occurrenceStack:k}),o=!0;else throw Error("non exhaustive match");else if(v instanceof ie){const x=Z.clone(T);x.push(v.nonTerminalName);const E=Z.clone(k);E.push(v.idx);const N={idx:y,def:v.definition.concat(s,Y(f)),ruleStack:x,occurrenceStack:E};d.push(N)}else if(v instanceof Q){const x={idx:y,def:Y(f),ruleStack:T,occurrenceStack:k};d.push(x),d.push(a);const E={idx:y,def:v.definition.concat(Y(f)),ruleStack:T,occurrenceStack:k};d.push(E)}else if(v instanceof Re){const x=new K({definition:v.definition,idx:v.idx}),E=v.definition.concat([x],Y(f)),N={idx:y,def:E,ruleStack:T,occurrenceStack:k};d.push(N)}else if(v instanceof ve){const x=new F({terminalType:v.separator}),E=new K({definition:[x].concat(v.definition),idx:v.idx}),N=v.definition.concat([E],Y(f)),D={idx:y,def:N,ruleStack:T,occurrenceStack:k};d.push(D)}else if(v instanceof ue){const x={idx:y,def:Y(f),ruleStack:T,occurrenceStack:k};d.push(x),d.push(a);const E=new F({terminalType:v.separator}),N=new K({definition:[E].concat(v.definition),idx:v.idx}),D=v.definition.concat([N],Y(f)),ee={idx:y,def:D,ruleStack:T,occurrenceStack:k};d.push(ee)}else if(v instanceof K){const x={idx:y,def:Y(f),ruleStack:T,occurrenceStack:k};d.push(x),d.push(a);const E=new K({definition:v.definition,idx:v.idx}),N=v.definition.concat([E],Y(f)),D={idx:y,def:N,ruleStack:T,occurrenceStack:k};d.push(D)}else if(v instanceof de)for(let x=v.definition.length-1;x>=0;x--){const E=v.definition[x],N={idx:y,def:E.definition.concat(Y(f)),ruleStack:T,occurrenceStack:k};d.push(N),d.push(a)}else if(v instanceof ce)d.push({idx:y,def:v.definition.concat(Y(f)),ruleStack:T,occurrenceStack:k});else if(v instanceof Ht)d.push(Nf(v,y,T,k));else throw Error("non exhaustive match")}return u}function Nf(n,e,t,r){const i=Z.clone(t);i.push(n.name);const s=Z.clone(r);return s.push(1),{idx:e,def:n.definition,ruleStack:i,occurrenceStack:s}}var U;(function(n){n[n.OPTION=0]="OPTION",n[n.REPETITION=1]="REPETITION",n[n.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",n[n.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",n[n.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",n[n.ALTERNATION=5]="ALTERNATION"})(U||(U={}));function Fs(n){if(n instanceof Q||n==="Option")return U.OPTION;if(n instanceof K||n==="Repetition")return U.REPETITION;if(n instanceof Re||n==="RepetitionMandatory")return U.REPETITION_MANDATORY;if(n instanceof ve||n==="RepetitionMandatoryWithSeparator")return U.REPETITION_MANDATORY_WITH_SEPARATOR;if(n instanceof ue||n==="RepetitionWithSeparator")return U.REPETITION_WITH_SEPARATOR;if(n instanceof de||n==="Alternation")return U.ALTERNATION;throw Error("non exhaustive match")}function Aa(n){const{occurrence:e,rule:t,prodType:r,maxLookahead:i}=n,s=Fs(r);return s===U.ALTERNATION?li(e,t,i):ci(e,t,s,i)}function wf(n,e,t,r,i,s){const a=li(n,e,t),o=Hl(a)?Mr:Kn;return s(a,r,o,i)}function Lf(n,e,t,r,i,s){const a=ci(n,e,i,t),o=Hl(a)?Mr:Kn;return s(a[0],o,r)}function _f(n,e,t,r){const i=n.length,s=Ie(n,a=>Ie(a,o=>o.length===1));if(e)return function(a){const o=g.map(a,l=>l.GATE);for(let l=0;l<i;l++){const c=n[l],u=c.length,d=o[l];if(!(d!==void 0&&d.call(this)===!1))e:for(let h=0;h<u;h++){const f=c[h],y=f.length;for(let T=0;T<y;T++){const k=this.LA(T+1);if(t(k,f[T])===!1)continue e}return l}}};if(s&&!r){const a=g.map(n,l=>g.flatten(l)),o=m.reduce(a,(l,c,u)=>(m.forEach(c,d=>{g.has(l,d.tokenTypeIdx)||(l[d.tokenTypeIdx]=u),m.forEach(d.categoryMatches,h=>{g.has(l,h)||(l[h]=u)})}),l),{});return function(){const l=this.LA(1);return o[l.tokenTypeIdx]}}else return function(){for(let a=0;a<i;a++){const o=n[a],l=o.length;e:for(let c=0;c<l;c++){const u=o[c],d=u.length;for(let h=0;h<d;h++){const f=this.LA(h+1);if(t(f,u[h])===!1)continue e}return a}}}}function bf(n,e,t){const r=Ie(n,s=>s.length===1),i=n.length;if(r&&!t){const s=g.flatten(n);if(s.length===1&&$.isEmpty(s[0].categoryMatches)){const o=s[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===o}}else{const a=m.reduce(s,(o,l,c)=>(o[l.tokenTypeIdx]=!0,m.forEach(l.categoryMatches,u=>{o[u]=!0}),o),[]);return function(){const o=this.LA(1);return a[o.tokenTypeIdx]===!0}}}else return function(){e:for(let s=0;s<i;s++){const a=n[s],o=a.length;for(let l=0;l<o;l++){const c=this.LA(l+1);if(e(c,a[l])===!1)continue e}return!0}return!1}}class Of extends si{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,i){return e.idx===this.targetOccurrence&&this.targetProdType===t?(this.restDef=r.concat(i),!0):!1}walkOption(e,t,r){this.checkIsTarget(e,U.OPTION,t,r)||super.walkOption(e,t,r)}walkAtLeastOne(e,t,r){this.checkIsTarget(e,U.REPETITION_MANDATORY,t,r)||super.walkOption(e,t,r)}walkAtLeastOneSep(e,t,r){this.checkIsTarget(e,U.REPETITION_MANDATORY_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}walkMany(e,t,r){this.checkIsTarget(e,U.REPETITION,t,r)||super.walkOption(e,t,r)}walkManySep(e,t,r){this.checkIsTarget(e,U.REPETITION_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}}class Kl extends jt{constructor(e,t,r){super(),this.targetOccurrence=e,this.targetProdType=t,this.targetRef=r,this.result=[]}checkIsTarget(e,t){e.idx===this.targetOccurrence&&this.targetProdType===t&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,U.OPTION)}visitRepetition(e){this.checkIsTarget(e,U.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,U.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,U.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,U.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,U.ALTERNATION)}}function ka(n){const e=new Array(n);for(let t=0;t<n;t++)e[t]=[];return e}function xi(n){let e=[""];for(let t=0;t<n.length;t++){const r=n[t],i=[];for(let s=0;s<e.length;s++){const a=e[s];i.push(a+"_"+r.tokenTypeIdx);for(let o=0;o<r.categoryMatches.length;o++){const l="_"+r.categoryMatches[o];i.push(a+l)}}e=i}return e}function Pf(n,e,t){for(let r=0;r<n.length;r++){if(r===t)continue;const i=n[r];for(let s=0;s<e.length;s++){const a=e[s];if(i[a]===!0)return!1}}return!0}function Wl(n,e){const t=g.map(n,a=>Zi([a],1)),r=ka(t.length),i=g.map(t,a=>{const o={};return m.forEach(a,l=>{const c=xi(l.partialPath);m.forEach(c,u=>{o[u]=!0})}),o});let s=t;for(let a=1;a<=e;a++){const o=s;s=ka(o.length);for(let l=0;l<o.length;l++){const c=o[l];for(let u=0;u<c.length;u++){const d=c[u].partialPath,h=c[u].suffixDef,f=xi(d);if(Pf(i,f,l)||$.isEmpty(h)||d.length===e){const T=r[l];if(es(T,d)===!1){T.push(d);for(let k=0;k<f.length;k++){const v=f[k];i[l][v]=!0}}}else{const T=Zi(h,a+1,d);s[l]=s[l].concat(T),m.forEach(T,k=>{const v=xi(k.partialPath);m.forEach(v,x=>{i[l][x]=!0})})}}}}return r}function li(n,e,t,r){const i=new Kl(n,U.ALTERNATION,r);return e.accept(i),Wl(i.result,t)}function ci(n,e,t,r){const i=new Kl(n,t);e.accept(i);const s=i.result,o=new Of(e,n,t).startWalking(),l=new ce({definition:s}),c=new ce({definition:o});return Wl([l,c],r)}function es(n,e){e:for(let t=0;t<n.length;t++){const r=n[t];if(r.length===e.length){for(let i=0;i<r.length;i++){const s=e[i],a=r[i];if((s===a||a.categoryMatchesMap[s.tokenTypeIdx]!==void 0)===!1)continue e}return!0}}return!1}function Mf(n,e){return n.length<e.length&&Ie(n,(t,r)=>{const i=e[r];return t===i||i.categoryMatchesMap[t.tokenTypeIdx]})}function Hl(n){return Ie(n,e=>Ie(e,t=>Ie(t,r=>$.isEmpty(r.categoryMatches))))}function Df(n){const e=n.lookaheadStrategy.validate({rules:n.rules,tokenTypes:n.tokenTypes,grammarName:n.grammarName});return g.map(e,t=>Object.assign({type:se.CUSTOM_LOOKAHEAD_VALIDATION},t))}function Ff(n,e,t,r){const i=ye(n,l=>Gf(l,t)),s=Jf(n,e,t),a=ye(n,l=>zf(l,t)),o=ye(n,l=>Vf(l,n,r,t));return i.concat(s,a,o)}function Gf(n,e){const t=new Bf;n.accept(t);const r=t.allProductions,i=gu(r,Uf),s=Ne(i,o=>o.length>1);return g.map(m.values(s),o=>{const l=Ce(o),c=e.buildDuplicateFoundError(n,o),u=_e(l),d={message:c,type:se.DUPLICATE_PRODUCTIONS,ruleName:n.name,dslName:u,occurrence:l.idx},h=jl(l);return h&&(d.parameter=h),d})}function Uf(n){return`${_e(n)}_#_${n.idx}_#_${jl(n)}`}function jl(n){return n instanceof F?n.terminalType.name:n instanceof ie?n.nonTerminalName:""}class Bf extends jt{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}}function Vf(n,e,t,r){const i=[];if(m.reduce(e,(a,o)=>o.name===n.name?a+1:a,0)>1){const a=r.buildDuplicateRuleNameError({topLevelRule:n,grammarName:t});i.push({message:a,type:se.DUPLICATE_RULE_NAME,ruleName:n.name})}return i}function Kf(n,e,t){const r=[];let i;return ae(e,n)||(i=`Invalid rule override, rule: ->${n}<- cannot be overridden in the grammar: ->${t}<-as it is not defined in any of the super grammars `,r.push({message:i,type:se.INVALID_RULE_OVERRIDE,ruleName:n})),r}function zl(n,e,t,r=[]){const i=[],s=vr(e.definition);if($.isEmpty(s))return[];{const a=n.name;ae(s,n)&&i.push({message:t.buildLeftRecursionError({topLevelRule:n,leftRecursionPath:r}),type:se.LEFT_RECURSION,ruleName:a});const l=Zr(s,r.concat([n])),c=ye(l,u=>{const d=Z.clone(r);return d.push(u),zl(n,u,t,d)});return i.concat(c)}}function vr(n){let e=[];if($.isEmpty(n))return e;const t=Ce(n);if(t instanceof ie)e.push(t.referencedRule);else if(t instanceof ce||t instanceof Q||t instanceof Re||t instanceof ve||t instanceof ue||t instanceof K)e=e.concat(vr(t.definition));else if(t instanceof de)e=g.flatten(g.map(t.definition,s=>vr(s.definition)));else if(!(t instanceof F))throw Error("non exhaustive match");const r=Or(t),i=n.length>1;if(r&&i){const s=Y(n);return e.concat(vr(s))}else return e}class Gs extends jt{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function Wf(n,e){const t=new Gs;n.accept(t);const r=t.alternations;return ye(r,s=>{const a=Pn(s.definition);return ye(a,(o,l)=>{const c=Vl([o],[],Kn,1);return $.isEmpty(c)?[{message:e.buildEmptyAlternationError({topLevelRule:n,alternation:s,emptyChoiceIdx:l}),type:se.NONE_LAST_EMPTY_ALT,ruleName:n.name,occurrence:s.idx,alternative:l+1}]:[]})})}function Hf(n,e,t){const r=new Gs;n.accept(r);let i=r.alternations;return i=ei(i,a=>a.ignoreAmbiguities===!0),ye(i,a=>{const o=a.idx,l=a.maxLookahead||e,c=li(o,n,l,a),u=Yf(c,a,n,t),d=Xf(c,a,n,t);return u.concat(d)})}class jf extends jt{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}}function zf(n,e){const t=new Gs;n.accept(t);const r=t.alternations;return ye(r,s=>s.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:n,alternation:s}),type:se.TOO_MANY_ALTS,ruleName:n.name,occurrence:s.idx}]:[])}function qf(n,e,t){const r=[];return m.forEach(n,i=>{const s=new jf;i.accept(s);const a=s.allProductions;m.forEach(a,o=>{const l=Fs(o),c=o.maxLookahead||e,u=o.idx,h=ci(u,i,l,c)[0];if($.isEmpty(g.flatten(h))){const f=t.buildEmptyRepetitionError({topLevelRule:i,repetition:o});r.push({message:f,type:se.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),r}function Yf(n,e,t,r){const i=[],s=m.reduce(n,(o,l,c)=>(e.definition[c].ignoreAmbiguities===!0||m.forEach(l,u=>{const d=[c];m.forEach(n,(h,f)=>{c!==f&&es(h,u)&&e.definition[f].ignoreAmbiguities!==!0&&d.push(f)}),d.length>1&&!es(i,u)&&(i.push(u),o.push({alts:d,path:u}))}),o),[]);return g.map(s,o=>{const l=g.map(o.alts,u=>u+1);return{message:r.buildAlternationAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:l,prefixPath:o.path}),type:se.AMBIGUOUS_ALTS,ruleName:t.name,occurrence:e.idx,alternatives:o.alts}})}function Xf(n,e,t,r){const i=m.reduce(n,(a,o,l)=>{const c=g.map(o,u=>({idx:l,path:u}));return a.concat(c)},[]);return Gn(ye(i,a=>{if(e.definition[a.idx].ignoreAmbiguities===!0)return[];const l=a.idx,c=a.path,u=m.filter(i,h=>e.definition[h.idx].ignoreAmbiguities!==!0&&h.idx<l&&Mf(h.path,c));return g.map(u,h=>{const f=[h.idx+1,l+1],y=e.idx===0?"":e.idx;return{message:r.buildAlternationPrefixAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:f,prefixPath:h.path}),type:se.AMBIGUOUS_PREFIX_ALTS,ruleName:t.name,occurrence:y,alternatives:f}})}))}function Jf(n,e,t){const r=[],i=g.map(e,s=>s.name);return m.forEach(n,s=>{const a=s.name;if(ae(i,a)){const o=t.buildNamespaceConflictError(s);r.push({message:o,type:se.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:a})}}),r}function Qf(n){const e=g.defaults(n,{errMsgProvider:Af}),t={};return m.forEach(n.rules,r=>{t[r.name]=r}),kf(t,e.errMsgProvider)}function Zf(n){return n=g.defaults(n,{errMsgProvider:at}),Ff(n.rules,n.tokenTypes,n.errMsgProvider,n.grammarName)}const ql="MismatchedTokenException",Yl="NoViableAltException",Xl="EarlyExitException",Jl="NotAllInputParsedException",Ql=[ql,Yl,Xl,Jl];Object.freeze(Ql);function Dr(n){return ae(Ql,n.name)}class ui 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 Zl extends ui{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=ql}}class eh extends ui{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=Yl}}class th extends ui{constructor(e,t){super(e,t),this.name=Jl}}class nh extends ui{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=Xl}}const Si={},ec="InRuleRecoveryException";class rh extends Error{constructor(e){super(e),this.name=ec}}class ih{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=g.has(e,"recoveryEnabled")?e.recoveryEnabled:Ke.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=sh)}getTokenToInsert(e){const t=Ds(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,t,r,i){const s=this.findReSyncTokenType(),a=this.exportLexerState(),o=[];let l=!1;const c=this.LA(1);let u=this.LA(1);const d=()=>{const h=this.LA(0),f=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:c,previous:h,ruleName:this.getCurrRuleFullName()}),y=new Zl(f,c,this.LA(0));y.resyncedTokens=Pn(o),this.SAVE_ERROR(y)};for(;!l;)if(this.tokenMatcher(u,i)){d();return}else if(r.call(this)){d(),e.apply(this,t);return}else this.tokenMatcher(u,s)?l=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,o));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,t,r){return!(r===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))}getFollowsForInRuleRecovery(e,t){const 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)){const r=this.SKIP_TOKEN();return this.consumeToken(),r}throw new rh("sad sad panda")}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,t){if(!this.canTokenTypeBeInsertedInRecovery(e)||$.isEmpty(t))return!1;const r=this.LA(1);return g.find(t,s=>this.tokenMatcher(r,s))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const t=this.getCurrFollowKey(),r=this.getFollowSetFromFollowKey(t);return ae(r,e)}findReSyncTokenType(){const e=this.flattenFollowSet();let t=this.LA(1),r=2;for(;;){const i=g.find(e,s=>Bl(t,s));if(i!==void 0)return i;t=this.LA(r),r++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return Si;const e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(r)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,t=this.RULE_OCCURRENCE_STACK;return g.map(e,(r,i)=>i===0?Si:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:t[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){const e=g.map(this.buildFullFollowKeyStack(),t=>this.getFollowSetFromFollowKey(t));return g.flatten(e)}getFollowSetFromFollowKey(e){if(e===Si)return[ze];const t=e.ruleName+e.idxInCallingRule+wl+e.inRule;return this.resyncFollows[t]}addToResyncTokens(e,t){return this.tokenMatcher(e,ze)||t.push(e),t}reSyncTo(e){const t=[];let r=this.LA(1);for(;this.tokenMatcher(r,e)===!1;)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,t);return Pn(t)}attemptInRepetitionRecovery(e,t,r,i,s,a,o){}getCurrentGrammarPath(e,t){const r=this.getHumanReadableRuleStack(),i=Z.clone(this.RULE_OCCURRENCE_STACK);return{ruleStack:r,occurrenceStack:i,lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){return g.map(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}}function sh(n,e,t,r,i,s,a){const o=this.getKeyForAutomaticLookahead(r,i);let l=this.firstAfterRepMap[o];if(l===void 0){const h=this.getCurrRuleFullName(),f=this.getGAstProductions()[h];l=new s(f,i).startWalking(),this.firstAfterRepMap[o]=l}let c=l.token,u=l.occurrence;const d=l.isEndOfRule;this.RULE_STACK.length===1&&d&&c===void 0&&(c=ze,u=1),!(c===void 0||u===void 0)&&this.shouldInRepetitionRecoveryBeTried(c,u,a)&&this.tryInRepetitionRecovery(n,e,t,c)}const ah=4,Xe=8,tc=1<<Xe,nc=2<<Xe,ts=3<<Xe,ns=4<<Xe,rs=5<<Xe,Er=6<<Xe;function Ii(n,e,t){return t|e|n}class Us{constructor(e){var t;this.maxLookahead=(t=e?.maxLookahead)!==null&&t!==void 0?t:Ke.maxLookahead}validate(e){const t=this.validateNoLeftRecursion(e.rules);if($.isEmpty(t)){const r=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),s=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...t,...r,...i,...s]}return t}validateNoLeftRecursion(e){return ye(e,t=>zl(t,t,at))}validateEmptyOrAlternatives(e){return ye(e,t=>Wf(t,at))}validateAmbiguousAlternationAlternatives(e,t){return ye(e,r=>Hf(r,t,at))}validateSomeNonEmptyLookaheadPath(e,t){return qf(e,t,at)}buildLookaheadForAlternation(e){return wf(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,_f)}buildLookaheadForOptional(e){return Lf(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,Fs(e.prodType),bf)}}class oh{initLooksAhead(e){this.dynamicTokensEnabled=g.has(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Ke.dynamicTokensEnabled,this.maxLookahead=g.has(e,"maxLookahead")?e.maxLookahead:Ke.maxLookahead,this.lookaheadStrategy=g.has(e,"lookaheadStrategy")?e.lookaheadStrategy:new Us({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){m.forEach(e,t=>{this.TRACE_INIT(`${t.name} Rule Lookahead`,()=>{const{alternation:r,repetition:i,option:s,repetitionMandatory:a,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=ch(t);m.forEach(r,c=>{const u=c.idx===0?"":c.idx;this.TRACE_INIT(`${_e(c)}${u}`,()=>{const d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:c.idx,rule:t,maxLookahead:c.maxLookahead||this.maxLookahead,hasPredicates:c.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),h=Ii(this.fullRuleNameToShort[t.name],tc,c.idx);this.setLaFuncCache(h,d)})}),m.forEach(i,c=>{this.computeLookaheadFunc(t,c.idx,ts,"Repetition",c.maxLookahead,_e(c))}),m.forEach(s,c=>{this.computeLookaheadFunc(t,c.idx,nc,"Option",c.maxLookahead,_e(c))}),m.forEach(a,c=>{this.computeLookaheadFunc(t,c.idx,ns,"RepetitionMandatory",c.maxLookahead,_e(c))}),m.forEach(o,c=>{this.computeLookaheadFunc(t,c.idx,Er,"RepetitionMandatoryWithSeparator",c.maxLookahead,_e(c))}),m.forEach(l,c=>{this.computeLookaheadFunc(t,c.idx,rs,"RepetitionWithSeparator",c.maxLookahead,_e(c))})})})}computeLookaheadFunc(e,t,r,i,s,a){this.TRACE_INIT(`${a}${t===0?"":t}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:t,rule:e,maxLookahead:s||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),l=Ii(this.fullRuleNameToShort[e.name],r,t);this.setLaFuncCache(l,o)})}getKeyForAutomaticLookahead(e,t){const r=this.getLastExplicitRuleShortName();return Ii(r,e,t)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,t){this.lookAheadFuncsCache.set(e,t)}}class lh extends jt{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)}}const ar=new lh;function ch(n){ar.reset(),n.accept(ar);const e=ar.dslMethods;return ar.reset(),e}function $a(n,e){isNaN(n.startOffset)===!0?(n.startOffset=e.startOffset,n.endOffset=e.endOffset):n.endOffset<e.endOffset&&(n.endOffset=e.endOffset)}function xa(n,e){isNaN(n.startOffset)===!0?(n.startOffset=e.startOffset,n.startColumn=e.startColumn,n.startLine=e.startLine,n.endOffset=e.endOffset,n.endColumn=e.endColumn,n.endLine=e.endLine):n.endOffset<e.endOffset&&(n.endOffset=e.endOffset,n.endColumn=e.endColumn,n.endLine=e.endLine)}function uh(n,e,t){n.children[t]===void 0?n.children[t]=[e]:n.children[t].push(e)}function dh(n,e,t){n.children[e]===void 0?n.children[e]=[t]:n.children[e].push(t)}const fh="name";function rc(n,e){Object.defineProperty(n,fh,{enumerable:!1,configurable:!0,writable:!1,value:e})}function hh(n,e){const t=m.keys(n),r=t.length;for(let i=0;i<r;i++){const s=t[i],a=n[s],o=a.length;for(let l=0;l<o;l++){const c=a[l];c.tokenTypeIdx===void 0&&this[c.name](c.children,e)}}}function ph(n,e){const t=function(){};rc(t,n+"BaseSemantics");const r={visit:function(i,s){if($.isArray(i)&&(i=i[0]),!m.isUndefined(i))return this[i.name](i.children,s)},validateVisitor:function(){const i=gh(this,e);if(!$.isEmpty(i)){const s=g.map(i,a=>a.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
|
|
88
|
+
${s.join(`
|
|
89
|
+
|
|
90
|
+
`).replace(/\n/g,`
|
|
91
|
+
`)}`)}}};return t.prototype=r,t.prototype.constructor=t,t._RULE_NAMES=e,t}function mh(n,e,t){const r=function(){};rc(r,n+"BaseSemanticsWithDefaults");const i=Object.create(t.prototype);return m.forEach(e,s=>{i[s]=hh}),r.prototype=i,r.prototype.constructor=r,r}var is;(function(n){n[n.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",n[n.MISSING_METHOD=1]="MISSING_METHOD"})(is||(is={}));function gh(n,e){return yh(n,e)}function yh(n,e){const t=m.filter(e,i=>$.isFunction(n[i])===!1),r=g.map(t,i=>({msg:`Missing visitor method: <${i}> on ${n.constructor.name} CST Visitor.`,type:is.MISSING_METHOD,methodName:i}));return Gn(r)}class Th{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=g.has(e,"nodeLocationTracking")?e.nodeLocationTracking:Ke.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=m.noop,this.cstFinallyStateUpdate=m.noop,this.cstPostTerminal=m.noop,this.cstPostNonTerminal=m.noop,this.cstPostRule=m.noop;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=xa,this.setNodeLocationFromNode=xa,this.cstPostRule=m.noop,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=m.noop,this.setNodeLocationFromNode=m.noop,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=$a,this.setNodeLocationFromNode=$a,this.cstPostRule=m.noop,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=m.noop,this.setNodeLocationFromNode=m.noop,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=m.noop,this.setNodeLocationFromNode=m.noop,this.cstPostRule=m.noop,this.setInitialNodeLocation=m.noop;else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){const t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const t={name:e,children:Object.create(null)};this.setInitialNodeLocation(t),this.CST_STACK.push(t)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const 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){const t=this.LA(0),r=e.location;r.startOffset<=t.startOffset?r.endOffset=t.endOffset:r.startOffset=NaN}cstPostTerminal(e,t){const r=this.CST_STACK[this.CST_STACK.length-1];uh(r,t,e),this.setNodeLocationFromToken(r.location,t)}cstPostNonTerminal(e,t){const r=this.CST_STACK[this.CST_STACK.length-1];dh(r,t,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(m.isUndefined(this.baseCstVisitorConstructor)){const e=ph(this.className,m.keys(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(m.isUndefined(this.baseCstVisitorWithDefaultsConstructor)){const e=mh(this.className,m.keys(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){const e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}}class Rh{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Gr}LA(e){const t=this.currIdx+e;return t<0||this.tokVectorLength<=t?Gr: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 vh{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=Ur){if(ae(this.definedRulesNames,e)){const a={message:at.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:se.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(a)}this.definedRulesNames.push(e);const i=this.defineRule(e,t,r);return this[e]=i,i}OVERRIDE_RULE(e,t,r=Ur){const i=Kf(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);const s=this.defineRule(e,t,r);return this[e]=s,s}BACKTRACK(e,t){return function(){this.isBackTrackingStack.push(1);const r=this.saveRecogState();try{return e.apply(this,t),!0}catch(i){if(Dr(i))return!1;throw i}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Cd(m.values(this.gastProductionsCache))}}class Eh{initRecognizerEngine(e,t){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Mr,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},g.has(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($.isArray(e)){if($.isEmpty(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(typeof e[0].startOffset=="number")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($.isArray(e))this.tokensMap=m.reduce(e,(s,a)=>(s[a.name]=a,s),{});else if(g.has(e,"modes")&&Ie(g.flatten(m.values(e.modes)),Rf)){const s=g.flatten(m.values(e.modes)),a=Ss(s);this.tokensMap=m.reduce(a,(o,l)=>(o[l.name]=l,o),{})}else if($.isObject(e))this.tokensMap=Z.clone(e);else throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=ze;const r=g.has(e,"modes")?g.flatten(m.values(e.modes)):m.values(e),i=Ie(r,s=>$.isEmpty(s.categoryMatches));this.tokenMatcher=i?Mr:Kn,Wn(m.values(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'
|
|
98
|
+
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=g.has(r,"resyncEnabled")?r.resyncEnabled:Ur.resyncEnabled,s=g.has(r,"recoveryValueFunc")?r.recoveryValueFunc:Ur.recoveryValueFunc,a=this.ruleShortNameIdx<<ah+Xe;this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=e,this.fullRuleNameToShort[e]=a;let o;return this.outputCst===!0?o=function(...u){try{this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,u);const d=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(d),d}catch(d){return this.invokeRuleCatch(d,i,s)}finally{this.ruleFinallyStateUpdate()}}:o=function(...u){try{return this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,u)}catch(d){return this.invokeRuleCatch(d,i,s)}finally{this.ruleFinallyStateUpdate()}},Object.assign(o,{ruleName:e,originalGrammarAction:t})}invokeRuleCatch(e,t,r){const i=this.RULE_STACK.length===1,s=t&&!this.isBackTracking()&&this.recoveryEnabled;if(Dr(e)){const a=e;if(s){const o=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(o))if(a.resyncedTokens=this.reSyncTo(o),this.outputCst){const l=this.CST_STACK[this.CST_STACK.length-1];return l.recoveredNode=!0,l}else return r(e);else{if(this.outputCst){const l=this.CST_STACK[this.CST_STACK.length-1];l.recoveredNode=!0,a.partialCstResult=l}throw a}}else{if(i)return this.moveToTerminatedState(),r(e);throw a}}else throw e}optionInternal(e,t){const r=this.getKeyForAutomaticLookahead(nc,t);return this.optionInternalLogic(e,t,r)}optionInternalLogic(e,t,r){let i=this.getLaFuncFromCache(r),s;if(typeof e!="function"){s=e.DEF;const a=e.GATE;if(a!==void 0){const o=i;i=()=>a.call(this)&&o.call(this)}}else s=e;if(i.call(this)===!0)return s.call(this)}atLeastOneInternal(e,t){const r=this.getKeyForAutomaticLookahead(ns,e);return this.atLeastOneInternalLogic(e,t,r)}atLeastOneInternalLogic(e,t,r){let i=this.getLaFuncFromCache(r),s;if(typeof t!="function"){s=t.DEF;const a=t.GATE;if(a!==void 0){const o=i;i=()=>a.call(this)&&o.call(this)}}else s=t;if(i.call(this)===!0){let a=this.doSingleRepetition(s);for(;i.call(this)===!0&&a===!0;)a=this.doSingleRepetition(s)}else throw this.raiseEarlyExitException(e,U.REPETITION_MANDATORY,t.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],i,ns,e,Cf)}atLeastOneSepFirstInternal(e,t){const r=this.getKeyForAutomaticLookahead(Er,e);this.atLeastOneSepFirstInternalLogic(e,t,r)}atLeastOneSepFirstInternalLogic(e,t,r){const i=t.DEF,s=t.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA(1),s);for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,o,i,Ea],o,Er,e,Ea)}else throw this.raiseEarlyExitException(e,U.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG)}manyInternal(e,t){const r=this.getKeyForAutomaticLookahead(ts,e);return this.manyInternalLogic(e,t,r)}manyInternalLogic(e,t,r){let i=this.getLaFuncFromCache(r),s;if(typeof t!="function"){s=t.DEF;const o=t.GATE;if(o!==void 0){const l=i;i=()=>o.call(this)&&l.call(this)}}else s=t;let a=!0;for(;i.call(this)===!0&&a===!0;)a=this.doSingleRepetition(s);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],i,ts,e,If,a)}manySepFirstInternal(e,t){const r=this.getKeyForAutomaticLookahead(rs,e);this.manySepFirstInternalLogic(e,t,r)}manySepFirstInternalLogic(e,t,r){const i=t.DEF,s=t.SEP;if(this.getLaFuncFromCache(r).call(this)===!0){i.call(this);const o=()=>this.tokenMatcher(this.LA(1),s);for(;this.tokenMatcher(this.LA(1),s)===!0;)this.CONSUME(s),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,s,o,i,va],o,rs,e,va)}}repetitionSepSecondInternal(e,t,r,i,s){for(;r();)this.CONSUME(t),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,r,i,s],r,Er,e,s)}doSingleRepetition(e){const t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){const r=this.getKeyForAutomaticLookahead(tc,t),i=$.isArray(e)?e:e.DEF,a=this.getLaFuncFromCache(r).call(this,i);if(a!==void 0)return i[a].ALT.call(this);this.raiseNoAltException(t,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){const e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new th(t,e))}}subruleInternal(e,t,r){let i;try{const s=r!==void 0?r.ARGS:void 0;return this.subruleIdx=t,i=e.apply(this,s),this.cstPostNonTerminal(i,r!==void 0&&r.LABEL!==void 0?r.LABEL:e.ruleName),i}catch(s){throw this.subruleInternalError(s,r,e.ruleName)}}subruleInternalError(e,t,r){throw Dr(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,t!==void 0&&t.LABEL!==void 0?t.LABEL:r),delete e.partialCstResult),e}consumeInternal(e,t,r){let i;try{const s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),i=s):this.consumeInternalError(e,s,r)}catch(s){i=this.consumeInternalRecovery(e,t,s)}return this.cstPostTerminal(r!==void 0&&r.LABEL!==void 0?r.LABEL:e.name,i),i}consumeInternalError(e,t,r){let i;const s=this.LA(0);throw r!==void 0&&r.ERR_MSG?i=r.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Zl(i,t,s))}consumeInternalRecovery(e,t,r){if(this.recoveryEnabled&&r.name==="MismatchedTokenException"&&!this.isBackTracking()){const i=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,i)}catch(s){throw s.name===ec?r:s}}else throw r}saveRecogState(){const e=this.errors,t=Z.clone(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,t,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),ze)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}class Ah{initErrorHandler(e){this._errors=[],this.errorMessageProvider=g.has(e,"errorMessageProvider")?e.errorMessageProvider:Ke.errorMessageProvider}SAVE_ERROR(e){if(Dr(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:Z.clone(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return Z.clone(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,t,r){const i=this.getCurrRuleFullName(),s=this.getGAstProductions()[i],o=ci(e,s,t,this.maxLookahead)[0],l=[];for(let u=1;u<=this.maxLookahead;u++)l.push(this.LA(u));const c=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:o,actual:l,previous:this.LA(0),customUserDescription:r,ruleName:i});throw this.SAVE_ERROR(new nh(c,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){const r=this.getCurrRuleFullName(),i=this.getGAstProductions()[r],s=li(e,i,this.maxLookahead),a=[];for(let c=1;c<=this.maxLookahead;c++)a.push(this.LA(c));const o=this.LA(0),l=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:a,previous:o,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new eh(l,this.LA(1),o))}}class kh{initContentAssist(){}computeContentAssist(e,t){const r=this.gastProductionsCache[e];if(m.isUndefined(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return Vl([r],t,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){const t=Ce(e.ruleStack),i=this.getGAstProductions()[t];return new Sf(i,e).startWalking()}}const di={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(di);const Sa=!0,Ia=Math.pow(2,Xe)-1,ic=Ul({name:"RECORDING_PHASE_TOKEN",pattern:oe.NA});Wn([ic]);const sc=Ds(ic,`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(sc);const $h={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 xh{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++){const t=e>0?e:"";this[`CONSUME${t}`]=function(r,i){return this.consumeInternalRecord(r,e,i)},this[`SUBRULE${t}`]=function(r,i){return this.subruleInternalRecord(r,e,i)},this[`OPTION${t}`]=function(r){return this.optionInternalRecord(r,e)},this[`OR${t}`]=function(r){return this.orInternalRecord(r,e)},this[`MANY${t}`]=function(r){this.manyInternalRecord(e,r)},this[`MANY_SEP${t}`]=function(r){this.manySepFirstInternalRecord(e,r)},this[`AT_LEAST_ONE${t}`]=function(r){this.atLeastOneInternalRecord(e,r)},this[`AT_LEAST_ONE_SEP${t}`]=function(r){this.atLeastOneSepFirstInternalRecord(e,r)}}this.consume=function(e,t,r){return this.consumeInternalRecord(t,e,r)},this.subrule=function(e,t,r){return this.subruleInternalRecord(t,e,r)},this.option=function(e,t){return this.optionInternalRecord(t,e)},this.or=function(e,t){return this.orInternalRecord(t,e)},this.many=function(e,t){this.manyInternalRecord(e,t)},this.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{const e=this;for(let t=0;t<10;t++){const r=t>0?t:"";delete e[`CONSUME${r}`],delete e[`SUBRULE${r}`],delete e[`OPTION${r}`],delete e[`OR${r}`],delete e[`MANY${r}`],delete e[`MANY_SEP${r}`],delete e[`AT_LEAST_ONE${r}`],delete e[`AT_LEAST_ONE_SEP${r}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,t){return()=>!0}LA_RECORD(e){return Gr}topLevelRuleRecord(e,t){try{const r=new Ht({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),t.call(this),this.recordingProdStack.pop(),r}catch(r){if(r.KNOWN_RECORDER_ERROR!==!0)try{r.message=r.message+`
|
|
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 r}throw r}}optionInternalRecord(e,t){return Yt.call(this,Q,e,t)}atLeastOneInternalRecord(e,t){Yt.call(this,Re,t,e)}atLeastOneSepFirstInternalRecord(e,t){Yt.call(this,ve,t,e,Sa)}manyInternalRecord(e,t){Yt.call(this,K,t,e)}manySepFirstInternalRecord(e,t){Yt.call(this,ue,t,e,Sa)}orInternalRecord(e,t){return Sh.call(this,e,t)}subruleInternalRecord(e,t,r){if(Fr(t),!e||g.has(e,"ruleName")===!1){const o=new Error(`<SUBRULE${Ca(t)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
|
|
103
|
+
inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=g.last(this.recordingProdStack),s=e.ruleName,a=new ie({idx:t,nonTerminalName:s,label:r?.LABEL,referencedRule:void 0});return i.definition.push(a),this.outputCst?$h:di}consumeInternalRecord(e,t,r){if(Fr(t),!Fl(e)){const a=new Error(`<CONSUME${Ca(t)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
|
|
104
|
+
inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}const i=g.last(this.recordingProdStack),s=new F({idx:t,terminalType:e,label:r?.LABEL});return i.definition.push(s),sc}}function Yt(n,e,t,r=!1){Fr(t);const i=g.last(this.recordingProdStack),s=$.isFunction(e)?e:e.DEF,a=new n({definition:[],idx:t});return r&&(a.separator=e.SEP),g.has(e,"MAX_LOOKAHEAD")&&(a.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(a),s.call(this),i.definition.push(a),this.recordingProdStack.pop(),di}function Sh(n,e){Fr(e);const t=g.last(this.recordingProdStack),r=$.isArray(n)===!1,i=r===!1?n:n.DEF,s=new de({definition:[],idx:e,ignoreAmbiguities:r&&n.IGNORE_AMBIGUITIES===!0});g.has(n,"MAX_LOOKAHEAD")&&(s.maxLookahead=n.MAX_LOOKAHEAD);const a=al(i,o=>$.isFunction(o.GATE));return s.hasPredicates=a,t.definition.push(s),m.forEach(i,o=>{const l=new ce({definition:[]});s.definition.push(l),g.has(o,"IGNORE_AMBIGUITIES")?l.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:g.has(o,"GATE")&&(l.ignoreAmbiguities=!0),this.recordingProdStack.push(l),o.ALT.call(this),this.recordingProdStack.pop()}),di}function Ca(n){return n===0?"":`${n}`}function Fr(n){if(n<0||n>Ia){const e=new Error(`Invalid DSL Method idx value: <${n}>
|
|
105
|
+
Idx value must be a none negative value smaller than ${Ia+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class Ih{initPerformanceTracer(e){if(g.has(e,"traceInitPerf")){const t=e.traceInitPerf,r=typeof t=="number";this.traceInitMaxIdent=r?t:1/0,this.traceInitPerf=r?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=Ke.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;const r=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${r}--> <${e}>`);const{time:i,value:s}=Cl(t),a=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${r}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,s}else return t()}}function Ch(n,e){e.forEach(t=>{const r=t.prototype;Object.getOwnPropertyNames(r).forEach(i=>{if(i==="constructor")return;const s=Object.getOwnPropertyDescriptor(r,i);s&&(s.get||s.set)?Object.defineProperty(n.prototype,i,s):n.prototype[i]=t.prototype[i]})})}const Gr=Ds(ze,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Gr);const Ke=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:vt,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Ur=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var se;(function(n){n[n.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",n[n.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",n[n.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",n[n.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",n[n.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",n[n.LEFT_RECURSION=5]="LEFT_RECURSION",n[n.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",n[n.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",n[n.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",n[n.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",n[n.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",n[n.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",n[n.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",n[n.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(se||(se={}));function Na(n=void 0){return function(){return n}}class Hn{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;const t=this.className;this.TRACE_INIT("toFastProps",()=>{Nl(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),m.forEach(this.definedRulesNames,i=>{const a=this[i].originalGrammarAction;let o;this.TRACE_INIT(`${i} Rule`,()=>{o=this.topLevelRuleRecord(i,a)}),this.gastProductionsCache[i]=o})}finally{this.disableRecording()}});let r=[];if(this.TRACE_INIT("Grammar Resolving",()=>{r=Qf({rules:m.values(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT("Grammar Validations",()=>{if($.isEmpty(r)&&this.skipValidations===!1){const i=Zf({rules:m.values(this.gastProductionsCache),tokenTypes:m.values(this.tokensMap),errMsgProvider:at,grammarName:t}),s=Df({lookaheadStrategy:this.lookaheadStrategy,rules:m.values(this.gastProductionsCache),tokenTypes:m.values(this.tokensMap),grammarName:t});this.definitionErrors=this.definitionErrors.concat(i,s)}}),$.isEmpty(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=Pd(m.values(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,s;(s=(i=this.lookaheadStrategy).initialize)===null||s===void 0||s.call(i,{rules:m.values(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(m.values(this.gastProductionsCache))})),!Hn.DEFER_DEFINITION_ERRORS_HANDLING&&!$.isEmpty(this.definitionErrors))throw e=g.map(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected:
|
|
106
|
+
${e.join(`
|
|
107
|
+
-------------------------------
|
|
108
|
+
`)}`)})}constructor(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;const r=this;if(r.initErrorHandler(t),r.initLexerAdapter(),r.initLooksAhead(t),r.initRecognizerEngine(e,t),r.initRecoverable(t),r.initTreeBuilder(t),r.initContentAssist(),r.initGastRecorder(t),r.initPerformanceTracer(t),g.has(t,"ignoredIssues"))throw new 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=g.has(t,"skipValidations")?t.skipValidations:Ke.skipValidations}}Hn.DEFER_DEFINITION_ERRORS_HANDLING=!1;Ch(Hn,[ih,oh,Th,Rh,Eh,vh,Ah,kh,xh,Ih]);class Nh extends Hn{constructor(e,t=Ke){const r=Z.clone(t);r.outputCst=!1,super(e,r)}}function Ut(n,e,t){return`${n.name}_${e}_${t}`}const qe=1,wh=2,ac=4,oc=5,jn=7,Lh=8,_h=9,bh=10,Oh=11,lc=12;class Bs{constructor(e){this.target=e}isEpsilon(){return!1}}class Vs extends Bs{constructor(e,t){super(e),this.tokenType=t}}class cc extends Bs{constructor(e){super(e)}isEpsilon(){return!0}}class Ks extends Bs{constructor(e,t,r){super(e),this.rule=t,this.followState=r}isEpsilon(){return!0}}function Ph(n){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};Mh(e,n);const t=n.length;for(let r=0;r<t;r++){const i=n[r],s=pt(e,i,i);s!==void 0&&zh(e,i,s)}return e}function Mh(n,e){const t=e.length;for(let r=0;r<t;r++){const i=e[r],s=z(n,i,void 0,{type:wh}),a=z(n,i,void 0,{type:jn});s.stop=a,n.ruleToStartState.set(i,s),n.ruleToStopState.set(i,a)}}function uc(n,e,t){return t instanceof F?Ws(n,e,t.terminalType,t):t instanceof ie?jh(n,e,t):t instanceof de?Bh(n,e,t):t instanceof Q?Vh(n,e,t):t instanceof K?Dh(n,e,t):t instanceof ue?Fh(n,e,t):t instanceof Re?Gh(n,e,t):t instanceof ve?Uh(n,e,t):pt(n,e,t)}function Dh(n,e,t){const r=z(n,e,t,{type:oc});Je(n,r);const i=zt(n,e,r,t,pt(n,e,t));return fc(n,e,t,i)}function Fh(n,e,t){const r=z(n,e,t,{type:oc});Je(n,r);const i=zt(n,e,r,t,pt(n,e,t)),s=Ws(n,e,t.separator,t);return fc(n,e,t,i,s)}function Gh(n,e,t){const r=z(n,e,t,{type:ac});Je(n,r);const i=zt(n,e,r,t,pt(n,e,t));return dc(n,e,t,i)}function Uh(n,e,t){const r=z(n,e,t,{type:ac});Je(n,r);const i=zt(n,e,r,t,pt(n,e,t)),s=Ws(n,e,t.separator,t);return dc(n,e,t,i,s)}function Bh(n,e,t){const r=z(n,e,t,{type:qe});Je(n,r);const i=g.map(t.definition,a=>uc(n,e,a));return zt(n,e,r,t,...i)}function Vh(n,e,t){const r=z(n,e,t,{type:qe});Je(n,r);const i=zt(n,e,r,t,pt(n,e,t));return Kh(n,e,t,i)}function pt(n,e,t){const r=m.filter(g.map(t.definition,i=>uc(n,e,i)),i=>i!==void 0);return r.length===1?r[0]:r.length===0?void 0:Hh(n,r)}function dc(n,e,t,r,i){const s=r.left,a=r.right,o=z(n,e,t,{type:Oh});Je(n,o);const l=z(n,e,t,{type:lc});return s.loopback=o,l.loopback=o,n.decisionMap[Ut(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",t.idx)]=o,H(a,o),i===void 0?(H(o,s),H(o,l)):(H(o,l),H(o,i.left),H(i.right,s)),{left:s,right:l}}function fc(n,e,t,r,i){const s=r.left,a=r.right,o=z(n,e,t,{type:bh});Je(n,o);const l=z(n,e,t,{type:lc}),c=z(n,e,t,{type:_h});return o.loopback=c,l.loopback=c,H(o,s),H(o,l),H(a,c),i!==void 0?(H(c,l),H(c,i.left),H(i.right,s)):H(c,o),n.decisionMap[Ut(e,i?"RepetitionWithSeparator":"Repetition",t.idx)]=o,{left:o,right:l}}function Kh(n,e,t,r){const i=r.left,s=r.right;return H(i,s),n.decisionMap[Ut(e,"Option",t.idx)]=i,r}function Je(n,e){return n.decisionStates.push(e),e.decision=n.decisionStates.length-1,e.decision}function zt(n,e,t,r,...i){const s=z(n,e,r,{type:Lh,start:t});t.end=s;for(const o of i)o!==void 0?(H(t,o.left),H(o.right,s)):H(t,s);const a={left:t,right:s};return n.decisionMap[Ut(e,Wh(r),r.idx)]=t,a}function Wh(n){if(n instanceof de)return"Alternation";if(n instanceof Q)return"Option";if(n instanceof K)return"Repetition";if(n instanceof ue)return"RepetitionWithSeparator";if(n instanceof Re)return"RepetitionMandatory";if(n instanceof ve)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function Hh(n,e){const t=e.length;for(let s=0;s<t-1;s++){const a=e[s];let o;a.left.transitions.length===1&&(o=a.left.transitions[0]);const l=o instanceof Ks,c=o,u=e[s+1].left;a.left.type===qe&&a.right.type===qe&&o!==void 0&&(l&&c.followState===a.right||o.target===a.right)?(l?c.followState=u:o.target=u,qh(n,a.right)):H(a.right,u)}const r=e[0],i=e[t-1];return{left:r.left,right:i.right}}function Ws(n,e,t,r){const i=z(n,e,r,{type:qe}),s=z(n,e,r,{type:qe});return Hs(i,new Vs(s,t)),{left:i,right:s}}function jh(n,e,t){const r=t.referencedRule,i=n.ruleToStartState.get(r),s=z(n,e,t,{type:qe}),a=z(n,e,t,{type:qe}),o=new Ks(i,r,a);return Hs(s,o),{left:s,right:a}}function zh(n,e,t){const r=n.ruleToStartState.get(e);H(r,t.left);const i=n.ruleToStopState.get(e);return H(t.right,i),{left:r,right:i}}function H(n,e){const t=new cc(e);Hs(n,t)}function z(n,e,t,r){const i=Object.assign({atn:n,production:t,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:n.states.length},r);return n.states.push(i),i}function Hs(n,e){n.transitions.length===0&&(n.epsilonOnlyTransitions=e.isEpsilon()),n.transitions.push(e)}function qh(n,e){n.states.splice(n.states.indexOf(e),1)}const Br={};class ss{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){const t=hc(e);t in this.map||(this.map[t]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return g.map(this.configs,e=>e.alt)}get key(){let e="";for(const t in this.map)e+=t+":";return e}}function hc(n,e=!0){return`${e?`a${n.alt}`:""}s${n.state.stateNumber}:${n.stack.map(t=>t.stateNumber.toString()).join("_")}`}function Yh(n,e){const t={};return r=>{const i=r.toString();let s=t[i];return s!==void 0||(s={atnStartState:n,decision:e,states:{}},t[i]=s),s}}class pc{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,t){this.predicates[e]=t}toString(){let e="";const t=this.predicates.length;for(let r=0;r<t;r++)e+=this.predicates[r]===!0?"1":"0";return e}}const wa=new pc;class Xh extends Us{constructor(e){var t;super(),this.logging=(t=e?.logging)!==null&&t!==void 0?t:r=>console.log(r)}initialize(e){this.atn=Ph(e.rules),this.dfas=Jh(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:t,rule:r,hasPredicates:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,l=Ut(r,"Alternation",t),u=this.atn.decisionMap[l].decision,d=g.map(Aa({maxLookahead:1,occurrence:t,prodType:"Alternation",rule:r}),h=>g.map(h,f=>f[0]));if(La(d,!1)&&!s){const h=m.reduce(d,(f,y,T)=>(m.forEach(y,k=>{k&&(f[k.tokenTypeIdx]=T,m.forEach(k.categoryMatches,v=>{f[v]=T}))}),f),{});return i?function(f){var y;const T=this.LA(1),k=h[T.tokenTypeIdx];if(f!==void 0&&k!==void 0){const v=(y=f[k])===null||y===void 0?void 0:y.GATE;if(v!==void 0&&v.call(this)===!1)return}return k}:function(){const f=this.LA(1);return h[f.tokenTypeIdx]}}else return i?function(h){const f=new pc,y=h===void 0?0:h.length;for(let k=0;k<y;k++){const v=h?.[k].GATE;f.set(k,v===void 0||v.call(this))}const T=Ci.call(this,a,u,f,o);return typeof T=="number"?T:void 0}:function(){const h=Ci.call(this,a,u,wa,o);return typeof h=="number"?h:void 0}}buildLookaheadForOptional(e){const{prodOccurrence:t,rule:r,prodType:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,l=Ut(r,i,t),u=this.atn.decisionMap[l].decision,d=g.map(Aa({maxLookahead:1,occurrence:t,prodType:i,rule:r}),h=>g.map(h,f=>f[0]));if(La(d)&&d[0][0]&&!s){const h=d[0],f=g.flatten(h);if(f.length===1&&$.isEmpty(f[0].categoryMatches)){const T=f[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===T}}else{const y=m.reduce(f,(T,k)=>(k!==void 0&&(T[k.tokenTypeIdx]=!0,m.forEach(k.categoryMatches,v=>{T[v]=!0})),T),{});return function(){const T=this.LA(1);return y[T.tokenTypeIdx]===!0}}}return function(){const h=Ci.call(this,a,u,wa,o);return typeof h=="object"?!1:h===0}}}function La(n,e=!0){const t=new Set;for(const r of n){const i=new Set;for(const s of r){if(s===void 0){if(e)break;return!1}const a=[s.tokenTypeIdx].concat(s.categoryMatches);for(const o of a)if(t.has(o)){if(!i.has(o))return!1}else t.add(o),i.add(o)}}return!0}function Jh(n){const e=n.decisionStates.length,t=Array(e);for(let r=0;r<e;r++)t[r]=Yh(n.decisionStates[r],r);return t}function Ci(n,e,t,r){const i=n[e](t);let s=i.start;if(s===void 0){const o=lp(i.atnStartState);s=gc(i,mc(o)),i.start=s}return Qh.apply(this,[i,s,t,r])}function Qh(n,e,t,r){let i=e,s=1;const a=[];let o=this.LA(s++);for(;;){let l=ip(i,o);if(l===void 0&&(l=Zh.apply(this,[n,i,o,s,t,r])),l===Br)return rp(a,i,o);if(l.isAcceptState===!0)return l.prediction;i=l,a.push(o),o=this.LA(s++)}}function Zh(n,e,t,r,i,s){const a=sp(e.configs,t,i);if(a.size===0)return _a(n,e,t,Br),Br;let o=mc(a);const l=op(a,i);if(l!==void 0)o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l;else if(fp(a)){const c=g.min(a.alts);o.isAcceptState=!0,o.prediction=c,o.configs.uniqueAlt=c,ep.apply(this,[n,r,a.alts,s])}return o=_a(n,e,t,o),o}function ep(n,e,t,r){const i=[];for(let c=1;c<=e;c++)i.push(this.LA(c).tokenType);const s=n.atnStartState,a=s.rule,o=s.production,l=tp({topLevelRule:a,ambiguityIndices:t,production:o,prefixPath:i});r(l)}function tp(n){const e=g.map(n.prefixPath,i=>At(i)).join(", "),t=n.production.idx===0?"":n.production.idx;let r=`Ambiguous Alternatives Detected: <${n.ambiguityIndices.join(", ")}> in <${np(n.production)}${t}> inside <${n.topLevelRule.name}> Rule,
|
|
112
|
+
<${e}> may appears as a prefix path in all these alternatives.
|
|
113
|
+
`;return r=r+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
114
|
+
For Further details.`,r}function np(n){if(n instanceof ie)return"SUBRULE";if(n instanceof Q)return"OPTION";if(n instanceof de)return"OR";if(n instanceof Re)return"AT_LEAST_ONE";if(n instanceof ve)return"AT_LEAST_ONE_SEP";if(n instanceof ue)return"MANY_SEP";if(n instanceof K)return"MANY";if(n instanceof F)return"CONSUME";throw Error("non exhaustive match")}function rp(n,e,t){const r=ye(e.configs.elements,s=>s.state.transitions),i=$u(r.filter(s=>s instanceof Vs).map(s=>s.tokenType),s=>s.tokenTypeIdx);return{actualToken:t,possibleTokenTypes:i,tokenPath:n}}function ip(n,e){return n.edges[e.tokenTypeIdx]}function sp(n,e,t){const r=new ss,i=[];for(const a of n.elements){if(t.is(a.alt)===!1)continue;if(a.state.type===jn){i.push(a);continue}const o=a.state.transitions.length;for(let l=0;l<o;l++){const c=a.state.transitions[l],u=ap(c,e);u!==void 0&&r.add({state:u,alt:a.alt,stack:a.stack})}}let s;if(i.length===0&&r.size===1&&(s=r),s===void 0){s=new ss;for(const a of r.elements)Vr(a,s)}if(i.length>0&&!up(s))for(const a of i)s.add(a);return s}function ap(n,e){if(n instanceof Vs&&Bl(e,n.tokenType))return n.target}function op(n,e){let t;for(const r of n.elements)if(e.is(r.alt)===!0){if(t===void 0)t=r.alt;else if(t!==r.alt)return}return t}function mc(n){return{configs:n,edges:{},isAcceptState:!1,prediction:-1}}function _a(n,e,t,r){return r=gc(n,r),e.edges[t.tokenTypeIdx]=r,r}function gc(n,e){if(e===Br)return e;const t=e.configs.key,r=n.states[t];return r!==void 0?r:(e.configs.finalize(),n.states[t]=e,e)}function lp(n){const e=new ss,t=n.transitions.length;for(let r=0;r<t;r++){const s={state:n.transitions[r].target,alt:r,stack:[]};Vr(s,e)}return e}function Vr(n,e){const t=n.state;if(t.type===jn){if(n.stack.length>0){const i=[...n.stack],a={state:i.pop(),alt:n.alt,stack:i};Vr(a,e)}else e.add(n);return}t.epsilonOnlyTransitions||e.add(n);const r=t.transitions.length;for(let i=0;i<r;i++){const s=t.transitions[i],a=cp(n,s);a!==void 0&&Vr(a,e)}}function cp(n,e){if(e instanceof cc)return{state:e.target,alt:n.alt,stack:n.stack};if(e instanceof Ks){const t=[...n.stack,e.followState];return{state:e.target,alt:n.alt,stack:t}}}function up(n){for(const e of n.elements)if(e.state.type===jn)return!0;return!1}function dp(n){for(const e of n.elements)if(e.state.type!==jn)return!1;return!0}function fp(n){if(dp(n))return!0;const e=hp(n.elements);return pp(e)&&!mp(e)}function hp(n){const e=new Map;for(const t of n){const r=hc(t,!1);let i=e.get(r);i===void 0&&(i={},e.set(r,i)),i[t.alt]=!0}return e}function pp(n){for(const e of Array.from(n.values()))if(Object.keys(e).length>1)return!0;return!1}function mp(n){for(const e of Array.from(n.values()))if(Object.keys(e).length===1)return!0;return!1}var ba;(function(n){function e(t){return typeof t=="string"}n.is=e})(ba||(ba={}));var as;(function(n){function e(t){return typeof t=="string"}n.is=e})(as||(as={}));var Oa;(function(n){n.MIN_VALUE=-2147483648,n.MAX_VALUE=2147483647;function e(t){return typeof t=="number"&&n.MIN_VALUE<=t&&t<=n.MAX_VALUE}n.is=e})(Oa||(Oa={}));var Kr;(function(n){n.MIN_VALUE=0,n.MAX_VALUE=2147483647;function e(t){return typeof t=="number"&&n.MIN_VALUE<=t&&t<=n.MAX_VALUE}n.is=e})(Kr||(Kr={}));var P;(function(n){function e(r,i){return r===Number.MAX_VALUE&&(r=Kr.MAX_VALUE),i===Number.MAX_VALUE&&(i=Kr.MAX_VALUE),{line:r,character:i}}n.create=e;function t(r){let i=r;return p.objectLiteral(i)&&p.uinteger(i.line)&&p.uinteger(i.character)}n.is=t})(P||(P={}));var O;(function(n){function e(r,i,s,a){if(p.uinteger(r)&&p.uinteger(i)&&p.uinteger(s)&&p.uinteger(a))return{start:P.create(r,i),end:P.create(s,a)};if(P.is(r)&&P.is(i))return{start:r,end:i};throw new Error(`Range#create called with invalid arguments[${r}, ${i}, ${s}, ${a}]`)}n.create=e;function t(r){let i=r;return p.objectLiteral(i)&&P.is(i.start)&&P.is(i.end)}n.is=t})(O||(O={}));var Wr;(function(n){function e(r,i){return{uri:r,range:i}}n.create=e;function t(r){let i=r;return p.objectLiteral(i)&&O.is(i.range)&&(p.string(i.uri)||p.undefined(i.uri))}n.is=t})(Wr||(Wr={}));var Pa;(function(n){function e(r,i,s,a){return{targetUri:r,targetRange:i,targetSelectionRange:s,originSelectionRange:a}}n.create=e;function t(r){let i=r;return p.objectLiteral(i)&&O.is(i.targetRange)&&p.string(i.targetUri)&&O.is(i.targetSelectionRange)&&(O.is(i.originSelectionRange)||p.undefined(i.originSelectionRange))}n.is=t})(Pa||(Pa={}));var os;(function(n){function e(r,i,s,a){return{red:r,green:i,blue:s,alpha:a}}n.create=e;function t(r){const i=r;return p.objectLiteral(i)&&p.numberRange(i.red,0,1)&&p.numberRange(i.green,0,1)&&p.numberRange(i.blue,0,1)&&p.numberRange(i.alpha,0,1)}n.is=t})(os||(os={}));var Ma;(function(n){function e(r,i){return{range:r,color:i}}n.create=e;function t(r){const i=r;return p.objectLiteral(i)&&O.is(i.range)&&os.is(i.color)}n.is=t})(Ma||(Ma={}));var Da;(function(n){function e(r,i,s){return{label:r,textEdit:i,additionalTextEdits:s}}n.create=e;function t(r){const i=r;return p.objectLiteral(i)&&p.string(i.label)&&(p.undefined(i.textEdit)||Vt.is(i))&&(p.undefined(i.additionalTextEdits)||p.typedArray(i.additionalTextEdits,Vt.is))}n.is=t})(Da||(Da={}));var Fa;(function(n){n.Comment="comment",n.Imports="imports",n.Region="region"})(Fa||(Fa={}));var Ga;(function(n){function e(r,i,s,a,o,l){const c={startLine:r,endLine:i};return p.defined(s)&&(c.startCharacter=s),p.defined(a)&&(c.endCharacter=a),p.defined(o)&&(c.kind=o),p.defined(l)&&(c.collapsedText=l),c}n.create=e;function t(r){const i=r;return p.objectLiteral(i)&&p.uinteger(i.startLine)&&p.uinteger(i.startLine)&&(p.undefined(i.startCharacter)||p.uinteger(i.startCharacter))&&(p.undefined(i.endCharacter)||p.uinteger(i.endCharacter))&&(p.undefined(i.kind)||p.string(i.kind))}n.is=t})(Ga||(Ga={}));var ls;(function(n){function e(r,i){return{location:r,message:i}}n.create=e;function t(r){let i=r;return p.defined(i)&&Wr.is(i.location)&&p.string(i.message)}n.is=t})(ls||(ls={}));var Ua;(function(n){n.Error=1,n.Warning=2,n.Information=3,n.Hint=4})(Ua||(Ua={}));var Ba;(function(n){n.Unnecessary=1,n.Deprecated=2})(Ba||(Ba={}));var Va;(function(n){function e(t){const r=t;return p.objectLiteral(r)&&p.string(r.href)}n.is=e})(Va||(Va={}));var Hr;(function(n){function e(r,i,s,a,o,l){let c={range:r,message:i};return p.defined(s)&&(c.severity=s),p.defined(a)&&(c.code=a),p.defined(o)&&(c.source=o),p.defined(l)&&(c.relatedInformation=l),c}n.create=e;function t(r){var i;let s=r;return p.defined(s)&&O.is(s.range)&&p.string(s.message)&&(p.number(s.severity)||p.undefined(s.severity))&&(p.integer(s.code)||p.string(s.code)||p.undefined(s.code))&&(p.undefined(s.codeDescription)||p.string((i=s.codeDescription)===null||i===void 0?void 0:i.href))&&(p.string(s.source)||p.undefined(s.source))&&(p.undefined(s.relatedInformation)||p.typedArray(s.relatedInformation,ls.is))}n.is=t})(Hr||(Hr={}));var Bt;(function(n){function e(r,i,...s){let a={title:r,command:i};return p.defined(s)&&s.length>0&&(a.arguments=s),a}n.create=e;function t(r){let i=r;return p.defined(i)&&p.string(i.title)&&p.string(i.command)}n.is=t})(Bt||(Bt={}));var Vt;(function(n){function e(s,a){return{range:s,newText:a}}n.replace=e;function t(s,a){return{range:{start:s,end:s},newText:a}}n.insert=t;function r(s){return{range:s,newText:""}}n.del=r;function i(s){const a=s;return p.objectLiteral(a)&&p.string(a.newText)&&O.is(a.range)}n.is=i})(Vt||(Vt={}));var cs;(function(n){function e(r,i,s){const a={label:r};return i!==void 0&&(a.needsConfirmation=i),s!==void 0&&(a.description=s),a}n.create=e;function t(r){const i=r;return p.objectLiteral(i)&&p.string(i.label)&&(p.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(p.string(i.description)||i.description===void 0)}n.is=t})(cs||(cs={}));var Kt;(function(n){function e(t){const r=t;return p.string(r)}n.is=e})(Kt||(Kt={}));var Ka;(function(n){function e(s,a,o){return{range:s,newText:a,annotationId:o}}n.replace=e;function t(s,a,o){return{range:{start:s,end:s},newText:a,annotationId:o}}n.insert=t;function r(s,a){return{range:s,newText:"",annotationId:a}}n.del=r;function i(s){const a=s;return Vt.is(a)&&(cs.is(a.annotationId)||Kt.is(a.annotationId))}n.is=i})(Ka||(Ka={}));var us;(function(n){function e(r,i){return{textDocument:r,edits:i}}n.create=e;function t(r){let i=r;return p.defined(i)&&ms.is(i.textDocument)&&Array.isArray(i.edits)}n.is=t})(us||(us={}));var ds;(function(n){function e(r,i,s){let a={kind:"create",uri:r};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(a.options=i),s!==void 0&&(a.annotationId=s),a}n.create=e;function t(r){let i=r;return i&&i.kind==="create"&&p.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||p.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||p.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Kt.is(i.annotationId))}n.is=t})(ds||(ds={}));var fs;(function(n){function e(r,i,s,a){let o={kind:"rename",oldUri:r,newUri:i};return s!==void 0&&(s.overwrite!==void 0||s.ignoreIfExists!==void 0)&&(o.options=s),a!==void 0&&(o.annotationId=a),o}n.create=e;function t(r){let i=r;return i&&i.kind==="rename"&&p.string(i.oldUri)&&p.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||p.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||p.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Kt.is(i.annotationId))}n.is=t})(fs||(fs={}));var hs;(function(n){function e(r,i,s){let a={kind:"delete",uri:r};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(a.options=i),s!==void 0&&(a.annotationId=s),a}n.create=e;function t(r){let i=r;return i&&i.kind==="delete"&&p.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||p.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||p.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Kt.is(i.annotationId))}n.is=t})(hs||(hs={}));var ps;(function(n){function e(t){let r=t;return r&&(r.changes!==void 0||r.documentChanges!==void 0)&&(r.documentChanges===void 0||r.documentChanges.every(i=>p.string(i.kind)?ds.is(i)||fs.is(i)||hs.is(i):us.is(i)))}n.is=e})(ps||(ps={}));var Wa;(function(n){function e(r){return{uri:r}}n.create=e;function t(r){let i=r;return p.defined(i)&&p.string(i.uri)}n.is=t})(Wa||(Wa={}));var Ha;(function(n){function e(r,i){return{uri:r,version:i}}n.create=e;function t(r){let i=r;return p.defined(i)&&p.string(i.uri)&&p.integer(i.version)}n.is=t})(Ha||(Ha={}));var ms;(function(n){function e(r,i){return{uri:r,version:i}}n.create=e;function t(r){let i=r;return p.defined(i)&&p.string(i.uri)&&(i.version===null||p.integer(i.version))}n.is=t})(ms||(ms={}));var ja;(function(n){function e(r,i,s,a){return{uri:r,languageId:i,version:s,text:a}}n.create=e;function t(r){let i=r;return p.defined(i)&&p.string(i.uri)&&p.string(i.languageId)&&p.integer(i.version)&&p.string(i.text)}n.is=t})(ja||(ja={}));var gs;(function(n){n.PlainText="plaintext",n.Markdown="markdown";function e(t){const r=t;return r===n.PlainText||r===n.Markdown}n.is=e})(gs||(gs={}));var Dn;(function(n){function e(t){const r=t;return p.objectLiteral(t)&&gs.is(r.kind)&&p.string(r.value)}n.is=e})(Dn||(Dn={}));var za;(function(n){n.Text=1,n.Method=2,n.Function=3,n.Constructor=4,n.Field=5,n.Variable=6,n.Class=7,n.Interface=8,n.Module=9,n.Property=10,n.Unit=11,n.Value=12,n.Enum=13,n.Keyword=14,n.Snippet=15,n.Color=16,n.File=17,n.Reference=18,n.Folder=19,n.EnumMember=20,n.Constant=21,n.Struct=22,n.Event=23,n.Operator=24,n.TypeParameter=25})(za||(za={}));var qa;(function(n){n.PlainText=1,n.Snippet=2})(qa||(qa={}));var Ya;(function(n){n.Deprecated=1})(Ya||(Ya={}));var Xa;(function(n){function e(r,i,s){return{newText:r,insert:i,replace:s}}n.create=e;function t(r){const i=r;return i&&p.string(i.newText)&&O.is(i.insert)&&O.is(i.replace)}n.is=t})(Xa||(Xa={}));var Ja;(function(n){n.asIs=1,n.adjustIndentation=2})(Ja||(Ja={}));var Qa;(function(n){function e(t){const r=t;return r&&(p.string(r.detail)||r.detail===void 0)&&(p.string(r.description)||r.description===void 0)}n.is=e})(Qa||(Qa={}));var Za;(function(n){function e(t){return{label:t}}n.create=e})(Za||(Za={}));var eo;(function(n){function e(t,r){return{items:t||[],isIncomplete:!!r}}n.create=e})(eo||(eo={}));var jr;(function(n){function e(r){return r.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}n.fromPlainText=e;function t(r){const i=r;return p.string(i)||p.objectLiteral(i)&&p.string(i.language)&&p.string(i.value)}n.is=t})(jr||(jr={}));var to;(function(n){function e(t){let r=t;return!!r&&p.objectLiteral(r)&&(Dn.is(r.contents)||jr.is(r.contents)||p.typedArray(r.contents,jr.is))&&(t.range===void 0||O.is(t.range))}n.is=e})(to||(to={}));var no;(function(n){function e(t,r){return r?{label:t,documentation:r}:{label:t}}n.create=e})(no||(no={}));var ro;(function(n){function e(t,r,...i){let s={label:t};return p.defined(r)&&(s.documentation=r),p.defined(i)?s.parameters=i:s.parameters=[],s}n.create=e})(ro||(ro={}));var io;(function(n){n.Text=1,n.Read=2,n.Write=3})(io||(io={}));var so;(function(n){function e(t,r){let i={range:t};return p.number(r)&&(i.kind=r),i}n.create=e})(so||(so={}));var ao;(function(n){n.File=1,n.Module=2,n.Namespace=3,n.Package=4,n.Class=5,n.Method=6,n.Property=7,n.Field=8,n.Constructor=9,n.Enum=10,n.Interface=11,n.Function=12,n.Variable=13,n.Constant=14,n.String=15,n.Number=16,n.Boolean=17,n.Array=18,n.Object=19,n.Key=20,n.Null=21,n.EnumMember=22,n.Struct=23,n.Event=24,n.Operator=25,n.TypeParameter=26})(ao||(ao={}));var oo;(function(n){n.Deprecated=1})(oo||(oo={}));var lo;(function(n){function e(t,r,i,s,a){let o={name:t,kind:r,location:{uri:s,range:i}};return a&&(o.containerName=a),o}n.create=e})(lo||(lo={}));var co;(function(n){function e(t,r,i,s){return s!==void 0?{name:t,kind:r,location:{uri:i,range:s}}:{name:t,kind:r,location:{uri:i}}}n.create=e})(co||(co={}));var uo;(function(n){function e(r,i,s,a,o,l){let c={name:r,detail:i,kind:s,range:a,selectionRange:o};return l!==void 0&&(c.children=l),c}n.create=e;function t(r){let i=r;return i&&p.string(i.name)&&p.number(i.kind)&&O.is(i.range)&&O.is(i.selectionRange)&&(i.detail===void 0||p.string(i.detail))&&(i.deprecated===void 0||p.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}n.is=t})(uo||(uo={}));var fo;(function(n){n.Empty="",n.QuickFix="quickfix",n.Refactor="refactor",n.RefactorExtract="refactor.extract",n.RefactorInline="refactor.inline",n.RefactorRewrite="refactor.rewrite",n.Source="source",n.SourceOrganizeImports="source.organizeImports",n.SourceFixAll="source.fixAll"})(fo||(fo={}));var zr;(function(n){n.Invoked=1,n.Automatic=2})(zr||(zr={}));var ho;(function(n){function e(r,i,s){let a={diagnostics:r};return i!=null&&(a.only=i),s!=null&&(a.triggerKind=s),a}n.create=e;function t(r){let i=r;return p.defined(i)&&p.typedArray(i.diagnostics,Hr.is)&&(i.only===void 0||p.typedArray(i.only,p.string))&&(i.triggerKind===void 0||i.triggerKind===zr.Invoked||i.triggerKind===zr.Automatic)}n.is=t})(ho||(ho={}));var po;(function(n){function e(r,i,s){let a={title:r},o=!0;return typeof i=="string"?(o=!1,a.kind=i):Bt.is(i)?a.command=i:a.edit=i,o&&s!==void 0&&(a.kind=s),a}n.create=e;function t(r){let i=r;return i&&p.string(i.title)&&(i.diagnostics===void 0||p.typedArray(i.diagnostics,Hr.is))&&(i.kind===void 0||p.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Bt.is(i.command))&&(i.isPreferred===void 0||p.boolean(i.isPreferred))&&(i.edit===void 0||ps.is(i.edit))}n.is=t})(po||(po={}));var mo;(function(n){function e(r,i){let s={range:r};return p.defined(i)&&(s.data=i),s}n.create=e;function t(r){let i=r;return p.defined(i)&&O.is(i.range)&&(p.undefined(i.command)||Bt.is(i.command))}n.is=t})(mo||(mo={}));var go;(function(n){function e(r,i){return{tabSize:r,insertSpaces:i}}n.create=e;function t(r){let i=r;return p.defined(i)&&p.uinteger(i.tabSize)&&p.boolean(i.insertSpaces)}n.is=t})(go||(go={}));var yo;(function(n){function e(r,i,s){return{range:r,target:i,data:s}}n.create=e;function t(r){let i=r;return p.defined(i)&&O.is(i.range)&&(p.undefined(i.target)||p.string(i.target))}n.is=t})(yo||(yo={}));var To;(function(n){function e(r,i){return{range:r,parent:i}}n.create=e;function t(r){let i=r;return p.objectLiteral(i)&&O.is(i.range)&&(i.parent===void 0||n.is(i.parent))}n.is=t})(To||(To={}));var Ro;(function(n){n.namespace="namespace",n.type="type",n.class="class",n.enum="enum",n.interface="interface",n.struct="struct",n.typeParameter="typeParameter",n.parameter="parameter",n.variable="variable",n.property="property",n.enumMember="enumMember",n.event="event",n.function="function",n.method="method",n.macro="macro",n.keyword="keyword",n.modifier="modifier",n.comment="comment",n.string="string",n.number="number",n.regexp="regexp",n.operator="operator",n.decorator="decorator"})(Ro||(Ro={}));var vo;(function(n){n.declaration="declaration",n.definition="definition",n.readonly="readonly",n.static="static",n.deprecated="deprecated",n.abstract="abstract",n.async="async",n.modification="modification",n.documentation="documentation",n.defaultLibrary="defaultLibrary"})(vo||(vo={}));var Eo;(function(n){function e(t){const r=t;return p.objectLiteral(r)&&(r.resultId===void 0||typeof r.resultId=="string")&&Array.isArray(r.data)&&(r.data.length===0||typeof r.data[0]=="number")}n.is=e})(Eo||(Eo={}));var Ao;(function(n){function e(r,i){return{range:r,text:i}}n.create=e;function t(r){const i=r;return i!=null&&O.is(i.range)&&p.string(i.text)}n.is=t})(Ao||(Ao={}));var ko;(function(n){function e(r,i,s){return{range:r,variableName:i,caseSensitiveLookup:s}}n.create=e;function t(r){const i=r;return i!=null&&O.is(i.range)&&p.boolean(i.caseSensitiveLookup)&&(p.string(i.variableName)||i.variableName===void 0)}n.is=t})(ko||(ko={}));var $o;(function(n){function e(r,i){return{range:r,expression:i}}n.create=e;function t(r){const i=r;return i!=null&&O.is(i.range)&&(p.string(i.expression)||i.expression===void 0)}n.is=t})($o||($o={}));var xo;(function(n){function e(r,i){return{frameId:r,stoppedLocation:i}}n.create=e;function t(r){const i=r;return p.defined(i)&&O.is(r.stoppedLocation)}n.is=t})(xo||(xo={}));var ys;(function(n){n.Type=1,n.Parameter=2;function e(t){return t===1||t===2}n.is=e})(ys||(ys={}));var Ts;(function(n){function e(r){return{value:r}}n.create=e;function t(r){const i=r;return p.objectLiteral(i)&&(i.tooltip===void 0||p.string(i.tooltip)||Dn.is(i.tooltip))&&(i.location===void 0||Wr.is(i.location))&&(i.command===void 0||Bt.is(i.command))}n.is=t})(Ts||(Ts={}));var So;(function(n){function e(r,i,s){const a={position:r,label:i};return s!==void 0&&(a.kind=s),a}n.create=e;function t(r){const i=r;return p.objectLiteral(i)&&P.is(i.position)&&(p.string(i.label)||p.typedArray(i.label,Ts.is))&&(i.kind===void 0||ys.is(i.kind))&&i.textEdits===void 0||p.typedArray(i.textEdits,Vt.is)&&(i.tooltip===void 0||p.string(i.tooltip)||Dn.is(i.tooltip))&&(i.paddingLeft===void 0||p.boolean(i.paddingLeft))&&(i.paddingRight===void 0||p.boolean(i.paddingRight))}n.is=t})(So||(So={}));var Io;(function(n){function e(t){return{kind:"snippet",value:t}}n.createSnippet=e})(Io||(Io={}));var Co;(function(n){function e(t,r,i,s){return{insertText:t,filterText:r,range:i,command:s}}n.create=e})(Co||(Co={}));var No;(function(n){function e(t){return{items:t}}n.create=e})(No||(No={}));var wo;(function(n){n.Invoked=0,n.Automatic=1})(wo||(wo={}));var Lo;(function(n){function e(t,r){return{range:t,text:r}}n.create=e})(Lo||(Lo={}));var _o;(function(n){function e(t,r){return{triggerKind:t,selectedCompletionInfo:r}}n.create=e})(_o||(_o={}));var bo;(function(n){function e(t){const r=t;return p.objectLiteral(r)&&as.is(r.uri)&&p.string(r.name)}n.is=e})(bo||(bo={}));var Oo;(function(n){function e(s,a,o,l){return new gp(s,a,o,l)}n.create=e;function t(s){let a=s;return!!(p.defined(a)&&p.string(a.uri)&&(p.undefined(a.languageId)||p.string(a.languageId))&&p.uinteger(a.lineCount)&&p.func(a.getText)&&p.func(a.positionAt)&&p.func(a.offsetAt))}n.is=t;function r(s,a){let o=s.getText(),l=i(a,(u,d)=>{let h=u.range.start.line-d.range.start.line;return h===0?u.range.start.character-d.range.start.character:h}),c=o.length;for(let u=l.length-1;u>=0;u--){let d=l[u],h=s.offsetAt(d.range.start),f=s.offsetAt(d.range.end);if(f<=c)o=o.substring(0,h)+d.newText+o.substring(f,o.length);else throw new Error("Overlapping edit");c=h}return o}n.applyEdits=r;function i(s,a){if(s.length<=1)return s;const o=s.length/2|0,l=s.slice(0,o),c=s.slice(o);i(l,a),i(c,a);let u=0,d=0,h=0;for(;u<l.length&&d<c.length;)a(l[u],c[d])<=0?s[h++]=l[u++]:s[h++]=c[d++];for(;u<l.length;)s[h++]=l[u++];for(;d<c.length;)s[h++]=c[d++];return s}})(Oo||(Oo={}));let gp=class{constructor(e,t,r,i){this._uri=e,this._languageId=t,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],t=this._content,r=!0;for(let i=0;i<t.length;i++){r&&(e.push(i),r=!1);let s=t.charAt(i);r=s==="\r"||s===`
|
|
115
|
+
`,s==="\r"&&i+1<t.length&&t.charAt(i+1)===`
|
|
116
|
+
`&&i++}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,i=t.length;if(i===0)return P.create(0,e);for(;r<i;){let a=Math.floor((r+i)/2);t[a]>e?i=a:r=a+1}let s=r-1;return P.create(s,e-t[s])}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],i=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,i),r)}get lineCount(){return this.getLineOffsets().length}};var p;(function(n){const e=Object.prototype.toString;function t(f){return typeof f<"u"}n.defined=t;function r(f){return typeof f>"u"}n.undefined=r;function i(f){return f===!0||f===!1}n.boolean=i;function s(f){return e.call(f)==="[object String]"}n.string=s;function a(f){return e.call(f)==="[object Number]"}n.number=a;function o(f,y,T){return e.call(f)==="[object Number]"&&y<=f&&f<=T}n.numberRange=o;function l(f){return e.call(f)==="[object Number]"&&-2147483648<=f&&f<=2147483647}n.integer=l;function c(f){return e.call(f)==="[object Number]"&&0<=f&&f<=2147483647}n.uinteger=c;function u(f){return e.call(f)==="[object Function]"}n.func=u;function d(f){return f!==null&&typeof f=="object"}n.objectLiteral=d;function h(f,y){return Array.isArray(f)&&f.every(y)}n.typedArray=h})(p||(p={}));class yp{constructor(){this.nodeStack=[]}get current(){var e;return(e=this.nodeStack[this.nodeStack.length-1])!==null&&e!==void 0?e:this.rootNode}buildRootNode(e){return this.rootNode=new Tc(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const t=new js;return t.grammarSource=e,t.root=this.rootNode,this.current.content.push(t),this.nodeStack.push(t),t}buildLeafNode(e,t){const r=new Rs(e.startOffset,e.image.length,ji(e),e.tokenType,!t);return r.grammarSource=t,r.root=this.rootNode,this.current.content.push(r),r}removeNode(e){const t=e.container;if(t){const r=t.content.indexOf(e);r>=0&&t.content.splice(r,1)}}addHiddenNodes(e){const t=[];for(const s of e){const a=new Rs(s.startOffset,s.image.length,ji(s),s.tokenType,!0);a.root=this.rootNode,t.push(a)}let r=this.current,i=!1;if(r.content.length>0){r.content.push(...t);return}for(;r.container;){const s=r.container.content.indexOf(r);if(s>0){r.container.content.splice(s,0,...t),i=!0;break}r=r.container}i||this.rootNode.content.unshift(...t)}construct(e){const t=this.current;typeof e.$type=="string"&&(this.current.astNode=e),e.$cstNode=t;const r=this.nodeStack.pop();r?.content.length===0&&this.removeNode(r)}}class yc{get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var e,t;const r=typeof((e=this._astNode)===null||e===void 0?void 0:e.$type)=="string"?this._astNode:(t=this.container)===null||t===void 0?void 0:t.astNode;if(!r)throw new Error("This node has no associated AST element");return r}set astNode(e){this._astNode=e}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}}class Rs extends yc{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,i,s=!1){super(),this._hidden=s,this._offset=e,this._tokenType=i,this._length=t,this._range=r}}class js extends yc{constructor(){super(...arguments),this.content=new zs(this)}get children(){return this.content}get offset(){var e,t;return(t=(e=this.firstNonHiddenNode)===null||e===void 0?void 0:e.offset)!==null&&t!==void 0?t:0}get length(){return this.end-this.offset}get end(){var e,t;return(t=(e=this.lastNonHiddenNode)===null||e===void 0?void 0:e.end)!==null&&t!==void 0?t:0}get range(){const e=this.firstNonHiddenNode,t=this.lastNonHiddenNode;if(e&&t){if(this._rangeCache===void 0){const{range:r}=e,{range:i}=t;this._rangeCache={start:r.start,end:i.end.line<r.start.line?r.start:i.end}}return this._rangeCache}else return{start:P.create(0,0),end:P.create(0,0)}}get firstNonHiddenNode(){for(const 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--){const t=this.content[e];if(!t.hidden)return t}return this.content[this.content.length-1]}}class zs extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,zs.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(const t of e)t.container=this.parent}}class Tc extends js{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const vs=Symbol("Datatype");function Ni(n){return n.$type===vs}const Po="",Rc=n=>n.endsWith(Po)?n:n+Po;class vc{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const t=this.lexer.definition,r=e.LanguageMetaData.mode==="production";this.wrapper=new Ap(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 Tp extends vc{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new yp,this.stack=[],this.assignmentMap=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,t){const r=this.computeRuleType(e),i=this.wrapper.DEFINE_RULE(Rc(e.name),this.startImplementation(r,t).bind(this));return this.allRules.set(e.name,i),e.entry&&(this.mainRule=i),i}computeRuleType(e){if(!e.fragment){if(xl(e))return vs;{const t=_s(e);return t??e.name}}}parse(e,t={}){this.nodeBuilder.buildRootNode(e);const r=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=r.tokens;const i=t.rule?this.allRules.get(t.rule):this.mainRule;if(!i)throw new Error(t.rule?`No rule found with name '${t.rule}'`:"No main rule available.");const s=i.call(this.wrapper,{});return this.nodeBuilder.addHiddenNodes(r.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,{value:s,lexerErrors:r.errors,lexerReport:r.report,parserErrors:this.wrapper.errors}}startImplementation(e,t){return r=>{const i=!this.isRecording()&&e!==void 0;if(i){const a={$type:e};this.stack.push(a),e===vs&&(a.value="")}let s;try{s=t(r)}catch{s=void 0}return s===void 0&&i&&(s=this.construct()),s}}extractHiddenTokens(e){const t=this.lexerResult.hidden;if(!t.length)return[];const r=e.startOffset;for(let i=0;i<t.length;i++)if(t[i].startOffset>r)return t.splice(0,i);return t.splice(0,t.length)}consume(e,t,r){const i=this.wrapper.wrapConsume(e,t);if(!this.isRecording()&&this.isValidToken(i)){const s=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(s);const a=this.nodeBuilder.buildLeafNode(i,r),{assignment:o,isCrossRef:l}=this.getAssignment(r),c=this.current;if(o){const u=lt(r)?i.image:this.converter.convert(i.image,a);this.assign(o.operator,o.feature,u,a,l)}else if(Ni(c)){let u=i.image;lt(r)||(u=this.converter.convert(u,a).toString()),c.value+=u}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,t,r,i,s){let a;!this.isRecording()&&!r&&(a=this.nodeBuilder.buildCompositeNode(i));const o=this.wrapper.wrapSubrule(e,t,s);!this.isRecording()&&a&&a.length>0&&this.performSubruleAssignment(o,i,a)}performSubruleAssignment(e,t,r){const{assignment:i,isCrossRef:s}=this.getAssignment(t);if(i)this.assign(i.operator,i.feature,e,r,s);else if(!i){const a=this.current;if(Ni(a))a.value+=e.toString();else if(typeof e=="object"&&e){const l=this.assignWithoutOverride(e,a);this.stack.pop(),this.stack.push(l)}}}action(e,t){if(!this.isRecording()){let r=this.current;if(t.feature&&t.operator){r=this.construct(),this.nodeBuilder.removeNode(r.$cstNode),this.nodeBuilder.buildCompositeNode(t).content.push(r.$cstNode);const s={$type:e};this.stack.push(s),this.assign(t.operator,t.feature,r,r.$cstNode,!1)}else r.$type=e}}construct(){if(this.isRecording())return;const e=this.current;return Ju(e),this.nodeBuilder.construct(e),this.stack.pop(),Ni(e)?this.converter.convert(e.value,e.$cstNode):(Qu(this.astReflection,e),e)}getAssignment(e){if(!this.assignmentMap.has(e)){const t=ni(e,ot);this.assignmentMap.set(e,{assignment:t,isCrossRef:t?Cs(t.terminal):!1})}return this.assignmentMap.get(e)}assign(e,t,r,i,s){const a=this.current;let o;switch(s&&typeof r=="string"?o=this.linker.buildReference(a,t,i,r):o=r,e){case"=":{a[t]=o;break}case"?=":{a[t]=!0;break}case"+=":Array.isArray(a[t])||(a[t]=[]),a[t].push(o)}}assignWithoutOverride(e,t){for(const[i,s]of Object.entries(t)){const a=e[i];a===void 0?e[i]=s:Array.isArray(a)&&Array.isArray(s)&&(s.push(...a),e[i]=s)}const r=e.$cstNode;return r&&(r.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class Rp{buildMismatchTokenMessage(e){return vt.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return vt.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return vt.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return vt.buildEarlyExitMessage(e)}}class Ec extends Rp{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 vp extends vc{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const t=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=t.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,t){const r=this.wrapper.DEFINE_RULE(Rc(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=>{const r=this.keepStackSize();try{e(t)}finally{this.resetStackSize(r)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const 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,i,s){this.before(i),this.wrapper.wrapSubrule(e,t,s),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const t=this.elementStack.lastIndexOf(e);t>=0&&this.elementStack.splice(t)}}get currIdx(){return this.wrapper.currIdx}}const Ep={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new Ec};class Ap extends Nh{constructor(e,t){const r=t&&"maxLookahead"in t;super(e,Object.assign(Object.assign(Object.assign({},Ep),{lookaheadStrategy:r?new Us({maxLookahead:t.maxLookahead}):new Xh({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 Ac(n,e,t){return kp({parser:e,tokens:t,ruleNames:new Map},n),e}function kp(n,e){const t=vl(e,!1),r=J(e.rules).filter(ke).filter(i=>t.has(i));for(const i of r){const s=Object.assign(Object.assign({},n),{consume:1,optional:1,subrule:1,many:1,or:1});n.parser.rule(i,dt(s,i.definition))}}function dt(n,e,t=!1){let r;if(lt(e))r=wp(n,e);else if(ti(e))r=$p(n,e);else if(ot(e))r=dt(n,e.terminal);else if(Cs(e))r=kc(n,e);else if(ct(e))r=xp(n,e);else if(pl(e))r=Ip(n,e);else if(ml(e))r=Cp(n,e);else if(Ns(e))r=Np(n,e);else if(Ku(e)){const i=n.consume++;r=()=>n.parser.consume(i,ze,e)}else throw new ul(e.$cstNode,`Unexpected element type: ${e.$type}`);return $c(n,t?void 0:qr(e),r,e.cardinality)}function $p(n,e){const t=bs(e);return()=>n.parser.action(t,e)}function xp(n,e){const t=e.rule.ref;if(ke(t)){const r=n.subrule++,i=t.fragment,s=e.arguments.length>0?Sp(t,e.arguments):()=>({});return a=>n.parser.subrule(r,xc(n,t),i,e,s(a))}else if(ht(t)){const r=n.consume++,i=Es(n,t.name);return()=>n.parser.consume(r,i,e)}else if(t)Un();else throw new ul(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function Sp(n,e){const t=e.map(r=>Ue(r.value));return r=>{const i={};for(let s=0;s<t.length;s++){const a=n.parameters[s],o=t[s];i[a.name]=o(r)}return i}}function Ue(n){if(Du(n)){const e=Ue(n.left),t=Ue(n.right);return r=>e(r)||t(r)}else if(Mu(n)){const e=Ue(n.left),t=Ue(n.right);return r=>e(r)&&t(r)}else if(Fu(n)){const e=Ue(n.value);return t=>!e(t)}else if(Gu(n)){const e=n.parameter.ref.name;return t=>t!==void 0&&t[e]===!0}else if(Pu(n)){const e=!!n.true;return()=>e}Un()}function Ip(n,e){if(e.elements.length===1)return dt(n,e.elements[0]);{const t=[];for(const i of e.elements){const s={ALT:dt(n,i,!0)},a=qr(i);a&&(s.GATE=Ue(a)),t.push(s)}const r=n.or++;return i=>n.parser.alternatives(r,t.map(s=>{const a={ALT:()=>s.ALT(i)},o=s.GATE;return o&&(a.GATE=()=>o(i)),a}))}}function Cp(n,e){if(e.elements.length===1)return dt(n,e.elements[0]);const t=[];for(const o of e.elements){const l={ALT:dt(n,o,!0)},c=qr(o);c&&(l.GATE=Ue(c)),t.push(l)}const r=n.or++,i=(o,l)=>{const c=l.getRuleStack().join("-");return`uGroup_${o}_${c}`},s=o=>n.parser.alternatives(r,t.map((l,c)=>{const u={ALT:()=>!0},d=n.parser;u.ALT=()=>{if(l.ALT(o),!d.isRecording()){const f=i(r,d);d.unorderedGroups.get(f)||d.unorderedGroups.set(f,[]);const y=d.unorderedGroups.get(f);typeof y?.[c]>"u"&&(y[c]=!0)}};const h=l.GATE;return h?u.GATE=()=>h(o):u.GATE=()=>{const f=d.unorderedGroups.get(i(r,d));return!f?.[c]},u})),a=$c(n,qr(e),s,"*");return o=>{a(o),n.parser.isRecording()||n.parser.unorderedGroups.delete(i(r,n.parser))}}function Np(n,e){const t=e.elements.map(r=>dt(n,r));return r=>t.forEach(i=>i(r))}function qr(n){if(Ns(n))return n.guardCondition}function kc(n,e,t=e.terminal){if(t)if(ct(t)&&ke(t.rule.ref)){const r=t.rule.ref,i=n.subrule++;return s=>n.parser.subrule(i,xc(n,r),!1,e,s)}else if(ct(t)&&ht(t.rule.ref)){const r=n.consume++,i=Es(n,t.rule.ref.name);return()=>n.parser.consume(r,i,e)}else if(lt(t)){const r=n.consume++,i=Es(n,t.value);return()=>n.parser.consume(r,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);const r=kl(e.type.ref),i=r?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+bs(e.type.ref));return kc(n,e,i)}}function wp(n,e){const t=n.consume++,r=n.tokens[e.value];if(!r)throw new Error("Could not find token for keyword: "+e.value);return()=>n.parser.consume(t,r,e)}function $c(n,e,t,r){const i=e&&Ue(e);if(!r)if(i){const s=n.or++;return a=>n.parser.alternatives(s,[{ALT:()=>t(a),GATE:()=>i(a)},{ALT:Na(),GATE:()=>!i(a)}])}else return t;if(r==="*"){const s=n.many++;return a=>n.parser.many(s,{DEF:()=>t(a),GATE:i?()=>i(a):void 0})}else if(r==="+"){const s=n.many++;if(i){const a=n.or++;return o=>n.parser.alternatives(a,[{ALT:()=>n.parser.atLeastOne(s,{DEF:()=>t(o)}),GATE:()=>i(o)},{ALT:Na(),GATE:()=>!i(o)}])}else return a=>n.parser.atLeastOne(s,{DEF:()=>t(a)})}else if(r==="?"){const s=n.optional++;return a=>n.parser.optional(s,{DEF:()=>t(a),GATE:i?()=>i(a):void 0})}else Un()}function xc(n,e){const t=Lp(n,e),r=n.parser.getRule(t);if(!r)throw new Error(`Rule "${t}" not found."`);return r}function Lp(n,e){if(ke(e))return e.name;if(n.ruleNames.has(e))return n.ruleNames.get(e);{let t=e,r=t.$container,i=e.$type;for(;!ke(r);)(Ns(r)||pl(r)||ml(r))&&(i=r.elements.indexOf(t).toString()+":"+i),t=r,r=r.$container;return i=r.name+":"+i,n.ruleNames.set(e,i),i}}function Es(n,e){const t=n.tokens[e];if(!t)throw new Error(`Token "${e}" not found."`);return t}function _p(n){const e=n.Grammar,t=n.parser.Lexer,r=new vp(n);return Ac(e,r,t.definition),r.finalize(),r}function bp(n){const e=Op(n);return e.finalize(),e}function Op(n){const e=n.Grammar,t=n.parser.Lexer,r=new Tp(n);return Ac(e,r,t.definition)}class Sc{constructor(){this.diagnostics=[]}buildTokens(e,t){const r=J(vl(e,!1)),i=this.buildTerminalTokens(r),s=this.buildKeywordTokens(r,i,t);return i.forEach(a=>{const o=a.PATTERN;typeof o=="object"&&o&&"test"in o&&qi(o)?s.unshift(a):s.push(a)}),s}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(ht).filter(t=>!t.fragment).map(t=>this.buildTerminalToken(t)).toArray()}buildTerminalToken(e){const t=Os(e),r=this.requiresCustomPattern(t)?this.regexPatternFunction(t):t,i={name:e.name,PATTERN:r};return typeof r=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=qi(t)?oe.SKIPPED:"hidden"),i}requiresCustomPattern(e){return e.flags.includes("u")||e.flags.includes("s")?!0:!!(e.source.includes("?<=")||e.source.includes("?<!"))}regexPatternFunction(e){const t=new RegExp(e,e.flags+"y");return(r,i)=>(t.lastIndex=i,t.exec(r))}buildKeywordTokens(e,t,r){return e.filter(ke).flatMap(i=>Bn(i).filter(lt)).distinct(i=>i.value).toArray().sort((i,s)=>s.value.length-i.value.length).map(i=>this.buildKeywordToken(i,t,!!r?.caseInsensitive))}buildKeywordToken(e,t,r){const i=this.buildKeywordPattern(e,r),s={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,t)};return typeof i=="function"&&(s.LINE_BREAKS=!0),s}buildKeywordPattern(e,t){return t?new RegExp(od(e.value)):e.value}findLongerAlt(e,t){return t.reduce((r,i)=>{const s=i?.PATTERN;return s?.source&&ld("^"+s.source+"$",e.value)&&r.push(i),r},[])}}class Ic{convert(e,t){let r=t.grammarSource;if(Cs(r)&&(r=fd(r)),ct(r)){const i=r.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,t)}return e}runConverter(e,t,r){var i;switch(e.name.toUpperCase()){case"INT":return De.convertInt(t);case"STRING":return De.convertString(t);case"ID":return De.convertID(t)}switch((i=Rd(e))===null||i===void 0?void 0:i.toLowerCase()){case"number":return De.convertNumber(t);case"boolean":return De.convertBoolean(t);case"bigint":return De.convertBigint(t);case"date":return De.convertDate(t);default:return t}}}var De;(function(n){function e(c){let u="";for(let d=1;d<c.length-1;d++){const h=c.charAt(d);if(h==="\\"){const f=c.charAt(++d);u+=t(f)}else u+=h}return u}n.convertString=e;function t(c){switch(c){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 c}}function r(c){return c.charAt(0)==="^"?c.substring(1):c}n.convertID=r;function i(c){return parseInt(c)}n.convertInt=i;function s(c){return BigInt(c)}n.convertBigint=s;function a(c){return new Date(c)}n.convertDate=a;function o(c){return Number(c)}n.convertNumber=o;function l(c){return c.toLowerCase()==="true"}n.convertBoolean=l})(De||(De={}));var it={},or={},Mo;function Cc(){if(Mo)return or;Mo=1,Object.defineProperty(or,"__esModule",{value:!0});let n;function e(){if(n===void 0)throw new Error("No runtime abstraction layer installed");return n}return function(t){function r(i){if(i===void 0)throw new Error("No runtime abstraction layer provided");n=i}t.install=r}(e||(e={})),or.default=e,or}var q={},Do;function Pp(){if(Do)return q;Do=1,Object.defineProperty(q,"__esModule",{value:!0}),q.stringArray=q.array=q.func=q.error=q.number=q.string=q.boolean=void 0;function n(o){return o===!0||o===!1}q.boolean=n;function e(o){return typeof o=="string"||o instanceof String}q.string=e;function t(o){return typeof o=="number"||o instanceof Number}q.number=t;function r(o){return o instanceof Error}q.error=r;function i(o){return typeof o=="function"}q.func=i;function s(o){return Array.isArray(o)}q.array=s;function a(o){return s(o)&&o.every(l=>e(l))}return q.stringArray=a,q}var st={},Fo;function Nc(){if(Fo)return st;Fo=1,Object.defineProperty(st,"__esModule",{value:!0}),st.Emitter=st.Event=void 0;const n=Cc();var e;(function(i){const s={dispose(){}};i.None=function(){return s}})(e||(st.Event=e={}));class t{add(s,a=null,o){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(s),this._contexts.push(a),Array.isArray(o)&&o.push({dispose:()=>this.remove(s,a)})}remove(s,a=null){if(!this._callbacks)return;let o=!1;for(let l=0,c=this._callbacks.length;l<c;l++)if(this._callbacks[l]===s)if(this._contexts[l]===a){this._callbacks.splice(l,1),this._contexts.splice(l,1);return}else o=!0;if(o)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...s){if(!this._callbacks)return[];const a=[],o=this._callbacks.slice(0),l=this._contexts.slice(0);for(let c=0,u=o.length;c<u;c++)try{a.push(o[c].apply(l[c],s))}catch(d){(0,n.default)().console.error(d)}return a}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}}class r{constructor(s){this._options=s}get event(){return this._event||(this._event=(s,a,o)=>{this._callbacks||(this._callbacks=new t),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(s,a);const l={dispose:()=>{this._callbacks&&(this._callbacks.remove(s,a),l.dispose=r._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(o)&&o.push(l),l}),this._event}fire(s){this._callbacks&&this._callbacks.invoke.call(this._callbacks,s)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}return st.Emitter=r,r._noop=function(){},st}var Go;function Mp(){if(Go)return it;Go=1,Object.defineProperty(it,"__esModule",{value:!0}),it.CancellationTokenSource=it.CancellationToken=void 0;const n=Cc(),e=Pp(),t=Nc();var r;(function(o){o.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:t.Event.None}),o.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:t.Event.None});function l(c){const u=c;return u&&(u===o.None||u===o.Cancelled||e.boolean(u.isCancellationRequested)&&!!u.onCancellationRequested)}o.is=l})(r||(it.CancellationToken=r={}));const i=Object.freeze(function(o,l){const c=(0,n.default)().timer.setTimeout(o.bind(l),0);return{dispose(){c.dispose()}}});class s{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?i:(this._emitter||(this._emitter=new t.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class a{get token(){return this._token||(this._token=new s),this._token}cancel(){this._token?this._token.cancel():this._token=r.Cancelled}dispose(){this._token?this._token instanceof s&&this._token.dispose():this._token=r.None}}return it.CancellationTokenSource=a,it}var B=Mp();function Dp(){return new Promise(n=>{typeof setImmediate>"u"?setTimeout(n,0):setImmediate(n)})}let Ar=0,Fp=10;function Gp(){return Ar=performance.now(),new B.CancellationTokenSource}const Yr=Symbol("OperationCancelled");function fi(n){return n===Yr}async function ge(n){if(n===B.CancellationToken.None)return;const e=performance.now();if(e-Ar>=Fp&&(Ar=e,await Dp(),Ar=performance.now()),n.isCancellationRequested)throw Yr}class qs{constructor(){this.promise=new Promise((e,t)=>{this.resolve=r=>(e(r),this),this.reject=r=>(t(r),this)})}}class Fn{constructor(e,t,r,i){this._uri=e,this._languageId=t,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(e,t){for(const r of e)if(Fn.isIncremental(r)){const i=Lc(r.range),s=this.offsetAt(i.start),a=this.offsetAt(i.end);this._content=this._content.substring(0,s)+r.text+this._content.substring(a,this._content.length);const o=Math.max(i.start.line,0),l=Math.max(i.end.line,0);let c=this._lineOffsets;const u=Uo(r.text,!1,s);if(l-o===u.length)for(let h=0,f=u.length;h<f;h++)c[h+o+1]=u[h];else u.length<1e4?c.splice(o+1,l-o,...u):this._lineOffsets=c=c.slice(0,o+1).concat(u,c.slice(l+1));const d=r.text.length-(a-s);if(d!==0)for(let h=o+1+u.length,f=c.length;h<f;h++)c[h]=c[h]+d}else if(Fn.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=t}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=Uo(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);const t=this.getLineOffsets();let r=0,i=t.length;if(i===0)return{line:0,character:e};for(;r<i;){const a=Math.floor((r+i)/2);t[a]>e?i=a:r=a+1}const s=r-1;return e=this.ensureBeforeEOL(e,t[s]),{line:s,character:e-t[s]}}offsetAt(e){const t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;const r=t[e.line];if(e.character<=0)return r;const i=e.line+1<t.length?t[e.line+1]:this._content.length,s=Math.min(r+e.character,i);return this.ensureBeforeEOL(s,r)}ensureBeforeEOL(e,t){for(;e>t&&wc(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const t=e;return t!=null&&typeof t.text=="string"&&t.range!==void 0&&(t.rangeLength===void 0||typeof t.rangeLength=="number")}static isFull(e){const t=e;return t!=null&&typeof t.text=="string"&&t.range===void 0&&t.rangeLength===void 0}}var As;(function(n){function e(i,s,a,o){return new Fn(i,s,a,o)}n.create=e;function t(i,s,a){if(i instanceof Fn)return i.update(s,a),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}n.update=t;function r(i,s){const a=i.getText(),o=ks(s.map(Up),(u,d)=>{const h=u.range.start.line-d.range.start.line;return h===0?u.range.start.character-d.range.start.character:h});let l=0;const c=[];for(const u of o){const d=i.offsetAt(u.range.start);if(d<l)throw new Error("Overlapping edit");d>l&&c.push(a.substring(l,d)),u.newText.length&&c.push(u.newText),l=i.offsetAt(u.range.end)}return c.push(a.substr(l)),c.join("")}n.applyEdits=r})(As||(As={}));function ks(n,e){if(n.length<=1)return n;const t=n.length/2|0,r=n.slice(0,t),i=n.slice(t);ks(r,e),ks(i,e);let s=0,a=0,o=0;for(;s<r.length&&a<i.length;)e(r[s],i[a])<=0?n[o++]=r[s++]:n[o++]=i[a++];for(;s<r.length;)n[o++]=r[s++];for(;a<i.length;)n[o++]=i[a++];return n}function Uo(n,e,t=0){const r=e?[t]:[];for(let i=0;i<n.length;i++){const s=n.charCodeAt(i);wc(s)&&(s===13&&i+1<n.length&&n.charCodeAt(i+1)===10&&i++,r.push(t+i+1))}return r}function wc(n){return n===13||n===10}function Lc(n){const e=n.start,t=n.end;return e.line>t.line||e.line===t.line&&e.character>t.character?{start:t,end:e}:n}function Up(n){const e=Lc(n.range);return e!==n.range?{newText:n.newText,range:e}:n}var _c;(()=>{var n={470:i=>{function s(l){if(typeof l!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(l))}function a(l,c){for(var u,d="",h=0,f=-1,y=0,T=0;T<=l.length;++T){if(T<l.length)u=l.charCodeAt(T);else{if(u===47)break;u=47}if(u===47){if(!(f===T-1||y===1))if(f!==T-1&&y===2){if(d.length<2||h!==2||d.charCodeAt(d.length-1)!==46||d.charCodeAt(d.length-2)!==46){if(d.length>2){var k=d.lastIndexOf("/");if(k!==d.length-1){k===-1?(d="",h=0):h=(d=d.slice(0,k)).length-1-d.lastIndexOf("/"),f=T,y=0;continue}}else if(d.length===2||d.length===1){d="",h=0,f=T,y=0;continue}}c&&(d.length>0?d+="/..":d="..",h=2)}else d.length>0?d+="/"+l.slice(f+1,T):d=l.slice(f+1,T),h=T-f-1;f=T,y=0}else u===46&&y!==-1?++y:y=-1}return d}var o={resolve:function(){for(var l,c="",u=!1,d=arguments.length-1;d>=-1&&!u;d--){var h;d>=0?h=arguments[d]:(l===void 0&&(l=process.cwd()),h=l),s(h),h.length!==0&&(c=h+"/"+c,u=h.charCodeAt(0)===47)}return c=a(c,!u),u?c.length>0?"/"+c:"/":c.length>0?c:"."},normalize:function(l){if(s(l),l.length===0)return".";var c=l.charCodeAt(0)===47,u=l.charCodeAt(l.length-1)===47;return(l=a(l,!c)).length!==0||c||(l="."),l.length>0&&u&&(l+="/"),c?"/"+l:l},isAbsolute:function(l){return s(l),l.length>0&&l.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var l,c=0;c<arguments.length;++c){var u=arguments[c];s(u),u.length>0&&(l===void 0?l=u:l+="/"+u)}return l===void 0?".":o.normalize(l)},relative:function(l,c){if(s(l),s(c),l===c||(l=o.resolve(l))===(c=o.resolve(c)))return"";for(var u=1;u<l.length&&l.charCodeAt(u)===47;++u);for(var d=l.length,h=d-u,f=1;f<c.length&&c.charCodeAt(f)===47;++f);for(var y=c.length-f,T=h<y?h:y,k=-1,v=0;v<=T;++v){if(v===T){if(y>T){if(c.charCodeAt(f+v)===47)return c.slice(f+v+1);if(v===0)return c.slice(f+v)}else h>T&&(l.charCodeAt(u+v)===47?k=v:v===0&&(k=0));break}var x=l.charCodeAt(u+v);if(x!==c.charCodeAt(f+v))break;x===47&&(k=v)}var E="";for(v=u+k+1;v<=d;++v)v!==d&&l.charCodeAt(v)!==47||(E.length===0?E+="..":E+="/..");return E.length>0?E+c.slice(f+k):(f+=k,c.charCodeAt(f)===47&&++f,c.slice(f))},_makeLong:function(l){return l},dirname:function(l){if(s(l),l.length===0)return".";for(var c=l.charCodeAt(0),u=c===47,d=-1,h=!0,f=l.length-1;f>=1;--f)if((c=l.charCodeAt(f))===47){if(!h){d=f;break}}else h=!1;return d===-1?u?"/":".":u&&d===1?"//":l.slice(0,d)},basename:function(l,c){if(c!==void 0&&typeof c!="string")throw new TypeError('"ext" argument must be a string');s(l);var u,d=0,h=-1,f=!0;if(c!==void 0&&c.length>0&&c.length<=l.length){if(c.length===l.length&&c===l)return"";var y=c.length-1,T=-1;for(u=l.length-1;u>=0;--u){var k=l.charCodeAt(u);if(k===47){if(!f){d=u+1;break}}else T===-1&&(f=!1,T=u+1),y>=0&&(k===c.charCodeAt(y)?--y==-1&&(h=u):(y=-1,h=T))}return d===h?h=T:h===-1&&(h=l.length),l.slice(d,h)}for(u=l.length-1;u>=0;--u)if(l.charCodeAt(u)===47){if(!f){d=u+1;break}}else h===-1&&(f=!1,h=u+1);return h===-1?"":l.slice(d,h)},extname:function(l){s(l);for(var c=-1,u=0,d=-1,h=!0,f=0,y=l.length-1;y>=0;--y){var T=l.charCodeAt(y);if(T!==47)d===-1&&(h=!1,d=y+1),T===46?c===-1?c=y:f!==1&&(f=1):c!==-1&&(f=-1);else if(!h){u=y+1;break}}return c===-1||d===-1||f===0||f===1&&c===d-1&&c===u+1?"":l.slice(c,d)},format:function(l){if(l===null||typeof l!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof l);return function(c,u){var d=u.dir||u.root,h=u.base||(u.name||"")+(u.ext||"");return d?d===u.root?d+h:d+"/"+h:h}(0,l)},parse:function(l){s(l);var c={root:"",dir:"",base:"",ext:"",name:""};if(l.length===0)return c;var u,d=l.charCodeAt(0),h=d===47;h?(c.root="/",u=1):u=0;for(var f=-1,y=0,T=-1,k=!0,v=l.length-1,x=0;v>=u;--v)if((d=l.charCodeAt(v))!==47)T===-1&&(k=!1,T=v+1),d===46?f===-1?f=v:x!==1&&(x=1):f!==-1&&(x=-1);else if(!k){y=v+1;break}return f===-1||T===-1||x===0||x===1&&f===T-1&&f===y+1?T!==-1&&(c.base=c.name=y===0&&h?l.slice(1,T):l.slice(y,T)):(y===0&&h?(c.name=l.slice(1,f),c.base=l.slice(1,T)):(c.name=l.slice(y,f),c.base=l.slice(y,T)),c.ext=l.slice(f,T)),y>0?c.dir=l.slice(0,y-1):h&&(c.dir="/"),c},sep:"/",delimiter:":",win32:null,posix:null};o.posix=o,i.exports=o}},e={};function t(i){var s=e[i];if(s!==void 0)return s.exports;var a=e[i]={exports:{}};return n[i](a,a.exports,t),a.exports}t.d=(i,s)=>{for(var a in s)t.o(s,a)&&!t.o(i,a)&&Object.defineProperty(i,a,{enumerable:!0,get:s[a]})},t.o=(i,s)=>Object.prototype.hasOwnProperty.call(i,s),t.r=i=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})};var r={};(()=>{let i;t.r(r),t.d(r,{URI:()=>h,Utils:()=>Ee}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const s=/^\w[\w\d+.-]*$/,a=/^\//,o=/^\/\//;function l(S,R){if(!S.scheme&&R)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${S.authority}", path: "${S.path}", query: "${S.query}", fragment: "${S.fragment}"}`);if(S.scheme&&!s.test(S.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(S.path){if(S.authority){if(!a.test(S.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(o.test(S.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const c="",u="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class h{static isUri(R){return R instanceof h||!!R&&typeof R.authority=="string"&&typeof R.fragment=="string"&&typeof R.path=="string"&&typeof R.query=="string"&&typeof R.scheme=="string"&&typeof R.fsPath=="string"&&typeof R.with=="function"&&typeof R.toString=="function"}scheme;authority;path;query;fragment;constructor(R,C,I,b,_,L=!1){typeof R=="object"?(this.scheme=R.scheme||c,this.authority=R.authority||c,this.path=R.path||c,this.query=R.query||c,this.fragment=R.fragment||c):(this.scheme=function(he,j){return he||j?he:"file"}(R,L),this.authority=C||c,this.path=function(he,j){switch(he){case"https":case"http":case"file":j?j[0]!==u&&(j=u+j):j=u}return j}(this.scheme,I||c),this.query=b||c,this.fragment=_||c,l(this,L))}get fsPath(){return x(this)}with(R){if(!R)return this;let{scheme:C,authority:I,path:b,query:_,fragment:L}=R;return C===void 0?C=this.scheme:C===null&&(C=c),I===void 0?I=this.authority:I===null&&(I=c),b===void 0?b=this.path:b===null&&(b=c),_===void 0?_=this.query:_===null&&(_=c),L===void 0?L=this.fragment:L===null&&(L=c),C===this.scheme&&I===this.authority&&b===this.path&&_===this.query&&L===this.fragment?this:new y(C,I,b,_,L)}static parse(R,C=!1){const I=d.exec(R);return I?new y(I[2]||c,ee(I[4]||c),ee(I[5]||c),ee(I[7]||c),ee(I[9]||c),C):new y(c,c,c,c,c)}static file(R){let C=c;if(i&&(R=R.replace(/\\/g,u)),R[0]===u&&R[1]===u){const I=R.indexOf(u,2);I===-1?(C=R.substring(2),R=u):(C=R.substring(2,I),R=R.substring(I)||u)}return new y("file",C,R,c,c)}static from(R){const C=new y(R.scheme,R.authority,R.path,R.query,R.fragment);return l(C,!0),C}toString(R=!1){return E(this,R)}toJSON(){return this}static revive(R){if(R){if(R instanceof h)return R;{const C=new y(R);return C._formatted=R.external,C._fsPath=R._sep===f?R.fsPath:null,C}}return R}}const f=i?1:void 0;class y extends h{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=x(this)),this._fsPath}toString(R=!1){return R?E(this,!0):(this._formatted||(this._formatted=E(this,!1)),this._formatted)}toJSON(){const R={$mid:1};return this._fsPath&&(R.fsPath=this._fsPath,R._sep=f),this._formatted&&(R.external=this._formatted),this.path&&(R.path=this.path),this.scheme&&(R.scheme=this.scheme),this.authority&&(R.authority=this.authority),this.query&&(R.query=this.query),this.fragment&&(R.fragment=this.fragment),R}}const T={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 k(S,R,C){let I,b=-1;for(let _=0;_<S.length;_++){const L=S.charCodeAt(_);if(L>=97&&L<=122||L>=65&&L<=90||L>=48&&L<=57||L===45||L===46||L===95||L===126||R&&L===47||C&&L===91||C&&L===93||C&&L===58)b!==-1&&(I+=encodeURIComponent(S.substring(b,_)),b=-1),I!==void 0&&(I+=S.charAt(_));else{I===void 0&&(I=S.substr(0,_));const he=T[L];he!==void 0?(b!==-1&&(I+=encodeURIComponent(S.substring(b,_)),b=-1),I+=he):b===-1&&(b=_)}}return b!==-1&&(I+=encodeURIComponent(S.substring(b))),I!==void 0?I:S}function v(S){let R;for(let C=0;C<S.length;C++){const I=S.charCodeAt(C);I===35||I===63?(R===void 0&&(R=S.substr(0,C)),R+=T[I]):R!==void 0&&(R+=S[C])}return R!==void 0?R:S}function x(S,R){let C;return C=S.authority&&S.path.length>1&&S.scheme==="file"?`//${S.authority}${S.path}`:S.path.charCodeAt(0)===47&&(S.path.charCodeAt(1)>=65&&S.path.charCodeAt(1)<=90||S.path.charCodeAt(1)>=97&&S.path.charCodeAt(1)<=122)&&S.path.charCodeAt(2)===58?S.path[1].toLowerCase()+S.path.substr(2):S.path,i&&(C=C.replace(/\//g,"\\")),C}function E(S,R){const C=R?v:k;let I="",{scheme:b,authority:_,path:L,query:he,fragment:j}=S;if(b&&(I+=b,I+=":"),(_||b==="file")&&(I+=u,I+=u),_){let V=_.indexOf("@");if(V!==-1){const nt=_.substr(0,V);_=_.substr(V+1),V=nt.lastIndexOf(":"),V===-1?I+=C(nt,!1,!1):(I+=C(nt.substr(0,V),!1,!1),I+=":",I+=C(nt.substr(V+1),!1,!0)),I+="@"}_=_.toLowerCase(),V=_.lastIndexOf(":"),V===-1?I+=C(_,!1,!0):(I+=C(_.substr(0,V),!1,!0),I+=_.substr(V))}if(L){if(L.length>=3&&L.charCodeAt(0)===47&&L.charCodeAt(2)===58){const V=L.charCodeAt(1);V>=65&&V<=90&&(L=`/${String.fromCharCode(V+32)}:${L.substr(3)}`)}else if(L.length>=2&&L.charCodeAt(1)===58){const V=L.charCodeAt(0);V>=65&&V<=90&&(L=`${String.fromCharCode(V+32)}:${L.substr(2)}`)}I+=C(L,!0,!1)}return he&&(I+="?",I+=C(he,!1,!1)),j&&(I+="#",I+=R?j:k(j,!1,!1)),I}function N(S){try{return decodeURIComponent(S)}catch{return S.length>3?S.substr(0,3)+N(S.substr(3)):S}}const D=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function ee(S){return S.match(D)?S.replace(D,R=>N(R)):S}var $e=t(470);const fe=$e.posix||$e,Le="/";var Ee;(function(S){S.joinPath=function(R,...C){return R.with({path:fe.join(R.path,...C)})},S.resolvePath=function(R,...C){let I=R.path,b=!1;I[0]!==Le&&(I=Le+I,b=!0);let _=fe.resolve(I,...C);return b&&_[0]===Le&&!R.authority&&(_=_.substring(1)),R.with({path:_})},S.dirname=function(R){if(R.path.length===0||R.path===Le)return R;let C=fe.dirname(R.path);return C.length===1&&C.charCodeAt(0)===46&&(C=""),R.with({path:C})},S.basename=function(R){return fe.basename(R.path)},S.extname=function(R){return fe.extname(R.path)}})(Ee||(Ee={}))})(),_c=r})();const{URI:ft,Utils:Xt}=_c;var Ye;(function(n){n.basename=Xt.basename,n.dirname=Xt.dirname,n.extname=Xt.extname,n.joinPath=Xt.joinPath,n.resolvePath=Xt.resolvePath;function e(i,s){return i?.toString()===s?.toString()}n.equals=e;function t(i,s){const a=typeof i=="string"?i:i.path,o=typeof s=="string"?s:s.path,l=a.split("/").filter(f=>f.length>0),c=o.split("/").filter(f=>f.length>0);let u=0;for(;u<l.length&&l[u]===c[u];u++);const d="../".repeat(l.length-u),h=c.slice(u).join("/");return d+h}n.relative=t;function r(i){return ft.parse(i.toString()).toString()}n.normalize=r})(Ye||(Ye={}));var G;(function(n){n[n.Changed=0]="Changed",n[n.Parsed=1]="Parsed",n[n.IndexedContent=2]="IndexedContent",n[n.ComputedScopes=3]="ComputedScopes",n[n.Linked=4]="Linked",n[n.IndexedReferences=5]="IndexedReferences",n[n.Validated=6]="Validated"})(G||(G={}));class Bp{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,t=B.CancellationToken.None){const r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,t)}fromTextDocument(e,t,r){return t=t??ft.parse(e.uri),B.CancellationToken.is(r)?this.createAsync(t,e,r):this.create(t,e,r)}fromString(e,t,r){return B.CancellationToken.is(r)?this.createAsync(t,e,r):this.create(t,e,r)}fromModel(e,t){return this.create(t,{$model:e})}create(e,t,r){if(typeof t=="string"){const i=this.parse(e,t,r);return this.createLangiumDocument(i,e,void 0,t)}else if("$model"in t){const i={value:t.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,t.getText(),r);return this.createLangiumDocument(i,e,t)}}async createAsync(e,t,r){if(typeof t=="string"){const i=await this.parseAsync(e,t,r);return this.createLangiumDocument(i,e,void 0,t)}else{const i=await this.parseAsync(e,t.getText(),r);return this.createLangiumDocument(i,e,t)}}createLangiumDocument(e,t,r,i){let s;if(r)s={parseResult:e,uri:t,state:G.Parsed,references:[],textDocument:r};else{const a=this.createTextDocumentGetter(t,i);s={parseResult:e,uri:t,state:G.Parsed,references:[],get textDocument(){return a()}}}return e.value.$document=s,s}async update(e,t){var r,i;const s=(r=e.parseResult.value.$cstNode)===null||r===void 0?void 0:r.root.fullText,a=(i=this.textDocuments)===null||i===void 0?void 0:i.get(e.uri.toString()),o=a?a.getText():await this.fileSystemProvider.readFile(e.uri);if(a)Object.defineProperty(e,"textDocument",{value:a});else{const l=this.createTextDocumentGetter(e.uri,o);Object.defineProperty(e,"textDocument",{get:l})}return s!==o&&(e.parseResult=await this.parseAsync(e.uri,o,t),e.parseResult.value.$document=e),e.state=G.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){const r=this.serviceRegistry;let i;return()=>i??(i=As.create(e.toString(),r.getServices(e).LanguageMetaData.languageId,0,t??""))}}class Vp{constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.serviceRegistry=e.ServiceRegistry}get all(){return J(this.documentMap.values())}addDocument(e){const t=e.uri.toString();if(this.documentMap.has(t))throw new Error(`A document with the URI '${t}' is already present.`);this.documentMap.set(t,e)}getDocument(e){const 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(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(t,e);return this.addDocument(i),i}}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){const t=e.toString(),r=this.documentMap.get(t);return r&&(this.serviceRegistry.getServices(e).references.Linker.unlink(r),r.state=G.Changed,r.precomputedScopes=void 0,r.diagnostics=void 0),r}deleteDocument(e){const t=e.toString(),r=this.documentMap.get(t);return r&&(r.state=G.Changed,this.documentMap.delete(t)),r}}const wi=Symbol("ref_resolving");class Kp{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=B.CancellationToken.None){for(const r of Et(e.parseResult.value))await ge(t),yl(r).forEach(i=>this.doLink(i,e))}doLink(e,t){var r;const i=e.reference;if(i._ref===void 0){i._ref=wi;try{const s=this.getCandidate(e);if(mr(s))i._ref=s;else if(i._nodeDescription=s,this.langiumDocuments().hasDocument(s.documentUri)){const a=this.loadAstNode(s);i._ref=a??this.createLinkingError(e,s)}else i._ref=void 0}catch(s){console.error(`An error occurred while resolving reference to '${i.$refText}':`,s);const a=(r=s.message)!==null&&r!==void 0?r:String(s);i._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${i.$refText}': ${a}`})}t.references.push(i)}}unlink(e){for(const t of e.references)delete t._ref,delete t._nodeDescription;e.references=[]}getCandidate(e){const r=this.scopeProvider.getScope(e).getElement(e.reference.$refText);return r??this.createLinkingError(e)}buildReference(e,t,r,i){const s=this,a={$refNode:r,$refText:i,get ref(){var o;if(ne(this._ref))return this._ref;if(xu(this._nodeDescription)){const l=s.loadAstNode(this._nodeDescription);this._ref=l??s.createLinkingError({reference:a,container:e,property:t},this._nodeDescription)}else if(this._ref===void 0){this._ref=wi;const l=zi(e).$document,c=s.getLinkedNode({reference:a,container:e,property:t});if(c.error&&l&&l.state<G.ComputedScopes)return this._ref=void 0;this._ref=(o=c.node)!==null&&o!==void 0?o:c.error,this._nodeDescription=c.descr,l?.references.push(this)}else if(this._ref===wi)throw new Error(`Cyclic reference resolution detected: ${s.astNodeLocator.getAstNodePath(e)}/${t} (symbol '${i}')`);return ne(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return mr(this._ref)?this._ref:void 0}};return a}getLinkedNode(e){var t;try{const r=this.getCandidate(e);if(mr(r))return{error:r};const i=this.loadAstNode(r);return i?{node:i,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);const i=(t=r.message)!==null&&t!==void 0?t:String(r);return{error:Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${e.reference.$refText}': ${i}`})}}}loadAstNode(e){if(e.node)return e.node;const t=this.langiumDocuments().getDocument(e.documentUri);if(t)return this.astNodeLocator.getAstNode(t.parseResult.value,e.path)}createLinkingError(e,t){const r=zi(e.container).$document;r&&r.state<G.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${r.uri}).`);const i=this.reflection.getReferenceType(e);return Object.assign(Object.assign({},e),{message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:t})}}function Wp(n){return typeof n.name=="string"}class Hp{getName(e){if(Wp(e))return e.name}getNameNode(e){return Al(e.$cstNode,"name")}}class jp{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator}findDeclaration(e){if(e){const t=yd(e),r=e.astNode;if(t&&r){const i=r[t.feature];if(be(i))return i.ref;if(Array.isArray(i)){for(const s of i)if(be(s)&&s.$refNode&&s.$refNode.offset<=e.offset&&s.$refNode.end>=e.end)return s.ref}}if(r){const i=this.nameProvider.getNameNode(r);if(i&&(i===e||Cu(e,i)))return r}}}findDeclarationNode(e){const t=this.findDeclaration(e);if(t?.$cstNode){const r=this.nameProvider.getNameNode(t);return r??t.$cstNode}}findReferences(e,t){const r=[];if(t.includeDeclaration){const s=this.getReferenceToSelf(e);s&&r.push(s)}let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return t.documentUri&&(i=i.filter(s=>Ye.equals(s.sourceUri,t.documentUri))),r.push(...i),J(r)}getReferenceToSelf(e){const t=this.nameProvider.getNameNode(e);if(t){const r=He(e),i=this.nodeLocator.getAstNodePath(e);return{sourceUri:r.uri,sourcePath:i,targetUri:r.uri,targetPath:i,segment:Lr(t),local:!0}}}}class Xr{constructor(e){if(this.map=new Map,e)for(const[t,r]of e)this.add(t,r)}get size(){return Wi.sum(J(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,t){if(t===void 0)return this.map.delete(e);{const r=this.map.get(e);if(r){const i=r.indexOf(t);if(i>=0)return r.length===1?this.map.delete(e):r.splice(i,1),!0}return!1}}get(e){var t;return(t=this.map.get(e))!==null&&t!==void 0?t:[]}has(e,t){if(t===void 0)return this.map.has(e);{const r=this.map.get(e);return r?r.indexOf(t)>=0:!1}}add(e,t){return this.map.has(e)?this.map.get(e).push(t):this.map.set(e,[t]),this}addAll(e,t){return this.map.has(e)?this.map.get(e).push(...t):this.map.set(e,Array.from(t)),this}forEach(e){this.map.forEach((t,r)=>t.forEach(i=>e(i,r,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return J(this.map.entries()).flatMap(([e,t])=>t.map(r=>[e,r]))}keys(){return J(this.map.keys())}values(){return J(this.map.values()).flat()}entriesGroupedByKey(){return J(this.map.entries())}}class Bo{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[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){const t=this.map.get(e);return t!==void 0?(this.map.delete(e),this.inverse.delete(t),!0):!1}}class zp{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,t=B.CancellationToken.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,t)}async computeExportsForNode(e,t,r=ws,i=B.CancellationToken.None){const s=[];this.exportNode(e,s,t);for(const a of r(e))await ge(i),this.exportNode(a,s,t);return s}exportNode(e,t,r){const i=this.nameProvider.getName(e);i&&t.push(this.descriptions.createDescription(e,i,r))}async computeLocalScopes(e,t=B.CancellationToken.None){const r=e.parseResult.value,i=new Xr;for(const s of Bn(r))await ge(t),this.processNode(s,e,i);return i}processNode(e,t,r){const i=e.$container;if(i){const s=this.nameProvider.getName(e);s&&r.add(i,this.descriptions.createDescription(e,s,t))}}}class Vo{constructor(e,t,r){var i;this.elements=e,this.outerScope=t,this.caseInsensitive=(i=r?.caseInsensitive)!==null&&i!==void 0?i:!1}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const t=this.caseInsensitive?this.elements.find(r=>r.name.toLowerCase()===e.toLowerCase()):this.elements.find(r=>r.name===e);if(t)return t;if(this.outerScope)return this.outerScope.getElement(e)}}class qp{constructor(e,t,r){var i;this.elements=new Map,this.caseInsensitive=(i=r?.caseInsensitive)!==null&&i!==void 0?i:!1;for(const s of e){const a=this.caseInsensitive?s.name.toLowerCase():s.name;this.elements.set(a,s)}this.outerScope=t}getElement(e){const t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getAllElements(){let e=J(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class bc{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}}class Yp extends bc{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){const r=t();return this.cache.set(e,r),r}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class Xp extends bc{constructor(e){super(),this.cache=new Map,this.converter=e??(t=>t)}has(e,t){return this.throwIfDisposed(),this.cacheForContext(e).has(t)}set(e,t,r){this.throwIfDisposed(),this.cacheForContext(e).set(t,r)}get(e,t,r){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(t))return i.get(t);if(r){const s=r();return i.set(t,s),s}else return}delete(e,t){return this.throwIfDisposed(),this.cacheForContext(e).delete(t)}clear(e){if(this.throwIfDisposed(),e){const t=this.converter(e);this.cache.delete(t)}else this.cache.clear()}cacheForContext(e){const t=this.converter(e);let r=this.cache.get(t);return r||(r=new Map,this.cache.set(t,r)),r}}class Jp extends Yp{constructor(e,t){super(),t?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(t,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((r,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class Qp{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 Jp(e.shared)}getScope(e){const t=[],r=this.reflection.getReferenceType(e),i=He(e.container).precomputedScopes;if(i){let a=e.container;do{const o=i.get(a);o.length>0&&t.push(J(o).filter(l=>this.reflection.isSubtype(l.type,r))),a=a.$container}while(a)}let s=this.getGlobalScope(r,e);for(let a=t.length-1;a>=0;a--)s=this.createScope(t[a],s);return s}createScope(e,t,r){return new Vo(J(e),t,r)}createScopeForNodes(e,t,r){const i=J(e).map(s=>{const a=this.nameProvider.getName(s);if(a)return this.descriptions.createDescription(s,a)}).nonNullable();return new Vo(i,t,r)}getGlobalScope(e,t){return this.globalScopeCache.get(e,()=>new qp(this.indexManager.allElements(e)))}}function Zp(n){return typeof n.$comment=="string"}function Ko(n){return typeof n=="object"&&!!n&&("$ref"in n||"$error"in n)}class em{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){const r=t??{},i=t?.replacer,s=(o,l)=>this.replacer(o,l,r),a=i?(o,l)=>i(o,l,s):s;try{return this.currentDocument=He(e),JSON.stringify(e,a,t?.space)}finally{this.currentDocument=void 0}}deserialize(e,t){const r=t??{},i=JSON.parse(e);return this.linkNode(i,i,r),i}replacer(e,t,{refText:r,sourceText:i,textRegions:s,comments:a,uriConverter:o}){var l,c,u,d;if(!this.ignoreProperties.has(e))if(be(t)){const h=t.ref,f=r?t.$refText:void 0;if(h){const y=He(h);let T="";this.currentDocument&&this.currentDocument!==y&&(o?T=o(y.uri,t):T=y.uri.toString());const k=this.astNodeLocator.getAstNodePath(h);return{$ref:`${T}#${k}`,$refText:f}}else return{$error:(c=(l=t.error)===null||l===void 0?void 0:l.message)!==null&&c!==void 0?c:"Could not resolve reference",$refText:f}}else if(ne(t)){let h;if(s&&(h=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},t)),(!e||t.$document)&&h?.$textRegion&&(h.$textRegion.documentURI=(u=this.currentDocument)===null||u===void 0?void 0:u.uri.toString())),i&&!e&&(h??(h=Object.assign({},t)),h.$sourceText=(d=t.$cstNode)===null||d===void 0?void 0:d.text),a){h??(h=Object.assign({},t));const f=this.commentProvider.getComment(t);f&&(h.$comment=f.replace(/\r/g,""))}return h??t}else return t}addAstNodeRegionWithAssignmentsTo(e){const t=r=>({offset:r.offset,end:r.end,length:r.length,range:r.range});if(e.$cstNode){const r=e.$textRegion=t(e.$cstNode),i=r.assignments={};return Object.keys(e).filter(s=>!s.startsWith("$")).forEach(s=>{const a=pd(e.$cstNode,s).map(t);a.length!==0&&(i[s]=a)}),e}}linkNode(e,t,r,i,s,a){for(const[l,c]of Object.entries(e))if(Array.isArray(c))for(let u=0;u<c.length;u++){const d=c[u];Ko(d)?c[u]=this.reviveReference(e,l,t,d,r):ne(d)&&this.linkNode(d,t,r,e,l,u)}else Ko(c)?e[l]=this.reviveReference(e,l,t,c,r):ne(c)&&this.linkNode(c,t,r,e,l);const o=e;o.$container=i,o.$containerProperty=s,o.$containerIndex=a}reviveReference(e,t,r,i,s){let a=i.$refText,o=i.$error;if(i.$ref){const l=this.getRefNode(r,i.$ref,s.uriConverter);if(ne(l))return a||(a=this.nameProvider.getName(l)),{$refText:a??"",ref:l};o=l}if(o){const l={$refText:a??""};return l.error={container:e,property:t,message:o,reference:l},l}else return}getRefNode(e,t,r){try{const i=t.indexOf("#");if(i===0){const l=this.astNodeLocator.getAstNode(e,t.substring(1));return l||"Could not resolve path: "+t}if(i<0){const l=r?r(t):ft.parse(t),c=this.langiumDocuments.getDocument(l);return c?c.parseResult.value:"Could not find document for URI: "+t}const s=r?r(t.substring(0,i)):ft.parse(t.substring(0,i)),a=this.langiumDocuments.getDocument(s);if(!a)return"Could not find document for URI: "+t;if(i===t.length-1)return a.parseResult.value;const o=this.astNodeLocator.getAstNode(a.parseResult.value,t.substring(i+1));return o||"Could not resolve URI: "+t}catch(i){return String(i)}}}class tm{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){const t=e.LanguageMetaData;for(const 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),this.languageIdMap.size===1?this.singleton=e:this.singleton=void 0}getServices(e){var t,r;if(this.singleton!==void 0)return this.singleton;if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");const i=(r=(t=this.textDocuments)===null||t===void 0?void 0:t.get(e))===null||r===void 0?void 0:r.languageId;if(i!==void 0){const o=this.languageIdMap.get(i);if(o)return o}const s=Ye.extname(e),a=this.fileExtensionMap.get(s);if(!a)throw i?new Error(`The service registry contains no services for the extension '${s}' for language '${i}'.`):new Error(`The service registry contains no services for the extension '${s}'.`);return a}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}}function Nn(n){return{code:n}}var Jr;(function(n){n.all=["fast","slow","built-in"]})(Jr||(Jr={}));class nm{constructor(e){this.entries=new Xr,this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,t=this,r="fast"){if(r==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(const[i,s]of Object.entries(e)){const a=s;if(Array.isArray(a))for(const o of a){const l={check:this.wrapValidationException(o,t),category:r};this.addEntry(i,l)}else if(typeof a=="function"){const o={check:this.wrapValidationException(a,t),category:r};this.addEntry(i,o)}else Un()}}wrapValidationException(e,t){return async(r,i,s)=>{await this.handleException(()=>e.call(t,r,i,s),"An error occurred during validation",i,r)}}async handleException(e,t,r,i){try{await e()}catch(s){if(fi(s))throw s;console.error(`${t}:`,s),s instanceof Error&&s.stack&&console.error(s.stack);const a=s instanceof Error?s.message:String(s);r("error",`${t}: ${a}`,{node:i})}}addEntry(e,t){if(e==="AstNode"){this.entries.add("AstNode",t);return}for(const r of this.reflection.getAllSubTypes(e))this.entries.add(r,t)}getChecks(e,t){let r=J(this.entries.get(e)).concat(this.entries.get("AstNode"));return t&&(r=r.filter(i=>t.includes(i.category))),r.map(i=>i.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(i,s,a,o)=>{await this.handleException(()=>e.call(r,i,s,a,o),t,s,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}}class rm{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,t={},r=B.CancellationToken.None){const i=e.parseResult,s=[];if(await ge(r),(!t.categories||t.categories.includes("built-in"))&&(this.processLexingErrors(i,s,t),t.stopAfterLexingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Se.LexingError})||(this.processParsingErrors(i,s,t),t.stopAfterParsingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Se.ParsingError}))||(this.processLinkingErrors(e,s,t),t.stopAfterLinkingErrors&&s.some(a=>{var o;return((o=a.data)===null||o===void 0?void 0:o.code)===Se.LinkingError}))))return s;try{s.push(...await this.validateAst(i.value,t,r))}catch(a){if(fi(a))throw a;console.error("An error occurred during validation:",a)}return await ge(r),s}processLexingErrors(e,t,r){var i,s,a;const o=[...e.lexerErrors,...(s=(i=e.lexerReport)===null||i===void 0?void 0:i.diagnostics)!==null&&s!==void 0?s:[]];for(const l of o){const c=(a=l.severity)!==null&&a!==void 0?a:"error",u={severity:Li(c),range:{start:{line:l.line-1,character:l.column-1},end:{line:l.line-1,character:l.column+l.length-1}},message:l.message,data:sm(c),source:this.getSource()};t.push(u)}}processParsingErrors(e,t,r){for(const i of e.parserErrors){let s;if(isNaN(i.token.startOffset)){if("previousToken"in i){const a=i.previousToken;if(isNaN(a.startOffset)){const o={line:0,character:0};s={start:o,end:o}}else{const o={line:a.endLine-1,character:a.endColumn};s={start:o,end:o}}}}else s=ji(i.token);if(s){const a={severity:Li("error"),range:s,message:i.message,data:Nn(Se.ParsingError),source:this.getSource()};t.push(a)}}}processLinkingErrors(e,t,r){for(const i of e.references){const s=i.error;if(s){const a={node:s.container,property:s.property,index:s.index,data:{code:Se.LinkingError,containerType:s.container.$type,property:s.property,refText:s.reference.$refText}};t.push(this.toDiagnostic("error",s.message,a))}}}async validateAst(e,t,r=B.CancellationToken.None){const i=[],s=(a,o,l)=>{i.push(this.toDiagnostic(a,o,l))};return await this.validateAstBefore(e,t,s,r),await this.validateAstNodes(e,t,s,r),await this.validateAstAfter(e,t,s,r),i}async validateAstBefore(e,t,r,i=B.CancellationToken.None){var s;const a=this.validationRegistry.checksBefore;for(const o of a)await ge(i),await o(e,r,(s=t.categories)!==null&&s!==void 0?s:[],i)}async validateAstNodes(e,t,r,i=B.CancellationToken.None){await Promise.all(Et(e).map(async s=>{await ge(i);const a=this.validationRegistry.getChecks(s.$type,t.categories);for(const o of a)await o(s,r,i)}))}async validateAstAfter(e,t,r,i=B.CancellationToken.None){var s;const a=this.validationRegistry.checksAfter;for(const o of a)await ge(i),await o(e,r,(s=t.categories)!==null&&s!==void 0?s:[],i)}toDiagnostic(e,t,r){return{message:t,range:im(r),severity:Li(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 im(n){if(n.range)return n.range;let e;return typeof n.property=="string"?e=Al(n.node.$cstNode,n.property,n.index):typeof n.keyword=="string"&&(e=md(n.node.$cstNode,n.keyword,n.index)),e??(e=n.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function Li(n){switch(n){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+n)}}function sm(n){switch(n){case"error":return Nn(Se.LexingError);case"warning":return Nn(Se.LexingWarning);case"info":return Nn(Se.LexingInfo);case"hint":return Nn(Se.LexingHint);default:throw new Error("Invalid diagnostic severity: "+n)}}var Se;(function(n){n.LexingError="lexing-error",n.LexingWarning="lexing-warning",n.LexingInfo="lexing-info",n.LexingHint="lexing-hint",n.ParsingError="parsing-error",n.LinkingError="linking-error"})(Se||(Se={}));class am{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,t,r){const i=r??He(e);t??(t=this.nameProvider.getName(e));const s=this.astNodeLocator.getAstNodePath(e);if(!t)throw new Error(`Node at path ${s} has no name.`);let a;const o=()=>{var l;return a??(a=Lr((l=this.nameProvider.getNameNode(e))!==null&&l!==void 0?l:e.$cstNode))};return{node:e,name:t,get nameSegment(){return o()},selectionSegment:Lr(e.$cstNode),type:e.$type,documentUri:i.uri,path:s}}}class om{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,t=B.CancellationToken.None){const r=[],i=e.parseResult.value;for(const s of Et(i))await ge(t),yl(s).filter(a=>!mr(a)).forEach(a=>{const o=this.createDescription(a);o&&r.push(o)});return r}createDescription(e){const t=e.reference.$nodeDescription,r=e.reference.$refNode;if(!t||!r)return;const i=He(e.container).uri;return{sourceUri:i,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:t.documentUri,targetPath:t.path,segment:Lr(r),local:Ye.equals(t.documentUri,i)}}}class lm{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const t=this.getAstNodePath(e.$container),r=this.getPathSegment(e);return t+this.segmentSeparator+r}return""}getPathSegment({$containerProperty:e,$containerIndex:t}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return t!==void 0?e+this.indexSeparator+t:e}getAstNode(e,t){return t.split(this.segmentSeparator).reduce((i,s)=>{if(!i||s.length===0)return i;const a=s.indexOf(this.indexSeparator);if(a>0){const o=s.substring(0,a),l=parseInt(s.substring(a+1)),c=i[o];return c?.[l]}return i[s]},e)}}var cm=Nc();class um{constructor(e){this._ready=new qs,this.settings={},this.workspaceConfig=!1,this.onConfigurationSectionUpdateEmitter=new cm.Emitter,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var t,r;this.workspaceConfig=(r=(t=e.capabilities.workspace)===null||t===void 0?void 0:t.configuration)!==null&&r!==void 0?r:!1}async initialized(e){if(this.workspaceConfig){if(e.register){const t=this.serviceRegistry.all;e.register({section:t.map(r=>this.toSectionName(r.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const t=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),r=await e.fetchConfiguration(t);t.forEach((i,s)=>{this.updateSectionConfiguration(i.section,r[s])})}}this._ready.resolve()}updateConfiguration(e){e.settings&&Object.keys(e.settings).forEach(t=>{const 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;const r=this.toSectionName(e);if(this.settings[r])return this.settings[r][t]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}var On;(function(n){function e(t){return{dispose:async()=>await t()}}n.create=e})(On||(On={}));class dm{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Xr,this.documentPhaseListeners=new Xr,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=G.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=B.CancellationToken.None){var i,s;for(const a of e){const o=a.uri.toString();if(a.state===G.Validated){if(typeof t.validation=="boolean"&&t.validation)a.state=G.IndexedReferences,a.diagnostics=void 0,this.buildState.delete(o);else if(typeof t.validation=="object"){const l=this.buildState.get(o),c=(i=l?.result)===null||i===void 0?void 0:i.validationChecks;if(c){const d=((s=t.validation.categories)!==null&&s!==void 0?s:Jr.all).filter(h=>!c.includes(h));d.length>0&&(this.buildState.set(o,{completed:!1,options:{validation:Object.assign(Object.assign({},t.validation),{categories:d})},result:l.result}),a.state=G.IndexedReferences)}}}else this.buildState.delete(o)}this.currentState=G.Changed,await this.emitUpdate(e.map(a=>a.uri),[]),await this.buildDocuments(e,t,r)}async update(e,t,r=B.CancellationToken.None){this.currentState=G.Changed;for(const a of t)this.langiumDocuments.deleteDocument(a),this.buildState.delete(a.toString()),this.indexManager.remove(a);for(const a of e){if(!this.langiumDocuments.invalidateDocument(a)){const l=this.langiumDocumentFactory.fromModel({$type:"INVALID"},a);l.state=G.Changed,this.langiumDocuments.addDocument(l)}this.buildState.delete(a.toString())}const i=J(e).concat(t).map(a=>a.toString()).toSet();this.langiumDocuments.all.filter(a=>!i.has(a.uri.toString())&&this.shouldRelink(a,i)).forEach(a=>{this.serviceRegistry.getServices(a.uri).references.Linker.unlink(a),a.state=Math.min(a.state,G.ComputedScopes),a.diagnostics=void 0}),await this.emitUpdate(e,t),await ge(r);const s=this.sortDocuments(this.langiumDocuments.all.filter(a=>{var o;return a.state<G.Linked||!(!((o=this.buildState.get(a.uri.toString()))===null||o===void 0)&&o.completed)}).toArray());await this.buildDocuments(s,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!!(!((t=this.textDocuments)===null||t===void 0)&&t.get(e.uri))}shouldRelink(e,t){return e.references.some(r=>r.error!==void 0)?!0:this.indexManager.isAffected(e,t)}onUpdate(e){return this.updateListeners.push(e),On.create(()=>{const 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,G.Parsed,r,s=>this.langiumDocumentFactory.update(s,r)),await this.runCancelable(e,G.IndexedContent,r,s=>this.indexManager.updateContent(s,r)),await this.runCancelable(e,G.ComputedScopes,r,async s=>{const a=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.precomputedScopes=await a.computeLocalScopes(s,r)}),await this.runCancelable(e,G.Linked,r,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,r)),await this.runCancelable(e,G.IndexedReferences,r,s=>this.indexManager.updateReferences(s,r));const i=e.filter(s=>this.shouldValidate(s));await this.runCancelable(i,G.Validated,r,s=>this.validate(s,r));for(const s of e){const a=this.buildState.get(s.uri.toString());a&&(a.completed=!0)}}prepareBuild(e,t){for(const r of e){const i=r.uri.toString(),s=this.buildState.get(i);(!s||s.completed)&&this.buildState.set(i,{completed:!1,options:t,result:s?.result})}}async runCancelable(e,t,r,i){const s=e.filter(o=>o.state<t);for(const o of s)await ge(r),await i(o),o.state=t,await this.notifyDocumentPhase(o,t,r);const a=e.filter(o=>o.state===t);await this.notifyBuildPhase(a,t,r),this.currentState=t}onBuildPhase(e,t){return this.buildPhaseListeners.add(e,t),On.create(()=>{this.buildPhaseListeners.delete(e,t)})}onDocumentPhase(e,t){return this.documentPhaseListeners.add(e,t),On.create(()=>{this.documentPhaseListeners.delete(e,t)})}waitUntil(e,t,r){let i;if(t&&"path"in t?i=t:r=t,r??(r=B.CancellationToken.None),i){const s=this.langiumDocuments.getDocument(i);if(s&&s.state>e)return Promise.resolve(i)}return this.currentState>=e?Promise.resolve(void 0):r.isCancellationRequested?Promise.reject(Yr):new Promise((s,a)=>{const o=this.onBuildPhase(e,()=>{if(o.dispose(),l.dispose(),i){const c=this.langiumDocuments.getDocument(i);s(c?.uri)}else s(void 0)}),l=r.onCancellationRequested(()=>{o.dispose(),l.dispose(),a(Yr)})})}async notifyDocumentPhase(e,t,r){const s=this.documentPhaseListeners.get(t).slice();for(const a of s)try{await a(e,r)}catch(o){if(!fi(o))throw o}}async notifyBuildPhase(e,t,r){if(e.length===0)return;const s=this.buildPhaseListeners.get(t).slice();for(const a of s)await ge(r),await a(e,r)}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,t){var r,i;const s=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,a=this.getBuildOptions(e).validation,o=typeof a=="object"?a:void 0,l=await s.validateDocument(e,o,t);e.diagnostics?e.diagnostics.push(...l):e.diagnostics=l;const c=this.buildState.get(e.uri.toString());if(c){(r=c.result)!==null&&r!==void 0||(c.result={});const u=(i=o?.categories)!==null&&i!==void 0?i:Jr.all;c.result.validationChecks?c.result.validationChecks.push(...u):c.result.validationChecks=[...u]}}getBuildOptions(e){var t,r;return(r=(t=this.buildState.get(e.uri.toString()))===null||t===void 0?void 0:t.options)!==null&&r!==void 0?r:{}}}class fm{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Xp,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,t){const r=He(e).uri,i=[];return this.referenceIndex.forEach(s=>{s.forEach(a=>{Ye.equals(a.targetUri,r)&&a.targetPath===t&&i.push(a)})}),J(i)}allElements(e,t){let r=J(this.symbolIndex.keys());return t&&(r=r.filter(i=>!t||t.has(i))),r.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,t){var r;return t?this.symbolByTypeIndex.get(e,t,()=>{var s;return((s=this.symbolIndex.get(e))!==null&&s!==void 0?s:[]).filter(o=>this.astReflection.isSubtype(o.type,t))}):(r=this.symbolIndex.get(e))!==null&&r!==void 0?r:[]}remove(e){const t=e.toString();this.symbolIndex.delete(t),this.symbolByTypeIndex.clear(t),this.referenceIndex.delete(t)}async updateContent(e,t=B.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.computeExports(e,t),s=e.uri.toString();this.symbolIndex.set(s,i),this.symbolByTypeIndex.clear(s)}async updateReferences(e,t=B.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,t);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,t){const r=this.referenceIndex.get(e.uri.toString());return r?r.some(i=>!i.local&&t.has(i.targetUri.toString())):!1}}class hm{constructor(e){this.initialBuildOptions={},this._ready=new qs,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=(t=e.workspaceFolders)!==null&&t!==void 0?t:void 0}initialized(e){return this.mutex.write(t=>{var r;return this.initializeWorkspace((r=this.folders)!==null&&r!==void 0?r:[],t)})}async initializeWorkspace(e,t=B.CancellationToken.None){const r=await this.performStartup(e);await ge(t),await this.documentBuilder.build(r,this.initialBuildOptions,t)}async performStartup(e){const t=this.serviceRegistry.all.flatMap(s=>s.LanguageMetaData.fileExtensions),r=[],i=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};return await this.loadAdditionalDocuments(e,i),await Promise.all(e.map(s=>[s,this.getRootFolder(s)]).map(async s=>this.traverseFolder(...s,t,i))),this._ready.resolve(),r}loadAdditionalDocuments(e,t){return Promise.resolve()}getRootFolder(e){return ft.parse(e.uri)}async traverseFolder(e,t,r,i){const s=await this.fileSystemProvider.readDirectory(t);await Promise.all(s.map(async a=>{if(this.includeEntry(e,a,r)){if(a.isDirectory)await this.traverseFolder(e,a.uri,r,i);else if(a.isFile){const o=await this.langiumDocuments.getOrCreateDocument(a.uri);i(o)}}}))}includeEntry(e,t,r){const i=Ye.basename(t.uri);if(i.startsWith("."))return!1;if(t.isDirectory)return i!=="node_modules"&&i!=="out";if(t.isFile){const s=Ye.extname(t.uri);return r.includes(s)}return!1}}class pm{buildUnexpectedCharactersMessage(e,t,r,i,s){return Qi.buildUnexpectedCharactersMessage(e,t,r,i,s)}buildUnableToPopLexerModeMessage(e){return Qi.buildUnableToPopLexerModeMessage(e)}}const mm={mode:"full"};class gm{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const t=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(t);const r=Wo(t)?Object.values(t):t,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new oe(r,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,t=mm){var r,i,s;const a=this.chevrotainLexer.tokenize(e);return{tokens:a.tokens,errors:a.errors,hidden:(r=a.groups.hidden)!==null&&r!==void 0?r:[],report:(s=(i=this.tokenBuilder).flushLexingReport)===null||s===void 0?void 0:s.call(i,e)}}toTokenTypeDictionary(e){if(Wo(e))return e;const t=Oc(e)?Object.values(e.modes).flat():e,r={};return t.forEach(i=>r[i.name]=i),r}}function ym(n){return Array.isArray(n)&&(n.length===0||"name"in n[0])}function Oc(n){return n&&"modes"in n&&"defaultMode"in n}function Wo(n){return!ym(n)&&!Oc(n)}function Tm(n,e,t){let r,i;typeof n=="string"?(i=e,r=t):(i=n.range.start,r=e),i||(i=P.create(0,0));const s=Pc(n),a=Ys(r),o=Em({lines:s,position:i,options:a});return Sm({index:0,tokens:o,position:i})}function Rm(n,e){const t=Ys(e),r=Pc(n);if(r.length===0)return!1;const i=r[0],s=r[r.length-1],a=t.start,o=t.end;return!!a?.exec(i)&&!!o?.exec(s)}function Pc(n){let e="";return typeof n=="string"?e=n:e=n.text,e.split(nd)}const Ho=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,vm=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function Em(n){var e,t,r;const i=[];let s=n.position.line,a=n.position.character;for(let o=0;o<n.lines.length;o++){const l=o===0,c=o===n.lines.length-1;let u=n.lines[o],d=0;if(l&&n.options.start){const f=(e=n.options.start)===null||e===void 0?void 0:e.exec(u);f&&(d=f.index+f[0].length)}else{const f=(t=n.options.line)===null||t===void 0?void 0:t.exec(u);f&&(d=f.index+f[0].length)}if(c){const f=(r=n.options.end)===null||r===void 0?void 0:r.exec(u);f&&(u=u.substring(0,f.index))}if(u=u.substring(0,xm(u)),$s(u,d)>=u.length){if(i.length>0){const f=P.create(s,a);i.push({type:"break",content:"",range:O.create(f,f)})}}else{Ho.lastIndex=d;const f=Ho.exec(u);if(f){const y=f[0],T=f[1],k=P.create(s,a+d),v=P.create(s,a+d+y.length);i.push({type:"tag",content:T,range:O.create(k,v)}),d+=y.length,d=$s(u,d)}if(d<u.length){const y=u.substring(d),T=Array.from(y.matchAll(vm));i.push(...Am(T,y,s,a+d))}}s++,a=0}return i.length>0&&i[i.length-1].type==="break"?i.slice(0,-1):i}function Am(n,e,t,r){const i=[];if(n.length===0){const s=P.create(t,r),a=P.create(t,r+e.length);i.push({type:"text",content:e,range:O.create(s,a)})}else{let s=0;for(const o of n){const l=o.index,c=e.substring(s,l);c.length>0&&i.push({type:"text",content:e.substring(s,l),range:O.create(P.create(t,s+r),P.create(t,l+r))});let u=c.length+1;const d=o[1];if(i.push({type:"inline-tag",content:d,range:O.create(P.create(t,s+u+r),P.create(t,s+u+d.length+r))}),u+=d.length,o.length===4){u+=o[2].length;const h=o[3];i.push({type:"text",content:h,range:O.create(P.create(t,s+u+r),P.create(t,s+u+h.length+r))})}else i.push({type:"text",content:"",range:O.create(P.create(t,s+u+r),P.create(t,s+u+r))});s=l+o[0].length}const a=e.substring(s);a.length>0&&i.push({type:"text",content:a,range:O.create(P.create(t,s+r),P.create(t,s+r+a.length))})}return i}const km=/\S/,$m=/\s*$/;function $s(n,e){const t=n.substring(e).match(km);return t?e+t.index:n.length}function xm(n){const e=n.match($m);if(e&&typeof e.index=="number")return e.index}function Sm(n){var e,t,r,i;const s=P.create(n.position.line,n.position.character);if(n.tokens.length===0)return new jo([],O.create(s,s));const a=[];for(;n.index<n.tokens.length;){const c=Im(n,a[a.length-1]);c&&a.push(c)}const o=(t=(e=a[0])===null||e===void 0?void 0:e.range.start)!==null&&t!==void 0?t:s,l=(i=(r=a[a.length-1])===null||r===void 0?void 0:r.range.end)!==null&&i!==void 0?i:s;return new jo(a,O.create(o,l))}function Im(n,e){const t=n.tokens[n.index];if(t.type==="tag")return Dc(n,!1);if(t.type==="text"||t.type==="inline-tag")return Mc(n);Cm(t,e),n.index++}function Cm(n,e){if(e){const t=new Gc("",n.range);"inlines"in e?e.inlines.push(t):e.content.inlines.push(t)}}function Mc(n){let e=n.tokens[n.index];const t=e;let r=e;const i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(Nm(n)),r=e,e=n.tokens[n.index];return new xs(i,O.create(t.range.start,r.range.end))}function Nm(n){return n.tokens[n.index].type==="inline-tag"?Dc(n,!0):Fc(n)}function Dc(n,e){const t=n.tokens[n.index++],r=t.content.substring(1),i=n.tokens[n.index];if(i?.type==="text")if(e){const s=Fc(n);return new bi(r,new xs([s],s.range),e,O.create(t.range.start,s.range.end))}else{const s=Mc(n);return new bi(r,s,e,O.create(t.range.start,s.range.end))}else{const s=t.range;return new bi(r,new xs([],s),e,s)}}function Fc(n){const e=n.tokens[n.index++];return new Gc(e.content,e.range)}function Ys(n){if(!n)return Ys({start:"/**",end:"*/",line:"*"});const{start:e,end:t,line:r}=n;return{start:_i(e,!0),end:_i(t,!1),line:_i(r,!0)}}function _i(n,e){if(typeof n=="string"||typeof n=="object"){const t=typeof n=="string"?ii(n):n.source;return e?new RegExp(`^\\s*${t}`):new RegExp(`\\s*${t}\\s*$`)}else return n}class jo{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(const t of this.elements)if(e.length===0)e=t.toString();else{const r=t.toString();e+=zo(e)+r}return e.trim()}toMarkdown(e){let t="";for(const r of this.elements)if(t.length===0)t=r.toMarkdown(e);else{const i=r.toMarkdown(e);t+=zo(t)+i}return t.trim()}}class bi{constructor(e,t,r,i){this.name=e,this.content=t,this.inline=r,this.range=i}toString(){let e=`@${this.name}`;const t=this.content.toString();return this.content.inlines.length===1?e=`${e} ${t}`:this.content.inlines.length>1&&(e=`${e}
|
|
118
|
+
${t}`),this.inline?`{${e}}`:e}toMarkdown(e){var t,r;return(r=(t=e?.renderTag)===null||t===void 0?void 0:t.call(e,this))!==null&&r!==void 0?r:this.toMarkdownDefault(e)}toMarkdownDefault(e){const t=this.content.toMarkdown(e);if(this.inline){const s=wm(this.name,t,e??{});if(typeof s=="string")return s}let r="";e?.tag==="italic"||e?.tag===void 0?r="*":e?.tag==="bold"?r="**":e?.tag==="bold-italic"&&(r="***");let i=`${r}@${this.name}${r}`;return this.content.inlines.length===1?i=`${i} — ${t}`:this.content.inlines.length>1&&(i=`${i}
|
|
119
|
+
${t}`),this.inline?`{${i}}`:i}}function wm(n,e,t){var r,i;if(n==="linkplain"||n==="linkcode"||n==="link"){const s=e.indexOf(" ");let a=e;if(s>0){const l=$s(e,s);a=e.substring(l),e=e.substring(0,s)}return(n==="linkcode"||n==="link"&&t.link==="code")&&(a=`\`${a}\``),(i=(r=t.renderLink)===null||r===void 0?void 0:r.call(t,e,a))!==null&&i!==void 0?i:Lm(e,a)}}function Lm(n,e){try{return ft.parse(n,!0),`[${e}](${n})`}catch{return n}}class xs{constructor(e,t){this.inlines=e,this.range=t}toString(){let e="";for(let t=0;t<this.inlines.length;t++){const r=this.inlines[t],i=this.inlines[t+1];e+=r.toString(),i&&i.range.start.line>r.range.start.line&&(e+=`
|
|
120
|
+
`)}return e}toMarkdown(e){let t="";for(let r=0;r<this.inlines.length;r++){const i=this.inlines[r],s=this.inlines[r+1];t+=i.toMarkdown(e),s&&s.range.start.line>i.range.start.line&&(t+=`
|
|
121
|
+
`)}return t}}class Gc{constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}}function zo(n){return n.endsWith(`
|
|
122
|
+
`)?`
|
|
123
|
+
`:`
|
|
124
|
+
|
|
125
|
+
`}class _m{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const t=this.commentProvider.getComment(e);if(t&&Rm(t))return Tm(t).toMarkdown({renderLink:(i,s)=>this.documentationLinkRenderer(e,i,s),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,t,r){var i;const s=(i=this.findNameInPrecomputedScopes(e,t))!==null&&i!==void 0?i:this.findNameInGlobalScope(e,t);if(s&&s.nameSegment){const a=s.nameSegment.range.start.line+1,o=s.nameSegment.range.start.character+1,l=s.documentUri.with({fragment:`L${a},${o}`});return`[${r}](${l.toString()})`}else return}documentationTagRenderer(e,t){}findNameInPrecomputedScopes(e,t){const i=He(e).precomputedScopes;if(!i)return;let s=e;do{const o=i.get(s).find(l=>l.name===t);if(o)return o;s=s.$container}while(s)}findNameInGlobalScope(e,t){return this.indexManager.allElements().find(i=>i.name===t)}}class bm{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var t;return Zp(e)?e.$comment:(t=_u(e.$cstNode,this.grammarConfig().multilineCommentRules))===null||t===void 0?void 0:t.text}}class Om{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}}class Pm{constructor(){this.previousTokenSource=new B.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const t=Gp();return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,r=B.CancellationToken.None){const i=new qs,s={action:t,deferred:i,cancellationToken:r};return e.push(s),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:t,deferred:r,cancellationToken:i})=>{try{const s=await Promise.resolve().then(()=>t(i));r.resolve(s)}catch(s){fi(s)?r.resolve(void 0):r.reject(s)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class Mm{constructor(e){this.grammarElementIdMap=new Bo,this.tokenTypeIdMap=new Bo,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(t=>Object.assign(Object.assign({},t),{message:t.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const t=new Map,r=new Map;for(const i of Et(e))t.set(i,{});if(e.$cstNode)for(const i of Hi(e.$cstNode))r.set(i,{});return{astNodes:t,cstNodes:r}}dehydrateAstNode(e,t){const r=t.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(r.$cstNode=this.dehydrateCstNode(e.$cstNode,t));for(const[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){const a=[];r[i]=a;for(const o of s)ne(o)?a.push(this.dehydrateAstNode(o,t)):be(o)?a.push(this.dehydrateReference(o,t)):a.push(o)}else ne(s)?r[i]=this.dehydrateAstNode(s,t):be(s)?r[i]=this.dehydrateReference(s,t):s!==void 0&&(r[i]=s);return r}dehydrateReference(e,t){const r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=t.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,t){const r=t.cstNodes.get(e);return cl(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=t.astNodes.get(e.astNode),Mn(e)?r.content=e.content.map(i=>this.dehydrateCstNode(i,t)):ll(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){const 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){const t=new Map,r=new Map;for(const s of Et(e))t.set(s,{});let i;if(e.$cstNode)for(const s of Hi(e.$cstNode)){let a;"fullText"in s?(a=new Tc(s.fullText),i=a):"content"in s?a=new js:"tokenType"in s&&(a=this.hydrateCstLeafNode(s)),a&&(r.set(s,a),a.root=i)}return{astNodes:t,cstNodes:r}}hydrateAstNode(e,t){const r=t.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode&&(r.$cstNode=t.cstNodes.get(e.$cstNode));for(const[i,s]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(s)){const a=[];r[i]=a;for(const o of s)ne(o)?a.push(this.setParent(this.hydrateAstNode(o,t),r)):be(o)?a.push(this.hydrateReference(o,r,i,t)):a.push(o)}else ne(s)?r[i]=this.setParent(this.hydrateAstNode(s,t),r):be(s)?r[i]=this.hydrateReference(s,r,i,t):s!==void 0&&(r[i]=s);return r}setParent(e,t){return e.$container=t,e}hydrateReference(e,t,r,i){return this.linker.buildReference(t,r,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,t,r=0){const i=t.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=t.astNodes.get(e.astNode),Mn(i))for(const s of e.content){const a=this.hydrateCstNode(s,t,r++);i.content.push(a)}return i}hydrateCstLeafNode(e){const t=this.getTokenType(e.tokenType),r=e.offset,i=e.length,s=e.startLine,a=e.startColumn,o=e.endLine,l=e.endColumn,c=e.hidden;return new Rs(r,i,{start:{line:s,character:a},end:{line:o,character:l}},t,c)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const t of Et(this.grammar))Ou(t)&&this.grammarElementIdMap.set(t,e++)}}function Qe(n){return{documentation:{CommentProvider:e=>new bm(e),DocumentationProvider:e=>new _m(e)},parser:{AsyncParser:e=>new Om(e),GrammarConfig:e=>xd(e),LangiumParser:e=>bp(e),CompletionParser:e=>_p(e),ValueConverter:()=>new Ic,TokenBuilder:()=>new Sc,Lexer:e=>new gm(e),ParserErrorMessageProvider:()=>new Ec,LexerErrorMessageProvider:()=>new pm},workspace:{AstNodeLocator:()=>new lm,AstNodeDescriptionProvider:e=>new am(e),ReferenceDescriptionProvider:e=>new om(e)},references:{Linker:e=>new Kp(e),NameProvider:()=>new Hp,ScopeProvider:e=>new Qp(e),ScopeComputation:e=>new zp(e),References:e=>new jp(e)},serializer:{Hydrator:e=>new Mm(e),JsonSerializer:e=>new em(e)},validation:{DocumentValidator:e=>new rm(e),ValidationRegistry:e=>new nm(e)},shared:()=>n.shared}}function Ze(n){return{ServiceRegistry:e=>new tm(e),workspace:{LangiumDocuments:e=>new Vp(e),LangiumDocumentFactory:e=>new Bp(e),DocumentBuilder:e=>new dm(e),IndexManager:e=>new fm(e),WorkspaceManager:e=>new hm(e),FileSystemProvider:e=>n.fileSystemProvider(e),WorkspaceLock:()=>new Pm,ConfigurationProvider:e=>new um(e)}}}var qo;(function(n){n.merge=(e,t)=>Qr(Qr({},e),t)})(qo||(qo={}));function re(n,e,t,r,i,s,a,o,l){const c=[n,e,t,r,i,s,a,o,l].reduce(Qr,{});return Uc(c)}const Dm=Symbol("isProxy");function Uc(n,e){const t=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(r,i)=>i===Dm?!0:Xo(r,i,n,e||t),getOwnPropertyDescriptor:(r,i)=>(Xo(r,i,n,e||t),Object.getOwnPropertyDescriptor(r,i)),has:(r,i)=>i in n,ownKeys:()=>[...Object.getOwnPropertyNames(n)]});return t}const Yo=Symbol();function Xo(n,e,t,r){if(e in n){if(n[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable.",{cause:n[e]});if(n[e]===Yo)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return n[e]}else if(e in t){const i=t[e];n[e]=Yo;try{n[e]=typeof i=="function"?i(r):Uc(i,r)}catch(s){throw n[e]=s instanceof Error?s:void 0,s}return n[e]}else return}function Qr(n,e){if(e){for(const[t,r]of Object.entries(e))if(r!==void 0){const i=n[t];i!==null&&r!==null&&typeof i=="object"&&typeof r=="object"?n[t]=Qr(i,r):n[t]=r}}return n}class Fm{readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}}const et={fileSystemProvider:()=>new Fm},Gm={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},Um={AstReflection:()=>new gl};function Bm(){const n=re(Ze(et),Um),e=re(Qe({shared:n}),Gm);return n.ServiceRegistry.register(e),e}function mt(n){var e;const t=Bm(),r=t.serializer.JsonSerializer.deserialize(n);return t.shared.workspace.LangiumDocumentFactory.fromModel(r,ft.parse(`memory://${(e=r.name)!==null&&e!==void 0?e:"grammar"}.langium`)),r}var Vm=Object.defineProperty,A=(n,e)=>Vm(n,"name",{value:e,configurable:!0}),Jo="Statement",kr="Architecture";function Km(n){return we.isInstance(n,kr)}A(Km,"isArchitecture");var lr="Axis",wn="Branch";function Wm(n){return we.isInstance(n,wn)}A(Wm,"isBranch");var cr="Checkout",ur="CherryPicking",Oi="ClassDefStatement",Ln="Commit";function Hm(n){return we.isInstance(n,Ln)}A(Hm,"isCommit");var Pi="Curve",Mi="Edge",Di="Entry",_n="GitGraph";function jm(n){return we.isInstance(n,_n)}A(jm,"isGitGraph");var Fi="Group",$r="Info";function zm(n){return we.isInstance(n,$r)}A(zm,"isInfo");var dr="Item",Gi="Junction",bn="Merge";function qm(n){return we.isInstance(n,bn)}A(qm,"isMerge");var Ui="Option",xr="Packet";function Ym(n){return we.isInstance(n,xr)}A(Ym,"isPacket");var Sr="PacketBlock";function Xm(n){return we.isInstance(n,Sr)}A(Xm,"isPacketBlock");var Ir="Pie";function Jm(n){return we.isInstance(n,Ir)}A(Jm,"isPie");var Cr="PieSection";function Qm(n){return we.isInstance(n,Cr)}A(Qm,"isPieSection");var Bi="Radar",Vi="Service",Nr="Treemap";function Zm(n){return we.isInstance(n,Nr)}A(Zm,"isTreemap");var Ki="TreemapRow",fr="Direction",hr="Leaf",pr="Section",kt,Bc=(kt=class extends ol{getAllTypes(){return[kr,lr,wn,cr,ur,Oi,Ln,Pi,fr,Mi,Di,_n,Fi,$r,dr,Gi,hr,bn,Ui,xr,Sr,Ir,Cr,Bi,pr,Vi,Jo,Nr,Ki]}computeIsSubtype(e,t){switch(e){case wn:case cr:case ur:case Ln:case bn:return this.isSubtype(Jo,t);case fr:return this.isSubtype(_n,t);case hr:case pr:return this.isSubtype(dr,t);default:return!1}}getReferenceType(e){const t=`${e.container.$type}:${e.property}`;switch(t){case"Entry:axis":return lr;default:throw new Error(`${t} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case kr:return{name:kr,properties:[{name:"accDescr"},{name:"accTitle"},{name:"edges",defaultValue:[]},{name:"groups",defaultValue:[]},{name:"junctions",defaultValue:[]},{name:"services",defaultValue:[]},{name:"title"}]};case lr:return{name:lr,properties:[{name:"label"},{name:"name"}]};case wn:return{name:wn,properties:[{name:"name"},{name:"order"}]};case cr:return{name:cr,properties:[{name:"branch"}]};case ur:return{name:ur,properties:[{name:"id"},{name:"parent"},{name:"tags",defaultValue:[]}]};case Oi:return{name:Oi,properties:[{name:"className"},{name:"styleText"}]};case Ln:return{name:Ln,properties:[{name:"id"},{name:"message"},{name:"tags",defaultValue:[]},{name:"type"}]};case Pi:return{name:Pi,properties:[{name:"entries",defaultValue:[]},{name:"label"},{name:"name"}]};case Mi:return{name:Mi,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 Di:return{name:Di,properties:[{name:"axis"},{name:"value"}]};case _n:return{name:_n,properties:[{name:"accDescr"},{name:"accTitle"},{name:"statements",defaultValue:[]},{name:"title"}]};case Fi:return{name:Fi,properties:[{name:"icon"},{name:"id"},{name:"in"},{name:"title"}]};case $r:return{name:$r,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case dr:return{name:dr,properties:[{name:"classSelector"},{name:"name"}]};case Gi:return{name:Gi,properties:[{name:"id"},{name:"in"}]};case bn:return{name:bn,properties:[{name:"branch"},{name:"id"},{name:"tags",defaultValue:[]},{name:"type"}]};case Ui:return{name:Ui,properties:[{name:"name"},{name:"value",defaultValue:!1}]};case xr:return{name:xr,properties:[{name:"accDescr"},{name:"accTitle"},{name:"blocks",defaultValue:[]},{name:"title"}]};case Sr:return{name:Sr,properties:[{name:"bits"},{name:"end"},{name:"label"},{name:"start"}]};case Ir:return{name:Ir,properties:[{name:"accDescr"},{name:"accTitle"},{name:"sections",defaultValue:[]},{name:"showData",defaultValue:!1},{name:"title"}]};case Cr:return{name:Cr,properties:[{name:"label"},{name:"value"}]};case Bi:return{name:Bi,properties:[{name:"accDescr"},{name:"accTitle"},{name:"axes",defaultValue:[]},{name:"curves",defaultValue:[]},{name:"options",defaultValue:[]},{name:"title"}]};case Vi:return{name:Vi,properties:[{name:"icon"},{name:"iconText"},{name:"id"},{name:"in"},{name:"title"}]};case Nr:return{name:Nr,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"},{name:"TreemapRows",defaultValue:[]}]};case Ki:return{name:Ki,properties:[{name:"indent"},{name:"item"}]};case fr:return{name:fr,properties:[{name:"accDescr"},{name:"accTitle"},{name:"dir"},{name:"statements",defaultValue:[]},{name:"title"}]};case hr:return{name:hr,properties:[{name:"classSelector"},{name:"name"},{name:"value"}]};case pr:return{name:pr,properties:[{name:"classSelector"},{name:"name"}]};default:return{name:e,properties:[]}}}},A(kt,"MermaidAstReflection"),kt),we=new Bc,Qo,eg=A(()=>Qo??(Qo=mt(`{"$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":[]}`)),"InfoGrammar"),Zo,tg=A(()=>Zo??(Zo=mt(`{"$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"),el,ng=A(()=>el??(el=mt(`{"$type":"Grammar","isDeclared":true,"name":"Pie","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"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@3"},"arguments":[]},{"$type":"Assignment","feature":"sections","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":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"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":[]}`)),"PieGrammar"),tl,rg=A(()=>tl??(tl=mt(`{"$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":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"ArchitectureGrammar"),nl,ig=A(()=>nl??(nl=mt(`{"$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"),rl,sg=A(()=>rl??(rl=mt(`{"$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"},"arguments":[]},"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"),il,ag=A(()=>il??(il=mt(`{"$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":"?"},{"$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"),og={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},lg={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},cg={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ug={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},dg={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},fg={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},hg={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},gt={AstReflection:A(()=>new Bc,"AstReflection")},pg={Grammar:A(()=>eg(),"Grammar"),LanguageMetaData:A(()=>og,"LanguageMetaData"),parser:{}},mg={Grammar:A(()=>tg(),"Grammar"),LanguageMetaData:A(()=>lg,"LanguageMetaData"),parser:{}},gg={Grammar:A(()=>ng(),"Grammar"),LanguageMetaData:A(()=>cg,"LanguageMetaData"),parser:{}},yg={Grammar:A(()=>rg(),"Grammar"),LanguageMetaData:A(()=>ug,"LanguageMetaData"),parser:{}},Tg={Grammar:A(()=>ig(),"Grammar"),LanguageMetaData:A(()=>dg,"LanguageMetaData"),parser:{}},Rg={Grammar:A(()=>sg(),"Grammar"),LanguageMetaData:A(()=>fg,"LanguageMetaData"),parser:{}},vg={Grammar:A(()=>ag(),"Grammar"),LanguageMetaData:A(()=>hg,"LanguageMetaData"),parser:{}},Eg=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,Ag=/accTitle[\t ]*:([^\n\r]*)/,kg=/title([\t ][^\n\r]*|)/,$g={ACC_DESCR:Eg,ACC_TITLE:Ag,TITLE:kg},$t,hi=($t=class extends Ic{runConverter(e,t,r){let i=this.runCommonConverter(e,t,r);return i===void 0&&(i=this.runCustomConverter(e,t,r)),i===void 0?super.runConverter(e,t,r):i}runCommonConverter(e,t,r){const i=$g[e.name];if(i===void 0)return;const s=i.exec(t);if(s!==null){if(s[1]!==void 0)return s[1].trim().replace(/[\t ]{2,}/gm," ");if(s[2]!==void 0)return s[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,`
|
|
126
|
+
`)}}},A($t,"AbstractMermaidValueConverter"),$t),xt,pi=(xt=class extends hi{runCustomConverter(e,t,r){}},A(xt,"CommonValueConverter"),xt),St,tt=(St=class extends Sc{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,r){const i=super.buildKeywordTokens(e,t,r);return i.forEach(s=>{this.keywords.has(s.name)&&s.PATTERN!==void 0&&(s.PATTERN=new RegExp(s.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},A(St,"AbstractMermaidTokenBuilder"),St),It;It=class extends tt{},A(It,"CommonTokenBuilder");var Ct,xg=(Ct=class extends tt{constructor(){super(["gitGraph"])}},A(Ct,"GitGraphTokenBuilder"),Ct),Vc={parser:{TokenBuilder:A(()=>new xg,"TokenBuilder"),ValueConverter:A(()=>new pi,"ValueConverter")}};function Kc(n=et){const e=re(Ze(n),gt),t=re(Qe({shared:e}),Tg,Vc);return e.ServiceRegistry.register(t),{shared:e,GitGraph:t}}A(Kc,"createGitGraphServices");var Nt,Sg=(Nt=class extends tt{constructor(){super(["info","showInfo"])}},A(Nt,"InfoTokenBuilder"),Nt),Wc={parser:{TokenBuilder:A(()=>new Sg,"TokenBuilder"),ValueConverter:A(()=>new pi,"ValueConverter")}};function Hc(n=et){const e=re(Ze(n),gt),t=re(Qe({shared:e}),pg,Wc);return e.ServiceRegistry.register(t),{shared:e,Info:t}}A(Hc,"createInfoServices");var wt,Ig=(wt=class extends tt{constructor(){super(["packet"])}},A(wt,"PacketTokenBuilder"),wt),jc={parser:{TokenBuilder:A(()=>new Ig,"TokenBuilder"),ValueConverter:A(()=>new pi,"ValueConverter")}};function zc(n=et){const e=re(Ze(n),gt),t=re(Qe({shared:e}),mg,jc);return e.ServiceRegistry.register(t),{shared:e,Packet:t}}A(zc,"createPacketServices");var Lt,Cg=(Lt=class extends tt{constructor(){super(["pie","showData"])}},A(Lt,"PieTokenBuilder"),Lt),_t,Ng=(_t=class extends hi{runCustomConverter(e,t,r){if(e.name==="PIE_SECTION_LABEL")return t.replace(/"/g,"").trim()}},A(_t,"PieValueConverter"),_t),qc={parser:{TokenBuilder:A(()=>new Cg,"TokenBuilder"),ValueConverter:A(()=>new Ng,"ValueConverter")}};function Yc(n=et){const e=re(Ze(n),gt),t=re(Qe({shared:e}),gg,qc);return e.ServiceRegistry.register(t),{shared:e,Pie:t}}A(Yc,"createPieServices");var bt,wg=(bt=class extends tt{constructor(){super(["architecture"])}},A(bt,"ArchitectureTokenBuilder"),bt),Ot,Lg=(Ot=class extends hi{runCustomConverter(e,t,r){if(e.name==="ARCH_ICON")return t.replace(/[()]/g,"").trim();if(e.name==="ARCH_TEXT_ICON")return t.replace(/["()]/g,"");if(e.name==="ARCH_TITLE")return t.replace(/[[\]]/g,"").trim()}},A(Ot,"ArchitectureValueConverter"),Ot),Xc={parser:{TokenBuilder:A(()=>new wg,"TokenBuilder"),ValueConverter:A(()=>new Lg,"ValueConverter")}};function Jc(n=et){const e=re(Ze(n),gt),t=re(Qe({shared:e}),yg,Xc);return e.ServiceRegistry.register(t),{shared:e,Architecture:t}}A(Jc,"createArchitectureServices");var Pt,_g=(Pt=class extends tt{constructor(){super(["radar-beta"])}},A(Pt,"RadarTokenBuilder"),Pt),Qc={parser:{TokenBuilder:A(()=>new _g,"TokenBuilder"),ValueConverter:A(()=>new pi,"ValueConverter")}};function Zc(n=et){const e=re(Ze(n),gt),t=re(Qe({shared:e}),Rg,Qc);return e.ServiceRegistry.register(t),{shared:e,Radar:t}}A(Zc,"createRadarServices");var Mt,bg=(Mt=class extends tt{constructor(){super(["treemap"])}},A(Mt,"TreemapTokenBuilder"),Mt),Og=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,Dt,Pg=(Dt=class extends hi{runCustomConverter(e,t,r){if(e.name==="NUMBER2")return parseFloat(t.replace(/,/g,""));if(e.name==="SEPARATOR")return t.substring(1,t.length-1);if(e.name==="STRING2")return t.substring(1,t.length-1);if(e.name==="INDENTATION")return t.length;if(e.name==="ClassDef"){if(typeof t!="string")return t;const i=Og.exec(t);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},A(Dt,"TreemapValueConverter"),Dt);function eu(n){const e=n.validation.TreemapValidator,t=n.validation.ValidationRegistry;if(t){const r={Treemap:e.checkSingleRoot.bind(e)};t.register(r,e)}}A(eu,"registerValidationChecks");var Ft,Mg=(Ft=class{checkSingleRoot(e,t){let r;for(const i of e.TreemapRows)i.item&&(r===void 0&&i.indent===void 0?r=0:i.indent===void 0?t("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}):r!==void 0&&r>=parseInt(i.indent,10)&&t("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}))}},A(Ft,"TreemapValidator"),Ft),tu={parser:{TokenBuilder:A(()=>new bg,"TokenBuilder"),ValueConverter:A(()=>new Pg,"ValueConverter")},validation:{TreemapValidator:A(()=>new Mg,"TreemapValidator")}};function nu(n=et){const e=re(Ze(n),gt),t=re(Qe({shared:e}),vg,tu);return e.ServiceRegistry.register(t),eu(t),{shared:e,Treemap:t}}A(nu,"createTreemapServices");var Fe={},Dg={info:A(async()=>{const{createInfoServices:n}=await Promise.resolve().then(()=>require("./info-63CPKGFF-B7Bgcqhg.cjs")),e=n().Info.parser.LangiumParser;Fe.info=e},"info"),packet:A(async()=>{const{createPacketServices:n}=await Promise.resolve().then(()=>require("./packet-HUATNLJX-G8eR5ynJ.cjs")),e=n().Packet.parser.LangiumParser;Fe.packet=e},"packet"),pie:A(async()=>{const{createPieServices:n}=await Promise.resolve().then(()=>require("./pie-WTHONI2E-CfCIU8Tr.cjs")),e=n().Pie.parser.LangiumParser;Fe.pie=e},"pie"),architecture:A(async()=>{const{createArchitectureServices:n}=await Promise.resolve().then(()=>require("./architecture-O4VJ6CD3-DaYZgGoD.cjs")),e=n().Architecture.parser.LangiumParser;Fe.architecture=e},"architecture"),gitGraph:A(async()=>{const{createGitGraphServices:n}=await Promise.resolve().then(()=>require("./gitGraph-ZV4HHKMB-e_eUYuE2.cjs")),e=n().GitGraph.parser.LangiumParser;Fe.gitGraph=e},"gitGraph"),radar:A(async()=>{const{createRadarServices:n}=await Promise.resolve().then(()=>require("./radar-NJJJXTRR-BpgvgEoJ.cjs")),e=n().Radar.parser.LangiumParser;Fe.radar=e},"radar"),treemap:A(async()=>{const{createTreemapServices:n}=await Promise.resolve().then(()=>require("./treemap-75Q7IDZK-DyG1W8W-.cjs")),e=n().Treemap.parser.LangiumParser;Fe.treemap=e},"treemap")};async function ru(n,e){const t=Dg[n];if(!t)throw new Error(`Unknown diagram type: ${n}`);Fe[n]||await t();const i=Fe[n].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new Fg(i);return i.value}A(ru,"parse");var Gt,Fg=(Gt=class extends Error{constructor(e){const t=e.lexerErrors.map(i=>i.message).join(`
|
|
127
|
+
`),r=e.parserErrors.map(i=>i.message).join(`
|
|
128
|
+
`);super(`Parsing failed: ${t} ${r}`),this.result=e}},A(Gt,"MermaidParseError"),Gt);exports.ArchitectureModule=Xc;exports.GitGraphModule=Vc;exports.InfoModule=Wc;exports.PacketModule=jc;exports.PieModule=qc;exports.RadarModule=Qc;exports.TreemapModule=tu;exports.createArchitectureServices=Jc;exports.createGitGraphServices=Kc;exports.createInfoServices=Hc;exports.createPacketServices=zc;exports.createPieServices=Yc;exports.createRadarServices=Zc;exports.createTreemapServices=nu;exports.parse=ru;
|