@wildo-ai/application-creation-workbench 1.1.5 → 1.1.7

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.
Files changed (121) hide show
  1. package/bin/wildo-workbench-serve.mjs +0 -0
  2. package/dist/.vite/manifest.json +399 -392
  3. package/dist/assets/ChartEmptyState-BP_Yq5V7.js +1 -0
  4. package/dist/assets/ChartView-07Vh3EtV.js +56 -0
  5. package/dist/assets/{_basePickBy-Br6YuOAk.js → _basePickBy-C0TWefH3.js} +1 -1
  6. package/dist/assets/{_baseUniq-K10bxMjs.js → _baseUniq-aBjj_hOi.js} +1 -1
  7. package/dist/assets/{arc-hTvUi_Jd.js → arc-B7pBcXhk.js} +1 -1
  8. package/dist/assets/architectureDiagram-VXUJARFQ-CxaR1SOK.js +36 -0
  9. package/dist/assets/{blockDiagram-VD42YOAC-CMGydNsH.js → blockDiagram-VD42YOAC-FQ6rpl1q.js} +1 -1
  10. package/dist/assets/{c4Diagram-YG6GDRKO-CTiIMIz5.js → c4Diagram-YG6GDRKO-MBotlECZ.js} +1 -1
  11. package/dist/assets/channel-BihP_0tn.js +1 -0
  12. package/dist/assets/{chunk-4BX2VUAB-CBDMQNPS.js → chunk-4BX2VUAB-DH3JjsZf.js} +1 -1
  13. package/dist/assets/{chunk-55IACEB6-CEmaVN-l.js → chunk-55IACEB6-B-1eMtsJ.js} +1 -1
  14. package/dist/assets/{chunk-B4BG7PRW-BuRJMfnQ.js → chunk-B4BG7PRW-DjqjS8Nd.js} +1 -1
  15. package/dist/assets/{chunk-DI55MBZ5-DTEvZEyn.js → chunk-DI55MBZ5-CNDJpkHu.js} +1 -1
  16. package/dist/assets/{chunk-FMBD7UC4-CQL6IezS.js → chunk-FMBD7UC4-C_LJMr3H.js} +1 -1
  17. package/dist/assets/{chunk-QN33PNHL-DIt1i8tt.js → chunk-QN33PNHL-DOWhVFKY.js} +1 -1
  18. package/dist/assets/{chunk-QZHKN3VN-C8CdhpgW.js → chunk-QZHKN3VN-BqSJxIuw.js} +1 -1
  19. package/dist/assets/{chunk-TZMSLE5B-2nOqyQPZ.js → chunk-TZMSLE5B-CnGhg192.js} +1 -1
  20. package/dist/assets/classDiagram-2ON5EDUG-DmlHswhx.js +1 -0
  21. package/dist/assets/classDiagram-v2-WZHVMYZB-DmlHswhx.js +1 -0
  22. package/dist/assets/clone-H3FbKF9K.js +1 -0
  23. package/dist/assets/{cm6-editor-C1am2PUt.js → cm6-editor-DpZrV-bm.js} +3 -3
  24. package/dist/assets/code-block-IT6T5CEO-CJXyw75w.js +3 -0
  25. package/dist/assets/{context-CjDY9wk7.js → context-CYZBYFJH.js} +1 -1
  26. package/dist/assets/cose-bilkent-S5V4N54A-BV1r6KdQ.js +1 -0
  27. package/dist/assets/dagre-6UL2VRFP-xo5kvHqM.js +4 -0
  28. package/dist/assets/diagram-PSM6KHXK-yWnIouwj.js +24 -0
  29. package/dist/assets/diagram-QEK2KX5R-7PaiBPsn.js +43 -0
  30. package/dist/assets/diagram-S2PKOQOG-CLb_cZaK.js +24 -0
  31. package/dist/assets/{dropbox-picker-BcRq4q-0.js → dropbox-picker-dJzRo9BP.js} +1 -1
  32. package/dist/assets/{erDiagram-Q2GNP2WA-Dg-rHIsN.js → erDiagram-Q2GNP2WA-C7zQODGQ.js} +1 -1
  33. package/dist/assets/{flowDiagram-NV44I4VS-BP-XXSqP.js → flowDiagram-NV44I4VS-CU90-nPK.js} +1 -1
  34. package/dist/assets/flows-actors-graph-runtime-I8VIayGy.js +1 -0
  35. package/dist/assets/ganttDiagram-JELNMOA3-QChqch-L.js +267 -0
  36. package/dist/assets/gitGraphDiagram-V2S2FVAM-C9TJLfq4.js +65 -0
  37. package/dist/assets/{google-drive-picker-B7-UtQYR.js → google-drive-picker-DP0pskfD.js} +1 -1
  38. package/dist/assets/{graph-C0dMcX0W.js → graph-BSonitmV.js} +1 -1
  39. package/dist/assets/{graph-runtime-CWiE-wtz.js → graph-runtime-8-ugTIpe.js} +1 -1
  40. package/dist/assets/{index-DPnXh7rr.js → index-B3f48X5_.js} +1 -1
  41. package/dist/assets/{index-Be7Kt732.js → index-B5SFUruu.js} +1 -1
  42. package/dist/assets/{index-D9v8TSci.js → index-BAj7bJQ9.js} +1 -1
  43. package/dist/assets/{index-Dq_EnMVo.js → index-BVEXkCPp.js} +1 -1
  44. package/dist/assets/{index-Cey0RnOC.js → index-BZyZXiVP.js} +1 -1
  45. package/dist/assets/{index-DvFC4HED.js → index-BkfsYGDI.js} +1 -1
  46. package/dist/assets/{index-Dq0jp-Om.js → index-Bzi4leGz.js} +1 -1
  47. package/dist/assets/{index-9s27iSag.js → index-CFS2kf4X.js} +1 -1
  48. package/dist/assets/{index-t42UNDS6.js → index-CTGTArYi.js} +1 -1
  49. package/dist/assets/{index-DKCAweKx.js → index-CZfKMV0S.js} +1 -1
  50. package/dist/assets/{index-Bgs_pC_Y.js → index-CclRN4na.js} +1 -1
  51. package/dist/assets/index-CpNjptBT.js +347 -0
  52. package/dist/assets/{index-D5kqp6s0.js → index-CqAJwEb9.js} +1 -1
  53. package/dist/assets/{index-DZopo5F6.js → index-Cx98Z3Ta.js} +1 -1
  54. package/dist/assets/index-D-9PKSn4.js +1 -0
  55. package/dist/assets/index-D-THewyc.css +1 -0
  56. package/dist/assets/{index-Df0eJHBm.js → index-D12-fzIP.js} +1 -1
  57. package/dist/assets/index-D8dkqP85.js +1094 -0
  58. package/dist/assets/{index-ZpEoSVCX.js → index-DL_hDFJK.js} +1 -1
  59. package/dist/assets/{index-D7UJLb5I.js → index-DNdNQX3_.js} +1 -1
  60. package/dist/assets/{index-BOiBO34F.js → index-DRrfjJvh.js} +1 -1
  61. package/dist/assets/{index-BOxxilol.js → index-D_QZLEQq.js} +1 -1
  62. package/dist/assets/{index-BkvM_lMh.js → index-Dl0klRA0.js} +1 -1
  63. package/dist/assets/{index-DlJDBjRm.js → index-DwafvHBM.js} +1 -1
  64. package/dist/assets/{index-COFqdHy-.js → index-dEth1qer.js} +1 -1
  65. package/dist/assets/{index-B4dr2goB.js → index-jiRPxWhK.js} +1 -1
  66. package/dist/assets/{index-DrKP8dhg.js → index-tJ39cHN5.js} +1 -1
  67. package/dist/assets/{index-Cl_eCn7w.js → index-vvv2MPol.js} +1 -1
  68. package/dist/assets/{index.es-OTtV-Qaj.js → index.es-BIyJxiiZ.js} +1 -1
  69. package/dist/assets/infoDiagram-HS3SLOUP-Beor-41t.js +2 -0
  70. package/dist/assets/{journeyDiagram-XKPGCS4Q-C5l-W_D3.js → journeyDiagram-XKPGCS4Q-TTxuStRy.js} +1 -1
  71. package/dist/assets/{kanban-definition-3W4ZIXB7-B__BbWoq.js → kanban-definition-3W4ZIXB7-BYqFfkjy.js} +1 -1
  72. package/dist/assets/{layout-Ct3mCMS9.js → layout-DrzykIoN.js} +1 -1
  73. package/dist/assets/{linear-Dz3rN3XM.js → linear-D86elEgL.js} +1 -1
  74. package/dist/assets/maximize-2-zJKkDRK0.js +11 -0
  75. package/dist/assets/{mermaid-VLURNSYL-C4UDY296.js → mermaid-VLURNSYL-BAygRTK6.js} +7 -7
  76. package/dist/assets/{mermaid.core-CRNTw-K2.js → mermaid.core-bwWKwscf.js} +5 -5
  77. package/dist/assets/{mindmap-definition-VGOIOE7T-Dns6Jp-h.js → mindmap-definition-VGOIOE7T-DmkSZj5s.js} +1 -1
  78. package/dist/assets/module-DUSXqJtA.js +3 -0
  79. package/dist/assets/{onedrive-picker-ClfxORZE.js → onedrive-picker-CyXOFDsr.js} +1 -1
  80. package/dist/assets/{pdf-viewer-BSApg-uG.js → pdf-viewer-BSy3edho.js} +1 -1
  81. package/dist/assets/{pieDiagram-ADFJNKIX-B8Jsapz3.js → pieDiagram-ADFJNKIX-BoqRK1Nj.js} +1 -1
  82. package/dist/assets/{quadrantDiagram-AYHSOK5B-C-kQhqve.js → quadrantDiagram-AYHSOK5B-iVG56kyl.js} +1 -1
  83. package/dist/assets/{requirementDiagram-UZGBJVZJ-CCFa12OF.js → requirementDiagram-UZGBJVZJ-BlfhbQSa.js} +1 -1
  84. package/dist/assets/sankeyDiagram-TZEHDZUN-CIqchrnr.js +10 -0
  85. package/dist/assets/{sequenceDiagram-WL72ISMW-B6sTQliE.js → sequenceDiagram-WL72ISMW-D98Lehfv.js} +1 -1
  86. package/dist/assets/{shiki-highlighter-runtime-D7okHLco.js → shiki-highlighter-runtime-CUsH9pAI.js} +1 -1
  87. package/dist/assets/stateDiagram-FKZM4ZOC-DKCmtDHk.js +1 -0
  88. package/dist/assets/stateDiagram-v2-4FDKWEC3-BExRj50s.js +1 -0
  89. package/dist/assets/{timeline-definition-IT6M3QCI-DZBb9YJX.js → timeline-definition-IT6M3QCI-DeDxHecT.js} +1 -1
  90. package/dist/assets/treemap-GDKQZRPO-DIQh1NSx.js +160 -0
  91. package/dist/assets/useQuickActionButtonBehavior-BpISdruD.js +1 -0
  92. package/dist/assets/{xychartDiagram-PRI3JC2R-BhTbi7nd.js → xychartDiagram-PRI3JC2R-DeAMabcI.js} +1 -1
  93. package/dist/index.html +2 -2
  94. package/package.json +8 -8
  95. package/dist/assets/ApplicationLevel_Toolbar-BddtfgIS.js +0 -1
  96. package/dist/assets/ChartEmptyState-lsMuirLh.js +0 -1
  97. package/dist/assets/ChartView-BTIzMUoU.js +0 -56
  98. package/dist/assets/architectureDiagram-VXUJARFQ-DTNeQb21.js +0 -36
  99. package/dist/assets/channel-DlvOdQcG.js +0 -1
  100. package/dist/assets/classDiagram-2ON5EDUG-CJonpGbc.js +0 -1
  101. package/dist/assets/classDiagram-v2-WZHVMYZB-CJonpGbc.js +0 -1
  102. package/dist/assets/clone-B5BftoQk.js +0 -1
  103. package/dist/assets/code-block-IT6T5CEO-rvNI7Npg.js +0 -3
  104. package/dist/assets/cose-bilkent-S5V4N54A-Bs72jpo-.js +0 -1
  105. package/dist/assets/dagre-6UL2VRFP-e0N82ZeJ.js +0 -4
  106. package/dist/assets/diagram-PSM6KHXK-Wp6Xds16.js +0 -24
  107. package/dist/assets/diagram-QEK2KX5R-DrkkEGhC.js +0 -43
  108. package/dist/assets/diagram-S2PKOQOG-C3M-VMYn.js +0 -24
  109. package/dist/assets/flows-actors-graph-runtime-C8pD81-m.js +0 -1
  110. package/dist/assets/ganttDiagram-JELNMOA3-CroPqWYF.js +0 -267
  111. package/dist/assets/gitGraphDiagram-V2S2FVAM-DC9FCbno.js +0 -65
  112. package/dist/assets/index-Cn1WDMib.js +0 -1
  113. package/dist/assets/index-D2Lcurso.js +0 -994
  114. package/dist/assets/index-nHF1ekZC.css +0 -1
  115. package/dist/assets/index-wtSklh0n.js +0 -367
  116. package/dist/assets/infoDiagram-HS3SLOUP-BumgayY_.js +0 -2
  117. package/dist/assets/sankeyDiagram-TZEHDZUN-COr9DFuT.js +0 -10
  118. package/dist/assets/stateDiagram-FKZM4ZOC-Dpg3xi0D.js +0 -1
  119. package/dist/assets/stateDiagram-v2-4FDKWEC3-CK1yFthu.js +0 -1
  120. package/dist/assets/treemap-GDKQZRPO-Oo1I1edJ.js +0 -160
  121. package/dist/assets/x-CHMqFUz-.js +0 -21
@@ -0,0 +1,160 @@
1
+ import{b as yt,Jy as wp,_ as _n}from"./index-D8dkqP85.js";import{bn as bp,bo as _p,aO as ff,b7 as Ip,aS as $p,aP as ze,aq as Pp,ar as Il,aZ as Lp,b0 as hf,b1 as pf,a_ as Op,bc as $l,at as Hn,au as oe,aQ as Pl,aK as xp}from"./mermaid.core-bwWKwscf.js";import{k as Sr,j as nl,g as Ur,S as Dp,w as Mp,x as Fp,c as mf,v as Le,y as gf,l as Gp,z as Up,A as jp,B as zp,C as Bp,a as yf,d as U,i as tn,r as Xe,f as ft,D as xe}from"./_baseUniq-aBjj_hOi.js";import{j as rl,m as M,d as qp,f as Tt,g as kr,h as z,i as il,l as jn,e as Wp}from"./_basePickBy-C0TWefH3.js";import{c as qe}from"./clone-H3FbKF9K.js";var Vp=Object.prototype,Kp=Vp.hasOwnProperty,dt=bp(function(t,e){if(_p(e)||ff(e)){Ip(e,Sr(e),t);return}for(var n in e)Kp.call(e,n)&&$p(t,n,e[n])});function Tf(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),n=n>i?i:n,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var s=Array(i);++r<i;)s[r]=t[r+e];return s}function Ui(t){for(var e=-1,n=t==null?0:t.length,r=0,i=[];++e<n;){var s=t[e];s&&(i[r++]=s)}return i}function Hp(t,e,n,r){for(var i=-1,s=t==null?0:t.length;++i<s;){var a=t[i];e(r,a,n(a),t)}return r}function Yp(t,e,n,r){return nl(t,function(i,s,a){e(r,i,n(i),a)}),r}function Xp(t,e){return function(n,r){var i=ze(n)?Hp:Yp,s=e?e():{};return i(n,t,Ur(r),s)}}var Jp=200;function Qp(t,e,n,r){var i=-1,s=Mp,a=!0,o=t.length,c=[],l=e.length;if(!o)return c;e.length>=Jp&&(s=Fp,a=!1,e=new Dp(e));e:for(;++i<o;){var u=t[i],f=u;if(u=u!==0?u:0,a&&f===f){for(var p=l;p--;)if(e[p]===f)continue e;c.push(u)}else s(e,f,r)||c.push(u)}return c}var ga=Pp(function(t,e){return Il(t)?Qp(t,mf(e,1,Il,!0)):[]});function Ge(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:rl(e),Tf(t,e<0?0:e,r)):[]}function Ci(t,e,n){var r=t==null?0:t.length;return r?(e=e===void 0?1:rl(e),e=r-e,Tf(t,0,e<0?0:e)):[]}function Zp(t,e){for(var n=-1,r=t==null?0:t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function em(t,e){var n=!0;return nl(t,function(r,i,s){return n=!!e(r,i,s),n}),n}function Nt(t,e,n){var r=ze(t)?Zp:em;return r(t,Ur(e))}function bt(t){return t&&t.length?t[0]:void 0}function ut(t,e){return mf(M(t,e))}var tm=Object.prototype,nm=tm.hasOwnProperty,rm=Xp(function(t,e,n){nm.call(t,n)?t[n].push(e):Lp(t,n,[e])}),im="[object String]";function rt(t){return typeof t=="string"||!ze(t)&&hf(t)&&pf(t)==im}var sm=Math.max;function Ze(t,e,n,r){t=ff(t)?t:Le(t),n=n?rl(n):0;var i=t.length;return n<0&&(n=sm(i+n,0)),rt(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&gf(t,e,n)>-1}function Ll(t,e,n){var r=t==null?0:t.length;if(!r)return-1;var i=0;return gf(t,e,i)}var am="[object RegExp]";function om(t){return hf(t)&&pf(t)==am}var Ol=$l&&$l.isRegExp,nn=Ol?Op(Ol):om,cm="Expected a function";function lm(t){if(typeof t!="function")throw new TypeError(cm);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function _t(t,e){if(t==null)return{};var n=Gp(Up(t),function(r){return[r]});return e=Ur(e),qp(t,n,function(r,i){return e(r,i[0])})}function ya(t,e){var n=ze(t)?jp:zp;return n(t,lm(Ur(e)))}function um(t,e){var n;return nl(t,function(r,i,s){return n=e(r,i,s),!n}),!!n}function Rf(t,e,n){var r=ze(t)?Bp:um;return r(t,Ur(e))}function sl(t){return t&&t.length?yf(t):[]}function dm(t,e){return t&&t.length?yf(t,Ur(e)):[]}function Ve(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function kt(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function fn(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function fm(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function ni(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}class vf{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){const n=this.types[e.container.$type];if(!n)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);const r=n.properties[e.property]?.referenceType;if(!r)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return r}getTypeMetaData(e){const n=this.types[e];return n||{name:e,properties:{},superTypes:[]}}isInstance(e,n){return Ve(e)&&this.isSubtype(e.$type,n)}isSubtype(e,n){if(e===n)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});const i=r[n];if(i!==void 0)return i;{const s=this.types[e],a=s?s.superTypes.some(o=>this.isSubtype(o,n)):!1;return r[n]=a,a}}getAllSubTypes(e){const n=this.allSubtypes[e];if(n)return n;{const r=this.getAllTypes(),i=[];for(const s of r)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}}function Ni(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Ef(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Af(t){return Ni(t)&&typeof t.fullText=="string"}class Ue{constructor(e,n){this.startFn=e,this.nextFn=n}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 n=0,r=e.next();for(;!r.done;)n++,r=e.next();return n}toArray(){const e=[],n=this.iterator();let r;do r=n.next(),r.value!==void 0&&e.push(r.value);while(!r.done);return e}toSet(){return new Set(this)}toMap(e,n){const r=this.map(i=>[e?e(i):i,n?n(i):i]);return new Map(r)}toString(){return this.join()}concat(e){return new Ue(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),n=>{let r;if(!n.firstDone){do if(r=this.nextFn(n.first),!r.done)return r;while(!r.done);n.firstDone=!0}do if(r=n.iterator.next(),!r.done)return r;while(!r.done);return ct})}join(e=","){const n=this.iterator();let r="",i,s=!1;do i=n.next(),i.done||(s&&(r+=e),r+=hm(i.value)),s=!0;while(!i.done);return r}indexOf(e,n=0){const r=this.iterator();let i=0,s=r.next();for(;!s.done;){if(i>=n&&s.value===e)return i;s=r.next(),i++}return-1}every(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(!e(r.value))return!1;r=n.next()}return!0}some(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(e(r.value))return!0;r=n.next()}return!1}forEach(e){const n=this.iterator();let r=0,i=n.next();for(;!i.done;)e(i.value,r),i=n.next(),r++}map(e){return new Ue(this.startFn,n=>{const{done:r,value:i}=this.nextFn(n);return r?ct:{done:!1,value:e(i)}})}filter(e){return new Ue(this.startFn,n=>{let r;do if(r=this.nextFn(n),!r.done&&e(r.value))return r;while(!r.done);return ct})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,n){const r=this.iterator();let i=n,s=r.next();for(;!s.done;)i===void 0?i=s.value:i=e(i,s.value),s=r.next();return i}reduceRight(e,n){return this.recursiveReduce(this.iterator(),e,n)}recursiveReduce(e,n,r){const i=e.next();if(i.done)return r;const s=this.recursiveReduce(e,n,r);return s===void 0?i.value:n(s,i.value)}find(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(e(r.value))return r.value;r=n.next()}}findIndex(e){const n=this.iterator();let r=0,i=n.next();for(;!i.done;){if(e(i.value))return r;i=n.next(),r++}return-1}includes(e){const n=this.iterator();let r=n.next();for(;!r.done;){if(r.value===e)return!0;r=n.next()}return!1}flatMap(e){return new Ue(()=>({this:this.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:r,value:i}=this.nextFn(n.this);if(!r){const s=e(i);if(Us(s))n.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(n.iterator);return ct})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const n=e>1?this.flat(e-1):this;return new Ue(()=>({this:n.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}=n.nextFn(r.this);if(!i)if(Us(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return ct})}head(){const n=this.iterator().next();if(!n.done)return n.value}tail(e=1){return new Ue(()=>{const n=this.startFn();for(let r=0;r<e;r++)if(this.nextFn(n).done)return n;return n},this.nextFn)}limit(e){return new Ue(()=>({size:0,state:this.startFn()}),n=>(n.size++,n.size>e?ct:this.nextFn(n.state)))}distinct(e){return new Ue(()=>({set:new Set,internalState:this.startFn()}),n=>{let r;do if(r=this.nextFn(n.internalState),!r.done){const i=e?e(r.value):r.value;if(!n.set.has(i))return n.set.add(i),r}while(!r.done);return ct})}exclude(e,n){const r=new Set;for(const i of e){const s=n?n(i):i;r.add(s)}return this.filter(i=>{const s=n?n(i):i;return!r.has(s)})}}function hm(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function Us(t){return!!t&&typeof t[Symbol.iterator]=="function"}const Sf=new Ue(()=>{},()=>ct),ct=Object.freeze({done:!0,value:void 0});function he(...t){if(t.length===1){const e=t[0];if(e instanceof Ue)return e;if(Us(e))return new Ue(()=>e[Symbol.iterator](),n=>n.next());if(typeof e.length=="number")return new Ue(()=>({index:0}),n=>n.index<e.length?{done:!1,value:e[n.index++]}:ct)}return t.length>1?new Ue(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const n=e.iterator.next();if(!n.done)return n;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){const n=t[e.collIndex++];Us(n)?e.iterator=n[Symbol.iterator]():n&&typeof n.length=="number"&&(e.array=n)}}while(e.iterator||e.array||e.collIndex<t.length);return ct}):Sf}class al extends Ue{constructor(e,n,r){super(()=>({iterators:r?.includeRoot?[[e][Symbol.iterator]()]:[n(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(n(a.value)[Symbol.iterator]()),a}return ct})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var ho;(function(t){function e(s){return s.reduce((a,o)=>a+o,0)}t.sum=e;function n(s){return s.reduce((a,o)=>a*o,0)}t.product=n;function r(s){return s.reduce((a,o)=>Math.min(a,o))}t.min=r;function i(s){return s.reduce((a,o)=>Math.max(a,o))}t.max=i})(ho||(ho={}));function po(t,e={}){for(const[n,r]of Object.entries(t))n.startsWith("$")||(Array.isArray(r)?r.forEach((i,s)=>{Ve(i)&&(i.$container=t,i.$containerProperty=n,i.$containerIndex=s,e.deep&&po(i,e))}):Ve(r)&&(r.$container=t,r.$containerProperty=n,e.deep&&po(r,e)))}function Ta(t,e){let n=t;for(;n;){if(e(n))return n;n=n.$container}}function Qt(t){const n=Cs(t).$document;if(!n)throw new Error("AST node has no document.");return n}function Cs(t){for(;t.$container;)t=t.$container;return t}function xl(t){return kt(t)?t.ref?[t.ref]:[]:fn(t)?t.items.map(e=>e.ref):[]}function ol(t,e){if(!t)throw new Error("Node must be an AstNode.");const n=e?.range;return new Ue(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),r=>{for(;r.keyIndex<r.keys.length;){const i=r.keys[r.keyIndex];if(!i.startsWith("$")){const s=t[i];if(Ve(s)){if(r.keyIndex++,Dl(s,n))return{done:!1,value:s}}else if(Array.isArray(s)){for(;r.arrayIndex<s.length;){const a=r.arrayIndex++,o=s[a];if(Ve(o)&&Dl(o,n))return{done:!1,value:o}}r.arrayIndex=0}}r.keyIndex++}return ct})}function ji(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new al(t,n=>ol(n,e))}function Zt(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new al(t,n=>ol(n,e),{includeRoot:!0})}function Dl(t,e){if(!e)return!0;const n=t.$cstNode?.range;return n?Dm(n,e):!1}function js(t){return new Ue(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const n=e.keys[e.keyIndex];if(!n.startsWith("$")){const r=t[n];if(kt(r)||fn(r))return e.keyIndex++,{done:!1,value:{reference:r,container:t,property:n}};if(Array.isArray(r)){for(;e.arrayIndex<r.length;){const i=e.arrayIndex++,s=r[i];if(kt(s)||fn(r))return{done:!1,value:{reference:s,container:t,property:n,index:i}}}e.arrayIndex=0}}e.keyIndex++}return ct})}function pm(t,e){const n=t.getTypeMetaData(e.$type),r=e;for(const i of Object.values(n.properties))i.defaultValue!==void 0&&r[i.name]===void 0&&(r[i.name]=kf(i.defaultValue))}function kf(t){return Array.isArray(t)?[...t.map(kf)]:t}const ot={$type:"AbstractElement",cardinality:"cardinality"};function mm(t){return Z.isInstance(t,ot.$type)}const Ns={$type:"AbstractParserRule"};function zi(t){return Z.isInstance(t,Ns.$type)}const hs={$type:"AbstractRule"},At={$type:"AbstractType"},Ln={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function Ra(t){return Z.isInstance(t,Ln.$type)}const ws={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function Cf(t){return Z.isInstance(t,ws.$type)}const Ml={$type:"ArrayLiteral",elements:"elements"},Fl={$type:"ArrayType",elementType:"elementType"},On={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function zn(t){return Z.isInstance(t,On.$type)}const mo={$type:"BooleanLiteral",true:"true"};function gm(t){return Z.isInstance(t,mo.$type)}const xn={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function ym(t){return Z.isInstance(t,xn.$type)}const tr={$type:"Condition"},bs={$type:"Conjunction",left:"left",right:"right"};function Tm(t){return Z.isInstance(t,bs.$type)}const Dn={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function va(t){return Z.isInstance(t,Dn.$type)}const _s={$type:"Disjunction",left:"left",right:"right"};function Rm(t){return Z.isInstance(t,_s.$type)}const go={$type:"EndOfFile",cardinality:"cardinality"};function vm(t){return Z.isInstance(t,go.$type)}const In={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"},Gl={$type:"GrammarImport",path:"path"},or={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function cl(t){return Z.isInstance(t,or.$type)}const yo={$type:"InferredType",name:"name"};function Nf(t){return Z.isInstance(t,yo.$type)}const Vt={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function zs(t){return Z.isInstance(t,Vt.$type)}const qa={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"},Ul={$type:"InfixRuleOperators",precedences:"precedences"},pi={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function Em(t){return Z.isInstance(t,pi.$type)}const mi={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function Bn(t){return Z.isInstance(t,mi.$type)}const ps={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"},cr={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Am(t){return Z.isInstance(t,cr.$type)}const To={$type:"Negation",value:"value"};function Sm(t){return Z.isInstance(t,To.$type)}const jl={$type:"NumberLiteral",value:"value"},ms={$type:"Parameter",name:"name"},Ro={$type:"ParameterReference",parameter:"parameter"};function km(t){return Z.isInstance(t,Ro.$type)}const Lt={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function an(t){return Z.isInstance(t,Lt.$type)}const Wa={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"},lr={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function Cm(t){return Z.isInstance(t,lr.$type)}const vo={$type:"ReturnType",name:"name"};function Nm(t){return Z.isInstance(t,vo.$type)}const ur={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function qn(t){return Z.isInstance(t,ur.$type)}const gi={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function wm(t){return Z.isInstance(t,gi.$type)}const zl={$type:"StringLiteral",value:"value"},dr={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function bm(t){return Z.isInstance(t,dr.$type)}const mt={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"},fr={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function _m(t){return Z.isInstance(t,fr.$type)}const dn={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function on(t){return Z.isInstance(t,dn.$type)}const hr={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function Im(t){return Z.isInstance(t,hr.$type)}const Is={$type:"Type",name:"name",type:"type"};function $m(t){return Z.isInstance(t,Is.$type)}const ri={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"},ii={$type:"TypeDefinition"},Bl={$type:"UnionType",types:"types"},$s={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function wf(t){return Z.isInstance(t,$s.$type)}const pr={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Pm(t){return Z.isInstance(t,pr.$type)}const si={$type:"ValueLiteral"},yi={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Lm(t){return Z.isInstance(t,yi.$type)}class bf extends vf{constructor(){super(...arguments),this.types={AbstractElement:{name:ot.$type,properties:{cardinality:{name:ot.cardinality}},superTypes:[]},AbstractParserRule:{name:Ns.$type,properties:{},superTypes:[hs.$type,At.$type]},AbstractRule:{name:hs.$type,properties:{},superTypes:[]},AbstractType:{name:At.$type,properties:{},superTypes:[]},Action:{name:Ln.$type,properties:{cardinality:{name:Ln.cardinality},feature:{name:Ln.feature},inferredType:{name:Ln.inferredType},operator:{name:Ln.operator},type:{name:Ln.type,referenceType:At.$type}},superTypes:[ot.$type]},Alternatives:{name:ws.$type,properties:{cardinality:{name:ws.cardinality},elements:{name:ws.elements,defaultValue:[]}},superTypes:[ot.$type]},ArrayLiteral:{name:Ml.$type,properties:{elements:{name:Ml.elements,defaultValue:[]}},superTypes:[si.$type]},ArrayType:{name:Fl.$type,properties:{elementType:{name:Fl.elementType}},superTypes:[ii.$type]},Assignment:{name:On.$type,properties:{cardinality:{name:On.cardinality},feature:{name:On.feature},operator:{name:On.operator},predicate:{name:On.predicate},terminal:{name:On.terminal}},superTypes:[ot.$type]},BooleanLiteral:{name:mo.$type,properties:{true:{name:mo.true,defaultValue:!1}},superTypes:[tr.$type,si.$type]},CharacterRange:{name:xn.$type,properties:{cardinality:{name:xn.cardinality},left:{name:xn.left},lookahead:{name:xn.lookahead},parenthesized:{name:xn.parenthesized,defaultValue:!1},right:{name:xn.right}},superTypes:[mt.$type]},Condition:{name:tr.$type,properties:{},superTypes:[]},Conjunction:{name:bs.$type,properties:{left:{name:bs.left},right:{name:bs.right}},superTypes:[tr.$type]},CrossReference:{name:Dn.$type,properties:{cardinality:{name:Dn.cardinality},deprecatedSyntax:{name:Dn.deprecatedSyntax,defaultValue:!1},isMulti:{name:Dn.isMulti,defaultValue:!1},terminal:{name:Dn.terminal},type:{name:Dn.type,referenceType:At.$type}},superTypes:[ot.$type]},Disjunction:{name:_s.$type,properties:{left:{name:_s.left},right:{name:_s.right}},superTypes:[tr.$type]},EndOfFile:{name:go.$type,properties:{cardinality:{name:go.cardinality}},superTypes:[ot.$type]},Grammar:{name:In.$type,properties:{imports:{name:In.imports,defaultValue:[]},interfaces:{name:In.interfaces,defaultValue:[]},isDeclared:{name:In.isDeclared,defaultValue:!1},name:{name:In.name},rules:{name:In.rules,defaultValue:[]},types:{name:In.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:Gl.$type,properties:{path:{name:Gl.path}},superTypes:[]},Group:{name:or.$type,properties:{cardinality:{name:or.cardinality},elements:{name:or.elements,defaultValue:[]},guardCondition:{name:or.guardCondition},predicate:{name:or.predicate}},superTypes:[ot.$type]},InferredType:{name:yo.$type,properties:{name:{name:yo.name}},superTypes:[At.$type]},InfixRule:{name:Vt.$type,properties:{call:{name:Vt.call},dataType:{name:Vt.dataType},inferredType:{name:Vt.inferredType},name:{name:Vt.name},operators:{name:Vt.operators},parameters:{name:Vt.parameters,defaultValue:[]},returnType:{name:Vt.returnType,referenceType:At.$type}},superTypes:[Ns.$type]},InfixRuleOperatorList:{name:qa.$type,properties:{associativity:{name:qa.associativity},operators:{name:qa.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:Ul.$type,properties:{precedences:{name:Ul.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:pi.$type,properties:{attributes:{name:pi.attributes,defaultValue:[]},name:{name:pi.name},superTypes:{name:pi.superTypes,defaultValue:[],referenceType:At.$type}},superTypes:[At.$type]},Keyword:{name:mi.$type,properties:{cardinality:{name:mi.cardinality},predicate:{name:mi.predicate},value:{name:mi.value}},superTypes:[ot.$type]},NamedArgument:{name:ps.$type,properties:{calledByName:{name:ps.calledByName,defaultValue:!1},parameter:{name:ps.parameter,referenceType:ms.$type},value:{name:ps.value}},superTypes:[]},NegatedToken:{name:cr.$type,properties:{cardinality:{name:cr.cardinality},lookahead:{name:cr.lookahead},parenthesized:{name:cr.parenthesized,defaultValue:!1},terminal:{name:cr.terminal}},superTypes:[mt.$type]},Negation:{name:To.$type,properties:{value:{name:To.value}},superTypes:[tr.$type]},NumberLiteral:{name:jl.$type,properties:{value:{name:jl.value}},superTypes:[si.$type]},Parameter:{name:ms.$type,properties:{name:{name:ms.name}},superTypes:[]},ParameterReference:{name:Ro.$type,properties:{parameter:{name:Ro.parameter,referenceType:ms.$type}},superTypes:[tr.$type]},ParserRule:{name:Lt.$type,properties:{dataType:{name:Lt.dataType},definition:{name:Lt.definition},entry:{name:Lt.entry,defaultValue:!1},fragment:{name:Lt.fragment,defaultValue:!1},inferredType:{name:Lt.inferredType},name:{name:Lt.name},parameters:{name:Lt.parameters,defaultValue:[]},returnType:{name:Lt.returnType,referenceType:At.$type}},superTypes:[Ns.$type]},ReferenceType:{name:Wa.$type,properties:{isMulti:{name:Wa.isMulti,defaultValue:!1},referenceType:{name:Wa.referenceType}},superTypes:[ii.$type]},RegexToken:{name:lr.$type,properties:{cardinality:{name:lr.cardinality},lookahead:{name:lr.lookahead},parenthesized:{name:lr.parenthesized,defaultValue:!1},regex:{name:lr.regex}},superTypes:[mt.$type]},ReturnType:{name:vo.$type,properties:{name:{name:vo.name}},superTypes:[]},RuleCall:{name:ur.$type,properties:{arguments:{name:ur.arguments,defaultValue:[]},cardinality:{name:ur.cardinality},predicate:{name:ur.predicate},rule:{name:ur.rule,referenceType:hs.$type}},superTypes:[ot.$type]},SimpleType:{name:gi.$type,properties:{primitiveType:{name:gi.primitiveType},stringType:{name:gi.stringType},typeRef:{name:gi.typeRef,referenceType:At.$type}},superTypes:[ii.$type]},StringLiteral:{name:zl.$type,properties:{value:{name:zl.value}},superTypes:[si.$type]},TerminalAlternatives:{name:dr.$type,properties:{cardinality:{name:dr.cardinality},elements:{name:dr.elements,defaultValue:[]},lookahead:{name:dr.lookahead},parenthesized:{name:dr.parenthesized,defaultValue:!1}},superTypes:[mt.$type]},TerminalElement:{name:mt.$type,properties:{cardinality:{name:mt.cardinality},lookahead:{name:mt.lookahead},parenthesized:{name:mt.parenthesized,defaultValue:!1}},superTypes:[ot.$type]},TerminalGroup:{name:fr.$type,properties:{cardinality:{name:fr.cardinality},elements:{name:fr.elements,defaultValue:[]},lookahead:{name:fr.lookahead},parenthesized:{name:fr.parenthesized,defaultValue:!1}},superTypes:[mt.$type]},TerminalRule:{name:dn.$type,properties:{definition:{name:dn.definition},fragment:{name:dn.fragment,defaultValue:!1},hidden:{name:dn.hidden,defaultValue:!1},name:{name:dn.name},type:{name:dn.type}},superTypes:[hs.$type]},TerminalRuleCall:{name:hr.$type,properties:{cardinality:{name:hr.cardinality},lookahead:{name:hr.lookahead},parenthesized:{name:hr.parenthesized,defaultValue:!1},rule:{name:hr.rule,referenceType:dn.$type}},superTypes:[mt.$type]},Type:{name:Is.$type,properties:{name:{name:Is.name},type:{name:Is.type}},superTypes:[At.$type]},TypeAttribute:{name:ri.$type,properties:{defaultValue:{name:ri.defaultValue},isOptional:{name:ri.isOptional,defaultValue:!1},name:{name:ri.name},type:{name:ri.type}},superTypes:[]},TypeDefinition:{name:ii.$type,properties:{},superTypes:[]},UnionType:{name:Bl.$type,properties:{types:{name:Bl.types,defaultValue:[]}},superTypes:[ii.$type]},UnorderedGroup:{name:$s.$type,properties:{cardinality:{name:$s.cardinality},elements:{name:$s.elements,defaultValue:[]}},superTypes:[ot.$type]},UntilToken:{name:pr.$type,properties:{cardinality:{name:pr.cardinality},lookahead:{name:pr.lookahead},parenthesized:{name:pr.parenthesized,defaultValue:!1},terminal:{name:pr.terminal}},superTypes:[mt.$type]},ValueLiteral:{name:si.$type,properties:{},superTypes:[]},Wildcard:{name:yi.$type,properties:{cardinality:{name:yi.cardinality},lookahead:{name:yi.lookahead},parenthesized:{name:yi.parenthesized,defaultValue:!1}},superTypes:[mt.$type]}}}}const Z=new bf;function Eo(t){return new al(t,e=>Ni(e)?e.content:[],{includeRoot:!0})}function Om(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function Ao(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function Bs(t){if(!t)return;const{offset:e,end:n,range:r}=t;return{range:r,offset:e,end:n,length:n-e}}var Xt;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(Xt||(Xt={}));function xm(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return Xt.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return Xt.After;const n=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,r=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return n&&r?Xt.Inside:n?Xt.OverlapBack:r?Xt.OverlapFront:Xt.Outside}function Dm(t,e){return xm(t,e)>Xt.After}const Mm=/^[\w\p{L}]$/u;function Fm(t,e){if(t){const n=Gm(t,!0);if(n&&ql(n,e))return n;if(Af(t)){const r=t.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=t.content[i];if(ql(s,e))return s}}}}function ql(t,e){return Ef(t)&&e.includes(t.tokenType.name)}function Gm(t,e=!0){for(;t.container;){const n=t.container;let r=n.content.indexOf(t);for(;r>0;){r--;const i=n.content[r];if(e||!i.hidden)return i}t=n}}class _f extends Error{constructor(e,n){super(e?`${n} at ${e.range.start.line}:${e.range.start.character}`:n)}}function Bi(t,e="Error: Got unexpected value."){throw new Error(e)}function B(t){return t.charCodeAt(0)}function Va(t,e){Array.isArray(t)?t.forEach(function(n){e.push(n)}):e.push(t)}function ai(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}function nr(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function Um(){throw Error("Internal Error - Should never get here!")}function Wl(t){return t.type==="Character"}const qs=[];for(let t=B("0");t<=B("9");t++)qs.push(t);const Ws=[B("_")].concat(qs);for(let t=B("a");t<=B("z");t++)Ws.push(t);for(let t=B("A");t<=B("Z");t++)Ws.push(t);const Vl=[B(" "),B("\f"),B(`
2
+ `),B("\r"),B(" "),B("\v"),B(" "),B(" "),B(" "),B(" "),B(" "),B(" "),B(" "),B(" "),B(" "),B(" "),B(" "),B(" "),B(" "),B(" "),B("\u2028"),B("\u2029"),B(" "),B(" "),B(" "),B("\uFEFF")],jm=/[0-9a-fA-F]/,gs=/[0-9]/,zm=/[1-9]/;class If{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 n=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":ai(r,"global");break;case"i":ai(r,"ignoreCase");break;case"m":ai(r,"multiLine");break;case"u":ai(r,"unicode");break;case"y":ai(r,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:n,loc:this.loc(0)}}disjunction(){const e=[],n=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(n)}}alternative(){const e=[],n=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(n)}}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 n;switch(this.popChar()){case"=":n="Lookahead";break;case"!":n="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":n="Lookbehind";break;case"!":n="NegativeLookbehind"}break}}nr(n);const r=this.disjunction();return this.consumeChar(")"),{type:n,value:r,loc:this.loc(e)}}return Um()}quantifier(e=!1){let n;const r=this.idx;switch(this.popChar()){case"*":n={atLeast:0,atMost:1/0};break;case"+":n={atLeast:1,atMost:1/0};break;case"?":n={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":n={atLeast:i,atMost:i};break;case",":let s;this.isDigit()?(s=this.integerIncludingZero(),n={atLeast:i,atMost:s}):n={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&n===void 0)return;nr(n);break}if(!(e===!0&&n===void 0)&&nr(n))return this.peekChar(0)==="?"?(this.consumeChar("?"),n.greedy=!1):n.greedy=!0,n.type="Quantifier",n.loc=this.loc(r),n}atom(){let e;const n=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()),nr(e))return e.loc=this.loc(n),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[B(`
3
+ `),B("\r"),B("\u2028"),B("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,n=!1;switch(this.popChar()){case"d":e=qs;break;case"D":e=qs,n=!0;break;case"s":e=Vl;break;case"S":e=Vl,n=!0;break;case"w":e=Ws;break;case"W":e=Ws,n=!0;break}if(nr(e))return{type:"Set",value:e,complement:n}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=B("\f");break;case"n":e=B(`
4
+ `);break;case"r":e=B("\r");break;case"t":e=B(" ");break;case"v":e=B("\v");break}if(nr(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:B("\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:B(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:B(e)}}}characterClass(){const e=[];let n=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),n=!0);this.isClassAtom();){const r=this.classAtom();if(r.type,Wl(r)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,Wl(i)){if(i.value<r.value)throw Error("Range out of order in character class");e.push({from:r.value,to:i.value})}else Va(r.value,e),e.push(B("-")),Va(i.value,e)}else Va(r.value,e)}return this.consumeChar("]"),{type:"Set",complement:n,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:B("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;this.consumeChar("("),this.peekChar(0)==="?"?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;const n=this.disjunction();this.consumeChar(")");const r={type:"Group",capturing:e,value:n};return e&&(r.idx=this.groupIdx),r}positiveInteger(){let e=this.popChar();if(zm.test(e)===!1)throw Error("Expecting a positive integer");for(;gs.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(gs.test(e)===!1)throw Error("Expecting an integer");for(;gs.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:B(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return this.peekChar()==="-"&&this.isClassAtom(1)}isDigit(){return gs.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)==="!"||this.peekChar(2)==="<"&&(this.peekChar(3)==="="||this.peekChar(3)==="!"));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 n="";for(let i=0;i<e;i++){const s=this.popChar();if(jm.test(s)===!1)throw Error("Expecting a HexDecimal digits");n+=s}return{type:"Character",value:parseInt(n,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 Ea{visitChildren(e){for(const n in e){const r=e[n];e.hasOwnProperty(n)&&(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"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}const Bm=/\r?\n/gm,qm=new If;class Wm extends Ea{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 n=String.fromCharCode(e.value);if(!this.multiline&&n===`
10
+ `&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=Aa(n);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitSet(e){if(!this.multiline){const n=this.regex.substring(e.loc.begin,e.loc.end),r=new RegExp(n);this.multiline=!!`
11
+ `.match(r)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const n=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}}const Ka=new Wm;function Vm(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),Ka.reset(t),Ka.visit(qm.pattern(t)),Ka.multiline}catch{return!1}}const Km=`\f
12
+ \r \v              \u2028\u2029   \uFEFF`.split("");function $f(t){const e=typeof t=="string"?new RegExp(t):t;return Km.some(n=>e.test(n))}function Aa(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Hm(t,e){const n=Ym(t),r=e.match(n);return!!r&&r[0].length>0}function Ym(t){typeof t=="string"&&(t=new RegExp(t));const e=t,n=t.source;let r=0;function i(){let s="",a;function o(l){s+=n.substr(r,l),r+=l}function c(l){s+="(?:"+n.substr(r,l)+"|$)",r+=l}for(;r<n.length;)switch(n[r]){case"\\":switch(n[r+1]){case"c":c(3);break;case"x":c(4);break;case"u":e.unicode?n[r+2]==="{"?c(n.indexOf("}",r)-r+1):c(6):c(2);break;case"p":case"P":e.unicode?c(n.indexOf("}",r)-r+1):c(2);break;case"k":c(n.indexOf(">",r)-r+1);break;default:c(2);break}break;case"[":a=/\[(?:\\.|.)*?\]/g,a.lastIndex=r,a=a.exec(n)||[],c(a[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":a=/\{\d+,?\d*\}/g,a.lastIndex=r,a=a.exec(n),a?o(a[0].length):c(1);break;case"(":if(n[r+1]==="?")switch(n[r+2]){case":":s+="(?:",r+=3,s+=i()+"|$)";break;case"=":s+="(?=",r+=3,s+=i()+")";break;case"!":a=r,r+=3,i(),s+=n.substr(a,r-a);break;case"<":switch(n[r+3]){case"=":case"!":a=r,r+=4,i(),s+=n.substr(a,r-a);break;default:o(n.indexOf(">",r)-r+1),s+=i()+"|$)";break}break}else o(1),s+=i()+"|$)";break;case")":return++r,s;default:c(1);break}return s}return new RegExp(i(),t.flags)}function Xm(t){return t.rules.find(e=>an(e)&&e.entry)}function Jm(t){return t.rules.filter(e=>on(e)&&e.hidden)}function Pf(t,e){const n=new Set,r=Xm(t);if(!r)return new Set(t.rules);const i=[r].concat(Jm(t));for(const a of i)Lf(a,n,e);const s=new Set;for(const a of t.rules)(n.has(a.name)||on(a)&&a.hidden)&&s.add(a);return s}function Lf(t,e,n){e.add(t.name),ji(t).forEach(r=>{if(qn(r)||n){const i=r.rule.ref;i&&!e.has(i.name)&&Lf(i,e,n)}})}function Qm(t){if(t.terminal)return t.terminal;if(t.type.ref)return xf(t.type.ref)?.terminal}function Zm(t){return t.hidden&&!$f(ul(t))}function eg(t,e){return!t||!e?[]:ll(t,e,t.astNode,!0)}function Of(t,e,n){if(!t||!e)return;const r=ll(t,e,t.astNode,!0);if(r.length!==0)return n!==void 0?n=Math.max(0,Math.min(n,r.length-1)):n=0,r[n]}function ll(t,e,n,r){if(!r){const i=Ta(t.grammarSource,zn);if(i&&i.feature===e)return[t]}return Ni(t)&&t.astNode===n?t.content.flatMap(i=>ll(i,e,n,!1)):[]}function tg(t,e,n){if(!t)return;const r=ng(t,e,t?.astNode);if(r.length!==0)return n!==void 0?n=Math.max(0,Math.min(n,r.length-1)):n=0,r[n]}function ng(t,e,n){if(t.astNode!==n)return[];if(Bn(t.grammarSource)&&t.grammarSource.value===e)return[t];const r=Eo(t).iterator();let i;const s=[];do if(i=r.next(),!i.done){const a=i.value;a.astNode===n?Bn(a.grammarSource)&&a.grammarSource.value===e&&s.push(a):r.prune()}while(!i.done);return s}function rg(t){const e=t.astNode;for(;e===t.container?.astNode;){const n=Ta(t.grammarSource,zn);if(n)return n;t=t.container}}function xf(t){let e=t;return Nf(e)&&(Ra(e.$container)?e=e.$container.$container:zi(e.$container)?e=e.$container:Bi(e.$container)),Df(t,e,new Map)}function Df(t,e,n){function r(i,s){let a;return Ta(i,zn)||(a=Df(s,s,n)),n.set(t,a),a}if(n.has(t))return n.get(t);n.set(t,void 0);for(const i of ji(e)){if(zn(i)&&i.feature.toLowerCase()==="name")return n.set(t,i),i;if(qn(i)&&an(i.rule.ref))return r(i,i.rule.ref);if(wm(i)&&i.typeRef?.ref)return r(i,i.typeRef.ref)}}function Mf(t){return Ff(t,new Set)}function Ff(t,e){if(e.has(t))return!0;e.add(t);for(const n of ji(t))if(qn(n)){if(!n.rule.ref||an(n.rule.ref)&&!Ff(n.rule.ref,e)||zs(n.rule.ref))return!1}else{if(zn(n))return!1;if(Ra(n))return!1}return!!t.definition}function Gf(t){if(!on(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e)return e.name}}}function wi(t){if(zi(t))return an(t)&&Mf(t)?t.name:Gf(t)??t.name;if(Em(t)||$m(t)||Nm(t))return t.name;if(Ra(t)){const e=ig(t);if(e)return e}else if(Nf(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function ig(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return wi(t.type.ref)}function sg(t){return on(t)?t.type?.name??"string":Gf(t)??t.name}function ul(t){const e={s:!1,i:!1,u:!1},n=jr(t.definition,e),r=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(n,r)}const dl=/[\s\S]/.source;function jr(t,e){if(bm(t))return ag(t);if(_m(t))return og(t);if(ym(t))return ug(t);if(Im(t)){const n=t.rule.ref;if(!n)throw new Error("Missing rule reference.");return en(jr(n.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(Am(t))return lg(t);if(Pm(t))return cg(t);if(Cm(t)){const n=t.regex.lastIndexOf("/"),r=t.regex.substring(1,n),i=t.regex.substring(n+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),en(r,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(Lm(t))return en(dl,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function ag(t){return en(t.elements.map(e=>jr(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function og(t){return en(t.elements.map(e=>jr(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function cg(t){return en(`${dl}*?${jr(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function lg(t){return en(`(?!${jr(t.terminal)})${dl}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function ug(t){return t.right?en(`[${Ha(t.left)}-${Ha(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):en(Ha(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function Ha(t){return Aa(t.value)}function en(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function dg(t){const e=[],n=t.Grammar;for(const r of n.rules)on(r)&&Zm(r)&&Vm(ul(r))&&e.push(r.name);return{multilineCommentRules:e,nameRegexp:Mm}}function So(t){console&&console.error&&console.error(`Error: ${t}`)}function Uf(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function jf(t){const e=new Date().getTime(),n=t();return{time:new Date().getTime()-e,value:n}}function zf(t){function e(){}e.prototype=t;const n=new e;function r(){return typeof n.bar}return r(),r(),t}function fg(t){return hg(t)?t.LABEL:t.name}function hg(t){return rt(t.LABEL)&&t.LABEL!==""}class Ut{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),U(this.definition,n=>{n.accept(e)})}}class Je extends Ut{constructor(e){super([]),this.idx=1,dt(this,_t(e,n=>n!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class zr extends Ut{constructor(e){super(e.definition),this.orgText="",dt(this,_t(e,n=>n!==void 0))}}class it extends Ut{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,dt(this,_t(e,n=>n!==void 0))}}let Be=class extends Ut{constructor(e){super(e.definition),this.idx=1,dt(this,_t(e,n=>n!==void 0))}};class ht extends Ut{constructor(e){super(e.definition),this.idx=1,dt(this,_t(e,n=>n!==void 0))}}class pt extends Ut{constructor(e){super(e.definition),this.idx=1,dt(this,_t(e,n=>n!==void 0))}}class ve extends Ut{constructor(e){super(e.definition),this.idx=1,dt(this,_t(e,n=>n!==void 0))}}class st extends Ut{constructor(e){super(e.definition),this.idx=1,dt(this,_t(e,n=>n!==void 0))}}class at extends Ut{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,dt(this,_t(e,n=>n!==void 0))}}class ue{constructor(e){this.idx=1,dt(this,_t(e,n=>n!==void 0))}accept(e){e.visit(this)}}function pg(t){return M(t,Ps)}function Ps(t){function e(n){return M(n,Ps)}if(t instanceof Je){const n={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return rt(t.label)&&(n.label=t.label),n}else{if(t instanceof it)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Be)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof ht)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof pt)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Ps(new ue({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof st)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Ps(new ue({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof ve)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof at)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof ue){const n={type:"Terminal",name:t.terminalType.name,label:fg(t.terminalType),idx:t.idx};rt(t.label)&&(n.terminalLabel=t.label);const r=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(n.pattern=nn(r)?r.source:r),n}else{if(t instanceof zr)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}class Br{visit(e){const n=e;switch(n.constructor){case Je:return this.visitNonTerminal(n);case it:return this.visitAlternative(n);case Be:return this.visitOption(n);case ht:return this.visitRepetitionMandatory(n);case pt:return this.visitRepetitionMandatoryWithSeparator(n);case st:return this.visitRepetitionWithSeparator(n);case ve:return this.visitRepetition(n);case at:return this.visitAlternation(n);case ue:return this.visitTerminal(n);case zr:return this.visitRule(n);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 mg(t){return t instanceof it||t instanceof Be||t instanceof ve||t instanceof ht||t instanceof pt||t instanceof st||t instanceof ue||t instanceof zr}function Vs(t,e=[]){return t instanceof Be||t instanceof ve||t instanceof st?!0:t instanceof at?Rf(t.definition,r=>Vs(r,e)):t instanceof Je&&Ze(e,t)?!1:t instanceof Ut?(t instanceof Je&&e.push(t),Nt(t.definition,r=>Vs(r,e))):!1}function gg(t){return t instanceof at}function Ot(t){if(t instanceof Je)return"SUBRULE";if(t instanceof Be)return"OPTION";if(t instanceof at)return"OR";if(t instanceof ht)return"AT_LEAST_ONE";if(t instanceof pt)return"AT_LEAST_ONE_SEP";if(t instanceof st)return"MANY_SEP";if(t instanceof ve)return"MANY";if(t instanceof ue)return"CONSUME";throw Error("non exhaustive match")}class Sa{walk(e,n=[]){U(e.definition,(r,i)=>{const s=Ge(e.definition,i+1);if(r instanceof Je)this.walkProdRef(r,s,n);else if(r instanceof ue)this.walkTerminal(r,s,n);else if(r instanceof it)this.walkFlat(r,s,n);else if(r instanceof Be)this.walkOption(r,s,n);else if(r instanceof ht)this.walkAtLeastOne(r,s,n);else if(r instanceof pt)this.walkAtLeastOneSep(r,s,n);else if(r instanceof st)this.walkManySep(r,s,n);else if(r instanceof ve)this.walkMany(r,s,n);else if(r instanceof at)this.walkOr(r,s,n);else throw Error("non exhaustive match")})}walkTerminal(e,n,r){}walkProdRef(e,n,r){}walkFlat(e,n,r){const i=n.concat(r);this.walk(e,i)}walkOption(e,n,r){const i=n.concat(r);this.walk(e,i)}walkAtLeastOne(e,n,r){const i=[new Be({definition:e.definition})].concat(n,r);this.walk(e,i)}walkAtLeastOneSep(e,n,r){const i=Kl(e,n,r);this.walk(e,i)}walkMany(e,n,r){const i=[new Be({definition:e.definition})].concat(n,r);this.walk(e,i)}walkManySep(e,n,r){const i=Kl(e,n,r);this.walk(e,i)}walkOr(e,n,r){const i=n.concat(r);U(e.definition,s=>{const a=new it({definition:[s]});this.walk(a,i)})}}function Kl(t,e,n){return[new Be({definition:[new ue({terminalType:t.separator})].concat(t.definition)})].concat(e,n)}function qi(t){if(t instanceof Je)return qi(t.referencedRule);if(t instanceof ue)return Rg(t);if(mg(t))return yg(t);if(gg(t))return Tg(t);throw Error("non exhaustive match")}function yg(t){let e=[];const n=t.definition;let r=0,i=n.length>r,s,a=!0;for(;i&&a;)s=n[r],a=Vs(s),e=e.concat(qi(s)),r=r+1,i=n.length>r;return sl(e)}function Tg(t){const e=M(t.definition,n=>qi(n));return sl(Tt(e))}function Rg(t){return[t.terminalType]}const Bf="_~IN~_";class vg extends Sa{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,n,r){}walkProdRef(e,n,r){const i=Ag(e.referencedRule,e.idx)+this.topProd.name,s=n.concat(r),a=new it({definition:s}),o=qi(a);this.follows[i]=o}}function Eg(t){const e={};return U(t,n=>{const r=new vg(n).startWalking();dt(e,r)}),e}function Ag(t,e){return t.name+e+Bf}let Ls={};const Sg=new If;function ka(t){const e=t.toString();if(Ls.hasOwnProperty(e))return Ls[e];{const n=Sg.pattern(e);return Ls[e]=n,n}}function kg(){Ls={}}const qf="Complement Sets are not supported for first char optimization",Ks=`Unable to use "first char" lexer optimizations:
13
+ `;function Cg(t,e=!1){try{const n=ka(t);return ko(n.value,{},n.flags.ignoreCase)}catch(n){if(n.message===qf)e&&Uf(`${Ks} Unable to optimize: < ${t.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.`),So(`${Ks}
19
+ Failed parsing: < ${t.toString()} >
20
+ Using the @chevrotain/regexp-to-ast library
21
+ Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}function ko(t,e,n){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)ko(t.value[i],e,n);break;case"Alternative":const r=t.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"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}const a=s;switch(a.type){case"Character":ys(a.value,e,n);break;case"Set":if(a.complement===!0)throw Error(qf);U(a.value,c=>{if(typeof c=="number")ys(c,e,n);else{const l=c;if(n===!0)for(let u=l.from;u<=l.to;u++)ys(u,e,n);else{for(let u=l.from;u<=l.to&&u<Ri;u++)ys(u,e,n);if(l.to>=Ri){const u=l.from>=Ri?l.from:Ri,f=l.to,p=Tn(u),g=Tn(f);for(let S=p;S<=g;S++)e[S]=S}}}});break;case"Group":ko(a.value,e,n);break;default:throw Error("Non Exhaustive Match")}const o=a.quantifier!==void 0&&a.quantifier.atLeast===0;if(a.type==="Group"&&Co(a)===!1||a.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return Le(e)}function ys(t,e,n){const r=Tn(t);e[r]=r,n===!0&&Ng(t,e)}function Ng(t,e){const n=String.fromCharCode(t),r=n.toUpperCase();if(r!==n){const i=Tn(r.charCodeAt(0));e[i]=i}else{const i=n.toLowerCase();if(i!==n){const s=Tn(i.charCodeAt(0));e[s]=s}}}function Hl(t,e){return kr(t.value,n=>{if(typeof n=="number")return Ze(e,n);{const r=n;return kr(e,i=>r.from<=i&&i<=r.to)!==void 0}})}function Co(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?ze(t.value)?Nt(t.value,Co):Co(t.value):!1}class wg extends Ea{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){Ze(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?Hl(e,this.targetCharCodes)===void 0&&(this.found=!0):Hl(e,this.targetCharCodes)!==void 0&&(this.found=!0)}}function fl(t,e){if(e instanceof RegExp){const n=ka(e),r=new wg(t);return r.visit(n),r.found}else return kr(e,n=>Ze(t,n.charCodeAt(0)))!==void 0}const Wn="PATTERN",Ti="defaultMode",Ts="modes";let Wf=typeof new RegExp("(?:)").sticky=="boolean";function bg(t,e){e=il(e,{useSticky:Wf,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
22
+ `],tracer:(L,b)=>b()});const n=e.tracer;n("initCharCodeToOptimizedIndexMap",()=>{Qg()});let r;n("Reject Lexer.NA",()=>{r=ya(t,L=>L[Wn]===nt.NA)});let i=!1,s;n("Transform Patterns",()=>{i=!1,s=M(r,L=>{const b=L[Wn];if(nn(b)){const D=b.source;return D.length===1&&D!=="^"&&D!=="$"&&D!=="."&&!b.ignoreCase?D:D.length===2&&D[0]==="\\"&&!Ze(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],D[1])?D[1]:e.useSticky?Xl(b):Yl(b)}else{if(Hn(b))return i=!0,{exec:b};if(typeof b=="object")return i=!0,b;if(typeof b=="string"){if(b.length===1)return b;{const D=b.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),X=new RegExp(D);return e.useSticky?Xl(X):Yl(X)}}else throw Error("non exhaustive match")}})});let a,o,c,l,u;n("misc mapping",()=>{a=M(r,L=>L.tokenTypeIdx),o=M(r,L=>{const b=L.GROUP;if(b!==nt.SKIPPED){if(rt(b))return b;if(tn(b))return!1;throw Error("non exhaustive match")}}),c=M(r,L=>{const b=L.LONGER_ALT;if(b)return ze(b)?M(b,X=>Ll(r,X)):[Ll(r,b)]}),l=M(r,L=>L.PUSH_MODE),u=M(r,L=>z(L,"POP_MODE"))});let f;n("Line Terminator Handling",()=>{const L=Hf(e.lineTerminatorCharacters);f=M(r,b=>!1),e.positionTracking!=="onlyOffset"&&(f=M(r,b=>z(b,"LINE_BREAKS")?!!b.LINE_BREAKS:Kf(b,L)===!1&&fl(L,b.PATTERN)))});let p,g,S,N;n("Misc Mapping #2",()=>{p=M(r,Vf),g=M(s,Yg),S=Xe(r,(L,b)=>{const D=b.GROUP;return rt(D)&&D!==nt.SKIPPED&&(L[D]=[]),L},{}),N=M(s,(L,b)=>({pattern:s[b],longerAlt:c[b],canLineTerminator:f[b],isCustom:p[b],short:g[b],group:o[b],push:l[b],pop:u[b],tokenTypeIdx:a[b],tokenType:r[b]}))});let O=!0,w=[];return e.safeMode||n("First Char Optimization",()=>{w=Xe(r,(L,b,D)=>{if(typeof b.PATTERN=="string"){const X=b.PATTERN.charCodeAt(0),ne=Tn(X);Ya(L,ne,N[D])}else if(ze(b.START_CHARS_HINT)){let X;U(b.START_CHARS_HINT,ne=>{const re=typeof ne=="string"?ne.charCodeAt(0):ne,ge=Tn(re);X!==ge&&(X=ge,Ya(L,ge,N[D]))})}else if(nn(b.PATTERN))if(b.PATTERN.unicode)O=!1,e.ensureOptimizations&&So(`${Ks} Unable to analyze < ${b.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 X=Cg(b.PATTERN,e.ensureOptimizations);oe(X)&&(O=!1),U(X,ne=>{Ya(L,ne,N[D])})}else e.ensureOptimizations&&So(`${Ks} TokenType: <${b.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`),O=!1;return L},[])}),{emptyGroups:S,patternIdxToConfig:N,charCodeToPatternIdxToConfig:w,hasCustom:i,canBeOptimized:O}}function _g(t,e){let n=[];const r=$g(t);n=n.concat(r.errors);const i=Pg(r.valid),s=i.valid;return n=n.concat(i.errors),n=n.concat(Ig(s)),n=n.concat(Ug(s)),n=n.concat(jg(s,e)),n=n.concat(zg(s)),n}function Ig(t){let e=[];const n=ft(t,r=>nn(r[Wn]));return e=e.concat(Og(n)),e=e.concat(Mg(n)),e=e.concat(Fg(n)),e=e.concat(Gg(n)),e=e.concat(xg(n)),e}function $g(t){const e=ft(t,i=>!z(i,Wn)),n=M(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:Ee.MISSING_PATTERN,tokenTypes:[i]})),r=ga(t,e);return{errors:n,valid:r}}function Pg(t){const e=ft(t,i=>{const s=i[Wn];return!nn(s)&&!Hn(s)&&!z(s,"exec")&&!rt(s)}),n=M(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:Ee.INVALID_PATTERN,tokenTypes:[i]})),r=ga(t,e);return{errors:n,valid:r}}const Lg=/[^\\][$]/;function Og(t){class e extends Ea{constructor(){super(...arguments),this.found=!1}visitEndAnchor(s){this.found=!0}}const n=ft(t,i=>{const s=i.PATTERN;try{const a=ka(s),o=new e;return o.visit(a),o.found}catch{return Lg.test(s.source)}});return M(n,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:Ee.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function xg(t){const e=ft(t,r=>r.PATTERN.test(""));return M(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' must not match an empty string",type:Ee.EMPTY_MATCH_PATTERN,tokenTypes:[r]}))}const Dg=/[^\\[][\^]|^\^/;function Mg(t){class e extends Ea{constructor(){super(...arguments),this.found=!1}visitStartAnchor(s){this.found=!0}}const n=ft(t,i=>{const s=i.PATTERN;try{const a=ka(s),o=new e;return o.visit(a),o.found}catch{return Dg.test(s.source)}});return M(n,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:Ee.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function Fg(t){const e=ft(t,r=>{const i=r[Wn];return i instanceof RegExp&&(i.multiline||i.global)});return M(e,r=>({message:"Token Type: ->"+r.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Ee.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[r]}))}function Gg(t){const e=[];let n=M(t,s=>Xe(t,(a,o)=>(s.PATTERN.source===o.PATTERN.source&&!Ze(e,o)&&o.PATTERN!==nt.NA&&(e.push(o),a.push(o)),a),[]));n=Ui(n);const r=ft(n,s=>s.length>1);return M(r,s=>{const a=M(s,c=>c.name);return{message:`The same RegExp pattern ->${bt(s).PATTERN}<-has been used in all of the following Token Types: ${a.join(", ")} <-`,type:Ee.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}})}function Ug(t){const e=ft(t,r=>{if(!z(r,"GROUP"))return!1;const i=r.GROUP;return i!==nt.SKIPPED&&i!==nt.NA&&!rt(i)});return M(e,r=>({message:"Token Type: ->"+r.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Ee.INVALID_GROUP_TYPE_FOUND,tokenTypes:[r]}))}function jg(t,e){const n=ft(t,i=>i.PUSH_MODE!==void 0&&!Ze(e,i.PUSH_MODE));return M(n,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:Ee.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function zg(t){const e=[],n=Xe(t,(r,i,s)=>{const a=i.PATTERN;return a===nt.NA||(rt(a)?r.push({str:a,idx:s,tokenType:i}):nn(a)&&qg(a)&&r.push({str:a.source,idx:s,tokenType:i})),r},[]);return U(t,(r,i)=>{U(n,({str:s,idx:a,tokenType:o})=>{if(i<a&&Bg(s,r.PATTERN)){const c=`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:c,type:Ee.UNREACHABLE_PATTERN,tokenTypes:[r,o]})}})}),e}function Bg(t,e){if(nn(e)){if(Wg(e))return!1;const n=e.exec(t);return n!==null&&n.index===0}else{if(Hn(e))return e(t,0,[],{});if(z(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function qg(t){return kr([".","\\","[","]","|","^","$","(",")","?","*","+","{"],n=>t.source.indexOf(n)!==-1)===void 0}function Wg(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(t.source)}function Yl(t){const e=t.ignoreCase?"i":"";return new RegExp(`^(?:${t.source})`,e)}function Xl(t){const e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function Vg(t,e,n){const r=[];return z(t,Ti)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ti+`> property in its definition
34
+ `,type:Ee.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),z(t,Ts)||r.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ts+`> property in its definition
35
+ `,type:Ee.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),z(t,Ts)&&z(t,Ti)&&!z(t.modes,t.defaultMode)&&r.push({message:`A MultiMode Lexer cannot be initialized with a ${Ti}: <${t.defaultMode}>which does not exist
36
+ `,type:Ee.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),z(t,Ts)&&U(t.modes,(i,s)=>{U(i,(a,o)=>{if(tn(a))r.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${s}> at index: <${o}>
37
+ `,type:Ee.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(z(a,"LONGER_ALT")){const c=ze(a.LONGER_ALT)?a.LONGER_ALT:[a.LONGER_ALT];U(c,l=>{!tn(l)&&!Ze(i,l)&&r.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${l.name}> on token <${a.name}> outside of mode <${s}>
38
+ `,type:Ee.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),r}function Kg(t,e,n){const r=[];let i=!1;const s=Ui(Tt(Le(t.modes))),a=ya(s,c=>c[Wn]===nt.NA),o=Hf(n);return e&&U(a,c=>{const l=Kf(c,o);if(l!==!1){const f={message:Jg(c,l),type:l.issue,tokenType:c};r.push(f)}else z(c,"LINE_BREAKS")?c.LINE_BREAKS===!0&&(i=!0):fl(o,c.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:Ee.NO_LINE_BREAKS_FLAGS}),r}function Hg(t){const e={},n=Sr(t);return U(n,r=>{const i=t[r];if(ze(i))e[r]=[];else throw Error("non exhaustive match")}),e}function Vf(t){const e=t.PATTERN;if(nn(e))return!1;if(Hn(e))return!0;if(z(e,"exec"))return!0;if(rt(e))return!1;throw Error("non exhaustive match")}function Yg(t){return rt(t)&&t.length===1?t.charCodeAt(0):!1}const Xg={test:function(t){const e=t.length;for(let n=this.lastIndex;n<e;n++){const r=t.charCodeAt(n);if(r===10)return this.lastIndex=n+1,!0;if(r===13)return t.charCodeAt(n+1)===10?this.lastIndex=n+2:this.lastIndex=n+1,!0}return!1},lastIndex:0};function Kf(t,e){if(z(t,"LINE_BREAKS"))return!1;if(nn(t.PATTERN)){try{fl(e,t.PATTERN)}catch(n){return{issue:Ee.IDENTIFY_TERMINATOR,errMsg:n.message}}return!1}else{if(rt(t.PATTERN))return!1;if(Vf(t))return{issue:Ee.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function Jg(t,e){if(e.issue===Ee.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
43
+ The problem is in the <${t.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===Ee.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
46
+ The problem is in the <${t.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 Hf(t){return M(t,n=>rt(n)?n.charCodeAt(0):n)}function Ya(t,e,n){t[e]===void 0?t[e]=[n]:t[e].push(n)}const Ri=256;let Os=[];function Tn(t){return t<Ri?t:Os[t]}function Qg(){if(oe(Os)){Os=new Array(65536);for(let t=0;t<65536;t++)Os[t]=t>255?255+~~(t/255):t}}function Wi(t,e){const n=t.tokenTypeIdx;return n===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[n]===!0}function Hs(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}let Jl=1;const Yf={};function Vi(t){const e=Zg(t);ey(e),ny(e),ty(e),U(e,n=>{n.isParent=n.categoryMatches.length>0})}function Zg(t){let e=qe(t),n=t,r=!0;for(;r;){n=Ui(Tt(M(n,s=>s.CATEGORIES)));const i=ga(n,e);e=e.concat(i),oe(i)?r=!1:n=i}return e}function ey(t){U(t,e=>{Jf(e)||(Yf[Jl]=e,e.tokenTypeIdx=Jl++),Ql(e)&&!ze(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Ql(e)||(e.CATEGORIES=[]),ry(e)||(e.categoryMatches=[]),iy(e)||(e.categoryMatchesMap={})})}function ty(t){U(t,e=>{e.categoryMatches=[],U(e.categoryMatchesMap,(n,r)=>{e.categoryMatches.push(Yf[r].tokenTypeIdx)})})}function ny(t){U(t,e=>{Xf([],e)})}function Xf(t,e){U(t,n=>{e.categoryMatchesMap[n.tokenTypeIdx]=!0}),U(e.CATEGORIES,n=>{const r=t.concat(e);Ze(r,n)||Xf(r,n)})}function Jf(t){return z(t,"tokenTypeIdx")}function Ql(t){return z(t,"CATEGORIES")}function ry(t){return z(t,"categoryMatches")}function iy(t){return z(t,"categoryMatchesMap")}function sy(t){return z(t,"tokenTypeIdx")}const No={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,n,r,i,s){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${n} characters.`}};var Ee;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(Ee||(Ee={}));const vi={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
48
+ `,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:No,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(vi);class nt{constructor(e,n=vi){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:c}=jf(s),l=o>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&l(`${a}<-- <${i}> time: ${o}ms`),this.traceInitIndent--,c}else return s()},typeof n=="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=dt({},vi,n);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===vi.lineTerminatorsPattern)this.config.lineTerminatorsPattern=Xg;else if(this.config.lineTerminatorCharacters===vi.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(n.safeMode&&n.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),ze(e)?i={modes:{defaultMode:qe(e)},defaultMode:Ti}:(s=!1,i=qe(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Vg(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(Kg(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},U(i.modes,(o,c)=>{i.modes[c]=ya(o,l=>tn(l))});const a=Sr(i.modes);if(U(i.modes,(o,c)=>{this.TRACE_INIT(`Mode: <${c}> processing`,()=>{if(this.modes.push(c),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(_g(o,a))}),oe(this.lexerDefinitionErrors)){Vi(o);let l;this.TRACE_INIT("analyzeTokenTypes",()=>{l=bg(o,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:n.positionTracking,ensureOptimizations:n.ensureOptimizations,safeMode:n.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[c]=l.patternIdxToConfig,this.charCodeToPatternIdxToConfig[c]=l.charCodeToPatternIdxToConfig,this.emptyGroups=dt({},this.emptyGroups,l.emptyGroups),this.hasCustom=l.hasCustom||this.hasCustom,this.canModeBeOptimized[c]=l.canBeOptimized}})}),this.defaultMode=i.defaultMode,!oe(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){const c=M(this.lexerDefinitionErrors,l=>l.message).join(`-----------------------
51
+ `);throw new Error(`Errors detected in definition of Lexer:
52
+ `+c)}U(this.lexerDefinitionWarning,o=>{Uf(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(Wf?(this.chopInput=Pl,this.match=this.matchWithTest):(this.updateLastIndex=xe,this.match=this.matchWithExec),s&&(this.handleModes=xe),this.trackStartLines===!1&&(this.computeNewColumn=Pl),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=xe),/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=Xe(this.canModeBeOptimized,(c,l,u)=>(l===!1&&c.push(u),c),[]);if(n.ensureOptimizations&&!oe(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",()=>{kg()}),this.TRACE_INIT("toFastProperties",()=>{zf(this)})})}tokenize(e,n=this.defaultMode){if(!oe(this.lexerDefinitionErrors)){const i=M(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,n)}tokenizeInternal(e,n){let r,i,s,a,o,c,l,u,f,p,g,S,N,O,w;const L=e,b=L.length;let D=0,X=0;const ne=this.hasCustom?0:Math.floor(e.length/10),re=new Array(ne),ge=[];let Ae=this.trackStartLines?1:void 0,Se=this.trackStartLines?1:void 0;const C=Hg(this.emptyGroups),T=this.trackStartLines,m=this.config.lineTerminatorsPattern;let A=0,y=[],R=[];const E=[],$=[];Object.freeze($);let x;function P(){return y}function j(te){const $e=Tn(te),Me=R[$e];return Me===void 0?$:Me}const q=te=>{if(E.length===1&&te.tokenType.PUSH_MODE===void 0){const $e=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(te);ge.push({offset:te.startOffset,line:te.startLine,column:te.startColumn,length:te.image.length,message:$e})}else{E.pop();const $e=jn(E);y=this.patternIdxToConfig[$e],R=this.charCodeToPatternIdxToConfig[$e],A=y.length;const Me=this.canModeBeOptimized[$e]&&this.config.safeMode===!1;R&&Me?x=j:x=P}};function se(te){E.push(te),R=this.charCodeToPatternIdxToConfig[te],y=this.patternIdxToConfig[te],A=y.length,A=y.length;const $e=this.canModeBeOptimized[te]&&this.config.safeMode===!1;R&&$e?x=j:x=P}se.call(this,n);let V;const Ie=this.config.recoveryEnabled;for(;D<b;){c=null;const te=L.charCodeAt(D),$e=x(te),Me=$e.length;for(r=0;r<Me;r++){V=$e[r];const de=V.pattern;l=null;const Fe=V.short;if(Fe!==!1?te===Fe&&(c=de):V.isCustom===!0?(w=de.exec(L,D,re,C),w!==null?(c=w[0],w.payload!==void 0&&(l=w.payload)):c=null):(this.updateLastIndex(de,D),c=this.match(de,e,D)),c!==null){if(o=V.longerAlt,o!==void 0){const ke=o.length;for(s=0;s<ke;s++){const K=y[o[s]],Oe=K.pattern;if(u=null,K.isCustom===!0?(w=Oe.exec(L,D,re,C),w!==null?(a=w[0],w.payload!==void 0&&(u=w.payload)):a=null):(this.updateLastIndex(Oe,D),a=this.match(Oe,e,D)),a&&a.length>c.length){c=a,l=u,V=K;break}}}break}}if(c!==null){if(f=c.length,p=V.group,p!==void 0&&(g=V.tokenTypeIdx,S=this.createTokenInstance(c,D,g,V.tokenType,Ae,Se,f),this.handlePayload(S,l),p===!1?X=this.addToken(re,X,S):C[p].push(S)),e=this.chopInput(e,f),D=D+f,Se=this.computeNewColumn(Se,f),T===!0&&V.canLineTerminator===!0){let de=0,Fe,ke;m.lastIndex=0;do Fe=m.test(c),Fe===!0&&(ke=m.lastIndex-1,de++);while(Fe===!0);de!==0&&(Ae=Ae+de,Se=f-ke,this.updateTokenEndLineColumnLocation(S,p,ke,de,Ae,Se,f))}this.handleModes(V,q,se,S)}else{const de=D,Fe=Ae,ke=Se;let K=Ie===!1;for(;K===!1&&D<b;)for(e=this.chopInput(e,1),D++,i=0;i<A;i++){const Oe=y[i],ce=Oe.pattern,et=Oe.short;if(et!==!1?L.charCodeAt(D)===et&&(K=!0):Oe.isCustom===!0?K=ce.exec(L,D,re,C)!==null:(this.updateLastIndex(ce,D),K=ce.exec(e)!==null),K===!0)break}if(N=D-de,Se=this.computeNewColumn(Se,N),O=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(L,de,N,Fe,ke,jn(E)),ge.push({offset:de,line:Fe,column:ke,length:N,message:O}),Ie===!1)break}}return this.hasCustom||(re.length=X),{tokens:re,groups:C,errors:ge}}handleModes(e,n,r,i){if(e.pop===!0){const s=e.push;n(i),s!==void 0&&r.call(this,s)}else e.push!==void 0&&r.call(this,e.push)}chopInput(e,n){return e.substring(n)}updateLastIndex(e,n){e.lastIndex=n}updateTokenEndLineColumnLocation(e,n,r,i,s,a,o){let c,l;n!==void 0&&(c=r===o-1,l=c?-1:0,i===1&&c===!0||(e.endLine=s+l,e.endColumn=a-1+-l))}computeNewColumn(e,n){return e+n}createOffsetOnlyToken(e,n,r,i){return{image:e,startOffset:n,tokenTypeIdx:r,tokenType:i}}createStartOnlyToken(e,n,r,i,s,a){return{image:e,startOffset:n,startLine:s,startColumn:a,tokenTypeIdx:r,tokenType:i}}createFullToken(e,n,r,i,s,a,o){return{image:e,startOffset:n,endOffset:n+o-1,startLine:s,endLine:s,startColumn:a,endColumn:a+o-1,tokenTypeIdx:r,tokenType:i}}addTokenUsingPush(e,n,r){return e.push(r),n}addTokenUsingMemberAccess(e,n,r){return e[n]=r,n++,n}handlePayloadNoCustom(e,n){}handlePayloadWithCustom(e,n){n!==null&&(e.payload=n)}matchWithTest(e,n,r){return e.test(n)===!0?n.substring(r,e.lastIndex):null}matchWithExec(e,n){const r=e.exec(n);return r!==null?r[0]:null}}nt.SKIPPED="This marks a skipped Token pattern, this means each token identified by it will be consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.";nt.NA=/NOT_APPLICABLE/;function Ar(t){return Qf(t)?t.LABEL:t.name}function Qf(t){return rt(t.LABEL)&&t.LABEL!==""}const ay="parent",Zl="categories",eu="label",tu="group",nu="push_mode",ru="pop_mode",iu="longer_alt",su="line_breaks",au="start_chars_hint";function Zf(t){return oy(t)}function oy(t){const e=t.pattern,n={};if(n.name=t.name,tn(e)||(n.PATTERN=e),z(t,ay))throw`The parent property is no longer supported.
57
+ See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return z(t,Zl)&&(n.CATEGORIES=t[Zl]),Vi([n]),z(t,eu)&&(n.LABEL=t[eu]),z(t,tu)&&(n.GROUP=t[tu]),z(t,ru)&&(n.POP_MODE=t[ru]),z(t,nu)&&(n.PUSH_MODE=t[nu]),z(t,iu)&&(n.LONGER_ALT=t[iu]),z(t,su)&&(n.LINE_BREAKS=t[su]),z(t,au)&&(n.START_CHARS_HINT=t[au]),n}const Rn=Zf({name:"EOF",pattern:nt.NA});Vi([Rn]);function hl(t,e,n,r,i,s,a,o){return{image:e,startOffset:n,endOffset:r,startLine:i,endLine:s,startColumn:a,endColumn:o,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}function eh(t,e){return Wi(t,e)}const vr={buildMismatchTokenMessage({expected:t,actual:e,previous:n,ruleName:r}){return`Expecting ${Qf(t)?`--> ${Ar(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:n,customUserDescription:r,ruleName:i}){const s="Expecting: ",o=`
58
+ but found: '`+bt(e).image+"'";if(r)return s+r+o;{const c=Xe(t,(p,g)=>p.concat(g),[]),l=M(c,p=>`[${M(p,g=>Ar(g)).join(", ")}]`),f=`one of these possible Token sequences:
59
+ ${M(l,(p,g)=>` ${g+1}. ${p}`).join(`
60
+ `)}`;return s+f+o}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:n,ruleName:r}){const i="Expecting: ",a=`
61
+ but found: '`+bt(e).image+"'";if(n)return i+n+a;{const c=`expecting at least one iteration which starts with one of these possible Token sequences::
62
+ <${M(t,l=>`[${M(l,u=>Ar(u)).join(",")}]`).join(" ,")}>`;return i+c+a}}};Object.freeze(vr);const cy={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
63
+ inside top level rule: ->`+t.name+"<-"}},Gn={buildDuplicateFoundError(t,e){function n(u){return u instanceof ue?u.terminalType.name:u instanceof Je?u.nonTerminalName:""}const r=t.name,i=bt(e),s=i.idx,a=Ot(i),o=n(i),c=s>0;let l=`->${a}${c?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 l=l.replace(/[ \t]+/g," "),l=l.replace(/\s\s+/g,`
67
+ `),l},buildNamespaceConflictError(t){return`Namespace conflict found in grammar.
68
+ The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.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(t){const e=M(t.prefixPath,i=>Ar(i)).join(", "),n=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix
72
+ in <OR${n}> inside <${t.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(t){const e=M(t.prefixPath,i=>Ar(i)).join(", "),n=t.alternation.idx===0?"":t.alternation.idx;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in <OR${n}> inside <${t.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(t){let e=Ot(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
79
+ This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
80
+ Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives:
81
+ <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
82
+ has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){const e=t.topLevelRule.name,n=M(t.leftRecursionPath,s=>s.name),r=`${e} --> ${n.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(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof zr?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function ly(t,e){const n=new uy(t,e);return n.resolveRefs(),n.errors}class uy extends Br{constructor(e,n){super(),this.nameToTopRule=e,this.errMsgProvider=n,this.errors=[]}resolveRefs(){U(Le(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const n=this.nameToTopRule[e.nonTerminalName];if(n)e.referencedRule=n;else{const r=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:r,type:Qe.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}class dy extends Sa{constructor(e,n){super(),this.topProd=e,this.path=n,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=qe(this.path.ruleStack).reverse(),this.occurrenceStack=qe(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,n=[]){this.found||super.walk(e,n)}walkProdRef(e,n,r){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=n.concat(r);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){oe(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class fy extends dy{constructor(e,n){super(e,n),this.path=n,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,n,r){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=n.concat(r),s=new it({definition:i});this.possibleTokTypes=qi(s),this.found=!0}}}class Ca extends Sa{constructor(e,n){super(),this.topRule=e,this.occurrence=n,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class hy extends Ca{walkMany(e,n,r){if(e.idx===this.occurrence){const i=bt(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof ue&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,n,r)}}class ou extends Ca{walkManySep(e,n,r){if(e.idx===this.occurrence){const i=bt(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof ue&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,n,r)}}class py extends Ca{walkAtLeastOne(e,n,r){if(e.idx===this.occurrence){const i=bt(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof ue&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,n,r)}}class cu extends Ca{walkAtLeastOneSep(e,n,r){if(e.idx===this.occurrence){const i=bt(n.concat(r));this.result.isEndOfRule=i===void 0,i instanceof ue&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,n,r)}}function wo(t,e,n=[]){n=qe(n);let r=[],i=0;function s(o){return o.concat(Ge(t,i+1))}function a(o){const c=wo(s(o),e,n);return r.concat(c)}for(;n.length<e&&i<t.length;){const o=t[i];if(o instanceof it)return a(o.definition);if(o instanceof Je)return a(o.definition);if(o instanceof Be)r=a(o.definition);else if(o instanceof ht){const c=o.definition.concat([new ve({definition:o.definition})]);return a(c)}else if(o instanceof pt){const c=[new it({definition:o.definition}),new ve({definition:[new ue({terminalType:o.separator})].concat(o.definition)})];return a(c)}else if(o instanceof st){const c=o.definition.concat([new ve({definition:[new ue({terminalType:o.separator})].concat(o.definition)})]);r=a(c)}else if(o instanceof ve){const c=o.definition.concat([new ve({definition:o.definition})]);r=a(c)}else{if(o instanceof at)return U(o.definition,c=>{oe(c.definition)===!1&&(r=a(c.definition))}),r;if(o instanceof ue)n.push(o.terminalType);else throw Error("non exhaustive match")}i++}return r.push({partialPath:n,suffixDef:Ge(t,i)}),r}function th(t,e,n,r){const i="EXIT_NONE_TERMINAL",s=[i],a="EXIT_ALTERNATIVE";let o=!1;const c=e.length,l=c-r-1,u=[],f=[];for(f.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!oe(f);){const p=f.pop();if(p===a){o&&jn(f).idx<=l&&f.pop();continue}const g=p.def,S=p.idx,N=p.ruleStack,O=p.occurrenceStack;if(oe(g))continue;const w=g[0];if(w===i){const L={idx:S,def:Ge(g),ruleStack:Ci(N),occurrenceStack:Ci(O)};f.push(L)}else if(w instanceof ue)if(S<c-1){const L=S+1,b=e[L];if(n(b,w.terminalType)){const D={idx:L,def:Ge(g),ruleStack:N,occurrenceStack:O};f.push(D)}}else if(S===c-1)u.push({nextTokenType:w.terminalType,nextTokenOccurrence:w.idx,ruleStack:N,occurrenceStack:O}),o=!0;else throw Error("non exhaustive match");else if(w instanceof Je){const L=qe(N);L.push(w.nonTerminalName);const b=qe(O);b.push(w.idx);const D={idx:S,def:w.definition.concat(s,Ge(g)),ruleStack:L,occurrenceStack:b};f.push(D)}else if(w instanceof Be){const L={idx:S,def:Ge(g),ruleStack:N,occurrenceStack:O};f.push(L),f.push(a);const b={idx:S,def:w.definition.concat(Ge(g)),ruleStack:N,occurrenceStack:O};f.push(b)}else if(w instanceof ht){const L=new ve({definition:w.definition,idx:w.idx}),b=w.definition.concat([L],Ge(g)),D={idx:S,def:b,ruleStack:N,occurrenceStack:O};f.push(D)}else if(w instanceof pt){const L=new ue({terminalType:w.separator}),b=new ve({definition:[L].concat(w.definition),idx:w.idx}),D=w.definition.concat([b],Ge(g)),X={idx:S,def:D,ruleStack:N,occurrenceStack:O};f.push(X)}else if(w instanceof st){const L={idx:S,def:Ge(g),ruleStack:N,occurrenceStack:O};f.push(L),f.push(a);const b=new ue({terminalType:w.separator}),D=new ve({definition:[b].concat(w.definition),idx:w.idx}),X=w.definition.concat([D],Ge(g)),ne={idx:S,def:X,ruleStack:N,occurrenceStack:O};f.push(ne)}else if(w instanceof ve){const L={idx:S,def:Ge(g),ruleStack:N,occurrenceStack:O};f.push(L),f.push(a);const b=new ve({definition:w.definition,idx:w.idx}),D=w.definition.concat([b],Ge(g)),X={idx:S,def:D,ruleStack:N,occurrenceStack:O};f.push(X)}else if(w instanceof at)for(let L=w.definition.length-1;L>=0;L--){const b=w.definition[L],D={idx:S,def:b.definition.concat(Ge(g)),ruleStack:N,occurrenceStack:O};f.push(D),f.push(a)}else if(w instanceof it)f.push({idx:S,def:w.definition.concat(Ge(g)),ruleStack:N,occurrenceStack:O});else if(w instanceof zr)f.push(my(w,S,N,O));else throw Error("non exhaustive match")}return u}function my(t,e,n,r){const i=qe(n);i.push(t.name);const s=qe(r);return s.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:s}}var pe;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(pe||(pe={}));function pl(t){if(t instanceof Be||t==="Option")return pe.OPTION;if(t instanceof ve||t==="Repetition")return pe.REPETITION;if(t instanceof ht||t==="RepetitionMandatory")return pe.REPETITION_MANDATORY;if(t instanceof pt||t==="RepetitionMandatoryWithSeparator")return pe.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof st||t==="RepetitionWithSeparator")return pe.REPETITION_WITH_SEPARATOR;if(t instanceof at||t==="Alternation")return pe.ALTERNATION;throw Error("non exhaustive match")}function lu(t){const{occurrence:e,rule:n,prodType:r,maxLookahead:i}=t,s=pl(r);return s===pe.ALTERNATION?Na(e,n,i):wa(e,n,s,i)}function gy(t,e,n,r,i,s){const a=Na(t,e,n),o=ih(a)?Hs:Wi;return s(a,r,o,i)}function yy(t,e,n,r,i,s){const a=wa(t,e,i,n),o=ih(a)?Hs:Wi;return s(a[0],o,r)}function Ty(t,e,n,r){const i=t.length,s=Nt(t,a=>Nt(a,o=>o.length===1));if(e)return function(a){const o=M(a,c=>c.GATE);for(let c=0;c<i;c++){const l=t[c],u=l.length,f=o[c];if(!(f!==void 0&&f.call(this)===!1))e:for(let p=0;p<u;p++){const g=l[p],S=g.length;for(let N=0;N<S;N++){const O=this.LA(N+1);if(n(O,g[N])===!1)continue e}return c}}};if(s&&!r){const a=M(t,c=>Tt(c)),o=Xe(a,(c,l,u)=>(U(l,f=>{z(c,f.tokenTypeIdx)||(c[f.tokenTypeIdx]=u),U(f.categoryMatches,p=>{z(c,p)||(c[p]=u)})}),c),{});return function(){const c=this.LA(1);return o[c.tokenTypeIdx]}}else return function(){for(let a=0;a<i;a++){const o=t[a],c=o.length;e:for(let l=0;l<c;l++){const u=o[l],f=u.length;for(let p=0;p<f;p++){const g=this.LA(p+1);if(n(g,u[p])===!1)continue e}return a}}}}function Ry(t,e,n){const r=Nt(t,s=>s.length===1),i=t.length;if(r&&!n){const s=Tt(t);if(s.length===1&&oe(s[0].categoryMatches)){const o=s[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===o}}else{const a=Xe(s,(o,c,l)=>(o[c.tokenTypeIdx]=!0,U(c.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=t[s],o=a.length;for(let c=0;c<o;c++){const l=this.LA(c+1);if(e(l,a[c])===!1)continue e}return!0}return!1}}class vy extends Sa{constructor(e,n,r){super(),this.topProd=e,this.targetOccurrence=n,this.targetProdType=r}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,n,r,i){return e.idx===this.targetOccurrence&&this.targetProdType===n?(this.restDef=r.concat(i),!0):!1}walkOption(e,n,r){this.checkIsTarget(e,pe.OPTION,n,r)||super.walkOption(e,n,r)}walkAtLeastOne(e,n,r){this.checkIsTarget(e,pe.REPETITION_MANDATORY,n,r)||super.walkOption(e,n,r)}walkAtLeastOneSep(e,n,r){this.checkIsTarget(e,pe.REPETITION_MANDATORY_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}walkMany(e,n,r){this.checkIsTarget(e,pe.REPETITION,n,r)||super.walkOption(e,n,r)}walkManySep(e,n,r){this.checkIsTarget(e,pe.REPETITION_WITH_SEPARATOR,n,r)||super.walkOption(e,n,r)}}class nh extends Br{constructor(e,n,r){super(),this.targetOccurrence=e,this.targetProdType=n,this.targetRef=r,this.result=[]}checkIsTarget(e,n){e.idx===this.targetOccurrence&&this.targetProdType===n&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,pe.OPTION)}visitRepetition(e){this.checkIsTarget(e,pe.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,pe.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,pe.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,pe.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,pe.ALTERNATION)}}function uu(t){const e=new Array(t);for(let n=0;n<t;n++)e[n]=[];return e}function Xa(t){let e=[""];for(let n=0;n<t.length;n++){const r=t[n],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 c="_"+r.categoryMatches[o];i.push(a+c)}}e=i}return e}function Ey(t,e,n){for(let r=0;r<t.length;r++){if(r===n)continue;const i=t[r];for(let s=0;s<e.length;s++){const a=e[s];if(i[a]===!0)return!1}}return!0}function rh(t,e){const n=M(t,a=>wo([a],1)),r=uu(n.length),i=M(n,a=>{const o={};return U(a,c=>{const l=Xa(c.partialPath);U(l,u=>{o[u]=!0})}),o});let s=n;for(let a=1;a<=e;a++){const o=s;s=uu(o.length);for(let c=0;c<o.length;c++){const l=o[c];for(let u=0;u<l.length;u++){const f=l[u].partialPath,p=l[u].suffixDef,g=Xa(f);if(Ey(i,g,c)||oe(p)||f.length===e){const N=r[c];if(bo(N,f)===!1){N.push(f);for(let O=0;O<g.length;O++){const w=g[O];i[c][w]=!0}}}else{const N=wo(p,a+1,f);s[c]=s[c].concat(N),U(N,O=>{const w=Xa(O.partialPath);U(w,L=>{i[c][L]=!0})})}}}}return r}function Na(t,e,n,r){const i=new nh(t,pe.ALTERNATION,r);return e.accept(i),rh(i.result,n)}function wa(t,e,n,r){const i=new nh(t,n);e.accept(i);const s=i.result,o=new vy(e,t,n).startWalking(),c=new it({definition:s}),l=new it({definition:o});return rh([c,l],r)}function bo(t,e){e:for(let n=0;n<t.length;n++){const r=t[n];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 Ay(t,e){return t.length<e.length&&Nt(t,(n,r)=>{const i=e[r];return n===i||i.categoryMatchesMap[n.tokenTypeIdx]})}function ih(t){return Nt(t,e=>Nt(e,n=>Nt(n,r=>oe(r.categoryMatches))))}function Sy(t){const e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return M(e,n=>Object.assign({type:Qe.CUSTOM_LOOKAHEAD_VALIDATION},n))}function ky(t,e,n,r){const i=ut(t,c=>Cy(c,n)),s=My(t,e,n),a=ut(t,c=>Ly(c,n)),o=ut(t,c=>by(c,t,r,n));return i.concat(s,a,o)}function Cy(t,e){const n=new wy;t.accept(n);const r=n.allProductions,i=rm(r,Ny),s=_t(i,o=>o.length>1);return M(Le(s),o=>{const c=bt(o),l=e.buildDuplicateFoundError(t,o),u=Ot(c),f={message:l,type:Qe.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:c.idx},p=sh(c);return p&&(f.parameter=p),f})}function Ny(t){return`${Ot(t)}_#_${t.idx}_#_${sh(t)}`}function sh(t){return t instanceof ue?t.terminalType.name:t instanceof Je?t.nonTerminalName:""}class wy extends Br{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 by(t,e,n,r){const i=[];if(Xe(e,(a,o)=>o.name===t.name?a+1:a,0)>1){const a=r.buildDuplicateRuleNameError({topLevelRule:t,grammarName:n});i.push({message:a,type:Qe.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function _y(t,e,n){const r=[];let i;return Ze(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${n}<-as it is not defined in any of the super grammars `,r.push({message:i,type:Qe.INVALID_RULE_OVERRIDE,ruleName:t})),r}function ah(t,e,n,r=[]){const i=[],s=xs(e.definition);if(oe(s))return[];{const a=t.name;Ze(s,t)&&i.push({message:n.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:r}),type:Qe.LEFT_RECURSION,ruleName:a});const c=ga(s,r.concat([t])),l=ut(c,u=>{const f=qe(r);return f.push(u),ah(t,u,n,f)});return i.concat(l)}}function xs(t){let e=[];if(oe(t))return e;const n=bt(t);if(n instanceof Je)e.push(n.referencedRule);else if(n instanceof it||n instanceof Be||n instanceof ht||n instanceof pt||n instanceof st||n instanceof ve)e=e.concat(xs(n.definition));else if(n instanceof at)e=Tt(M(n.definition,s=>xs(s.definition)));else if(!(n instanceof ue))throw Error("non exhaustive match");const r=Vs(n),i=t.length>1;if(r&&i){const s=Ge(t);return e.concat(xs(s))}else return e}class ml extends Br{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}function Iy(t,e){const n=new ml;t.accept(n);const r=n.alternations;return ut(r,s=>{const a=Ci(s.definition);return ut(a,(o,c)=>{const l=th([o],[],Wi,1);return oe(l)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:s,emptyChoiceIdx:c}),type:Qe.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:s.idx,alternative:c+1}]:[]})})}function $y(t,e,n){const r=new ml;t.accept(r);let i=r.alternations;return i=ya(i,a=>a.ignoreAmbiguities===!0),ut(i,a=>{const o=a.idx,c=a.maxLookahead||e,l=Na(o,t,c,a),u=xy(l,a,t,n),f=Dy(l,a,t,n);return u.concat(f)})}class Py extends Br{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 Ly(t,e){const n=new ml;t.accept(n);const r=n.alternations;return ut(r,s=>s.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:s}),type:Qe.TOO_MANY_ALTS,ruleName:t.name,occurrence:s.idx}]:[])}function Oy(t,e,n){const r=[];return U(t,i=>{const s=new Py;i.accept(s);const a=s.allProductions;U(a,o=>{const c=pl(o),l=o.maxLookahead||e,u=o.idx,p=wa(u,i,c,l)[0];if(oe(Tt(p))){const g=n.buildEmptyRepetitionError({topLevelRule:i,repetition:o});r.push({message:g,type:Qe.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),r}function xy(t,e,n,r){const i=[],s=Xe(t,(o,c,l)=>(e.definition[l].ignoreAmbiguities===!0||U(c,u=>{const f=[l];U(t,(p,g)=>{l!==g&&bo(p,u)&&e.definition[g].ignoreAmbiguities!==!0&&f.push(g)}),f.length>1&&!bo(i,u)&&(i.push(u),o.push({alts:f,path:u}))}),o),[]);return M(s,o=>{const c=M(o.alts,u=>u+1);return{message:r.buildAlternationAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:c,prefixPath:o.path}),type:Qe.AMBIGUOUS_ALTS,ruleName:n.name,occurrence:e.idx,alternatives:o.alts}})}function Dy(t,e,n,r){const i=Xe(t,(a,o,c)=>{const l=M(o,u=>({idx:c,path:u}));return a.concat(l)},[]);return Ui(ut(i,a=>{if(e.definition[a.idx].ignoreAmbiguities===!0)return[];const c=a.idx,l=a.path,u=ft(i,p=>e.definition[p.idx].ignoreAmbiguities!==!0&&p.idx<c&&Ay(p.path,l));return M(u,p=>{const g=[p.idx+1,c+1],S=e.idx===0?"":e.idx;return{message:r.buildAlternationPrefixAmbiguityError({topLevelRule:n,alternation:e,ambiguityIndices:g,prefixPath:p.path}),type:Qe.AMBIGUOUS_PREFIX_ALTS,ruleName:n.name,occurrence:S,alternatives:g}})}))}function My(t,e,n){const r=[],i=M(e,s=>s.name);return U(t,s=>{const a=s.name;if(Ze(i,a)){const o=n.buildNamespaceConflictError(s);r.push({message:o,type:Qe.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:a})}}),r}function Fy(t){const e=il(t,{errMsgProvider:cy}),n={};return U(t.rules,r=>{n[r.name]=r}),ly(n,e.errMsgProvider)}function Gy(t){return t=il(t,{errMsgProvider:Gn}),ky(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}const oh="MismatchedTokenException",ch="NoViableAltException",lh="EarlyExitException",uh="NotAllInputParsedException",dh=[oh,ch,lh,uh];Object.freeze(dh);function Ys(t){return Ze(dh,t.name)}class ba extends Error{constructor(e,n){super(e),this.token=n,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class fh extends ba{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=oh}}class Uy extends ba{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=ch}}class jy extends ba{constructor(e,n){super(e,n),this.name=uh}}class zy extends ba{constructor(e,n,r){super(e,n),this.previousToken=r,this.name=lh}}const Ja={},hh="InRuleRecoveryException";class By extends Error{constructor(e){super(e),this.name=hh}}class qy{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=z(e,"recoveryEnabled")?e.recoveryEnabled:rn.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Wy)}getTokenToInsert(e){const n=hl(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return n.isInsertedInRecovery=!0,n}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,n,r,i){const s=this.findReSyncTokenType(),a=this.exportLexerState(),o=[];let c=!1;const l=this.LA(1);let u=this.LA(1);const f=()=>{const p=this.LA(0),g=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:l,previous:p,ruleName:this.getCurrRuleFullName()}),S=new fh(g,l,this.LA(0));S.resyncedTokens=Ci(o),this.SAVE_ERROR(S)};for(;!c;)if(this.tokenMatcher(u,i)){f();return}else if(r.call(this)){f(),e.apply(this,n);return}else this.tokenMatcher(u,s)?c=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,o));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,n,r){return!(r===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,n)))}getFollowsForInRuleRecovery(e,n){const r=this.getCurrentGrammarPath(e,n);return this.getNextPossibleTokenTypes(r)}tryInRuleRecovery(e,n){if(this.canRecoverWithSingleTokenInsertion(e,n))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const r=this.SKIP_TOKEN();return this.consumeToken(),r}throw new By("sad sad panda")}canPerformInRuleRecovery(e,n){return this.canRecoverWithSingleTokenInsertion(e,n)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,n){if(!this.canTokenTypeBeInsertedInRecovery(e)||oe(n))return!1;const r=this.LA(1);return kr(n,s=>this.tokenMatcher(r,s))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const n=this.getCurrFollowKey(),r=this.getFollowSetFromFollowKey(n);return Ze(r,e)}findReSyncTokenType(){const e=this.flattenFollowSet();let n=this.LA(1),r=2;for(;;){const i=kr(e,s=>eh(n,s));if(i!==void 0)return i;n=this.LA(r),r++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return Ja;const e=this.getLastExplicitRuleShortName(),n=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:n,inRule:this.shortRuleNameToFullName(r)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,n=this.RULE_OCCURRENCE_STACK;return M(e,(r,i)=>i===0?Ja:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:n[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){const e=M(this.buildFullFollowKeyStack(),n=>this.getFollowSetFromFollowKey(n));return Tt(e)}getFollowSetFromFollowKey(e){if(e===Ja)return[Rn];const n=e.ruleName+e.idxInCallingRule+Bf+e.inRule;return this.resyncFollows[n]}addToResyncTokens(e,n){return this.tokenMatcher(e,Rn)||n.push(e),n}reSyncTo(e){const n=[];let r=this.LA(1);for(;this.tokenMatcher(r,e)===!1;)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,n);return Ci(n)}attemptInRepetitionRecovery(e,n,r,i,s,a,o){}getCurrentGrammarPath(e,n){const r=this.getHumanReadableRuleStack(),i=qe(this.RULE_OCCURRENCE_STACK);return{ruleStack:r,occurrenceStack:i,lastTok:e,lastTokOccurrence:n}}getHumanReadableRuleStack(){return M(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}}function Wy(t,e,n,r,i,s,a){const o=this.getKeyForAutomaticLookahead(r,i);let c=this.firstAfterRepMap[o];if(c===void 0){const p=this.getCurrRuleFullName(),g=this.getGAstProductions()[p];c=new s(g,i).startWalking(),this.firstAfterRepMap[o]=c}let l=c.token,u=c.occurrence;const f=c.isEndOfRule;this.RULE_STACK.length===1&&f&&l===void 0&&(l=Rn,u=1),!(l===void 0||u===void 0)&&this.shouldInRepetitionRecoveryBeTried(l,u,a)&&this.tryInRepetitionRecovery(t,e,n,l)}const Vy=4,An=8,ph=1<<An,mh=2<<An,_o=3<<An,Io=4<<An,$o=5<<An,Ds=6<<An;function Qa(t,e,n){return n|e|t}class gl{constructor(e){var n;this.maxLookahead=(n=e?.maxLookahead)!==null&&n!==void 0?n:rn.maxLookahead}validate(e){const n=this.validateNoLeftRecursion(e.rules);if(oe(n)){const r=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),s=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...n,...r,...i,...s]}return n}validateNoLeftRecursion(e){return ut(e,n=>ah(n,n,Gn))}validateEmptyOrAlternatives(e){return ut(e,n=>Iy(n,Gn))}validateAmbiguousAlternationAlternatives(e,n){return ut(e,r=>$y(r,n,Gn))}validateSomeNonEmptyLookaheadPath(e,n){return Oy(e,n,Gn)}buildLookaheadForAlternation(e){return gy(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,Ty)}buildLookaheadForOptional(e){return yy(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,pl(e.prodType),Ry)}}class Ky{initLooksAhead(e){this.dynamicTokensEnabled=z(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:rn.dynamicTokensEnabled,this.maxLookahead=z(e,"maxLookahead")?e.maxLookahead:rn.maxLookahead,this.lookaheadStrategy=z(e,"lookaheadStrategy")?e.lookaheadStrategy:new gl({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){U(e,n=>{this.TRACE_INIT(`${n.name} Rule Lookahead`,()=>{const{alternation:r,repetition:i,option:s,repetitionMandatory:a,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:c}=Yy(n);U(r,l=>{const u=l.idx===0?"":l.idx;this.TRACE_INIT(`${Ot(l)}${u}`,()=>{const f=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:l.idx,rule:n,maxLookahead:l.maxLookahead||this.maxLookahead,hasPredicates:l.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),p=Qa(this.fullRuleNameToShort[n.name],ph,l.idx);this.setLaFuncCache(p,f)})}),U(i,l=>{this.computeLookaheadFunc(n,l.idx,_o,"Repetition",l.maxLookahead,Ot(l))}),U(s,l=>{this.computeLookaheadFunc(n,l.idx,mh,"Option",l.maxLookahead,Ot(l))}),U(a,l=>{this.computeLookaheadFunc(n,l.idx,Io,"RepetitionMandatory",l.maxLookahead,Ot(l))}),U(o,l=>{this.computeLookaheadFunc(n,l.idx,Ds,"RepetitionMandatoryWithSeparator",l.maxLookahead,Ot(l))}),U(c,l=>{this.computeLookaheadFunc(n,l.idx,$o,"RepetitionWithSeparator",l.maxLookahead,Ot(l))})})})}computeLookaheadFunc(e,n,r,i,s,a){this.TRACE_INIT(`${a}${n===0?"":n}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:n,rule:e,maxLookahead:s||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),c=Qa(this.fullRuleNameToShort[e.name],r,n);this.setLaFuncCache(c,o)})}getKeyForAutomaticLookahead(e,n){const r=this.getLastExplicitRuleShortName();return Qa(r,e,n)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,n){this.lookAheadFuncsCache.set(e,n)}}class Hy extends Br{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 Rs=new Hy;function Yy(t){Rs.reset(),t.accept(Rs);const e=Rs.dslMethods;return Rs.reset(),e}function du(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function fu(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.startColumn=e.startColumn,t.startLine=e.startLine,t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine)}function Xy(t,e,n){t.children[n]===void 0?t.children[n]=[e]:t.children[n].push(e)}function Jy(t,e,n){t.children[e]===void 0?t.children[e]=[n]:t.children[e].push(n)}const Qy="name";function gh(t,e){Object.defineProperty(t,Qy,{enumerable:!1,configurable:!0,writable:!1,value:e})}function Zy(t,e){const n=Sr(t),r=n.length;for(let i=0;i<r;i++){const s=n[i],a=t[s],o=a.length;for(let c=0;c<o;c++){const l=a[c];l.tokenTypeIdx===void 0&&this[l.name](l.children,e)}}}function eT(t,e){const n=function(){};gh(n,t+"BaseSemantics");const r={visit:function(i,s){if(ze(i)&&(i=i[0]),!tn(i))return this[i.name](i.children,s)},validateVisitor:function(){const i=nT(this,e);if(!oe(i)){const s=M(i,a=>a.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
88
+ ${s.join(`
89
+
90
+ `).replace(/\n/g,`
91
+ `)}`)}}};return n.prototype=r,n.prototype.constructor=n,n._RULE_NAMES=e,n}function tT(t,e,n){const r=function(){};gh(r,t+"BaseSemanticsWithDefaults");const i=Object.create(n.prototype);return U(e,s=>{i[s]=Zy}),r.prototype=i,r.prototype.constructor=r,r}var Po;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(Po||(Po={}));function nT(t,e){return rT(t,e)}function rT(t,e){const n=ft(e,i=>Hn(t[i])===!1),r=M(n,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:Po.MISSING_METHOD,methodName:i}));return Ui(r)}class iT{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=z(e,"nodeLocationTracking")?e.nodeLocationTracking:rn.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=xe,this.cstFinallyStateUpdate=xe,this.cstPostTerminal=xe,this.cstPostNonTerminal=xe,this.cstPostRule=xe;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=fu,this.setNodeLocationFromNode=fu,this.cstPostRule=xe,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=xe,this.setNodeLocationFromNode=xe,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=du,this.setNodeLocationFromNode=du,this.cstPostRule=xe,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=xe,this.setNodeLocationFromNode=xe,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=xe,this.setNodeLocationFromNode=xe,this.cstPostRule=xe,this.setInitialNodeLocation=xe;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 n=this.LA(1);e.location={startOffset:n.startOffset,startLine:n.startLine,startColumn:n.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const n={name:e,children:Object.create(null)};this.setInitialNodeLocation(n),this.CST_STACK.push(n)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const n=this.LA(0),r=e.location;r.startOffset<=n.startOffset?(r.endOffset=n.endOffset,r.endLine=n.endLine,r.endColumn=n.endColumn):(r.startOffset=NaN,r.startLine=NaN,r.startColumn=NaN)}cstPostRuleOnlyOffset(e){const n=this.LA(0),r=e.location;r.startOffset<=n.startOffset?r.endOffset=n.endOffset:r.startOffset=NaN}cstPostTerminal(e,n){const r=this.CST_STACK[this.CST_STACK.length-1];Xy(r,n,e),this.setNodeLocationFromToken(r.location,n)}cstPostNonTerminal(e,n){const r=this.CST_STACK[this.CST_STACK.length-1];Jy(r,n,e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if(tn(this.baseCstVisitorConstructor)){const e=eT(this.className,Sr(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(tn(this.baseCstVisitorWithDefaultsConstructor)){const e=tT(this.className,Sr(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 sT{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)):Js}LA(e){const n=this.currIdx+e;return n<0||this.tokVectorLength<=n?Js:this.tokVector[n]}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 aT{ACTION(e){return e.call(this)}consume(e,n,r){return this.consumeInternal(n,e,r)}subrule(e,n,r){return this.subruleInternal(n,e,r)}option(e,n){return this.optionInternal(n,e)}or(e,n){return this.orInternal(n,e)}many(e,n){return this.manyInternal(e,n)}atLeastOne(e,n){return this.atLeastOneInternal(e,n)}CONSUME(e,n){return this.consumeInternal(e,0,n)}CONSUME1(e,n){return this.consumeInternal(e,1,n)}CONSUME2(e,n){return this.consumeInternal(e,2,n)}CONSUME3(e,n){return this.consumeInternal(e,3,n)}CONSUME4(e,n){return this.consumeInternal(e,4,n)}CONSUME5(e,n){return this.consumeInternal(e,5,n)}CONSUME6(e,n){return this.consumeInternal(e,6,n)}CONSUME7(e,n){return this.consumeInternal(e,7,n)}CONSUME8(e,n){return this.consumeInternal(e,8,n)}CONSUME9(e,n){return this.consumeInternal(e,9,n)}SUBRULE(e,n){return this.subruleInternal(e,0,n)}SUBRULE1(e,n){return this.subruleInternal(e,1,n)}SUBRULE2(e,n){return this.subruleInternal(e,2,n)}SUBRULE3(e,n){return this.subruleInternal(e,3,n)}SUBRULE4(e,n){return this.subruleInternal(e,4,n)}SUBRULE5(e,n){return this.subruleInternal(e,5,n)}SUBRULE6(e,n){return this.subruleInternal(e,6,n)}SUBRULE7(e,n){return this.subruleInternal(e,7,n)}SUBRULE8(e,n){return this.subruleInternal(e,8,n)}SUBRULE9(e,n){return this.subruleInternal(e,9,n)}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,n,r=Qs){if(Ze(this.definedRulesNames,e)){const a={message:Gn.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:Qe.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(a)}this.definedRulesNames.push(e);const i=this.defineRule(e,n,r);return this[e]=i,i}OVERRIDE_RULE(e,n,r=Qs){const i=_y(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);const s=this.defineRule(e,n,r);return this[e]=s,s}BACKTRACK(e,n){return function(){this.isBackTrackingStack.push(1);const r=this.saveRecogState();try{return e.apply(this,n),!0}catch(i){if(Ys(i))return!1;throw i}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return pg(Le(this.gastProductionsCache))}}class oT{initRecognizerEngine(e,n){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Hs,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},z(n,"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(ze(e)){if(oe(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(ze(e))this.tokensMap=Xe(e,(s,a)=>(s[a.name]=a,s),{});else if(z(e,"modes")&&Nt(Tt(Le(e.modes)),sy)){const s=Tt(Le(e.modes)),a=sl(s);this.tokensMap=Xe(a,(o,c)=>(o[c.name]=c,o),{})}else if(xp(e))this.tokensMap=qe(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=Rn;const r=z(e,"modes")?Tt(Le(e.modes)):Le(e),i=Nt(r,s=>oe(s.categoryMatches));this.tokenMatcher=i?Hs:Wi,Vi(Le(this.tokensMap))}defineRule(e,n,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=z(r,"resyncEnabled")?r.resyncEnabled:Qs.resyncEnabled,s=z(r,"recoveryValueFunc")?r.recoveryValueFunc:Qs.recoveryValueFunc,a=this.ruleShortNameIdx<<Vy+An;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),n.apply(this,u);const f=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(f),f}catch(f){return this.invokeRuleCatch(f,i,s)}finally{this.ruleFinallyStateUpdate()}}:o=function(...u){try{return this.ruleInvocationStateUpdate(a,e,this.subruleIdx),n.apply(this,u)}catch(f){return this.invokeRuleCatch(f,i,s)}finally{this.ruleFinallyStateUpdate()}},Object.assign(o,{ruleName:e,originalGrammarAction:n})}invokeRuleCatch(e,n,r){const i=this.RULE_STACK.length===1,s=n&&!this.isBackTracking()&&this.recoveryEnabled;if(Ys(e)){const a=e;if(s){const o=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(o))if(a.resyncedTokens=this.reSyncTo(o),this.outputCst){const c=this.CST_STACK[this.CST_STACK.length-1];return c.recoveredNode=!0,c}else return r(e);else{if(this.outputCst){const c=this.CST_STACK[this.CST_STACK.length-1];c.recoveredNode=!0,a.partialCstResult=c}throw a}}else{if(i)return this.moveToTerminatedState(),r(e);throw a}}else throw e}optionInternal(e,n){const r=this.getKeyForAutomaticLookahead(mh,n);return this.optionInternalLogic(e,n,r)}optionInternalLogic(e,n,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,n){const r=this.getKeyForAutomaticLookahead(Io,e);return this.atLeastOneInternalLogic(e,n,r)}atLeastOneInternalLogic(e,n,r){let i=this.getLaFuncFromCache(r),s;if(typeof n!="function"){s=n.DEF;const a=n.GATE;if(a!==void 0){const o=i;i=()=>a.call(this)&&o.call(this)}}else s=n;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,pe.REPETITION_MANDATORY,n.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,n],i,Io,e,py)}atLeastOneSepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead(Ds,e);this.atLeastOneSepFirstInternalLogic(e,n,r)}atLeastOneSepFirstInternalLogic(e,n,r){const i=n.DEF,s=n.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,cu],o,Ds,e,cu)}else throw this.raiseEarlyExitException(e,pe.REPETITION_MANDATORY_WITH_SEPARATOR,n.ERR_MSG)}manyInternal(e,n){const r=this.getKeyForAutomaticLookahead(_o,e);return this.manyInternalLogic(e,n,r)}manyInternalLogic(e,n,r){let i=this.getLaFuncFromCache(r),s;if(typeof n!="function"){s=n.DEF;const o=n.GATE;if(o!==void 0){const c=i;i=()=>o.call(this)&&c.call(this)}}else s=n;let a=!0;for(;i.call(this)===!0&&a===!0;)a=this.doSingleRepetition(s);this.attemptInRepetitionRecovery(this.manyInternal,[e,n],i,_o,e,hy,a)}manySepFirstInternal(e,n){const r=this.getKeyForAutomaticLookahead($o,e);this.manySepFirstInternalLogic(e,n,r)}manySepFirstInternalLogic(e,n,r){const i=n.DEF,s=n.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,ou],o,$o,e,ou)}}repetitionSepSecondInternal(e,n,r,i,s){for(;r();)this.CONSUME(n),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,n,r,i,s],r,Ds,e,s)}doSingleRepetition(e){const n=this.getLexerPosition();return e.call(this),this.getLexerPosition()>n}orInternal(e,n){const r=this.getKeyForAutomaticLookahead(ph,n),i=ze(e)?e:e.DEF,a=this.getLaFuncFromCache(r).call(this,i);if(a!==void 0)return i[a].ALT.call(this);this.raiseNoAltException(n,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),n=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new jy(n,e))}}subruleInternal(e,n,r){let i;try{const s=r!==void 0?r.ARGS:void 0;return this.subruleIdx=n,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,n,r){throw Ys(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,n!==void 0&&n.LABEL!==void 0?n.LABEL:r),delete e.partialCstResult),e}consumeInternal(e,n,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,n,s)}return this.cstPostTerminal(r!==void 0&&r.LABEL!==void 0?r.LABEL:e.name,i),i}consumeInternalError(e,n,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:n,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new fh(i,n,s))}consumeInternalRecovery(e,n,r){if(this.recoveryEnabled&&r.name==="MismatchedTokenException"&&!this.isBackTracking()){const i=this.getFollowsForInRuleRecovery(e,n);try{return this.tryInRuleRecovery(e,i)}catch(s){throw s.name===hh?r:s}}else throw r}saveRecogState(){const e=this.errors,n=qe(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:n,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,n,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(n)}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),Rn)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}class cT{initErrorHandler(e){this._errors=[],this.errorMessageProvider=z(e,"errorMessageProvider")?e.errorMessageProvider:rn.errorMessageProvider}SAVE_ERROR(e){if(Ys(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:qe(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return qe(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,n,r){const i=this.getCurrRuleFullName(),s=this.getGAstProductions()[i],o=wa(e,s,n,this.maxLookahead)[0],c=[];for(let u=1;u<=this.maxLookahead;u++)c.push(this.LA(u));const l=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:o,actual:c,previous:this.LA(0),customUserDescription:r,ruleName:i});throw this.SAVE_ERROR(new zy(l,this.LA(1),this.LA(0)))}raiseNoAltException(e,n){const r=this.getCurrRuleFullName(),i=this.getGAstProductions()[r],s=Na(e,i,this.maxLookahead),a=[];for(let l=1;l<=this.maxLookahead;l++)a.push(this.LA(l));const o=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:a,previous:o,customUserDescription:n,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new Uy(c,this.LA(1),o))}}class lT{initContentAssist(){}computeContentAssist(e,n){const r=this.gastProductionsCache[e];if(tn(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return th([r],n,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){const n=bt(e.ruleStack),i=this.getGAstProductions()[n];return new fy(i,e).startWalking()}}const _a={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(_a);const hu=!0,pu=Math.pow(2,An)-1,yh=Zf({name:"RECORDING_PHASE_TOKEN",pattern:nt.NA});Vi([yh]);const Th=hl(yh,`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(Th);const uT={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 dT{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 n=e>0?e:"";this[`CONSUME${n}`]=function(r,i){return this.consumeInternalRecord(r,e,i)},this[`SUBRULE${n}`]=function(r,i){return this.subruleInternalRecord(r,e,i)},this[`OPTION${n}`]=function(r){return this.optionInternalRecord(r,e)},this[`OR${n}`]=function(r){return this.orInternalRecord(r,e)},this[`MANY${n}`]=function(r){this.manyInternalRecord(e,r)},this[`MANY_SEP${n}`]=function(r){this.manySepFirstInternalRecord(e,r)},this[`AT_LEAST_ONE${n}`]=function(r){this.atLeastOneInternalRecord(e,r)},this[`AT_LEAST_ONE_SEP${n}`]=function(r){this.atLeastOneSepFirstInternalRecord(e,r)}}this.consume=function(e,n,r){return this.consumeInternalRecord(n,e,r)},this.subrule=function(e,n,r){return this.subruleInternalRecord(n,e,r)},this.option=function(e,n){return this.optionInternalRecord(n,e)},this.or=function(e,n){return this.orInternalRecord(n,e)},this.many=function(e,n){this.manyInternalRecord(e,n)},this.atLeastOne=function(e,n){this.atLeastOneInternalRecord(e,n)},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 n=0;n<10;n++){const r=n>0?n:"";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,n){return()=>!0}LA_RECORD(e){return Js}topLevelRuleRecord(e,n){try{const r=new zr({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),n.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,n){return oi.call(this,Be,e,n)}atLeastOneInternalRecord(e,n){oi.call(this,ht,n,e)}atLeastOneSepFirstInternalRecord(e,n){oi.call(this,pt,n,e,hu)}manyInternalRecord(e,n){oi.call(this,ve,n,e)}manySepFirstInternalRecord(e,n){oi.call(this,st,n,e,hu)}orInternalRecord(e,n){return fT.call(this,e,n)}subruleInternalRecord(e,n,r){if(Xs(n),!e||z(e,"ruleName")===!1){const o=new Error(`<SUBRULE${mu(n)}> 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=jn(this.recordingProdStack),s=e.ruleName,a=new Je({idx:n,nonTerminalName:s,label:r?.LABEL,referencedRule:void 0});return i.definition.push(a),this.outputCst?uT:_a}consumeInternalRecord(e,n,r){if(Xs(n),!Jf(e)){const a=new Error(`<CONSUME${mu(n)}> 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=jn(this.recordingProdStack),s=new ue({idx:n,terminalType:e,label:r?.LABEL});return i.definition.push(s),Th}}function oi(t,e,n,r=!1){Xs(n);const i=jn(this.recordingProdStack),s=Hn(e)?e:e.DEF,a=new t({definition:[],idx:n});return r&&(a.separator=e.SEP),z(e,"MAX_LOOKAHEAD")&&(a.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(a),s.call(this),i.definition.push(a),this.recordingProdStack.pop(),_a}function fT(t,e){Xs(e);const n=jn(this.recordingProdStack),r=ze(t)===!1,i=r===!1?t:t.DEF,s=new at({definition:[],idx:e,ignoreAmbiguities:r&&t.IGNORE_AMBIGUITIES===!0});z(t,"MAX_LOOKAHEAD")&&(s.maxLookahead=t.MAX_LOOKAHEAD);const a=Rf(i,o=>Hn(o.GATE));return s.hasPredicates=a,n.definition.push(s),U(i,o=>{const c=new it({definition:[]});s.definition.push(c),z(o,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:z(o,"GATE")&&(c.ignoreAmbiguities=!0),this.recordingProdStack.push(c),o.ALT.call(this),this.recordingProdStack.pop()}),_a}function mu(t){return t===0?"":`${t}`}function Xs(t){if(t<0||t>pu){const e=new Error(`Invalid DSL Method idx value: <${t}>
105
+ Idx value must be a none negative value smaller than ${pu+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}class hT{initPerformanceTracer(e){if(z(e,"traceInitPerf")){const n=e.traceInitPerf,r=typeof n=="number";this.traceInitMaxIdent=r?n:1/0,this.traceInitPerf=r?n>0:n}else this.traceInitMaxIdent=0,this.traceInitPerf=rn.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,n){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}=jf(n),a=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${r}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,s}else return n()}}function pT(t,e){e.forEach(n=>{const r=n.prototype;Object.getOwnPropertyNames(r).forEach(i=>{if(i==="constructor")return;const s=Object.getOwnPropertyDescriptor(r,i);s&&(s.get||s.set)?Object.defineProperty(t.prototype,i,s):t.prototype[i]=n.prototype[i]})})}const Js=hl(Rn,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Js);const rn=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:vr,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Qs=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0});var Qe;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(Qe||(Qe={}));function gu(t=void 0){return function(){return t}}class Ki{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 n=this.className;this.TRACE_INIT("toFastProps",()=>{zf(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),U(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=Fy({rules:Le(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT("Grammar Validations",()=>{if(oe(r)&&this.skipValidations===!1){const i=Gy({rules:Le(this.gastProductionsCache),tokenTypes:Le(this.tokensMap),errMsgProvider:Gn,grammarName:n}),s=Sy({lookaheadStrategy:this.lookaheadStrategy,rules:Le(this.gastProductionsCache),tokenTypes:Le(this.tokensMap),grammarName:n});this.definitionErrors=this.definitionErrors.concat(i,s)}}),oe(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=Eg(Le(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:Le(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Le(this.gastProductionsCache))})),!Ki.DEFER_DEFINITION_ERRORS_HANDLING&&!oe(this.definitionErrors))throw e=M(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected:
106
+ ${e.join(`
107
+ -------------------------------
108
+ `)}`)})}constructor(e,n){this.definitionErrors=[],this.selfAnalysisDone=!1;const r=this;if(r.initErrorHandler(n),r.initLexerAdapter(),r.initLooksAhead(n),r.initRecognizerEngine(e,n),r.initRecoverable(n),r.initTreeBuilder(n),r.initContentAssist(),r.initGastRecorder(n),r.initPerformanceTracer(n),z(n,"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=z(n,"skipValidations")?n.skipValidations:rn.skipValidations}}Ki.DEFER_DEFINITION_ERRORS_HANDLING=!1;pT(Ki,[qy,Ky,iT,sT,oT,aT,cT,lT,dT,hT]);class mT extends Ki{constructor(e,n=rn){const r=qe(n);r.outputCst=!1,super(e,r)}}function Cr(t,e,n){return`${t.name}_${e}_${n}`}const vn=1,gT=2,Rh=4,vh=5,Hi=7,yT=8,TT=9,RT=10,vT=11,Eh=12;class yl{constructor(e){this.target=e}isEpsilon(){return!1}}class Tl extends yl{constructor(e,n){super(e),this.tokenType=n}}class Ah extends yl{constructor(e){super(e)}isEpsilon(){return!0}}class Rl extends yl{constructor(e,n,r){super(e),this.rule=n,this.followState=r}isEpsilon(){return!0}}function ET(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};AT(e,t);const n=t.length;for(let r=0;r<n;r++){const i=t[r],s=Yn(e,i,i);s!==void 0&&LT(e,i,s)}return e}function AT(t,e){const n=e.length;for(let r=0;r<n;r++){const i=e[r],s=De(t,i,void 0,{type:gT}),a=De(t,i,void 0,{type:Hi});s.stop=a,t.ruleToStartState.set(i,s),t.ruleToStopState.set(i,a)}}function Sh(t,e,n){return n instanceof ue?vl(t,e,n.terminalType,n):n instanceof Je?PT(t,e,n):n instanceof at?wT(t,e,n):n instanceof Be?bT(t,e,n):n instanceof ve?ST(t,e,n):n instanceof st?kT(t,e,n):n instanceof ht?CT(t,e,n):n instanceof pt?NT(t,e,n):Yn(t,e,n)}function ST(t,e,n){const r=De(t,e,n,{type:vh});Sn(t,r);const i=qr(t,e,r,n,Yn(t,e,n));return Ch(t,e,n,i)}function kT(t,e,n){const r=De(t,e,n,{type:vh});Sn(t,r);const i=qr(t,e,r,n,Yn(t,e,n)),s=vl(t,e,n.separator,n);return Ch(t,e,n,i,s)}function CT(t,e,n){const r=De(t,e,n,{type:Rh});Sn(t,r);const i=qr(t,e,r,n,Yn(t,e,n));return kh(t,e,n,i)}function NT(t,e,n){const r=De(t,e,n,{type:Rh});Sn(t,r);const i=qr(t,e,r,n,Yn(t,e,n)),s=vl(t,e,n.separator,n);return kh(t,e,n,i,s)}function wT(t,e,n){const r=De(t,e,n,{type:vn});Sn(t,r);const i=M(n.definition,a=>Sh(t,e,a));return qr(t,e,r,n,...i)}function bT(t,e,n){const r=De(t,e,n,{type:vn});Sn(t,r);const i=qr(t,e,r,n,Yn(t,e,n));return _T(t,e,n,i)}function Yn(t,e,n){const r=ft(M(n.definition,i=>Sh(t,e,i)),i=>i!==void 0);return r.length===1?r[0]:r.length===0?void 0:$T(t,r)}function kh(t,e,n,r,i){const s=r.left,a=r.right,o=De(t,e,n,{type:vT});Sn(t,o);const c=De(t,e,n,{type:Eh});return s.loopback=o,c.loopback=o,t.decisionMap[Cr(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",n.idx)]=o,be(a,o),i===void 0?(be(o,s),be(o,c)):(be(o,c),be(o,i.left),be(i.right,s)),{left:s,right:c}}function Ch(t,e,n,r,i){const s=r.left,a=r.right,o=De(t,e,n,{type:RT});Sn(t,o);const c=De(t,e,n,{type:Eh}),l=De(t,e,n,{type:TT});return o.loopback=l,c.loopback=l,be(o,s),be(o,c),be(a,l),i!==void 0?(be(l,c),be(l,i.left),be(i.right,s)):be(l,o),t.decisionMap[Cr(e,i?"RepetitionWithSeparator":"Repetition",n.idx)]=o,{left:o,right:c}}function _T(t,e,n,r){const i=r.left,s=r.right;return be(i,s),t.decisionMap[Cr(e,"Option",n.idx)]=i,r}function Sn(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function qr(t,e,n,r,...i){const s=De(t,e,r,{type:yT,start:n});n.end=s;for(const o of i)o!==void 0?(be(n,o.left),be(o.right,s)):be(n,s);const a={left:n,right:s};return t.decisionMap[Cr(e,IT(r),r.idx)]=n,a}function IT(t){if(t instanceof at)return"Alternation";if(t instanceof Be)return"Option";if(t instanceof ve)return"Repetition";if(t instanceof st)return"RepetitionWithSeparator";if(t instanceof ht)return"RepetitionMandatory";if(t instanceof pt)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function $T(t,e){const n=e.length;for(let s=0;s<n-1;s++){const a=e[s];let o;a.left.transitions.length===1&&(o=a.left.transitions[0]);const c=o instanceof Rl,l=o,u=e[s+1].left;a.left.type===vn&&a.right.type===vn&&o!==void 0&&(c&&l.followState===a.right||o.target===a.right)?(c?l.followState=u:o.target=u,OT(t,a.right)):be(a.right,u)}const r=e[0],i=e[n-1];return{left:r.left,right:i.right}}function vl(t,e,n,r){const i=De(t,e,r,{type:vn}),s=De(t,e,r,{type:vn});return El(i,new Tl(s,n)),{left:i,right:s}}function PT(t,e,n){const r=n.referencedRule,i=t.ruleToStartState.get(r),s=De(t,e,n,{type:vn}),a=De(t,e,n,{type:vn}),o=new Rl(i,r,a);return El(s,o),{left:s,right:a}}function LT(t,e,n){const r=t.ruleToStartState.get(e);be(r,n.left);const i=t.ruleToStopState.get(e);return be(n.right,i),{left:r,right:i}}function be(t,e){const n=new Ah(e);El(t,n)}function De(t,e,n,r){const i=Object.assign({atn:t,production:n,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:t.states.length},r);return t.states.push(i),i}function El(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function OT(t,e){t.states.splice(t.states.indexOf(e),1)}const Zs={};class Lo{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){const n=Nh(e);n in this.map||(this.map[n]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return M(this.configs,e=>e.alt)}get key(){let e="";for(const n in this.map)e+=n+":";return e}}function Nh(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(n=>n.stateNumber.toString()).join("_")}`}function xT(t,e){const n={};return r=>{const i=r.toString();let s=n[i];return s!==void 0||(s={atnStartState:t,decision:e,states:{}},n[i]=s),s}}class wh{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,n){this.predicates[e]=n}toString(){let e="";const n=this.predicates.length;for(let r=0;r<n;r++)e+=this.predicates[r]===!0?"1":"0";return e}}const yu=new wh;class DT extends gl{constructor(e){var n;super(),this.logging=(n=e?.logging)!==null&&n!==void 0?n:(r=>console.log(r))}initialize(e){this.atn=ET(e.rules),this.dfas=MT(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:n,rule:r,hasPredicates:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,c=Cr(r,"Alternation",n),u=this.atn.decisionMap[c].decision,f=M(lu({maxLookahead:1,occurrence:n,prodType:"Alternation",rule:r}),p=>M(p,g=>g[0]));if(Tu(f,!1)&&!s){const p=Xe(f,(g,S,N)=>(U(S,O=>{O&&(g[O.tokenTypeIdx]=N,U(O.categoryMatches,w=>{g[w]=N}))}),g),{});return i?function(g){var S;const N=this.LA(1),O=p[N.tokenTypeIdx];if(g!==void 0&&O!==void 0){const w=(S=g[O])===null||S===void 0?void 0:S.GATE;if(w!==void 0&&w.call(this)===!1)return}return O}:function(){const g=this.LA(1);return p[g.tokenTypeIdx]}}else return i?function(p){const g=new wh,S=p===void 0?0:p.length;for(let O=0;O<S;O++){const w=p?.[O].GATE;g.set(O,w===void 0||w.call(this))}const N=Za.call(this,a,u,g,o);return typeof N=="number"?N:void 0}:function(){const p=Za.call(this,a,u,yu,o);return typeof p=="number"?p:void 0}}buildLookaheadForOptional(e){const{prodOccurrence:n,rule:r,prodType:i,dynamicTokensEnabled:s}=e,a=this.dfas,o=this.logging,c=Cr(r,i,n),u=this.atn.decisionMap[c].decision,f=M(lu({maxLookahead:1,occurrence:n,prodType:i,rule:r}),p=>M(p,g=>g[0]));if(Tu(f)&&f[0][0]&&!s){const p=f[0],g=Tt(p);if(g.length===1&&oe(g[0].categoryMatches)){const N=g[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===N}}else{const S=Xe(g,(N,O)=>(O!==void 0&&(N[O.tokenTypeIdx]=!0,U(O.categoryMatches,w=>{N[w]=!0})),N),{});return function(){const N=this.LA(1);return S[N.tokenTypeIdx]===!0}}}return function(){const p=Za.call(this,a,u,yu,o);return typeof p=="object"?!1:p===0}}}function Tu(t,e=!0){const n=new Set;for(const r of t){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(n.has(o)){if(!i.has(o))return!1}else n.add(o),i.add(o)}}return!0}function MT(t){const e=t.decisionStates.length,n=Array(e);for(let r=0;r<e;r++)n[r]=xT(t.decisionStates[r],r);return n}function Za(t,e,n,r){const i=t[e](n);let s=i.start;if(s===void 0){const o=HT(i.atnStartState);s=_h(i,bh(o)),i.start=s}return FT.apply(this,[i,s,n,r])}function FT(t,e,n,r){let i=e,s=1;const a=[];let o=this.LA(s++);for(;;){let c=qT(i,o);if(c===void 0&&(c=GT.apply(this,[t,i,o,s,n,r])),c===Zs)return BT(a,i,o);if(c.isAcceptState===!0)return c.prediction;i=c,a.push(o),o=this.LA(s++)}}function GT(t,e,n,r,i,s){const a=WT(e.configs,n,i);if(a.size===0)return Ru(t,e,n,Zs),Zs;let o=bh(a);const c=KT(a,i);if(c!==void 0)o.isAcceptState=!0,o.prediction=c,o.configs.uniqueAlt=c;else if(QT(a)){const l=Wp(a.alts);o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l,UT.apply(this,[t,r,a.alts,s])}return o=Ru(t,e,n,o),o}function UT(t,e,n,r){const i=[];for(let l=1;l<=e;l++)i.push(this.LA(l).tokenType);const s=t.atnStartState,a=s.rule,o=s.production,c=jT({topLevelRule:a,ambiguityIndices:n,production:o,prefixPath:i});r(c)}function jT(t){const e=M(t.prefixPath,i=>Ar(i)).join(", "),n=t.production.idx===0?"":t.production.idx;let r=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${zT(t.production)}${n}> inside <${t.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 zT(t){if(t instanceof Je)return"SUBRULE";if(t instanceof Be)return"OPTION";if(t instanceof at)return"OR";if(t instanceof ht)return"AT_LEAST_ONE";if(t instanceof pt)return"AT_LEAST_ONE_SEP";if(t instanceof st)return"MANY_SEP";if(t instanceof ve)return"MANY";if(t instanceof ue)return"CONSUME";throw Error("non exhaustive match")}function BT(t,e,n){const r=ut(e.configs.elements,s=>s.state.transitions),i=dm(r.filter(s=>s instanceof Tl).map(s=>s.tokenType),s=>s.tokenTypeIdx);return{actualToken:n,possibleTokenTypes:i,tokenPath:t}}function qT(t,e){return t.edges[e.tokenTypeIdx]}function WT(t,e,n){const r=new Lo,i=[];for(const a of t.elements){if(n.is(a.alt)===!1)continue;if(a.state.type===Hi){i.push(a);continue}const o=a.state.transitions.length;for(let c=0;c<o;c++){const l=a.state.transitions[c],u=VT(l,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 Lo;for(const a of r.elements)ea(a,s)}if(i.length>0&&!XT(s))for(const a of i)s.add(a);return s}function VT(t,e){if(t instanceof Tl&&eh(e,t.tokenType))return t.target}function KT(t,e){let n;for(const r of t.elements)if(e.is(r.alt)===!0){if(n===void 0)n=r.alt;else if(n!==r.alt)return}return n}function bh(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function Ru(t,e,n,r){return r=_h(t,r),e.edges[n.tokenTypeIdx]=r,r}function _h(t,e){if(e===Zs)return e;const n=e.configs.key,r=t.states[n];return r!==void 0?r:(e.configs.finalize(),t.states[n]=e,e)}function HT(t){const e=new Lo,n=t.transitions.length;for(let r=0;r<n;r++){const s={state:t.transitions[r].target,alt:r,stack:[]};ea(s,e)}return e}function ea(t,e){const n=t.state;if(n.type===Hi){if(t.stack.length>0){const i=[...t.stack],a={state:i.pop(),alt:t.alt,stack:i};ea(a,e)}else e.add(t);return}n.epsilonOnlyTransitions||e.add(t);const r=n.transitions.length;for(let i=0;i<r;i++){const s=n.transitions[i],a=YT(t,s);a!==void 0&&ea(a,e)}}function YT(t,e){if(e instanceof Ah)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof Rl){const n=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:n}}}function XT(t){for(const e of t.elements)if(e.state.type===Hi)return!0;return!1}function JT(t){for(const e of t.elements)if(e.state.type!==Hi)return!1;return!0}function QT(t){if(JT(t))return!0;const e=ZT(t.elements);return eR(e)&&!tR(e)}function ZT(t){const e=new Map;for(const n of t){const r=Nh(n,!1);let i=e.get(r);i===void 0&&(i={},e.set(r,i)),i[n.alt]=!0}return e}function eR(t){for(const e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function tR(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var Oo;(function(t){function e(n){return typeof n=="string"}t.is=e})(Oo||(Oo={}));var ta;(function(t){function e(n){return typeof n=="string"}t.is=e})(ta||(ta={}));var xo;(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(n){return typeof n=="number"&&t.MIN_VALUE<=n&&n<=t.MAX_VALUE}t.is=e})(xo||(xo={}));var bi;(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(n){return typeof n=="number"&&t.MIN_VALUE<=n&&n<=t.MAX_VALUE}t.is=e})(bi||(bi={}));var ee;(function(t){function e(r,i){return r===Number.MAX_VALUE&&(r=bi.MAX_VALUE),i===Number.MAX_VALUE&&(i=bi.MAX_VALUE),{line:r,character:i}}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&v.uinteger(i.line)&&v.uinteger(i.character)}t.is=n})(ee||(ee={}));var J;(function(t){function e(r,i,s,a){if(v.uinteger(r)&&v.uinteger(i)&&v.uinteger(s)&&v.uinteger(a))return{start:ee.create(r,i),end:ee.create(s,a)};if(ee.is(r)&&ee.is(i))return{start:r,end:i};throw new Error(`Range#create called with invalid arguments[${r}, ${i}, ${s}, ${a}]`)}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&ee.is(i.start)&&ee.is(i.end)}t.is=n})(J||(J={}));var _i;(function(t){function e(r,i){return{uri:r,range:i}}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&J.is(i.range)&&(v.string(i.uri)||v.undefined(i.uri))}t.is=n})(_i||(_i={}));var Do;(function(t){function e(r,i,s,a){return{targetUri:r,targetRange:i,targetSelectionRange:s,originSelectionRange:a}}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&J.is(i.targetRange)&&v.string(i.targetUri)&&J.is(i.targetSelectionRange)&&(J.is(i.originSelectionRange)||v.undefined(i.originSelectionRange))}t.is=n})(Do||(Do={}));var na;(function(t){function e(r,i,s,a){return{red:r,green:i,blue:s,alpha:a}}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&v.numberRange(i.red,0,1)&&v.numberRange(i.green,0,1)&&v.numberRange(i.blue,0,1)&&v.numberRange(i.alpha,0,1)}t.is=n})(na||(na={}));var Mo;(function(t){function e(r,i){return{range:r,color:i}}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&J.is(i.range)&&na.is(i.color)}t.is=n})(Mo||(Mo={}));var Fo;(function(t){function e(r,i,s){return{label:r,textEdit:i,additionalTextEdits:s}}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&v.string(i.label)&&(v.undefined(i.textEdit)||Mt.is(i))&&(v.undefined(i.additionalTextEdits)||v.typedArray(i.additionalTextEdits,Mt.is))}t.is=n})(Fo||(Fo={}));var Go;(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(Go||(Go={}));var Uo;(function(t){function e(r,i,s,a,o,c){const l={startLine:r,endLine:i};return v.defined(s)&&(l.startCharacter=s),v.defined(a)&&(l.endCharacter=a),v.defined(o)&&(l.kind=o),v.defined(c)&&(l.collapsedText=c),l}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&v.uinteger(i.startLine)&&v.uinteger(i.startLine)&&(v.undefined(i.startCharacter)||v.uinteger(i.startCharacter))&&(v.undefined(i.endCharacter)||v.uinteger(i.endCharacter))&&(v.undefined(i.kind)||v.string(i.kind))}t.is=n})(Uo||(Uo={}));var ra;(function(t){function e(r,i){return{location:r,message:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&_i.is(i.location)&&v.string(i.message)}t.is=n})(ra||(ra={}));var jo;(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(jo||(jo={}));var zo;(function(t){t.Unnecessary=1,t.Deprecated=2})(zo||(zo={}));var Bo;(function(t){function e(n){const r=n;return v.objectLiteral(r)&&v.string(r.href)}t.is=e})(Bo||(Bo={}));var Ii;(function(t){function e(r,i,s,a,o,c){let l={range:r,message:i};return v.defined(s)&&(l.severity=s),v.defined(a)&&(l.code=a),v.defined(o)&&(l.source=o),v.defined(c)&&(l.relatedInformation=c),l}t.create=e;function n(r){var i;let s=r;return v.defined(s)&&J.is(s.range)&&v.string(s.message)&&(v.number(s.severity)||v.undefined(s.severity))&&(v.integer(s.code)||v.string(s.code)||v.undefined(s.code))&&(v.undefined(s.codeDescription)||v.string((i=s.codeDescription)===null||i===void 0?void 0:i.href))&&(v.string(s.source)||v.undefined(s.source))&&(v.undefined(s.relatedInformation)||v.typedArray(s.relatedInformation,ra.is))}t.is=n})(Ii||(Ii={}));var Vn;(function(t){function e(r,i,...s){let a={title:r,command:i};return v.defined(s)&&s.length>0&&(a.arguments=s),a}t.create=e;function n(r){let i=r;return v.defined(i)&&v.string(i.title)&&v.string(i.command)}t.is=n})(Vn||(Vn={}));var Mt;(function(t){function e(s,a){return{range:s,newText:a}}t.replace=e;function n(s,a){return{range:{start:s,end:s},newText:a}}t.insert=n;function r(s){return{range:s,newText:""}}t.del=r;function i(s){const a=s;return v.objectLiteral(a)&&v.string(a.newText)&&J.is(a.range)}t.is=i})(Mt||(Mt={}));var Un;(function(t){function e(r,i,s){const a={label:r};return i!==void 0&&(a.needsConfirmation=i),s!==void 0&&(a.description=s),a}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&v.string(i.label)&&(v.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(v.string(i.description)||i.description===void 0)}t.is=n})(Un||(Un={}));var je;(function(t){function e(n){const r=n;return v.string(r)}t.is=e})(je||(je={}));var Jt;(function(t){function e(s,a,o){return{range:s,newText:a,annotationId:o}}t.replace=e;function n(s,a,o){return{range:{start:s,end:s},newText:a,annotationId:o}}t.insert=n;function r(s,a){return{range:s,newText:"",annotationId:a}}t.del=r;function i(s){const a=s;return Mt.is(a)&&(Un.is(a.annotationId)||je.is(a.annotationId))}t.is=i})(Jt||(Jt={}));var $i;(function(t){function e(r,i){return{textDocument:r,edits:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&Pi.is(i.textDocument)&&Array.isArray(i.edits)}t.is=n})($i||($i={}));var Nr;(function(t){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}t.create=e;function n(r){let i=r;return i&&i.kind==="create"&&v.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||v.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||v.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||je.is(i.annotationId))}t.is=n})(Nr||(Nr={}));var wr;(function(t){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}t.create=e;function n(r){let i=r;return i&&i.kind==="rename"&&v.string(i.oldUri)&&v.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||v.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||v.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||je.is(i.annotationId))}t.is=n})(wr||(wr={}));var br;(function(t){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}t.create=e;function n(r){let i=r;return i&&i.kind==="delete"&&v.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||v.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||v.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||je.is(i.annotationId))}t.is=n})(br||(br={}));var ia;(function(t){function e(n){let r=n;return r&&(r.changes!==void 0||r.documentChanges!==void 0)&&(r.documentChanges===void 0||r.documentChanges.every(i=>v.string(i.kind)?Nr.is(i)||wr.is(i)||br.is(i):$i.is(i)))}t.is=e})(ia||(ia={}));class vs{constructor(e,n){this.edits=e,this.changeAnnotations=n}insert(e,n,r){let i,s;if(r===void 0?i=Mt.insert(e,n):je.is(r)?(s=r,i=Jt.insert(e,n,r)):(this.assertChangeAnnotations(this.changeAnnotations),s=this.changeAnnotations.manage(r),i=Jt.insert(e,n,s)),this.edits.push(i),s!==void 0)return s}replace(e,n,r){let i,s;if(r===void 0?i=Mt.replace(e,n):je.is(r)?(s=r,i=Jt.replace(e,n,r)):(this.assertChangeAnnotations(this.changeAnnotations),s=this.changeAnnotations.manage(r),i=Jt.replace(e,n,s)),this.edits.push(i),s!==void 0)return s}delete(e,n){let r,i;if(n===void 0?r=Mt.del(e):je.is(n)?(i=n,r=Jt.del(e,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=Jt.del(e,i)),this.edits.push(r),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}}class vu{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,n){let r;if(je.is(e)?r=e:(r=this.nextId(),n=e),this._annotations[r]!==void 0)throw new Error(`Id ${r} is already in use.`);if(n===void 0)throw new Error(`No annotation provided for id ${r}`);return this._annotations[r]=n,this._size++,r}nextId(){return this._counter++,this._counter.toString()}}class nR{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new vu(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(n=>{if($i.is(n)){const r=new vs(n.edits,this._changeAnnotations);this._textEditChanges[n.textDocument.uri]=r}})):e.changes&&Object.keys(e.changes).forEach(n=>{const r=new vs(e.changes[n]);this._textEditChanges[n]=r})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(Pi.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");const n={uri:e.uri,version:e.version};let r=this._textEditChanges[n.uri];if(!r){const i=[],s={textDocument:n,edits:i};this._workspaceEdit.documentChanges.push(s),r=new vs(i,this._changeAnnotations),this._textEditChanges[n.uri]=r}return r}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let n=this._textEditChanges[e];if(!n){let r=[];this._workspaceEdit.changes[e]=r,n=new vs(r),this._textEditChanges[e]=n}return n}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new vu,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,n,r){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Un.is(n)||je.is(n)?i=n:r=n;let s,a;if(i===void 0?s=Nr.create(e,r):(a=je.is(i)?i:this._changeAnnotations.manage(i),s=Nr.create(e,r,a)),this._workspaceEdit.documentChanges.push(s),a!==void 0)return a}renameFile(e,n,r,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let s;Un.is(r)||je.is(r)?s=r:i=r;let a,o;if(s===void 0?a=wr.create(e,n,i):(o=je.is(s)?s:this._changeAnnotations.manage(s),a=wr.create(e,n,i,o)),this._workspaceEdit.documentChanges.push(a),o!==void 0)return o}deleteFile(e,n,r){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;Un.is(n)||je.is(n)?i=n:r=n;let s,a;if(i===void 0?s=br.create(e,r):(a=je.is(i)?i:this._changeAnnotations.manage(i),s=br.create(e,r,a)),this._workspaceEdit.documentChanges.push(s),a!==void 0)return a}}var qo;(function(t){function e(r){return{uri:r}}t.create=e;function n(r){let i=r;return v.defined(i)&&v.string(i.uri)}t.is=n})(qo||(qo={}));var Wo;(function(t){function e(r,i){return{uri:r,version:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&v.string(i.uri)&&v.integer(i.version)}t.is=n})(Wo||(Wo={}));var Pi;(function(t){function e(r,i){return{uri:r,version:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&v.string(i.uri)&&(i.version===null||v.integer(i.version))}t.is=n})(Pi||(Pi={}));var Vo;(function(t){function e(r,i,s,a){return{uri:r,languageId:i,version:s,text:a}}t.create=e;function n(r){let i=r;return v.defined(i)&&v.string(i.uri)&&v.string(i.languageId)&&v.integer(i.version)&&v.string(i.text)}t.is=n})(Vo||(Vo={}));var sa;(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(n){const r=n;return r===t.PlainText||r===t.Markdown}t.is=e})(sa||(sa={}));var _r;(function(t){function e(n){const r=n;return v.objectLiteral(n)&&sa.is(r.kind)&&v.string(r.value)}t.is=e})(_r||(_r={}));var Ko;(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(Ko||(Ko={}));var Ho;(function(t){t.PlainText=1,t.Snippet=2})(Ho||(Ho={}));var Yo;(function(t){t.Deprecated=1})(Yo||(Yo={}));var Xo;(function(t){function e(r,i,s){return{newText:r,insert:i,replace:s}}t.create=e;function n(r){const i=r;return i&&v.string(i.newText)&&J.is(i.insert)&&J.is(i.replace)}t.is=n})(Xo||(Xo={}));var Jo;(function(t){t.asIs=1,t.adjustIndentation=2})(Jo||(Jo={}));var Qo;(function(t){function e(n){const r=n;return r&&(v.string(r.detail)||r.detail===void 0)&&(v.string(r.description)||r.description===void 0)}t.is=e})(Qo||(Qo={}));var Zo;(function(t){function e(n){return{label:n}}t.create=e})(Zo||(Zo={}));var ec;(function(t){function e(n,r){return{items:n||[],isIncomplete:!!r}}t.create=e})(ec||(ec={}));var Li;(function(t){function e(r){return r.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function n(r){const i=r;return v.string(i)||v.objectLiteral(i)&&v.string(i.language)&&v.string(i.value)}t.is=n})(Li||(Li={}));var tc;(function(t){function e(n){let r=n;return!!r&&v.objectLiteral(r)&&(_r.is(r.contents)||Li.is(r.contents)||v.typedArray(r.contents,Li.is))&&(n.range===void 0||J.is(n.range))}t.is=e})(tc||(tc={}));var nc;(function(t){function e(n,r){return r?{label:n,documentation:r}:{label:n}}t.create=e})(nc||(nc={}));var rc;(function(t){function e(n,r,...i){let s={label:n};return v.defined(r)&&(s.documentation=r),v.defined(i)?s.parameters=i:s.parameters=[],s}t.create=e})(rc||(rc={}));var ic;(function(t){t.Text=1,t.Read=2,t.Write=3})(ic||(ic={}));var sc;(function(t){function e(n,r){let i={range:n};return v.number(r)&&(i.kind=r),i}t.create=e})(sc||(sc={}));var ac;(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(ac||(ac={}));var oc;(function(t){t.Deprecated=1})(oc||(oc={}));var cc;(function(t){function e(n,r,i,s,a){let o={name:n,kind:r,location:{uri:s,range:i}};return a&&(o.containerName=a),o}t.create=e})(cc||(cc={}));var lc;(function(t){function e(n,r,i,s){return s!==void 0?{name:n,kind:r,location:{uri:i,range:s}}:{name:n,kind:r,location:{uri:i}}}t.create=e})(lc||(lc={}));var uc;(function(t){function e(r,i,s,a,o,c){let l={name:r,detail:i,kind:s,range:a,selectionRange:o};return c!==void 0&&(l.children=c),l}t.create=e;function n(r){let i=r;return i&&v.string(i.name)&&v.number(i.kind)&&J.is(i.range)&&J.is(i.selectionRange)&&(i.detail===void 0||v.string(i.detail))&&(i.deprecated===void 0||v.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=n})(uc||(uc={}));var dc;(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(dc||(dc={}));var Oi;(function(t){t.Invoked=1,t.Automatic=2})(Oi||(Oi={}));var fc;(function(t){function e(r,i,s){let a={diagnostics:r};return i!=null&&(a.only=i),s!=null&&(a.triggerKind=s),a}t.create=e;function n(r){let i=r;return v.defined(i)&&v.typedArray(i.diagnostics,Ii.is)&&(i.only===void 0||v.typedArray(i.only,v.string))&&(i.triggerKind===void 0||i.triggerKind===Oi.Invoked||i.triggerKind===Oi.Automatic)}t.is=n})(fc||(fc={}));var hc;(function(t){function e(r,i,s){let a={title:r},o=!0;return typeof i=="string"?(o=!1,a.kind=i):Vn.is(i)?a.command=i:a.edit=i,o&&s!==void 0&&(a.kind=s),a}t.create=e;function n(r){let i=r;return i&&v.string(i.title)&&(i.diagnostics===void 0||v.typedArray(i.diagnostics,Ii.is))&&(i.kind===void 0||v.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Vn.is(i.command))&&(i.isPreferred===void 0||v.boolean(i.isPreferred))&&(i.edit===void 0||ia.is(i.edit))}t.is=n})(hc||(hc={}));var pc;(function(t){function e(r,i){let s={range:r};return v.defined(i)&&(s.data=i),s}t.create=e;function n(r){let i=r;return v.defined(i)&&J.is(i.range)&&(v.undefined(i.command)||Vn.is(i.command))}t.is=n})(pc||(pc={}));var mc;(function(t){function e(r,i){return{tabSize:r,insertSpaces:i}}t.create=e;function n(r){let i=r;return v.defined(i)&&v.uinteger(i.tabSize)&&v.boolean(i.insertSpaces)}t.is=n})(mc||(mc={}));var gc;(function(t){function e(r,i,s){return{range:r,target:i,data:s}}t.create=e;function n(r){let i=r;return v.defined(i)&&J.is(i.range)&&(v.undefined(i.target)||v.string(i.target))}t.is=n})(gc||(gc={}));var yc;(function(t){function e(r,i){return{range:r,parent:i}}t.create=e;function n(r){let i=r;return v.objectLiteral(i)&&J.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=n})(yc||(yc={}));var Tc;(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(Tc||(Tc={}));var Rc;(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(Rc||(Rc={}));var vc;(function(t){function e(n){const r=n;return v.objectLiteral(r)&&(r.resultId===void 0||typeof r.resultId=="string")&&Array.isArray(r.data)&&(r.data.length===0||typeof r.data[0]=="number")}t.is=e})(vc||(vc={}));var Ec;(function(t){function e(r,i){return{range:r,text:i}}t.create=e;function n(r){const i=r;return i!=null&&J.is(i.range)&&v.string(i.text)}t.is=n})(Ec||(Ec={}));var Ac;(function(t){function e(r,i,s){return{range:r,variableName:i,caseSensitiveLookup:s}}t.create=e;function n(r){const i=r;return i!=null&&J.is(i.range)&&v.boolean(i.caseSensitiveLookup)&&(v.string(i.variableName)||i.variableName===void 0)}t.is=n})(Ac||(Ac={}));var Sc;(function(t){function e(r,i){return{range:r,expression:i}}t.create=e;function n(r){const i=r;return i!=null&&J.is(i.range)&&(v.string(i.expression)||i.expression===void 0)}t.is=n})(Sc||(Sc={}));var kc;(function(t){function e(r,i){return{frameId:r,stoppedLocation:i}}t.create=e;function n(r){const i=r;return v.defined(i)&&J.is(r.stoppedLocation)}t.is=n})(kc||(kc={}));var aa;(function(t){t.Type=1,t.Parameter=2;function e(n){return n===1||n===2}t.is=e})(aa||(aa={}));var oa;(function(t){function e(r){return{value:r}}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&(i.tooltip===void 0||v.string(i.tooltip)||_r.is(i.tooltip))&&(i.location===void 0||_i.is(i.location))&&(i.command===void 0||Vn.is(i.command))}t.is=n})(oa||(oa={}));var Cc;(function(t){function e(r,i,s){const a={position:r,label:i};return s!==void 0&&(a.kind=s),a}t.create=e;function n(r){const i=r;return v.objectLiteral(i)&&ee.is(i.position)&&(v.string(i.label)||v.typedArray(i.label,oa.is))&&(i.kind===void 0||aa.is(i.kind))&&i.textEdits===void 0||v.typedArray(i.textEdits,Mt.is)&&(i.tooltip===void 0||v.string(i.tooltip)||_r.is(i.tooltip))&&(i.paddingLeft===void 0||v.boolean(i.paddingLeft))&&(i.paddingRight===void 0||v.boolean(i.paddingRight))}t.is=n})(Cc||(Cc={}));var Nc;(function(t){function e(n){return{kind:"snippet",value:n}}t.createSnippet=e})(Nc||(Nc={}));var wc;(function(t){function e(n,r,i,s){return{insertText:n,filterText:r,range:i,command:s}}t.create=e})(wc||(wc={}));var bc;(function(t){function e(n){return{items:n}}t.create=e})(bc||(bc={}));var _c;(function(t){t.Invoked=0,t.Automatic=1})(_c||(_c={}));var Ic;(function(t){function e(n,r){return{range:n,text:r}}t.create=e})(Ic||(Ic={}));var $c;(function(t){function e(n,r){return{triggerKind:n,selectedCompletionInfo:r}}t.create=e})($c||($c={}));var Pc;(function(t){function e(n){const r=n;return v.objectLiteral(r)&&ta.is(r.uri)&&v.string(r.name)}t.is=e})(Pc||(Pc={}));const rR=[`
115
+ `,`\r
116
+ `,"\r"];var Lc;(function(t){function e(s,a,o,c){return new iR(s,a,o,c)}t.create=e;function n(s){let a=s;return!!(v.defined(a)&&v.string(a.uri)&&(v.undefined(a.languageId)||v.string(a.languageId))&&v.uinteger(a.lineCount)&&v.func(a.getText)&&v.func(a.positionAt)&&v.func(a.offsetAt))}t.is=n;function r(s,a){let o=s.getText(),c=i(a,(u,f)=>{let p=u.range.start.line-f.range.start.line;return p===0?u.range.start.character-f.range.start.character:p}),l=o.length;for(let u=c.length-1;u>=0;u--){let f=c[u],p=s.offsetAt(f.range.start),g=s.offsetAt(f.range.end);if(g<=l)o=o.substring(0,p)+f.newText+o.substring(g,o.length);else throw new Error("Overlapping edit");l=p}return o}t.applyEdits=r;function i(s,a){if(s.length<=1)return s;const o=s.length/2|0,c=s.slice(0,o),l=s.slice(o);i(c,a),i(l,a);let u=0,f=0,p=0;for(;u<c.length&&f<l.length;)a(c[u],l[f])<=0?s[p++]=c[u++]:s[p++]=l[f++];for(;u<c.length;)s[p++]=c[u++];for(;f<l.length;)s[p++]=l[f++];return s}})(Lc||(Lc={}));let iR=class{constructor(e,n,r,i){this._uri=e,this._languageId=n,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 n=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(n,r)}return this._content}update(e,n){this._content=e.text,this._version=n,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],n=this._content,r=!0;for(let i=0;i<n.length;i++){r&&(e.push(i),r=!1);let s=n.charAt(i);r=s==="\r"||s===`
117
+ `,s==="\r"&&i+1<n.length&&n.charAt(i+1)===`
118
+ `&&i++}r&&n.length>0&&e.push(n.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let n=this.getLineOffsets(),r=0,i=n.length;if(i===0)return ee.create(0,e);for(;r<i;){let a=Math.floor((r+i)/2);n[a]>e?i=a:r=a+1}let s=r-1;return ee.create(s,e-n[s])}offsetAt(e){let n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;let r=n[e.line],i=e.line+1<n.length?n[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,i),r)}get lineCount(){return this.getLineOffsets().length}};var v;(function(t){const e=Object.prototype.toString;function n(g){return typeof g<"u"}t.defined=n;function r(g){return typeof g>"u"}t.undefined=r;function i(g){return g===!0||g===!1}t.boolean=i;function s(g){return e.call(g)==="[object String]"}t.string=s;function a(g){return e.call(g)==="[object Number]"}t.number=a;function o(g,S,N){return e.call(g)==="[object Number]"&&S<=g&&g<=N}t.numberRange=o;function c(g){return e.call(g)==="[object Number]"&&-2147483648<=g&&g<=2147483647}t.integer=c;function l(g){return e.call(g)==="[object Number]"&&0<=g&&g<=2147483647}t.uinteger=l;function u(g){return e.call(g)==="[object Function]"}t.func=u;function f(g){return g!==null&&typeof g=="object"}t.objectLiteral=f;function p(g,S){return Array.isArray(g)&&g.every(S)}t.typedArray=p})(v||(v={}));const sR=Object.freeze(Object.defineProperty({__proto__:null,get AnnotatedTextEdit(){return Jt},get ChangeAnnotation(){return Un},get ChangeAnnotationIdentifier(){return je},get CodeAction(){return hc},get CodeActionContext(){return fc},get CodeActionKind(){return dc},get CodeActionTriggerKind(){return Oi},get CodeDescription(){return Bo},get CodeLens(){return pc},get Color(){return na},get ColorInformation(){return Mo},get ColorPresentation(){return Fo},get Command(){return Vn},get CompletionItem(){return Zo},get CompletionItemKind(){return Ko},get CompletionItemLabelDetails(){return Qo},get CompletionItemTag(){return Yo},get CompletionList(){return ec},get CreateFile(){return Nr},get DeleteFile(){return br},get Diagnostic(){return Ii},get DiagnosticRelatedInformation(){return ra},get DiagnosticSeverity(){return jo},get DiagnosticTag(){return zo},get DocumentHighlight(){return sc},get DocumentHighlightKind(){return ic},get DocumentLink(){return gc},get DocumentSymbol(){return uc},get DocumentUri(){return Oo},EOL:rR,get FoldingRange(){return Uo},get FoldingRangeKind(){return Go},get FormattingOptions(){return mc},get Hover(){return tc},get InlayHint(){return Cc},get InlayHintKind(){return aa},get InlayHintLabelPart(){return oa},get InlineCompletionContext(){return $c},get InlineCompletionItem(){return wc},get InlineCompletionList(){return bc},get InlineCompletionTriggerKind(){return _c},get InlineValueContext(){return kc},get InlineValueEvaluatableExpression(){return Sc},get InlineValueText(){return Ec},get InlineValueVariableLookup(){return Ac},get InsertReplaceEdit(){return Xo},get InsertTextFormat(){return Ho},get InsertTextMode(){return Jo},get Location(){return _i},get LocationLink(){return Do},get MarkedString(){return Li},get MarkupContent(){return _r},get MarkupKind(){return sa},get OptionalVersionedTextDocumentIdentifier(){return Pi},get ParameterInformation(){return nc},get Position(){return ee},get Range(){return J},get RenameFile(){return wr},get SelectedCompletionInfo(){return Ic},get SelectionRange(){return yc},get SemanticTokenModifiers(){return Rc},get SemanticTokenTypes(){return Tc},get SemanticTokens(){return vc},get SignatureInformation(){return rc},get StringValue(){return Nc},get SymbolInformation(){return cc},get SymbolKind(){return ac},get SymbolTag(){return oc},get TextDocument(){return Lc},get TextDocumentEdit(){return $i},get TextDocumentIdentifier(){return qo},get TextDocumentItem(){return Vo},get TextEdit(){return Mt},get URI(){return ta},get VersionedTextDocumentIdentifier(){return Wo},WorkspaceChange:nR,get WorkspaceEdit(){return ia},get WorkspaceFolder(){return Pc},get WorkspaceSymbol(){return lc},get integer(){return xo},get uinteger(){return bi}},Symbol.toStringTag,{value:"Module"}));class aR{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new $h(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const n=new Al;return n.grammarSource=e,n.root=this.rootNode,this.current.content.push(n),this.nodeStack.push(n),n}buildLeafNode(e,n){const r=new Oc(e.startOffset,e.image.length,Ao(e),e.tokenType,!n);return r.grammarSource=n,r.root=this.rootNode,this.current.content.push(r),r}removeNode(e){const n=e.container;if(n){const r=n.content.indexOf(e);r>=0&&n.content.splice(r,1)}}addHiddenNodes(e){const n=[];for(const s of e){const a=new Oc(s.startOffset,s.image.length,Ao(s),s.tokenType,!0);a.root=this.rootNode,n.push(a)}let r=this.current,i=!1;if(r.content.length>0){r.content.push(...n);return}for(;r.container;){const s=r.container.content.indexOf(r);if(s>0){r.container.content.splice(s,0,...n),i=!0;break}r=r.container}i||this.rootNode.content.unshift(...n)}construct(e){const n=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=n;const r=this.nodeStack.pop();r?.content.length===0&&this.removeNode(r)}}class Ih{get hidden(){return!1}get astNode(){const e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}}class Oc extends Ih{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,n,r,i,s=!1){super(),this._hidden=s,this._offset=e,this._tokenType=i,this._length=n,this._range=r}}class Al extends Ih{constructor(){super(...arguments),this.content=new Sl(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){const e=this.firstNonHiddenNode,n=this.lastNonHiddenNode;if(e&&n){if(this._rangeCache===void 0){const{range:r}=e,{range:i}=n;this._rangeCache={start:r.start,end:i.end.line<r.start.line?r.start:i.end}}return this._rangeCache}else return{start:ee.create(0,0),end:ee.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 n=this.content[e];if(!n.hidden)return n}return this.content[this.content.length-1]}}class Sl extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,Sl.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,n,...r){return this.addParents(r),super.splice(e,n,...r)}addParents(e){for(const n of e)n.container=this.parent}}class $h extends Al{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}const xc=Symbol("Datatype");function eo(t){return t.$type===xc}const Eu="​",Ph=t=>t.endsWith(Eu)?t:t+Eu;class Lh{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const n=this.lexer.definition,r=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new dR(n,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new xh(n,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,n){this.wrapper.wrapOr(e,n)}optional(e,n){this.wrapper.wrapOption(e,n)}many(e,n){this.wrapper.wrapMany(e,n)}atLeastOne(e,n){this.wrapper.wrapAtLeastOne(e,n)}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 oR extends Lh{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new aR,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,n){const r=this.computeRuleType(e);let i;zs(e)&&(i=e.name,this.registerPrecedenceMap(e));const s=this.wrapper.DEFINE_RULE(Ph(e.name),this.startImplementation(r,i,n).bind(this));return this.allRules.set(e.name,s),an(e)&&e.entry&&(this.mainRule=s),s}registerPrecedenceMap(e){const n=e.name,r=new Map;for(let i=0;i<e.operators.precedences.length;i++){const s=e.operators.precedences[i];for(const a of s.operators)r.set(a.value,{precedence:i,rightAssoc:s.associativity==="right"})}this.operatorPrecedence.set(n,r)}computeRuleType(e){return zs(e)?wi(e):e.fragment?void 0:Mf(e)?xc:wi(e)}parse(e,n={}){this.nodeBuilder.buildRootNode(e);const r=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=r.tokens;const i=n.rule?this.allRules.get(n.rule):this.mainRule;if(!i)throw new Error(n.rule?`No rule found with name '${n.rule}'`:"No main rule available.");const s=this.doParse(i);return this.nodeBuilder.addHiddenNodes(r.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,po(s,{deep:!0}),{value:s,lexerErrors:r.errors,lexerReport:r.report,parserErrors:this.wrapper.errors}}doParse(e){let n=this.wrapper.rule(e);if(this.stack.length>0&&(n=this.construct()),n===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return n}startImplementation(e,n,r){return i=>{const s=!this.isRecording()&&e!==void 0;if(s){const a={$type:e};this.stack.push(a),e===xc?a.value="":n!==void 0&&(a.$infixName=n)}return r(i),s?this.construct():void 0}}extractHiddenTokens(e){const n=this.lexerResult.hidden;if(!n.length)return[];const r=e.startOffset;for(let i=0;i<n.length;i++)if(n[i].startOffset>r)return n.splice(0,i);return n.splice(0,n.length)}consume(e,n,r){const i=this.wrapper.wrapConsume(e,n);if(!this.isRecording()&&this.isValidToken(i)){const s=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(s);const a=this.nodeBuilder.buildLeafNode(i,r),{assignment:o,crossRef:c}=this.getAssignment(r),l=this.current;if(o){const u=Bn(r)?i.image:this.converter.convert(i.image,a);this.assign(o.operator,o.feature,u,a,c)}else if(eo(l)){let u=i.image;Bn(r)||(u=this.converter.convert(u,a).toString()),l.value+=u}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,n,r,i,s){let a;!this.isRecording()&&!r&&(a=this.nodeBuilder.buildCompositeNode(i));let o;try{o=this.wrapper.wrapSubrule(e,n,s)}finally{this.isRecording()||(o===void 0&&!r&&(o=this.construct()),o!==void 0&&a&&a.length>0&&this.performSubruleAssignment(o,i,a))}}performSubruleAssignment(e,n,r){const{assignment:i,crossRef:s}=this.getAssignment(n);if(i)this.assign(i.operator,i.feature,e,r,s);else if(!i){const a=this.current;if(eo(a))a.value+=e.toString();else if(typeof e=="object"&&e){const c=this.assignWithoutOverride(e,a);this.stack.pop(),this.stack.push(c)}}}action(e,n){if(!this.isRecording()){let r=this.current;if(n.feature&&n.operator){r=this.construct(),this.nodeBuilder.removeNode(r.$cstNode),this.nodeBuilder.buildCompositeNode(n).content.push(r.$cstNode);const s={$type:e};this.stack.push(s),this.assign(n.operator,n.feature,r,r.$cstNode)}else r.$type=e}}construct(){if(this.isRecording())return;const e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):eo(e)?this.converter.convert(e.value,e.$cstNode):(pm(this.astReflection,e),e)}constructInfix(e,n){const r=e.parts;if(!Array.isArray(r)||r.length===0)return;const i=e.operators;if(!Array.isArray(i)||r.length<2)return r[0];let s=0,a=-1;for(let N=0;N<i.length;N++){const O=i[N],w=n.get(O)??{precedence:1/0,rightAssoc:!1};w.precedence>a?(a=w.precedence,s=N):w.precedence===a&&(w.rightAssoc||(s=N))}const o=i.slice(0,s),c=i.slice(s+1),l=r.slice(0,s+1),u=r.slice(s+1),f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:l,operators:o},p={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:c},g=this.constructInfix(f,n),S=this.constructInfix(p,n);return{$type:e.$type,$cstNode:e.$cstNode,left:g,operator:i[s],right:S}}getAssignment(e){if(!this.assignmentMap.has(e)){const n=Ta(e,zn);this.assignmentMap.set(e,{assignment:n,crossRef:n&&va(n.terminal)?n.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,n,r,i,s){const a=this.current;let o;switch(s==="single"&&typeof r=="string"?o=this.linker.buildReference(a,n,i,r):s==="multi"&&typeof r=="string"?o=this.linker.buildMultiReference(a,n,i,r):o=r,e){case"=":{a[n]=o;break}case"?=":{a[n]=!0;break}case"+=":Array.isArray(a[n])||(a[n]=[]),a[n].push(o)}}assignWithoutOverride(e,n){for(const[i,s]of Object.entries(n)){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 cR{buildMismatchTokenMessage(e){return vr.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return vr.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return vr.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return vr.buildEarlyExitMessage(e)}}class Oh extends cR{buildMismatchTokenMessage({expected:e,actual:n}){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 \`${n.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class lR extends Lh{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const n=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=n.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,n){const r=this.wrapper.DEFINE_RULE(Ph(e.name),this.startImplementation(n).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 n=>{const r=this.keepStackSize();try{e(n)}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,n,r){this.wrapper.wrapConsume(e,n),this.isRecording()||(this.lastElementStack=[...this.elementStack,r],this.nextTokenIndex=this.currIdx+1)}subrule(e,n,r,i,s){this.before(i),this.wrapper.wrapSubrule(e,n,s),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const n=this.elementStack.lastIndexOf(e);n>=0&&this.elementStack.splice(n)}}get currIdx(){return this.wrapper.currIdx}}const uR={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new Oh};class xh extends mT{constructor(e,n){const r=n&&"maxLookahead"in n;super(e,{...uR,lookaheadStrategy:r?new gl({maxLookahead:n.maxLookahead}):new DT({logging:n.skipValidations?()=>{}:void 0}),...n})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,n,r){return this.RULE(e,n,r)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,n){return this.consume(e,n,void 0)}wrapSubrule(e,n,r){return this.subrule(e,n,{ARGS:[r]})}wrapOr(e,n){this.or(e,n)}wrapOption(e,n){this.option(e,n)}wrapMany(e,n){this.many(e,n)}wrapAtLeastOne(e,n){this.atLeastOne(e,n)}rule(e){return e.call(this,{})}}class dR extends xh{constructor(e,n,r){super(e,n),this.task=r}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,n,r){this.task.startSubTask(this.ruleName(n));try{return super.subrule(e,n,r)}finally{this.task.stopSubTask(this.ruleName(n))}}}function Dh(t,e,n){return fR({parser:e,tokens:n,ruleNames:new Map},t),e}function fR(t,e){const n=Pf(e,!1),r=he(e.rules).filter(an).filter(s=>n.has(s));for(const s of r){const a={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(s,Kn(a,s.definition))}const i=he(e.rules).filter(zs).filter(s=>n.has(s));for(const s of i)t.parser.rule(s,hR(t,s))}function hR(t,e){const n=e.call.rule.ref;if(!n)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(on(n))throw new Error("Cannot use terminal rule in infix expression");const r=e.operators.precedences.flatMap(g=>g.operators),i={$type:"Group",elements:[]},s={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},a={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(s,a);const c={$container:a,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:r}},l={...s,$container:a};a.elements.push(c,l);const f=r.map(g=>t.tokens[g.value]).map((g,S)=>({ALT:()=>t.parser.consume(S,g,c)}));let p;return g=>{p??(p=kl(t,n)),t.parser.subrule(0,p,!1,s,g),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,f),t.parser.subrule(1,p,!1,l,g)}})}}function Kn(t,e,n=!1){let r;if(Bn(e))r=vR(t,e);else if(Ra(e))r=pR(t,e);else if(zn(e))r=Kn(t,e.terminal);else if(va(e))r=Mh(t,e);else if(qn(e))r=mR(t,e);else if(Cf(e))r=yR(t,e);else if(wf(e))r=TR(t,e);else if(cl(e))r=RR(t,e);else if(vm(e)){const i=t.consume++;r=()=>t.parser.consume(i,Rn,e)}else throw new _f(e.$cstNode,`Unexpected element type: ${e.$type}`);return Fh(t,n?void 0:ca(e),r,e.cardinality)}function pR(t,e){const n=wi(e);return()=>t.parser.action(n,e)}function mR(t,e){const n=e.rule.ref;if(zi(n)){const r=t.subrule++,i=an(n)&&n.fragment,s=e.arguments.length>0?gR(n,e.arguments):()=>({});let a;return o=>{a??(a=kl(t,n)),t.parser.subrule(r,a,i,e,s(o))}}else if(on(n)){const r=t.consume++,i=Dc(t,n.name);return()=>t.parser.consume(r,i,e)}else if(n)Bi();else throw new _f(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function gR(t,e){if(e.some(r=>r.calledByName)){const r=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:xt(i.value)}));return i=>{const s={};for(const{parameterName:a,predicate:o}of r)a&&(s[a]=o(i));return s}}else{const r=e.map(i=>xt(i.value));return i=>{const s={};for(let a=0;a<r.length;a++)if(a<t.parameters.length){const o=t.parameters[a].name,c=r[a];s[o]=c(i)}return s}}}function xt(t){if(Rm(t)){const e=xt(t.left),n=xt(t.right);return r=>e(r)||n(r)}else if(Tm(t)){const e=xt(t.left),n=xt(t.right);return r=>e(r)&&n(r)}else if(Sm(t)){const e=xt(t.value);return n=>!e(n)}else if(km(t)){const e=t.parameter.ref.name;return n=>n!==void 0&&n[e]===!0}else if(gm(t)){const e=!!t.true;return()=>e}Bi()}function yR(t,e){if(e.elements.length===1)return Kn(t,e.elements[0]);{const n=[];for(const i of e.elements){const s={ALT:Kn(t,i,!0)},a=ca(i);a&&(s.GATE=xt(a)),n.push(s)}const r=t.or++;return i=>t.parser.alternatives(r,n.map(s=>{const a={ALT:()=>s.ALT(i)},o=s.GATE;return o&&(a.GATE=()=>o(i)),a}))}}function TR(t,e){if(e.elements.length===1)return Kn(t,e.elements[0]);const n=[];for(const o of e.elements){const c={ALT:Kn(t,o,!0)},l=ca(o);l&&(c.GATE=xt(l)),n.push(c)}const r=t.or++,i=(o,c)=>{const l=c.getRuleStack().join("-");return`uGroup_${o}_${l}`},s=o=>t.parser.alternatives(r,n.map((c,l)=>{const u={ALT:()=>!0},f=t.parser;u.ALT=()=>{if(c.ALT(o),!f.isRecording()){const g=i(r,f);f.unorderedGroups.get(g)||f.unorderedGroups.set(g,[]);const S=f.unorderedGroups.get(g);typeof S?.[l]>"u"&&(S[l]=!0)}};const p=c.GATE;return p?u.GATE=()=>p(o):u.GATE=()=>!f.unorderedGroups.get(i(r,f))?.[l],u})),a=Fh(t,ca(e),s,"*");return o=>{a(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(r,t.parser))}}function RR(t,e){const n=e.elements.map(r=>Kn(t,r));return r=>n.forEach(i=>i(r))}function ca(t){if(cl(t))return t.guardCondition}function Mh(t,e,n=e.terminal){if(n)if(qn(n)&&an(n.rule.ref)){const r=n.rule.ref,i=t.subrule++;let s;return a=>{s??(s=kl(t,r)),t.parser.subrule(i,s,!1,e,a)}}else if(qn(n)&&on(n.rule.ref)){const r=t.consume++,i=Dc(t,n.rule.ref.name);return()=>t.parser.consume(r,i,e)}else if(Bn(n)){const r=t.consume++,i=Dc(t,n.value);return()=>t.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 i=xf(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+wi(e.type.ref));return Mh(t,e,i)}}function vR(t,e){const n=t.consume++,r=t.tokens[e.value];if(!r)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(n,r,e)}function Fh(t,e,n,r){const i=e&&xt(e);if(!r)if(i){const s=t.or++;return a=>t.parser.alternatives(s,[{ALT:()=>n(a),GATE:()=>i(a)},{ALT:gu(),GATE:()=>!i(a)}])}else return n;if(r==="*"){const s=t.many++;return a=>t.parser.many(s,{DEF:()=>n(a),GATE:i?()=>i(a):void 0})}else if(r==="+"){const s=t.many++;if(i){const a=t.or++;return o=>t.parser.alternatives(a,[{ALT:()=>t.parser.atLeastOne(s,{DEF:()=>n(o)}),GATE:()=>i(o)},{ALT:gu(),GATE:()=>!i(o)}])}else return a=>t.parser.atLeastOne(s,{DEF:()=>n(a)})}else if(r==="?"){const s=t.optional++;return a=>t.parser.optional(s,{DEF:()=>n(a),GATE:i?()=>i(a):void 0})}else Bi()}function kl(t,e){const n=ER(t,e),r=t.parser.getRule(n);if(!r)throw new Error(`Rule "${n}" not found."`);return r}function ER(t,e){if(zi(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let n=e,r=n.$container,i=e.$type;for(;!an(r);)(cl(r)||Cf(r)||wf(r))&&(i=r.elements.indexOf(n).toString()+":"+i),n=r,r=r.$container;return i=r.name+":"+i,t.ruleNames.set(e,i),i}}function Dc(t,e){const n=t.tokens[e];if(!n)throw new Error(`Token "${e}" not found."`);return n}function AR(t){const e=t.Grammar,n=t.parser.Lexer,r=new lR(t);return Dh(e,r,n.definition),r.finalize(),r}function SR(t){const e=kR(t);return e.finalize(),e}function kR(t){const e=t.Grammar,n=t.parser.Lexer,r=new oR(t);return Dh(e,r,n.definition)}class Gh{constructor(){this.diagnostics=[]}buildTokens(e,n){const r=he(Pf(e,!1)),i=this.buildTerminalTokens(r),s=this.buildKeywordTokens(r,i,n);return s.push(...i),s}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(on).filter(n=>!n.fragment).map(n=>this.buildTerminalToken(n)).toArray()}buildTerminalToken(e){const n=ul(e),r=this.requiresCustomPattern(n)?this.regexPatternFunction(n):n,i={name:e.name,PATTERN:r};return typeof r=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=$f(n)?nt.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){const n=new RegExp(e,e.flags+"y");return(r,i)=>(n.lastIndex=i,n.exec(r))}buildKeywordTokens(e,n,r){return e.filter(zi).flatMap(i=>ji(i).filter(Bn)).distinct(i=>i.value).toArray().sort((i,s)=>s.value.length-i.value.length).map(i=>this.buildKeywordToken(i,n,!!r?.caseInsensitive))}buildKeywordToken(e,n,r){const i=this.buildKeywordPattern(e,r),s={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,n)};return typeof i=="function"&&(s.LINE_BREAKS=!0),s}buildKeywordPattern(e,n){return n?new RegExp(Aa(e.value),"i"):e.value}findLongerAlt(e,n){return n.reduce((r,i)=>{const s=i?.PATTERN;return s?.source&&Hm("^"+s.source+"$",e.value)&&r.push(i),r},[])}}class Uh{convert(e,n){let r=n.grammarSource;if(va(r)&&(r=Qm(r)),qn(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,n)}return e}runConverter(e,n,r){switch(e.name.toUpperCase()){case"INT":return Ht.convertInt(n);case"STRING":return Ht.convertString(n);case"ID":return Ht.convertID(n)}switch(sg(e)?.toLowerCase()){case"number":return Ht.convertNumber(n);case"boolean":return Ht.convertBoolean(n);case"bigint":return Ht.convertBigint(n);case"date":return Ht.convertDate(n);default:return n}}}var Ht;(function(t){function e(l){let u="";for(let f=1;f<l.length-1;f++){const p=l.charAt(f);if(p==="\\"){const g=l.charAt(++f);u+=n(g)}else u+=p}return u}t.convertString=e;function n(l){switch(l){case"b":return"\b";case"f":return"\f";case"n":return`
119
+ `;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return l}}function r(l){return l.charAt(0)==="^"?l.substring(1):l}t.convertID=r;function i(l){return parseInt(l)}t.convertInt=i;function s(l){return BigInt(l)}t.convertBigint=s;function a(l){return new Date(l)}t.convertDate=a;function o(l){return Number(l)}t.convertNumber=o;function c(l){return l.toLowerCase()==="true"}t.convertBoolean=c})(Ht||(Ht={}));var En={},cn={};Object.defineProperty(cn,"__esModule",{value:!0});let Mc;function Fc(){if(Mc===void 0)throw new Error("No runtime abstraction layer installed");return Mc}(function(t){function e(n){if(n===void 0)throw new Error("No runtime abstraction layer provided");Mc=n}t.install=e})(Fc||(Fc={}));cn.default=Fc;var _e={};Object.defineProperty(_e,"__esModule",{value:!0});_e.stringArray=_e.array=_e.func=_e.error=_e.number=_e.string=_e.boolean=void 0;function CR(t){return t===!0||t===!1}_e.boolean=CR;function jh(t){return typeof t=="string"||t instanceof String}_e.string=jh;function NR(t){return typeof t=="number"||t instanceof Number}_e.number=NR;function wR(t){return t instanceof Error}_e.error=wR;function bR(t){return typeof t=="function"}_e.func=bR;function zh(t){return Array.isArray(t)}_e.array=zh;function _R(t){return zh(t)&&t.every(e=>jh(e))}_e.stringArray=_R;var Ft={};Object.defineProperty(Ft,"__esModule",{value:!0});var Bh=Ft.Emitter=Ft.Event=void 0;const IR=cn;var Au;(function(t){const e={dispose(){}};t.None=function(){return e}})(Au||(Ft.Event=Au={}));class $R{add(e,n=null,r){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(n),Array.isArray(r)&&r.push({dispose:()=>this.remove(e,n)})}remove(e,n=null){if(!this._callbacks)return;let r=!1;for(let i=0,s=this._callbacks.length;i<s;i++)if(this._callbacks[i]===e)if(this._contexts[i]===n){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else r=!0;if(r)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];const n=[],r=this._callbacks.slice(0),i=this._contexts.slice(0);for(let s=0,a=r.length;s<a;s++)try{n.push(r[s].apply(i[s],e))}catch(o){(0,IR.default)().console.error(o)}return n}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}}class Ia{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,n,r)=>{this._callbacks||(this._callbacks=new $R),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,n);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,n),i.dispose=Ia._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(r)&&r.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}Bh=Ft.Emitter=Ia;Ia._noop=function(){};var me;Object.defineProperty(En,"__esModule",{value:!0});var Cl=En.CancellationTokenSource=me=En.CancellationToken=void 0;const PR=cn,LR=_e,Gc=Ft;var la;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Gc.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Gc.Event.None});function e(n){const r=n;return r&&(r===t.None||r===t.Cancelled||LR.boolean(r.isCancellationRequested)&&!!r.onCancellationRequested)}t.is=e})(la||(me=En.CancellationToken=la={}));const OR=Object.freeze(function(t,e){const n=(0,PR.default)().timer.setTimeout(t.bind(e),0);return{dispose(){n.dispose()}}});class Su{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?OR:(this._emitter||(this._emitter=new Gc.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class xR{get token(){return this._token||(this._token=new Su),this._token}cancel(){this._token?this._token.cancel():this._token=la.Cancelled}dispose(){this._token?this._token instanceof Su&&this._token.dispose():this._token=la.None}}Cl=En.CancellationTokenSource=xR;function DR(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}let Ms=0,MR=10;function FR(){return Ms=performance.now(),new Cl}const Er=Symbol("OperationCancelled");function $a(t){return t===Er}async function Ye(t){if(t===me.None)return;const e=performance.now();if(e-Ms>=MR&&(Ms=e,await DR(),Ms=performance.now()),t.isCancellationRequested)throw Er}class Nl{constructor(){this.promise=new Promise((e,n)=>{this.resolve=r=>(e(r),this),this.reject=r=>(n(r),this)})}}class xi{constructor(e,n,r,i){this._uri=e,this._languageId=n,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 n=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(n,r)}return this._content}update(e,n){for(const r of e)if(xi.isIncremental(r)){const i=Wh(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),c=Math.max(i.end.line,0);let l=this._lineOffsets;const u=ku(r.text,!1,s);if(c-o===u.length)for(let p=0,g=u.length;p<g;p++)l[p+o+1]=u[p];else u.length<1e4?l.splice(o+1,c-o,...u):this._lineOffsets=l=l.slice(0,o+1).concat(u,l.slice(c+1));const f=r.text.length-(a-s);if(f!==0)for(let p=o+1+u.length,g=l.length;p<g;p++)l[p]=l[p]+f}else if(xi.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=n}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=ku(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);const n=this.getLineOffsets();let r=0,i=n.length;if(i===0)return{line:0,character:e};for(;r<i;){const a=Math.floor((r+i)/2);n[a]>e?i=a:r=a+1}const s=r-1;return e=this.ensureBeforeEOL(e,n[s]),{line:s,character:e-n[s]}}offsetAt(e){const n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;const r=n[e.line];if(e.character<=0)return r;const i=e.line+1<n.length?n[e.line+1]:this._content.length,s=Math.min(r+e.character,i);return this.ensureBeforeEOL(s,r)}ensureBeforeEOL(e,n){for(;e>n&&qh(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const n=e;return n!=null&&typeof n.text=="string"&&n.range!==void 0&&(n.rangeLength===void 0||typeof n.rangeLength=="number")}static isFull(e){const n=e;return n!=null&&typeof n.text=="string"&&n.range===void 0&&n.rangeLength===void 0}}var Uc;(function(t){function e(i,s,a,o){return new xi(i,s,a,o)}t.create=e;function n(i,s,a){if(i instanceof xi)return i.update(s,a),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=n;function r(i,s){const a=i.getText(),o=jc(s.map(GR),(u,f)=>{const p=u.range.start.line-f.range.start.line;return p===0?u.range.start.character-f.range.start.character:p});let c=0;const l=[];for(const u of o){const f=i.offsetAt(u.range.start);if(f<c)throw new Error("Overlapping edit");f>c&&l.push(a.substring(c,f)),u.newText.length&&l.push(u.newText),c=i.offsetAt(u.range.end)}return l.push(a.substr(c)),l.join("")}t.applyEdits=r})(Uc||(Uc={}));function jc(t,e){if(t.length<=1)return t;const n=t.length/2|0,r=t.slice(0,n),i=t.slice(n);jc(r,e),jc(i,e);let s=0,a=0,o=0;for(;s<r.length&&a<i.length;)e(r[s],i[a])<=0?t[o++]=r[s++]:t[o++]=i[a++];for(;s<r.length;)t[o++]=r[s++];for(;a<i.length;)t[o++]=i[a++];return t}function ku(t,e,n=0){const r=e?[n]:[];for(let i=0;i<t.length;i++){const s=t.charCodeAt(i);qh(s)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,r.push(n+i+1))}return r}function qh(t){return t===13||t===10}function Wh(t){const e=t.start,n=t.end;return e.line>n.line||e.line===n.line&&e.character>n.character?{start:n,end:e}:t}function GR(t){const e=Wh(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var Vh;(()=>{var t={975:C=>{function T(y){if(typeof y!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(y))}function m(y,R){for(var E,$="",x=0,P=-1,j=0,q=0;q<=y.length;++q){if(q<y.length)E=y.charCodeAt(q);else{if(E===47)break;E=47}if(E===47){if(!(P===q-1||j===1))if(P!==q-1&&j===2){if($.length<2||x!==2||$.charCodeAt($.length-1)!==46||$.charCodeAt($.length-2)!==46){if($.length>2){var se=$.lastIndexOf("/");if(se!==$.length-1){se===-1?($="",x=0):x=($=$.slice(0,se)).length-1-$.lastIndexOf("/"),P=q,j=0;continue}}else if($.length===2||$.length===1){$="",x=0,P=q,j=0;continue}}R&&($.length>0?$+="/..":$="..",x=2)}else $.length>0?$+="/"+y.slice(P+1,q):$=y.slice(P+1,q),x=q-P-1;P=q,j=0}else E===46&&j!==-1?++j:j=-1}return $}var A={resolve:function(){for(var y,R="",E=!1,$=arguments.length-1;$>=-1&&!E;$--){var x;$>=0?x=arguments[$]:(y===void 0&&(y=process.cwd()),x=y),T(x),x.length!==0&&(R=x+"/"+R,E=x.charCodeAt(0)===47)}return R=m(R,!E),E?R.length>0?"/"+R:"/":R.length>0?R:"."},normalize:function(y){if(T(y),y.length===0)return".";var R=y.charCodeAt(0)===47,E=y.charCodeAt(y.length-1)===47;return(y=m(y,!R)).length!==0||R||(y="."),y.length>0&&E&&(y+="/"),R?"/"+y:y},isAbsolute:function(y){return T(y),y.length>0&&y.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var y,R=0;R<arguments.length;++R){var E=arguments[R];T(E),E.length>0&&(y===void 0?y=E:y+="/"+E)}return y===void 0?".":A.normalize(y)},relative:function(y,R){if(T(y),T(R),y===R||(y=A.resolve(y))===(R=A.resolve(R)))return"";for(var E=1;E<y.length&&y.charCodeAt(E)===47;++E);for(var $=y.length,x=$-E,P=1;P<R.length&&R.charCodeAt(P)===47;++P);for(var j=R.length-P,q=x<j?x:j,se=-1,V=0;V<=q;++V){if(V===q){if(j>q){if(R.charCodeAt(P+V)===47)return R.slice(P+V+1);if(V===0)return R.slice(P+V)}else x>q&&(y.charCodeAt(E+V)===47?se=V:V===0&&(se=0));break}var Ie=y.charCodeAt(E+V);if(Ie!==R.charCodeAt(P+V))break;Ie===47&&(se=V)}var te="";for(V=E+se+1;V<=$;++V)V!==$&&y.charCodeAt(V)!==47||(te.length===0?te+="..":te+="/..");return te.length>0?te+R.slice(P+se):(P+=se,R.charCodeAt(P)===47&&++P,R.slice(P))},_makeLong:function(y){return y},dirname:function(y){if(T(y),y.length===0)return".";for(var R=y.charCodeAt(0),E=R===47,$=-1,x=!0,P=y.length-1;P>=1;--P)if((R=y.charCodeAt(P))===47){if(!x){$=P;break}}else x=!1;return $===-1?E?"/":".":E&&$===1?"//":y.slice(0,$)},basename:function(y,R){if(R!==void 0&&typeof R!="string")throw new TypeError('"ext" argument must be a string');T(y);var E,$=0,x=-1,P=!0;if(R!==void 0&&R.length>0&&R.length<=y.length){if(R.length===y.length&&R===y)return"";var j=R.length-1,q=-1;for(E=y.length-1;E>=0;--E){var se=y.charCodeAt(E);if(se===47){if(!P){$=E+1;break}}else q===-1&&(P=!1,q=E+1),j>=0&&(se===R.charCodeAt(j)?--j==-1&&(x=E):(j=-1,x=q))}return $===x?x=q:x===-1&&(x=y.length),y.slice($,x)}for(E=y.length-1;E>=0;--E)if(y.charCodeAt(E)===47){if(!P){$=E+1;break}}else x===-1&&(P=!1,x=E+1);return x===-1?"":y.slice($,x)},extname:function(y){T(y);for(var R=-1,E=0,$=-1,x=!0,P=0,j=y.length-1;j>=0;--j){var q=y.charCodeAt(j);if(q!==47)$===-1&&(x=!1,$=j+1),q===46?R===-1?R=j:P!==1&&(P=1):R!==-1&&(P=-1);else if(!x){E=j+1;break}}return R===-1||$===-1||P===0||P===1&&R===$-1&&R===E+1?"":y.slice(R,$)},format:function(y){if(y===null||typeof y!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof y);return(function(R,E){var $=E.dir||E.root,x=E.base||(E.name||"")+(E.ext||"");return $?$===E.root?$+x:$+"/"+x:x})(0,y)},parse:function(y){T(y);var R={root:"",dir:"",base:"",ext:"",name:""};if(y.length===0)return R;var E,$=y.charCodeAt(0),x=$===47;x?(R.root="/",E=1):E=0;for(var P=-1,j=0,q=-1,se=!0,V=y.length-1,Ie=0;V>=E;--V)if(($=y.charCodeAt(V))!==47)q===-1&&(se=!1,q=V+1),$===46?P===-1?P=V:Ie!==1&&(Ie=1):P!==-1&&(Ie=-1);else if(!se){j=V+1;break}return P===-1||q===-1||Ie===0||Ie===1&&P===q-1&&P===j+1?q!==-1&&(R.base=R.name=j===0&&x?y.slice(1,q):y.slice(j,q)):(j===0&&x?(R.name=y.slice(1,P),R.base=y.slice(1,q)):(R.name=y.slice(j,P),R.base=y.slice(j,q)),R.ext=y.slice(P,q)),j>0?R.dir=y.slice(0,j-1):x&&(R.dir="/"),R},sep:"/",delimiter:":",win32:null,posix:null};A.posix=A,C.exports=A}},e={};function n(C){var T=e[C];if(T!==void 0)return T.exports;var m=e[C]={exports:{}};return t[C](m,m.exports,n),m.exports}n.d=(C,T)=>{for(var m in T)n.o(T,m)&&!n.o(C,m)&&Object.defineProperty(C,m,{enumerable:!0,get:T[m]})},n.o=(C,T)=>Object.prototype.hasOwnProperty.call(C,T),n.r=C=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(C,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(C,"__esModule",{value:!0})};var r={};let i;n.r(r),n.d(r,{URI:()=>p,Utils:()=>Se}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const s=/^\w[\w\d+.-]*$/,a=/^\//,o=/^\/\//;function c(C,T){if(!C.scheme&&T)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${C.authority}", path: "${C.path}", query: "${C.query}", fragment: "${C.fragment}"}`);if(C.scheme&&!s.test(C.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(C.path){if(C.authority){if(!a.test(C.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(C.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const l="",u="/",f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class p{static isUri(T){return T instanceof p||!!T&&typeof T.authority=="string"&&typeof T.fragment=="string"&&typeof T.path=="string"&&typeof T.query=="string"&&typeof T.scheme=="string"&&typeof T.fsPath=="string"&&typeof T.with=="function"&&typeof T.toString=="function"}scheme;authority;path;query;fragment;constructor(T,m,A,y,R,E=!1){typeof T=="object"?(this.scheme=T.scheme||l,this.authority=T.authority||l,this.path=T.path||l,this.query=T.query||l,this.fragment=T.fragment||l):(this.scheme=(function($,x){return $||x?$:"file"})(T,E),this.authority=m||l,this.path=(function($,x){switch($){case"https":case"http":case"file":x?x[0]!==u&&(x=u+x):x=u}return x})(this.scheme,A||l),this.query=y||l,this.fragment=R||l,c(this,E))}get fsPath(){return L(this)}with(T){if(!T)return this;let{scheme:m,authority:A,path:y,query:R,fragment:E}=T;return m===void 0?m=this.scheme:m===null&&(m=l),A===void 0?A=this.authority:A===null&&(A=l),y===void 0?y=this.path:y===null&&(y=l),R===void 0?R=this.query:R===null&&(R=l),E===void 0?E=this.fragment:E===null&&(E=l),m===this.scheme&&A===this.authority&&y===this.path&&R===this.query&&E===this.fragment?this:new S(m,A,y,R,E)}static parse(T,m=!1){const A=f.exec(T);return A?new S(A[2]||l,ne(A[4]||l),ne(A[5]||l),ne(A[7]||l),ne(A[9]||l),m):new S(l,l,l,l,l)}static file(T){let m=l;if(i&&(T=T.replace(/\\/g,u)),T[0]===u&&T[1]===u){const A=T.indexOf(u,2);A===-1?(m=T.substring(2),T=u):(m=T.substring(2,A),T=T.substring(A)||u)}return new S("file",m,T,l,l)}static from(T){const m=new S(T.scheme,T.authority,T.path,T.query,T.fragment);return c(m,!0),m}toString(T=!1){return b(this,T)}toJSON(){return this}static revive(T){if(T){if(T instanceof p)return T;{const m=new S(T);return m._formatted=T.external,m._fsPath=T._sep===g?T.fsPath:null,m}}return T}}const g=i?1:void 0;class S extends p{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=L(this)),this._fsPath}toString(T=!1){return T?b(this,!0):(this._formatted||(this._formatted=b(this,!1)),this._formatted)}toJSON(){const T={$mid:1};return this._fsPath&&(T.fsPath=this._fsPath,T._sep=g),this._formatted&&(T.external=this._formatted),this.path&&(T.path=this.path),this.scheme&&(T.scheme=this.scheme),this.authority&&(T.authority=this.authority),this.query&&(T.query=this.query),this.fragment&&(T.fragment=this.fragment),T}}const N={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 O(C,T,m){let A,y=-1;for(let R=0;R<C.length;R++){const E=C.charCodeAt(R);if(E>=97&&E<=122||E>=65&&E<=90||E>=48&&E<=57||E===45||E===46||E===95||E===126||T&&E===47||m&&E===91||m&&E===93||m&&E===58)y!==-1&&(A+=encodeURIComponent(C.substring(y,R)),y=-1),A!==void 0&&(A+=C.charAt(R));else{A===void 0&&(A=C.substr(0,R));const $=N[E];$!==void 0?(y!==-1&&(A+=encodeURIComponent(C.substring(y,R)),y=-1),A+=$):y===-1&&(y=R)}}return y!==-1&&(A+=encodeURIComponent(C.substring(y))),A!==void 0?A:C}function w(C){let T;for(let m=0;m<C.length;m++){const A=C.charCodeAt(m);A===35||A===63?(T===void 0&&(T=C.substr(0,m)),T+=N[A]):T!==void 0&&(T+=C[m])}return T!==void 0?T:C}function L(C,T){let m;return m=C.authority&&C.path.length>1&&C.scheme==="file"?`//${C.authority}${C.path}`:C.path.charCodeAt(0)===47&&(C.path.charCodeAt(1)>=65&&C.path.charCodeAt(1)<=90||C.path.charCodeAt(1)>=97&&C.path.charCodeAt(1)<=122)&&C.path.charCodeAt(2)===58?C.path[1].toLowerCase()+C.path.substr(2):C.path,i&&(m=m.replace(/\//g,"\\")),m}function b(C,T){const m=T?w:O;let A="",{scheme:y,authority:R,path:E,query:$,fragment:x}=C;if(y&&(A+=y,A+=":"),(R||y==="file")&&(A+=u,A+=u),R){let P=R.indexOf("@");if(P!==-1){const j=R.substr(0,P);R=R.substr(P+1),P=j.lastIndexOf(":"),P===-1?A+=m(j,!1,!1):(A+=m(j.substr(0,P),!1,!1),A+=":",A+=m(j.substr(P+1),!1,!0)),A+="@"}R=R.toLowerCase(),P=R.lastIndexOf(":"),P===-1?A+=m(R,!1,!0):(A+=m(R.substr(0,P),!1,!0),A+=R.substr(P))}if(E){if(E.length>=3&&E.charCodeAt(0)===47&&E.charCodeAt(2)===58){const P=E.charCodeAt(1);P>=65&&P<=90&&(E=`/${String.fromCharCode(P+32)}:${E.substr(3)}`)}else if(E.length>=2&&E.charCodeAt(1)===58){const P=E.charCodeAt(0);P>=65&&P<=90&&(E=`${String.fromCharCode(P+32)}:${E.substr(2)}`)}A+=m(E,!0,!1)}return $&&(A+="?",A+=m($,!1,!1)),x&&(A+="#",A+=T?x:O(x,!1,!1)),A}function D(C){try{return decodeURIComponent(C)}catch{return C.length>3?C.substr(0,3)+D(C.substr(3)):C}}const X=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function ne(C){return C.match(X)?C.replace(X,(T=>D(T))):C}var re=n(975);const ge=re.posix||re,Ae="/";var Se;(function(C){C.joinPath=function(T,...m){return T.with({path:ge.join(T.path,...m)})},C.resolvePath=function(T,...m){let A=T.path,y=!1;A[0]!==Ae&&(A=Ae+A,y=!0);let R=ge.resolve(A,...m);return y&&R[0]===Ae&&!T.authority&&(R=R.substring(1)),T.with({path:R})},C.dirname=function(T){if(T.path.length===0||T.path===Ae)return T;let m=ge.dirname(T.path);return m.length===1&&m.charCodeAt(0)===46&&(m=""),T.with({path:m})},C.basename=function(T){return ge.basename(T.path)},C.extname=function(T){return ge.extname(T.path)}})(Se||(Se={})),Vh=r})();const{URI:wt,Utils:ci}=Vh;var lt;(function(t){t.basename=ci.basename,t.dirname=ci.dirname,t.extname=ci.extname,t.joinPath=ci.joinPath,t.resolvePath=ci.resolvePath;const e=typeof process=="object"&&process?.platform==="win32";function n(a,o){return a?.toString()===o?.toString()}t.equals=n;function r(a,o){const c=typeof a=="string"?wt.parse(a).path:a.path,l=typeof o=="string"?wt.parse(o).path:o.path,u=c.split("/").filter(N=>N.length>0),f=l.split("/").filter(N=>N.length>0);if(e){const N=/^[A-Z]:$/;if(u[0]&&N.test(u[0])&&(u[0]=u[0].toLowerCase()),f[0]&&N.test(f[0])&&(f[0]=f[0].toLowerCase()),u[0]!==f[0])return l.substring(1)}let p=0;for(;p<u.length&&u[p]===f[p];p++);const g="../".repeat(u.length-p),S=f.slice(p).join("/");return g+S}t.relative=r;function i(a){return wt.parse(a.toString()).toString()}t.normalize=i;function s(a,o){let c=typeof a=="string"?a:a.path,l=typeof o=="string"?o:o.path;return l.charAt(l.length-1)==="/"&&(l=l.slice(0,-1)),c.charAt(c.length-1)==="/"&&(c=c.slice(0,-1)),l===c?!0:l.length<c.length||l.charAt(c.length)!=="/"?!1:l.startsWith(c)}t.contains=s})(lt||(lt={}));class UR{constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return lt.normalize(e)}clear(){this.root.children.clear()}insert(e,n){const r=this.getNode(this.normalizeUri(e),!0);r.element=n}delete(e){const n=this.getNode(this.normalizeUri(e),!1);n?.parent&&n.parent.children.delete(n.name)}has(e){return this.getNode(this.normalizeUri(e),!1)?.element!==void 0}hasNode(e){return this.getNode(this.normalizeUri(e),!1)!==void 0}find(e){return this.getNode(this.normalizeUri(e),!1)?.element}findNode(e){const n=this.normalizeUri(e),r=this.getNode(n,!1);if(r)return{name:r.name,uri:lt.joinPath(wt.parse(n),r.name).toString(),element:r.element}}findChildren(e){const n=this.normalizeUri(e),r=this.getNode(n,!1);return r?Array.from(r.children.values()).map(i=>({name:i.name,uri:lt.joinPath(wt.parse(n),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){const n=this.getNode(lt.normalize(e),!1);return n?this.collectValues(n):[]}getNode(e,n){const r=e.split("/");e.charAt(e.length-1)==="/"&&r.pop();let i=this.root;for(const s of r){let a=i.children.get(s);if(!a)if(n)a={name:s,children:new Map,parent:i},i.children.set(s,a);else return;i=a}return i}collectValues(e){const n=[];e.element&&n.push(e.element);for(const r of e.children.values())n.push(...this.collectValues(r));return n}}var H;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(H||(H={}));class jR{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,n=me.None){const r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,n)}fromTextDocument(e,n,r){return n=n??wt.parse(e.uri),me.is(r)?this.createAsync(n,e,r):this.create(n,e,r)}fromString(e,n,r){return me.is(r)?this.createAsync(n,e,r):this.create(n,e,r)}fromModel(e,n){return this.create(n,{$model:e})}create(e,n,r){if(typeof n=="string"){const i=this.parse(e,n,r);return this.createLangiumDocument(i,e,void 0,n)}else if("$model"in n){const i={value:n.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,n.getText(),r);return this.createLangiumDocument(i,e,n)}}async createAsync(e,n,r){if(typeof n=="string"){const i=await this.parseAsync(e,n,r);return this.createLangiumDocument(i,e,void 0,n)}else{const i=await this.parseAsync(e,n.getText(),r);return this.createLangiumDocument(i,e,n)}}createLangiumDocument(e,n,r,i){let s;if(r)s={parseResult:e,uri:n,state:H.Parsed,references:[],textDocument:r};else{const a=this.createTextDocumentGetter(n,i);s={parseResult:e,uri:n,state:H.Parsed,references:[],get textDocument(){return a()}}}return e.value.$document=s,s}async update(e,n){const r=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),s=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{const a=this.createTextDocumentGetter(e.uri,s);Object.defineProperty(e,"textDocument",{get:a})}return r!==s&&(e.parseResult=await this.parseAsync(e.uri,s,n),e.parseResult.value.$document=e),e.state=H.Parsed,e}parse(e,n,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(n,r)}parseAsync(e,n,r){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(n,r)}createTextDocumentGetter(e,n){const r=this.serviceRegistry;let i;return()=>i??(i=Uc.create(e.toString(),r.getServices(e).LanguageMetaData.languageId,0,n??""))}}class zR{constructor(e){this.documentTrie=new UR,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return he(this.documentTrie.all())}addDocument(e){const n=e.uri.toString();if(this.documentTrie.has(n))throw new Error(`A document with the URI '${n}' is already present.`);this.documentTrie.insert(n,e)}getDocument(e){const n=e.toString();return this.documentTrie.find(n)}getDocuments(e){const n=e.toString();return this.documentTrie.findAll(n)}async getOrCreateDocument(e,n){let r=this.getDocument(e);return r||(r=await this.langiumDocumentFactory.fromUri(e,n),this.addDocument(r),r)}createDocument(e,n,r){if(r)return this.langiumDocumentFactory.fromString(n,e,r).then(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(n,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){const n=e.toString(),r=this.documentTrie.find(n);return r&&this.documentBuilder().resetToState(r,H.Changed),r}deleteDocument(e){const n=e.toString(),r=this.documentTrie.find(n);return r&&(r.state=H.Changed,this.documentTrie.delete(n)),r}deleteDocuments(e){const n=e.toString(),r=this.documentTrie.findAll(n);for(const i of r)i.state=H.Changed;return this.documentTrie.delete(n),r}}const rr=Symbol("RefResolving");class BR{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,n=me.None){if(this.profiler?.isActive("linking")){const r=this.profiler.createTask("linking",this.languageId);r.start();try{for(const i of Zt(e.parseResult.value))await Ye(n),js(i).forEach(s=>{const a=`${i.$type}:${s.property}`;r.startSubTask(a);try{this.doLink(s,e)}finally{r.stopSubTask(a)}})}finally{r.stop()}}else for(const r of Zt(e.parseResult.value))await Ye(n),js(r).forEach(i=>this.doLink(i,e))}doLink(e,n){const r=e.reference;if("_ref"in r&&r._ref===void 0){r._ref=rr;try{const i=this.getCandidate(e);if(ni(i))r._ref=i;else{r._nodeDescription=i;const s=this.loadAstNode(i);r._ref=s??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${r.$refText}':`,i);const s=i.message??String(i);r._ref={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${s}`}}n.references.push(r)}else if("_items"in r&&r._items===void 0){r._items=rr;try{const i=this.getCandidates(e),s=[];if(ni(i))r._linkingError=i;else for(const a of i){const o=this.loadAstNode(a);o&&s.push({ref:o,$nodeDescription:a})}r._items=s}catch(i){r._linkingError={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${i}`},r._items=[]}n.references.push(r)}}unlink(e){for(const n of e.references)"_ref"in n?(n._ref=void 0,delete n._nodeDescription):"_items"in n&&(n._items=void 0,delete n._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){const r=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return r.length>0?r:this.createLinkingError(e)}buildReference(e,n,r,i){const s=this,a={$refNode:r,$refText:i,_ref:void 0,get ref(){if(Ve(this._ref))return this._ref;if(fm(this._nodeDescription)){const o=s.loadAstNode(this._nodeDescription);this._ref=o??s.createLinkingError({reference:a,container:e,property:n},this._nodeDescription)}else if(this._ref===void 0){this._ref=rr;const o=Cs(e).$document,c=s.getLinkedNode({reference:a,container:e,property:n});if(c.error&&o&&o.state<H.ComputedScopes)return this._ref=void 0;this._ref=c.node??c.error,this._nodeDescription=c.descr,o?.references.push(this)}else this._ref===rr&&s.throwCyclicReferenceError(e,n,i);return Ve(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return ni(this._ref)?this._ref:void 0}};return a}buildMultiReference(e,n,r,i){const s=this,a={$refNode:r,$refText:i,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(this._items===void 0){this._items=rr;const o=Cs(e).$document,c=s.getCandidates({reference:a,container:e,property:n}),l=[];if(ni(c))this._linkingError=c;else for(const u of c){const f=s.loadAstNode(u);f&&l.push({ref:f,$nodeDescription:u})}this._items=l,o?.references.push(this)}else this._items===rr&&s.throwCyclicReferenceError(e,n,i);return Array.isArray(this._items)?this._items:[]},get error(){if(this._linkingError)return this._linkingError;if(!(this.items.length>0))return this._linkingError=s.createLinkingError({reference:a,container:e,property:n})}};return a}throwCyclicReferenceError(e,n,r){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${n} (symbol '${r}')`)}getLinkedNode(e){try{const n=this.getCandidate(e);if(ni(n))return{error:n};const r=this.loadAstNode(n);return r?{node:r,descr:n}:{descr:n,error:this.createLinkingError(e,n)}}catch(n){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,n);const r=n.message??String(n);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${r}`}}}}loadAstNode(e){if(e.node)return e.node;const n=this.langiumDocuments().getDocument(e.documentUri);if(n)return this.astNodeLocator.getAstNode(n.parseResult.value,e.path)}createLinkingError(e,n){const r=Cs(e.container).$document;r&&r.state<H.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${r.uri}).`);const i=this.reflection.getReferenceType(e);return{info:e,message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:n}}}function qR(t){return typeof t.name=="string"}class WR{getName(e){if(qR(e))return e.name}getNameNode(e){return Of(e.$cstNode,"name")}}class VR{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator,this.documents=e.shared.workspace.LangiumDocuments,this.hasMultiReference=Zt(e.Grammar).some(n=>va(n)&&n.isMulti)}findDeclarations(e){if(e){const n=rg(e),r=e.astNode;if(n&&r){const i=r[n.feature];if(kt(i)||fn(i))return xl(i);if(Array.isArray(i)){for(const s of i)if((kt(s)||fn(s))&&s.$refNode&&s.$refNode.offset<=e.offset&&s.$refNode.end>=e.end)return xl(s)}}if(r){const i=this.nameProvider.getNameNode(r);if(i&&(i===e||Om(e,i)))return this.getSelfNodes(r)}}return[]}getSelfNodes(e){if(this.hasMultiReference){const n=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),r=this.getNodeFromReferenceDescription(n.head());if(r){for(const i of js(r))if(fn(i.reference)&&i.reference.items.some(s=>s.ref===e))return i.reference.items.map(s=>s.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;const n=this.documents.getDocument(e.sourceUri);if(n)return this.nodeLocator.getAstNode(n.parseResult.value,e.sourcePath)}findDeclarationNodes(e){const n=this.findDeclarations(e),r=[];for(const i of n){const s=this.nameProvider.getNameNode(i)??i.$cstNode;s&&r.push(s)}return r}findReferences(e,n){const r=[];n.includeDeclaration&&r.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return n.documentUri&&(i=i.filter(s=>lt.equals(s.sourceUri,n.documentUri))),r.push(...i),he(r)}getSelfReferences(e){const n=this.getSelfNodes(e),r=[];for(const i of n){const s=this.nameProvider.getNameNode(i);if(s){const a=Qt(i),o=this.nodeLocator.getAstNodePath(i);r.push({sourceUri:a.uri,sourcePath:o,targetUri:a.uri,targetPath:o,segment:Bs(s),local:!0})}}return r}}class Di{constructor(e){if(this.map=new Map,e)for(const[n,r]of e)this.add(n,r)}get size(){return ho.sum(he(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,n){if(n===void 0)return this.map.delete(e);{const r=this.map.get(e);if(r){const i=r.indexOf(n);if(i>=0)return r.length===1?this.map.delete(e):r.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){const n=this.map.get(e);return n?he(n):Sf}has(e,n){if(n===void 0)return this.map.has(e);{const r=this.map.get(e);return r?r.indexOf(n)>=0:!1}}add(e,n){return this.map.has(e)?this.map.get(e).push(n):this.map.set(e,[n]),this}addAll(e,n){return this.map.has(e)?this.map.get(e).push(...n):this.map.set(e,Array.from(n)),this}forEach(e){this.map.forEach((n,r)=>n.forEach(i=>e(i,r,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return he(this.map.entries()).flatMap(([e,n])=>n.map(r=>[e,r]))}keys(){return he(this.map.keys())}values(){return he(this.map.values()).flat()}entriesGroupedByKey(){return he(this.map.entries())}}class Cu{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[n,r]of e)this.set(n,r)}clear(){this.map.clear(),this.inverse.clear()}set(e,n){return this.map.set(e,n),this.inverse.set(n,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const n=this.map.get(e);return n!==void 0?(this.map.delete(e),this.inverse.delete(n),!0):!1}}class KR{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,n=me.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,n)}async collectExportedSymbolsForNode(e,n,r=ol,i=me.None){const s=[];this.addExportedSymbol(e,s,n);for(const a of r(e))await Ye(i),this.addExportedSymbol(a,s,n);return s}addExportedSymbol(e,n,r){const i=this.nameProvider.getName(e);i&&n.push(this.descriptions.createDescription(e,i,r))}async collectLocalSymbols(e,n=me.None){const r=e.parseResult.value,i=new Di;for(const s of ji(r))await Ye(n),this.addLocalSymbol(s,e,i);return i}addLocalSymbol(e,n,r){const i=e.$container;if(i){const s=this.nameProvider.getName(e);s&&r.add(i,this.descriptions.createDescription(e,s,n))}}}class Nu{constructor(e,n,r){this.elements=e,this.outerScope=n,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const n=this.caseInsensitive?e.toLowerCase():e,r=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===n):this.elements.find(i=>i.name===e);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const n=this.caseInsensitive?e.toLowerCase():e,r=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===n):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||r.isEmpty())&&this.outerScope?r.concat(this.outerScope.getElements(e)):r}}class HR{constructor(e,n,r){this.elements=new Di,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0;for(const i of e){const s=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(s,i)}this.outerScope=n}getElement(e){const n=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(n)[0];if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const n=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(n);return(this.concatOuterScope||r.length===0)&&this.outerScope?he(r).concat(this.outerScope.getElements(e)):he(r)}getAllElements(){let e=he(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class Kh{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 YR extends Kh{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,n){this.throwIfDisposed(),this.cache.set(e,n)}get(e,n){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(n){const r=n();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 XR extends Kh{constructor(e){super(),this.cache=new Map,this.converter=e??(n=>n)}has(e,n){return this.throwIfDisposed(),this.cacheForContext(e).has(n)}set(e,n,r){this.throwIfDisposed(),this.cacheForContext(e).set(n,r)}get(e,n,r){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(n))return i.get(n);if(r){const s=r();return i.set(n,s),s}else return}delete(e,n){return this.throwIfDisposed(),this.cacheForContext(e).delete(n)}clear(e){if(this.throwIfDisposed(),e){const n=this.converter(e);this.cache.delete(n)}else this.cache.clear()}cacheForContext(e){const n=this.converter(e);let r=this.cache.get(n);return r||(r=new Map,this.cache.set(n,r)),r}}class JR extends YR{constructor(e,n){super(),n?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(n,()=>{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 QR{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 JR(e.shared)}getScope(e){const n=[],r=this.reflection.getReferenceType(e),i=Qt(e.container).localSymbols;if(i){let a=e.container;do i.has(a)&&n.push(i.getStream(a).filter(o=>this.reflection.isSubtype(o.type,r))),a=a.$container;while(a)}let s=this.getGlobalScope(r,e);for(let a=n.length-1;a>=0;a--)s=this.createScope(n[a],s);return s}createScope(e,n,r){return new Nu(he(e),n,r)}createScopeForNodes(e,n,r){const i=he(e).map(s=>{const a=this.nameProvider.getName(s);if(a)return this.descriptions.createDescription(s,a)}).nonNullable();return new Nu(i,n,r)}getGlobalScope(e,n){return this.globalScopeCache.get(e,()=>new HR(this.indexManager.allElements(e)))}}function ZR(t){return typeof t.$comment=="string"}function wu(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}class ev{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,n){const r=n??{},i=n?.replacer,s=(o,c)=>this.replacer(o,c,r),a=i?(o,c)=>i(o,c,s):s;try{return this.currentDocument=Qt(e),JSON.stringify(e,a,n?.space)}finally{this.currentDocument=void 0}}deserialize(e,n){const r=n??{},i=JSON.parse(e);return this.linkNode(i,i,r),i}replacer(e,n,{refText:r,sourceText:i,textRegions:s,comments:a,uriConverter:o}){if(!this.ignoreProperties.has(e))if(kt(n)){const c=n.ref,l=r?n.$refText:void 0;if(c){const u=Qt(c);let f="";this.currentDocument&&this.currentDocument!==u&&(o?f=o(u.uri,c):f=u.uri.toString());const p=this.astNodeLocator.getAstNodePath(c);return{$ref:`${f}#${p}`,$refText:l}}else return{$error:n.error?.message??"Could not resolve reference",$refText:l}}else if(fn(n)){const c=r?n.$refText:void 0,l=[];for(const u of n.items){const f=u.ref,p=Qt(u.ref);let g="";this.currentDocument&&this.currentDocument!==p&&(o?g=o(p.uri,f):g=p.uri.toString());const S=this.astNodeLocator.getAstNodePath(f);l.push(`${g}#${S}`)}return{$refs:l,$refText:c}}else if(Ve(n)){let c;if(s&&(c=this.addAstNodeRegionWithAssignmentsTo({...n}),(!e||n.$document)&&c?.$textRegion&&(c.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(c??(c={...n}),c.$sourceText=n.$cstNode?.text),a){c??(c={...n});const l=this.commentProvider.getComment(n);l&&(c.$comment=l.replace(/\r/g,""))}return c??n}else return n}addAstNodeRegionWithAssignmentsTo(e){const n=r=>({offset:r.offset,end:r.end,length:r.length,range:r.range});if(e.$cstNode){const r=e.$textRegion=n(e.$cstNode),i=r.assignments={};return Object.keys(e).filter(s=>!s.startsWith("$")).forEach(s=>{const a=eg(e.$cstNode,s).map(n);a.length!==0&&(i[s]=a)}),e}}linkNode(e,n,r,i,s,a){for(const[c,l]of Object.entries(e))if(Array.isArray(l))for(let u=0;u<l.length;u++){const f=l[u];wu(f)?l[u]=this.reviveReference(e,c,n,f,r):Ve(f)&&this.linkNode(f,n,r,e,c,u)}else wu(l)?e[c]=this.reviveReference(e,c,n,l,r):Ve(l)&&this.linkNode(l,n,r,e,c);const o=e;o.$container=i,o.$containerProperty=s,o.$containerIndex=a}reviveReference(e,n,r,i,s){let a=i.$refText,o=i.$error,c;if(i.$ref){const l=this.getRefNode(r,i.$ref,s.uriConverter);if(Ve(l))return a||(a=this.nameProvider.getName(l)),{$refText:a??"",ref:l};o=l}else if(i.$refs){const l=[];for(const u of i.$refs){const f=this.getRefNode(r,u,s.uriConverter);Ve(f)&&l.push({ref:f})}if(l.length===0)c={$refText:a??"",items:l},o??(o="Could not resolve multi-reference");else return{$refText:a??"",items:l}}if(o)return c??(c={$refText:a??"",ref:void 0}),c.error={info:{container:e,property:n,reference:c},message:o},c}getRefNode(e,n,r){try{const i=n.indexOf("#");if(i===0){const c=this.astNodeLocator.getAstNode(e,n.substring(1));return c||"Could not resolve path: "+n}if(i<0){const c=r?r(n):wt.parse(n),l=this.langiumDocuments.getDocument(c);return l?l.parseResult.value:"Could not find document for URI: "+n}const s=r?r(n.substring(0,i)):wt.parse(n.substring(0,i)),a=this.langiumDocuments.getDocument(s);if(!a)return"Could not find document for URI: "+n;if(i===n.length-1)return a.parseResult.value;const o=this.astNodeLocator.getAstNode(a.parseResult.value,n.substring(i+1));return o||"Could not resolve URI: "+n}catch(i){return String(i)}}}class tv{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){const n=e.LanguageMetaData;for(const r of n.fileExtensions)this.fileExtensionMap.has(r)&&console.warn(`The file extension ${r} is used by multiple languages. It is now assigned to '${n.languageId}'.`),this.fileExtensionMap.set(r,e);if(n.fileNames)for(const r of n.fileNames)this.fileNameMap.has(r)&&console.warn(`The file name ${r} is used by multiple languages. It is now assigned to '${n.languageId}'.`),this.fileNameMap.set(r,e);this.languageIdMap.set(n.languageId,e)}getServices(e){if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");const n=this.textDocuments?.get(e)?.languageId;if(n!==void 0){const a=this.languageIdMap.get(n);if(a)return a}const r=lt.extname(e),i=lt.basename(e),s=this.fileNameMap.get(i)??this.fileExtensionMap.get(r);if(!s)throw n?new Error(`The service registry contains no services for the extension '${r}' for language '${n}'.`):new Error(`The service registry contains no services for the extension '${r}'.`);return s}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}}function Ei(t){return{code:t}}var zc;(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(zc||(zc={}));class nv{constructor(e){this.entries=new Di,this.knownCategories=new Set(zc.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,n=this,r="fast"){if(r==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");this.knownCategories.add(r);for(const[i,s]of Object.entries(e)){const a=s;if(Array.isArray(a))for(const o of a){const c={check:this.wrapValidationException(o,n),category:r};this.addEntry(i,c)}else if(typeof a=="function"){const o={check:this.wrapValidationException(a,n),category:r};this.addEntry(i,o)}else Bi()}}wrapValidationException(e,n){return async(r,i,s)=>{await this.handleException(()=>e.call(n,r,i,s),"An error occurred during validation",i,r)}}async handleException(e,n,r,i){try{await e()}catch(s){if($a(s))throw s;console.error(`${n}:`,s),s instanceof Error&&s.stack&&console.error(s.stack);const a=s instanceof Error?s.message:String(s);r("error",`${n}: ${a}`,{node:i})}}addEntry(e,n){if(e==="AstNode"){this.entries.add("AstNode",n);return}for(const r of this.reflection.getAllSubTypes(e))this.entries.add(r,n)}getChecks(e,n){let r=he(this.entries.get(e)).concat(this.entries.get("AstNode"));return n&&(r=r.filter(i=>n.includes(i.category))),r.map(i=>i.check)}registerBeforeDocument(e,n=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",n))}registerAfterDocument(e,n=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",n))}wrapPreparationException(e,n,r){return async(i,s,a,o)=>{await this.handleException(()=>e.call(r,i,s,a,o),n,s,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}}const rv=Object.freeze({validateNode:!0,validateChildren:!0});class iv{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,n={},r=me.None){const i=e.parseResult,s=[];if(await Ye(r),(!n.categories||n.categories.includes("built-in"))&&(this.processLexingErrors(i,s,n),n.stopAfterLexingErrors&&s.some(a=>a.data?.code===St.LexingError)||(this.processParsingErrors(i,s,n),n.stopAfterParsingErrors&&s.some(a=>a.data?.code===St.ParsingError))||(this.processLinkingErrors(e,s,n),n.stopAfterLinkingErrors&&s.some(a=>a.data?.code===St.LinkingError))))return s;try{s.push(...await this.validateAst(i.value,n,r))}catch(a){if($a(a))throw a;console.error("An error occurred during validation:",a)}return await Ye(r),s}processLexingErrors(e,n,r){const i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(const s of i){const a=s.severity??"error",o={severity:to(a),range:{start:{line:s.line-1,character:s.column-1},end:{line:s.line-1,character:s.column+s.length-1}},message:s.message,data:av(a),source:this.getSource()};n.push(o)}}processParsingErrors(e,n,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=Ao(i.token);if(s){const a={severity:to("error"),range:s,message:i.message,data:Ei(St.ParsingError),source:this.getSource()};n.push(a)}}}processLinkingErrors(e,n,r){for(const i of e.references){const s=i.error;if(s){const a={node:s.info.container,range:i.$refNode?.range,property:s.info.property,index:s.info.index,data:{code:St.LinkingError,containerType:s.info.container.$type,property:s.info.property,refText:s.info.reference.$refText}};n.push(this.toDiagnostic("error",s.message,a))}}}async validateAst(e,n,r=me.None){const i=[],s=(a,o,c)=>{i.push(this.toDiagnostic(a,o,c))};return await this.validateAstBefore(e,n,s,r),await this.validateAstNodes(e,n,s,r),await this.validateAstAfter(e,n,s,r),i}async validateAstBefore(e,n,r,i=me.None){const s=this.validationRegistry.checksBefore;for(const a of s)await Ye(i),await a(e,r,n.categories??[],i)}async validateAstNodes(e,n,r,i=me.None){if(this.profiler?.isActive("validating")){const s=this.profiler.createTask("validating",this.languageId);s.start();try{const a=Zt(e).iterator();for(const o of a){s.startSubTask(o.$type);const c=this.validateSingleNodeOptions(o,n);if(c.validateNode)try{const l=this.validationRegistry.getChecks(o.$type,n.categories);for(const u of l)await u(o,r,i)}finally{s.stopSubTask(o.$type)}c.validateChildren||a.prune()}}finally{s.stop()}}else{const s=Zt(e).iterator();for(const a of s){await Ye(i);const o=this.validateSingleNodeOptions(a,n);if(o.validateNode){const c=this.validationRegistry.getChecks(a.$type,n.categories);for(const l of c)await l(a,r,i)}o.validateChildren||s.prune()}}}validateSingleNodeOptions(e,n){return rv}async validateAstAfter(e,n,r,i=me.None){const s=this.validationRegistry.checksAfter;for(const a of s)await Ye(i),await a(e,r,n.categories??[],i)}toDiagnostic(e,n,r){return{message:n,range:sv(r),severity:to(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 sv(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=Of(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=tg(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function to(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function av(t){switch(t){case"error":return Ei(St.LexingError);case"warning":return Ei(St.LexingWarning);case"info":return Ei(St.LexingInfo);case"hint":return Ei(St.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var St;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(St||(St={}));class ov{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,n,r){const i=r??Qt(e);n??(n=this.nameProvider.getName(e));const s=this.astNodeLocator.getAstNodePath(e);if(!n)throw new Error(`Node at path ${s} has no name.`);let a;const o=()=>a??(a=Bs(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:n,get nameSegment(){return o()},selectionSegment:Bs(e.$cstNode),type:e.$type,documentUri:i.uri,path:s}}}class cv{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,n=me.None){const r=[],i=e.parseResult.value;for(const s of Zt(i))await Ye(n),js(s).forEach(a=>{a.reference.error||r.push(...this.createInfoDescriptions(a))});return r}createInfoDescriptions(e){const n=e.reference;if(n.error||!n.$refNode)return[];let r=[];kt(n)&&n.$nodeDescription?r=[n.$nodeDescription]:fn(n)&&(r=n.items.map(c=>c.$nodeDescription).filter(c=>c!==void 0));const i=Qt(e.container).uri,s=this.nodeLocator.getAstNodePath(e.container),a=[],o=Bs(n.$refNode);for(const c of r)a.push({sourceUri:i,sourcePath:s,targetUri:c.documentUri,targetPath:c.path,segment:o,local:lt.equals(c.documentUri,i)});return a}}class lv{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const n=this.getAstNodePath(e.$container),r=this.getPathSegment(e);return n+this.segmentSeparator+r}return""}getPathSegment({$containerProperty:e,$containerIndex:n}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return n!==void 0?e+this.indexSeparator+n:e}getAstNode(e,n){return n.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),c=parseInt(s.substring(a+1));return i[o]?.[c]}return i[s]},e)}}class uv{constructor(e){this._ready=new Nl,this.onConfigurationSectionUpdateEmitter=new Bh,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){const n=this.serviceRegistry.all;e.register({section:n.map(r=>this.toSectionName(r.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const n=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),r=await e.fetchConfiguration(n);n.forEach((i,s)=>{this.updateSectionConfiguration(i.section,r[s])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([n,r])=>{this.updateSectionConfiguration(n,r),this.onConfigurationSectionUpdateEmitter.fire({section:n,configuration:r})})}updateSectionConfiguration(e,n){this.settings[e]=n}async getConfiguration(e,n){await this.ready;const r=this.toSectionName(e);if(this.settings[r])return this.settings[r][n]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}var Ai={},Xn={},wl={},no={},G={},bu;function Hh(){if(bu)return G;bu=1,Object.defineProperty(G,"__esModule",{value:!0}),G.Message=G.NotificationType9=G.NotificationType8=G.NotificationType7=G.NotificationType6=G.NotificationType5=G.NotificationType4=G.NotificationType3=G.NotificationType2=G.NotificationType1=G.NotificationType0=G.NotificationType=G.RequestType9=G.RequestType8=G.RequestType7=G.RequestType6=G.RequestType5=G.RequestType4=G.RequestType3=G.RequestType2=G.RequestType1=G.RequestType=G.RequestType0=G.AbstractMessageSignature=G.ParameterStructures=G.ResponseError=G.ErrorCodes=void 0;const t=_e;var e;(function(T){T.ParseError=-32700,T.InvalidRequest=-32600,T.MethodNotFound=-32601,T.InvalidParams=-32602,T.InternalError=-32603,T.jsonrpcReservedErrorRangeStart=-32099,T.serverErrorStart=-32099,T.MessageWriteError=-32099,T.MessageReadError=-32098,T.PendingResponseRejected=-32097,T.ConnectionInactive=-32096,T.ServerNotInitialized=-32002,T.UnknownErrorCode=-32001,T.jsonrpcReservedErrorRangeEnd=-32e3,T.serverErrorEnd=-32e3})(e||(G.ErrorCodes=e={}));class n extends Error{constructor(m,A,y){super(A),this.code=t.number(m)?m:e.UnknownErrorCode,this.data=y,Object.setPrototypeOf(this,n.prototype)}toJson(){const m={code:this.code,message:this.message};return this.data!==void 0&&(m.data=this.data),m}}G.ResponseError=n;class r{constructor(m){this.kind=m}static is(m){return m===r.auto||m===r.byName||m===r.byPosition}toString(){return this.kind}}G.ParameterStructures=r,r.auto=new r("auto"),r.byPosition=new r("byPosition"),r.byName=new r("byName");class i{constructor(m,A){this.method=m,this.numberOfParams=A}get parameterStructures(){return r.auto}}G.AbstractMessageSignature=i;class s extends i{constructor(m){super(m,0)}}G.RequestType0=s;class a extends i{constructor(m,A=r.auto){super(m,1),this._parameterStructures=A}get parameterStructures(){return this._parameterStructures}}G.RequestType=a;class o extends i{constructor(m,A=r.auto){super(m,1),this._parameterStructures=A}get parameterStructures(){return this._parameterStructures}}G.RequestType1=o;class c extends i{constructor(m){super(m,2)}}G.RequestType2=c;class l extends i{constructor(m){super(m,3)}}G.RequestType3=l;class u extends i{constructor(m){super(m,4)}}G.RequestType4=u;class f extends i{constructor(m){super(m,5)}}G.RequestType5=f;class p extends i{constructor(m){super(m,6)}}G.RequestType6=p;class g extends i{constructor(m){super(m,7)}}G.RequestType7=g;class S extends i{constructor(m){super(m,8)}}G.RequestType8=S;class N extends i{constructor(m){super(m,9)}}G.RequestType9=N;class O extends i{constructor(m,A=r.auto){super(m,1),this._parameterStructures=A}get parameterStructures(){return this._parameterStructures}}G.NotificationType=O;class w extends i{constructor(m){super(m,0)}}G.NotificationType0=w;class L extends i{constructor(m,A=r.auto){super(m,1),this._parameterStructures=A}get parameterStructures(){return this._parameterStructures}}G.NotificationType1=L;class b extends i{constructor(m){super(m,2)}}G.NotificationType2=b;class D extends i{constructor(m){super(m,3)}}G.NotificationType3=D;class X extends i{constructor(m){super(m,4)}}G.NotificationType4=X;class ne extends i{constructor(m){super(m,5)}}G.NotificationType5=ne;class re extends i{constructor(m){super(m,6)}}G.NotificationType6=re;class ge extends i{constructor(m){super(m,7)}}G.NotificationType7=ge;class Ae extends i{constructor(m){super(m,8)}}G.NotificationType8=Ae;class Se extends i{constructor(m){super(m,9)}}G.NotificationType9=Se;var C;return(function(T){function m(R){const E=R;return E&&t.string(E.method)&&(t.string(E.id)||t.number(E.id))}T.isRequest=m;function A(R){const E=R;return E&&t.string(E.method)&&R.id===void 0}T.isNotification=A;function y(R){const E=R;return E&&(E.result!==void 0||!!E.error)&&(t.string(E.id)||t.number(E.id)||E.id===null)}T.isResponse=y})(C||(G.Message=C={})),G}var Bt={},_u;function Yh(){if(_u)return Bt;_u=1;var t;Object.defineProperty(Bt,"__esModule",{value:!0}),Bt.LRUCache=Bt.LinkedMap=Bt.Touch=void 0;var e;(function(i){i.None=0,i.First=1,i.AsOld=i.First,i.Last=2,i.AsNew=i.Last})(e||(Bt.Touch=e={}));class n{constructor(){this[t]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(s){return this._map.has(s)}get(s,a=e.None){const o=this._map.get(s);if(o)return a!==e.None&&this.touch(o,a),o.value}set(s,a,o=e.None){let c=this._map.get(s);if(c)c.value=a,o!==e.None&&this.touch(c,o);else{switch(c={key:s,value:a,next:void 0,previous:void 0},o){case e.None:this.addItemLast(c);break;case e.First:this.addItemFirst(c);break;case e.Last:this.addItemLast(c);break;default:this.addItemLast(c);break}this._map.set(s,c),this._size++}return this}delete(s){return!!this.remove(s)}remove(s){const a=this._map.get(s);if(a)return this._map.delete(s),this.removeItem(a),this._size--,a.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const s=this._head;return this._map.delete(s.key),this.removeItem(s),this._size--,s.value}forEach(s,a){const o=this._state;let c=this._head;for(;c;){if(a?s.bind(a)(c.value,c.key,this):s(c.value,c.key,this),this._state!==o)throw new Error("LinkedMap got modified during iteration.");c=c.next}}keys(){const s=this._state;let a=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==s)throw new Error("LinkedMap got modified during iteration.");if(a){const c={value:a.key,done:!1};return a=a.next,c}else return{value:void 0,done:!0}}};return o}values(){const s=this._state;let a=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==s)throw new Error("LinkedMap got modified during iteration.");if(a){const c={value:a.value,done:!1};return a=a.next,c}else return{value:void 0,done:!0}}};return o}entries(){const s=this._state;let a=this._head;const o={[Symbol.iterator]:()=>o,next:()=>{if(this._state!==s)throw new Error("LinkedMap got modified during iteration.");if(a){const c={value:[a.key,a.value],done:!1};return a=a.next,c}else return{value:void 0,done:!0}}};return o}[(t=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(s){if(s>=this.size)return;if(s===0){this.clear();return}let a=this._head,o=this.size;for(;a&&o>s;)this._map.delete(a.key),a=a.next,o--;this._head=a,this._size=o,a&&(a.previous=void 0),this._state++}addItemFirst(s){if(!this._head&&!this._tail)this._tail=s;else if(this._head)s.next=this._head,this._head.previous=s;else throw new Error("Invalid list");this._head=s,this._state++}addItemLast(s){if(!this._head&&!this._tail)this._head=s;else if(this._tail)s.previous=this._tail,this._tail.next=s;else throw new Error("Invalid list");this._tail=s,this._state++}removeItem(s){if(s===this._head&&s===this._tail)this._head=void 0,this._tail=void 0;else if(s===this._head){if(!s.next)throw new Error("Invalid list");s.next.previous=void 0,this._head=s.next}else if(s===this._tail){if(!s.previous)throw new Error("Invalid list");s.previous.next=void 0,this._tail=s.previous}else{const a=s.next,o=s.previous;if(!a||!o)throw new Error("Invalid list");a.previous=o,o.next=a}s.next=void 0,s.previous=void 0,this._state++}touch(s,a){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(a!==e.First&&a!==e.Last)){if(a===e.First){if(s===this._head)return;const o=s.next,c=s.previous;s===this._tail?(c.next=void 0,this._tail=c):(o.previous=c,c.next=o),s.previous=void 0,s.next=this._head,this._head.previous=s,this._head=s,this._state++}else if(a===e.Last){if(s===this._tail)return;const o=s.next,c=s.previous;s===this._head?(o.previous=void 0,this._head=o):(o.previous=c,c.next=o),s.next=void 0,s.previous=this._tail,this._tail.next=s,this._tail=s,this._state++}}}toJSON(){const s=[];return this.forEach((a,o)=>{s.push([o,a])}),s}fromJSON(s){this.clear();for(const[a,o]of s)this.set(a,o)}}Bt.LinkedMap=n;class r extends n{constructor(s,a=1){super(),this._limit=s,this._ratio=Math.min(Math.max(0,a),1)}get limit(){return this._limit}set limit(s){this._limit=s,this.checkTrim()}get ratio(){return this._ratio}set ratio(s){this._ratio=Math.min(Math.max(0,s),1),this.checkTrim()}get(s,a=e.AsNew){return super.get(s,a)}peek(s){return super.get(s,e.None)}set(s,a){return super.set(s,a,e.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}return Bt.LRUCache=r,Bt}var li={},Iu;function dv(){if(Iu)return li;Iu=1,Object.defineProperty(li,"__esModule",{value:!0}),li.Disposable=void 0;var t;return(function(e){function n(r){return{dispose:r}}e.create=n})(t||(li.Disposable=t={})),li}var $n={},$u;function fv(){if($u)return $n;$u=1,Object.defineProperty($n,"__esModule",{value:!0}),$n.SharedArrayReceiverStrategy=$n.SharedArraySenderStrategy=void 0;const t=En;var e;(function(a){a.Continue=0,a.Cancelled=1})(e||(e={}));class n{constructor(){this.buffers=new Map}enableCancellation(o){if(o.id===null)return;const c=new SharedArrayBuffer(4),l=new Int32Array(c,0,1);l[0]=e.Continue,this.buffers.set(o.id,c),o.$cancellationData=c}async sendCancellation(o,c){const l=this.buffers.get(c);if(l===void 0)return;const u=new Int32Array(l,0,1);Atomics.store(u,0,e.Cancelled)}cleanup(o){this.buffers.delete(o)}dispose(){this.buffers.clear()}}$n.SharedArraySenderStrategy=n;class r{constructor(o){this.data=new Int32Array(o,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===e.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}class i{constructor(o){this.token=new r(o)}cancel(){}dispose(){}}class s{constructor(){this.kind="request"}createCancellationTokenSource(o){const c=o.$cancellationData;return c===void 0?new t.CancellationTokenSource:new i(c)}}return $n.SharedArrayReceiverStrategy=s,$n}var qt={},ui={},Pu;function Xh(){if(Pu)return ui;Pu=1,Object.defineProperty(ui,"__esModule",{value:!0}),ui.Semaphore=void 0;const t=cn;class e{constructor(r=1){if(r<=0)throw new Error("Capacity must be greater than 0");this._capacity=r,this._active=0,this._waiting=[]}lock(r){return new Promise((i,s)=>{this._waiting.push({thunk:r,resolve:i,reject:s}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;const r=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const i=r.thunk();i instanceof Promise?i.then(s=>{this._active--,r.resolve(s),this.runNext()},s=>{this._active--,r.reject(s),this.runNext()}):(this._active--,r.resolve(i),this.runNext())}catch(i){this._active--,r.reject(i),this.runNext()}}}return ui.Semaphore=e,ui}var Lu;function hv(){if(Lu)return qt;Lu=1,Object.defineProperty(qt,"__esModule",{value:!0}),qt.ReadableStreamMessageReader=qt.AbstractMessageReader=qt.MessageReader=void 0;const t=cn,e=_e,n=Ft,r=Xh();var i;(function(c){function l(u){let f=u;return f&&e.func(f.listen)&&e.func(f.dispose)&&e.func(f.onError)&&e.func(f.onClose)&&e.func(f.onPartialMessage)}c.is=l})(i||(qt.MessageReader=i={}));class s{constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter,this.partialMessageEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(l){this.errorEmitter.fire(this.asError(l))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(l){this.partialMessageEmitter.fire(l)}asError(l){return l instanceof Error?l:new Error(`Reader received error. Reason: ${e.string(l.message)?l.message:"unknown"}`)}}qt.AbstractMessageReader=s;var a;(function(c){function l(u){let f,p;const g=new Map;let S;const N=new Map;if(u===void 0||typeof u=="string")f=u??"utf-8";else{if(f=u.charset??"utf-8",u.contentDecoder!==void 0&&(p=u.contentDecoder,g.set(p.name,p)),u.contentDecoders!==void 0)for(const O of u.contentDecoders)g.set(O.name,O);if(u.contentTypeDecoder!==void 0&&(S=u.contentTypeDecoder,N.set(S.name,S)),u.contentTypeDecoders!==void 0)for(const O of u.contentTypeDecoders)N.set(O.name,O)}return S===void 0&&(S=(0,t.default)().applicationJson.decoder,N.set(S.name,S)),{charset:f,contentDecoder:p,contentDecoders:g,contentTypeDecoder:S,contentTypeDecoders:N}}c.fromOptions=l})(a||(a={}));class o extends s{constructor(l,u){super(),this.readable=l,this.options=a.fromOptions(u),this.buffer=(0,t.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new r.Semaphore(1)}set partialMessageTimeout(l){this._partialMessageTimeout=l}get partialMessageTimeout(){return this._partialMessageTimeout}listen(l){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=l;const u=this.readable.onData(f=>{this.onData(f)});return this.readable.onError(f=>this.fireError(f)),this.readable.onClose(()=>this.fireClose()),u}onData(l){try{for(this.buffer.append(l);;){if(this.nextMessageLength===-1){const f=this.buffer.tryReadHeaders(!0);if(!f)return;const p=f.get("content-length");if(!p){this.fireError(new Error(`Header must provide a Content-Length property.
120
+ ${JSON.stringify(Object.fromEntries(f))}`));return}const g=parseInt(p);if(isNaN(g)){this.fireError(new Error(`Content-Length value must be a number. Got ${p}`));return}this.nextMessageLength=g}const u=this.buffer.tryReadBody(this.nextMessageLength);if(u===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{const f=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(u):u,p=await this.options.contentTypeDecoder.decode(f,this.options);this.callback(p)}).catch(f=>{this.fireError(f)})}}catch(u){this.fireError(u)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,t.default)().timer.setTimeout((l,u)=>{this.partialMessageTimer=void 0,l===this.messageToken&&(this.firePartialMessage({messageToken:l,waitingTime:u}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}return qt.ReadableStreamMessageReader=o,qt}var Wt={},Ou;function pv(){if(Ou)return Wt;Ou=1,Object.defineProperty(Wt,"__esModule",{value:!0}),Wt.WriteableStreamMessageWriter=Wt.AbstractMessageWriter=Wt.MessageWriter=void 0;const t=cn,e=_e,n=Xh(),r=Ft,i="Content-Length: ",s=`\r
121
+ `;var a;(function(u){function f(p){let g=p;return g&&e.func(g.dispose)&&e.func(g.onClose)&&e.func(g.onError)&&e.func(g.write)}u.is=f})(a||(Wt.MessageWriter=a={}));class o{constructor(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(f,p,g){this.errorEmitter.fire([this.asError(f),p,g])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(f){return f instanceof Error?f:new Error(`Writer received error. Reason: ${e.string(f.message)?f.message:"unknown"}`)}}Wt.AbstractMessageWriter=o;var c;(function(u){function f(p){return p===void 0||typeof p=="string"?{charset:p??"utf-8",contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:p.charset??"utf-8",contentEncoder:p.contentEncoder,contentTypeEncoder:p.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}u.fromOptions=f})(c||(c={}));class l extends o{constructor(f,p){super(),this.writable=f,this.options=c.fromOptions(p),this.errorCount=0,this.writeSemaphore=new n.Semaphore(1),this.writable.onError(g=>this.fireError(g)),this.writable.onClose(()=>this.fireClose())}async write(f){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(f,this.options).then(g=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(g):g).then(g=>{const S=[];return S.push(i,g.byteLength.toString(),s),S.push(s),this.doWrite(f,S,g)},g=>{throw this.fireError(g),g}))}async doWrite(f,p,g){try{return await this.writable.write(p.join(""),"ascii"),this.writable.write(g)}catch(S){return this.handleError(S,f),Promise.reject(S)}}handleError(f,p){this.errorCount++,this.fireError(f,p,this.errorCount)}end(){this.writable.end()}}return Wt.WriteableStreamMessageWriter=l,Wt}var di={},xu;function mv(){if(xu)return di;xu=1,Object.defineProperty(di,"__esModule",{value:!0}),di.AbstractMessageBuffer=void 0;const t=13,e=10,n=`\r
122
+ `;class r{constructor(s="utf-8"){this._encoding=s,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(s){const a=typeof s=="string"?this.fromString(s,this._encoding):s;this._chunks.push(a),this._totalLength+=a.byteLength}tryReadHeaders(s=!1){if(this._chunks.length===0)return;let a=0,o=0,c=0,l=0;e:for(;o<this._chunks.length;){const g=this._chunks[o];for(c=0;c<g.length;){switch(g[c]){case t:switch(a){case 0:a=1;break;case 2:a=3;break;default:a=0}break;case e:switch(a){case 1:a=2;break;case 3:a=4,c++;break e;default:a=0}break;default:a=0}c++}l+=g.byteLength,o++}if(a!==4)return;const u=this._read(l+c),f=new Map,p=this.toString(u,"ascii").split(n);if(p.length<2)return f;for(let g=0;g<p.length-2;g++){const S=p[g],N=S.indexOf(":");if(N===-1)throw new Error(`Message header must separate key and value using ':'
123
+ ${S}`);const O=S.substr(0,N),w=S.substr(N+1).trim();f.set(s?O.toLowerCase():O,w)}return f}tryReadBody(s){if(!(this._totalLength<s))return this._read(s)}get numberOfBytes(){return this._totalLength}_read(s){if(s===0)return this.emptyBuffer();if(s>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===s){const l=this._chunks[0];return this._chunks.shift(),this._totalLength-=s,this.asNative(l)}if(this._chunks[0].byteLength>s){const l=this._chunks[0],u=this.asNative(l,s);return this._chunks[0]=l.slice(s),this._totalLength-=s,u}const a=this.allocNative(s);let o=0,c=0;for(;s>0;){const l=this._chunks[c];if(l.byteLength>s){const u=l.slice(0,s);a.set(u,o),o+=s,this._chunks[c]=l.slice(s),this._totalLength-=s,s-=s}else a.set(l,o),o+=l.byteLength,this._chunks.shift(),this._totalLength-=l.byteLength,s-=l.byteLength}return a}}return di.AbstractMessageBuffer=r,di}var ro={},Du;function gv(){return Du||(Du=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.RequestCancellationReceiverStrategy=t.IdCancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=t.NullLogger=t.ProgressType=t.ProgressToken=void 0;const e=cn,n=_e,r=Hh(),i=Yh(),s=Ft,a=En;var o;(function(m){m.type=new r.NotificationType("$/cancelRequest")})(o||(o={}));var c;(function(m){function A(y){return typeof y=="string"||typeof y=="number"}m.is=A})(c||(t.ProgressToken=c={}));var l;(function(m){m.type=new r.NotificationType("$/progress")})(l||(l={}));class u{constructor(){}}t.ProgressType=u;var f;(function(m){function A(y){return n.func(y)}m.is=A})(f||(f={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var p;(function(m){m[m.Off=0]="Off",m[m.Messages=1]="Messages",m[m.Compact=2]="Compact",m[m.Verbose=3]="Verbose"})(p||(t.Trace=p={}));var g;(function(m){m.Off="off",m.Messages="messages",m.Compact="compact",m.Verbose="verbose"})(g||(t.TraceValues=g={})),(function(m){function A(R){if(!n.string(R))return m.Off;switch(R=R.toLowerCase(),R){case"off":return m.Off;case"messages":return m.Messages;case"compact":return m.Compact;case"verbose":return m.Verbose;default:return m.Off}}m.fromString=A;function y(R){switch(R){case m.Off:return"off";case m.Messages:return"messages";case m.Compact:return"compact";case m.Verbose:return"verbose";default:return"off"}}m.toString=y})(p||(t.Trace=p={}));var S;(function(m){m.Text="text",m.JSON="json"})(S||(t.TraceFormat=S={})),(function(m){function A(y){return n.string(y)?(y=y.toLowerCase(),y==="json"?m.JSON:m.Text):m.Text}m.fromString=A})(S||(t.TraceFormat=S={}));var N;(function(m){m.type=new r.NotificationType("$/setTrace")})(N||(t.SetTraceNotification=N={}));var O;(function(m){m.type=new r.NotificationType("$/logTrace")})(O||(t.LogTraceNotification=O={}));var w;(function(m){m[m.Closed=1]="Closed",m[m.Disposed=2]="Disposed",m[m.AlreadyListening=3]="AlreadyListening"})(w||(t.ConnectionErrors=w={}));class L extends Error{constructor(A,y){super(y),this.code=A,Object.setPrototypeOf(this,L.prototype)}}t.ConnectionError=L;var b;(function(m){function A(y){const R=y;return R&&n.func(R.cancelUndispatched)}m.is=A})(b||(t.ConnectionStrategy=b={}));var D;(function(m){function A(y){const R=y;return R&&(R.kind===void 0||R.kind==="id")&&n.func(R.createCancellationTokenSource)&&(R.dispose===void 0||n.func(R.dispose))}m.is=A})(D||(t.IdCancellationReceiverStrategy=D={}));var X;(function(m){function A(y){const R=y;return R&&R.kind==="request"&&n.func(R.createCancellationTokenSource)&&(R.dispose===void 0||n.func(R.dispose))}m.is=A})(X||(t.RequestCancellationReceiverStrategy=X={}));var ne;(function(m){m.Message=Object.freeze({createCancellationTokenSource(y){return new a.CancellationTokenSource}});function A(y){return D.is(y)||X.is(y)}m.is=A})(ne||(t.CancellationReceiverStrategy=ne={}));var re;(function(m){m.Message=Object.freeze({sendCancellation(y,R){return y.sendNotification(o.type,{id:R})},cleanup(y){}});function A(y){const R=y;return R&&n.func(R.sendCancellation)&&n.func(R.cleanup)}m.is=A})(re||(t.CancellationSenderStrategy=re={}));var ge;(function(m){m.Message=Object.freeze({receiver:ne.Message,sender:re.Message});function A(y){const R=y;return R&&ne.is(R.receiver)&&re.is(R.sender)}m.is=A})(ge||(t.CancellationStrategy=ge={}));var Ae;(function(m){function A(y){const R=y;return R&&n.func(R.handleMessage)}m.is=A})(Ae||(t.MessageStrategy=Ae={}));var Se;(function(m){function A(y){const R=y;return R&&(ge.is(R.cancellationStrategy)||b.is(R.connectionStrategy)||Ae.is(R.messageStrategy))}m.is=A})(Se||(t.ConnectionOptions=Se={}));var C;(function(m){m[m.New=1]="New",m[m.Listening=2]="Listening",m[m.Closed=3]="Closed",m[m.Disposed=4]="Disposed"})(C||(C={}));function T(m,A,y,R){const E=y!==void 0?y:t.NullLogger;let $=0,x=0,P=0;const j="2.0";let q;const se=new Map;let V;const Ie=new Map,te=new Map;let $e,Me=new i.LinkedMap,de=new Map,Fe=new Set,ke=new Map,K=p.Off,Oe=S.Text,ce,et=C.New;const Zn=new s.Emitter,Wr=new s.Emitter,Vr=new s.Emitter,Kr=new s.Emitter,Hr=new s.Emitter,vt=R&&R.cancellationStrategy?R.cancellationStrategy:ge.Message;function Yr(h){if(h===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+h.toString()}function Yi(h){return h===null?"res-unknown-"+(++P).toString():"res-"+h.toString()}function Xi(){return"not-"+(++x).toString()}function Ji(h,k){r.Message.isRequest(k)?h.set(Yr(k.id),k):r.Message.isResponse(k)?h.set(Yi(k.id),k):h.set(Xi(),k)}function Qi(h){}function Xr(){return et===C.Listening}function Jr(){return et===C.Closed}function jt(){return et===C.Disposed}function Qr(){(et===C.New||et===C.Listening)&&(et=C.Closed,Wr.fire(void 0))}function Zi(h){Zn.fire([h,void 0,void 0])}function es(h){Zn.fire(h)}m.onClose(Qr),m.onError(Zi),A.onClose(Qr),A.onError(es);function Zr(){$e||Me.size===0||($e=(0,e.default)().timer.setImmediate(()=>{$e=void 0,ts()}))}function ei(h){r.Message.isRequest(h)?rs(h):r.Message.isNotification(h)?ss(h):r.Message.isResponse(h)?is(h):as(h)}function ts(){if(Me.size===0)return;const h=Me.shift();try{const k=R?.messageStrategy;Ae.is(k)?k.handleMessage(h,ei):ei(h)}finally{Zr()}}const ns=h=>{try{if(r.Message.isNotification(h)&&h.method===o.type.method){const k=h.params.id,I=Yr(k),F=Me.get(I);if(r.Message.isRequest(F)){const ae=R?.connectionStrategy,ye=ae&&ae.cancelUndispatched?ae.cancelUndispatched(F,Qi):void 0;if(ye&&(ye.error!==void 0||ye.result!==void 0)){Me.delete(I),ke.delete(k),ye.id=F.id,bn(ye,h.method,Date.now()),A.write(ye).catch(()=>E.error("Sending response for canceled message failed."));return}}const le=ke.get(k);if(le!==void 0){le.cancel(),er(h);return}else Fe.add(k)}Ji(Me,h)}finally{Zr()}};function rs(h){if(jt())return;function k(Q,fe,ie){const Pe={jsonrpc:j,id:h.id};Q instanceof r.ResponseError?Pe.error=Q.toJson():Pe.result=Q===void 0?null:Q,bn(Pe,fe,ie),A.write(Pe).catch(()=>E.error("Sending response failed."))}function I(Q,fe,ie){const Pe={jsonrpc:j,id:h.id,error:Q.toJson()};bn(Pe,fe,ie),A.write(Pe).catch(()=>E.error("Sending response failed."))}function F(Q,fe,ie){Q===void 0&&(Q=null);const Pe={jsonrpc:j,id:h.id,result:Q};bn(Pe,fe,ie),A.write(Pe).catch(()=>E.error("Sending response failed."))}ls(h);const le=se.get(h.method);let ae,ye;le&&(ae=le.type,ye=le.handler);const we=Date.now();if(ye||q){const Q=h.id??String(Date.now()),fe=D.is(vt.receiver)?vt.receiver.createCancellationTokenSource(Q):vt.receiver.createCancellationTokenSource(h);h.id!==null&&Fe.has(h.id)&&fe.cancel(),h.id!==null&&ke.set(Q,fe);try{let ie;if(ye)if(h.params===void 0){if(ae!==void 0&&ae.numberOfParams!==0){I(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${h.method} defines ${ae.numberOfParams} params but received none.`),h.method,we);return}ie=ye(fe.token)}else if(Array.isArray(h.params)){if(ae!==void 0&&ae.parameterStructures===r.ParameterStructures.byName){I(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${h.method} defines parameters by name but received parameters by position`),h.method,we);return}ie=ye(...h.params,fe.token)}else{if(ae!==void 0&&ae.parameterStructures===r.ParameterStructures.byPosition){I(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${h.method} defines parameters by position but received parameters by name`),h.method,we);return}ie=ye(h.params,fe.token)}else q&&(ie=q(h.method,h.params,fe.token));const Pe=ie;ie?Pe.then?Pe.then(He=>{ke.delete(Q),k(He,h.method,we)},He=>{ke.delete(Q),He instanceof r.ResponseError?I(He,h.method,we):He&&n.string(He.message)?I(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${h.method} failed with message: ${He.message}`),h.method,we):I(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${h.method} failed unexpectedly without providing any details.`),h.method,we)}):(ke.delete(Q),k(ie,h.method,we)):(ke.delete(Q),F(ie,h.method,we))}catch(ie){ke.delete(Q),ie instanceof r.ResponseError?k(ie,h.method,we):ie&&n.string(ie.message)?I(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${h.method} failed with message: ${ie.message}`),h.method,we):I(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${h.method} failed unexpectedly without providing any details.`),h.method,we)}}else I(new r.ResponseError(r.ErrorCodes.MethodNotFound,`Unhandled method ${h.method}`),h.method,we)}function is(h){if(!jt())if(h.id===null)h.error?E.error(`Received response message without id: Error is:
124
+ ${JSON.stringify(h.error,void 0,4)}`):E.error("Received response message without id. No further error information provided.");else{const k=h.id,I=de.get(k);if(us(h,I),I!==void 0){de.delete(k);try{if(h.error){const F=h.error;I.reject(new r.ResponseError(F.code,F.message,F.data))}else if(h.result!==void 0)I.resolve(h.result);else throw new Error("Should never happen.")}catch(F){F.message?E.error(`Response handler '${I.method}' failed with message: ${F.message}`):E.error(`Response handler '${I.method}' failed unexpectedly.`)}}}}function ss(h){if(jt())return;let k,I;if(h.method===o.type.method){const F=h.params.id;Fe.delete(F),er(h);return}else{const F=Ie.get(h.method);F&&(I=F.handler,k=F.type)}if(I||V)try{if(er(h),I)if(h.params===void 0)k!==void 0&&k.numberOfParams!==0&&k.parameterStructures!==r.ParameterStructures.byName&&E.error(`Notification ${h.method} defines ${k.numberOfParams} params but received none.`),I();else if(Array.isArray(h.params)){const F=h.params;h.method===l.type.method&&F.length===2&&c.is(F[0])?I({token:F[0],value:F[1]}):(k!==void 0&&(k.parameterStructures===r.ParameterStructures.byName&&E.error(`Notification ${h.method} defines parameters by name but received parameters by position`),k.numberOfParams!==h.params.length&&E.error(`Notification ${h.method} defines ${k.numberOfParams} params but received ${F.length} arguments`)),I(...F))}else k!==void 0&&k.parameterStructures===r.ParameterStructures.byPosition&&E.error(`Notification ${h.method} defines parameters by position but received parameters by name`),I(h.params);else V&&V(h.method,h.params)}catch(F){F.message?E.error(`Notification handler '${h.method}' failed with message: ${F.message}`):E.error(`Notification handler '${h.method}' failed unexpectedly.`)}else Vr.fire(h)}function as(h){if(!h){E.error("Received empty message.");return}E.error(`Received message which is neither a response nor a notification message:
125
+ ${JSON.stringify(h,null,4)}`);const k=h;if(n.string(k.id)||n.number(k.id)){const I=k.id,F=de.get(I);F&&F.reject(new Error("The received response has neither a result nor an error property."))}}function Et(h){if(h!=null)switch(K){case p.Verbose:return JSON.stringify(h,null,4);case p.Compact:return JSON.stringify(h);default:return}}function os(h){if(!(K===p.Off||!ce))if(Oe===S.Text){let k;(K===p.Verbose||K===p.Compact)&&h.params&&(k=`Params: ${Et(h.params)}
126
+
127
+ `),ce.log(`Sending request '${h.method} - (${h.id})'.`,k)}else zt("send-request",h)}function cs(h){if(!(K===p.Off||!ce))if(Oe===S.Text){let k;(K===p.Verbose||K===p.Compact)&&(h.params?k=`Params: ${Et(h.params)}
128
+
129
+ `:k=`No parameters provided.
130
+
131
+ `),ce.log(`Sending notification '${h.method}'.`,k)}else zt("send-notification",h)}function bn(h,k,I){if(!(K===p.Off||!ce))if(Oe===S.Text){let F;(K===p.Verbose||K===p.Compact)&&(h.error&&h.error.data?F=`Error data: ${Et(h.error.data)}
132
+
133
+ `:h.result?F=`Result: ${Et(h.result)}
134
+
135
+ `:h.error===void 0&&(F=`No result returned.
136
+
137
+ `)),ce.log(`Sending response '${k} - (${h.id})'. Processing request took ${Date.now()-I}ms`,F)}else zt("send-response",h)}function ls(h){if(!(K===p.Off||!ce))if(Oe===S.Text){let k;(K===p.Verbose||K===p.Compact)&&h.params&&(k=`Params: ${Et(h.params)}
138
+
139
+ `),ce.log(`Received request '${h.method} - (${h.id})'.`,k)}else zt("receive-request",h)}function er(h){if(!(K===p.Off||!ce||h.method===O.type.method))if(Oe===S.Text){let k;(K===p.Verbose||K===p.Compact)&&(h.params?k=`Params: ${Et(h.params)}
140
+
141
+ `:k=`No parameters provided.
142
+
143
+ `),ce.log(`Received notification '${h.method}'.`,k)}else zt("receive-notification",h)}function us(h,k){if(!(K===p.Off||!ce))if(Oe===S.Text){let I;if((K===p.Verbose||K===p.Compact)&&(h.error&&h.error.data?I=`Error data: ${Et(h.error.data)}
144
+
145
+ `:h.result?I=`Result: ${Et(h.result)}
146
+
147
+ `:h.error===void 0&&(I=`No result returned.
148
+
149
+ `)),k){const F=h.error?` Request failed: ${h.error.message} (${h.error.code}).`:"";ce.log(`Received response '${k.method} - (${h.id})' in ${Date.now()-k.timerStart}ms.${F}`,I)}else ce.log(`Received response ${h.id} without active response promise.`,I)}else zt("receive-response",h)}function zt(h,k){if(!ce||K===p.Off)return;const I={isLSPMessage:!0,type:h,message:k,timestamp:Date.now()};ce.log(I)}function ln(){if(Jr())throw new L(w.Closed,"Connection is closed.");if(jt())throw new L(w.Disposed,"Connection is disposed.")}function ds(){if(Xr())throw new L(w.AlreadyListening,"Connection is already listening")}function fs(){if(!Xr())throw new Error("Call listen() first.")}function un(h){return h===void 0?null:h}function ti(h){if(h!==null)return h}function d(h){return h!=null&&!Array.isArray(h)&&typeof h=="object"}function Ce(h,k){switch(h){case r.ParameterStructures.auto:return d(k)?ti(k):[un(k)];case r.ParameterStructures.byName:if(!d(k))throw new Error("Received parameters by name but param is not an object literal.");return ti(k);case r.ParameterStructures.byPosition:return[un(k)];default:throw new Error(`Unknown parameter structure ${h.toString()}`)}}function Ne(h,k){let I;const F=h.numberOfParams;switch(F){case 0:I=void 0;break;case 1:I=Ce(h.parameterStructures,k[0]);break;default:I=[];for(let le=0;le<k.length&&le<F;le++)I.push(un(k[le]));if(k.length<F)for(let le=k.length;le<F;le++)I.push(null);break}return I}const W={sendNotification:(h,...k)=>{ln();let I,F;if(n.string(h)){I=h;const ae=k[0];let ye=0,we=r.ParameterStructures.auto;r.ParameterStructures.is(ae)&&(ye=1,we=ae);let Q=k.length;const fe=Q-ye;switch(fe){case 0:F=void 0;break;case 1:F=Ce(we,k[ye]);break;default:if(we===r.ParameterStructures.byName)throw new Error(`Received ${fe} parameters for 'by Name' notification parameter structure.`);F=k.slice(ye,Q).map(ie=>un(ie));break}}else{const ae=k;I=h.method,F=Ne(h,ae)}const le={jsonrpc:j,method:I,params:F};return cs(le),A.write(le).catch(ae=>{throw E.error("Sending notification failed."),ae})},onNotification:(h,k)=>{ln();let I;return n.func(h)?V=h:k&&(n.string(h)?(I=h,Ie.set(h,{type:void 0,handler:k})):(I=h.method,Ie.set(h.method,{type:h,handler:k}))),{dispose:()=>{I!==void 0?Ie.delete(I):V=void 0}}},onProgress:(h,k,I)=>{if(te.has(k))throw new Error(`Progress handler for token ${k} already registered`);return te.set(k,I),{dispose:()=>{te.delete(k)}}},sendProgress:(h,k,I)=>W.sendNotification(l.type,{token:k,value:I}),onUnhandledProgress:Kr.event,sendRequest:(h,...k)=>{ln(),fs();let I,F,le;if(n.string(h)){I=h;const Q=k[0],fe=k[k.length-1];let ie=0,Pe=r.ParameterStructures.auto;r.ParameterStructures.is(Q)&&(ie=1,Pe=Q);let He=k.length;a.CancellationToken.is(fe)&&(He=He-1,le=fe);const $t=He-ie;switch($t){case 0:F=void 0;break;case 1:F=Ce(Pe,k[ie]);break;default:if(Pe===r.ParameterStructures.byName)throw new Error(`Received ${$t} parameters for 'by Name' request parameter structure.`);F=k.slice(ie,He).map(Np=>un(Np));break}}else{const Q=k;I=h.method,F=Ne(h,Q);const fe=h.numberOfParams;le=a.CancellationToken.is(Q[fe])?Q[fe]:void 0}const ae=$++;let ye;le&&(ye=le.onCancellationRequested(()=>{const Q=vt.sender.sendCancellation(W,ae);return Q===void 0?(E.log(`Received no promise from cancellation strategy when cancelling id ${ae}`),Promise.resolve()):Q.catch(()=>{E.log(`Sending cancellation messages for id ${ae} failed`)})}));const we={jsonrpc:j,id:ae,method:I,params:F};return os(we),typeof vt.sender.enableCancellation=="function"&&vt.sender.enableCancellation(we),new Promise(async(Q,fe)=>{const ie=$t=>{Q($t),vt.sender.cleanup(ae),ye?.dispose()},Pe=$t=>{fe($t),vt.sender.cleanup(ae),ye?.dispose()},He={method:I,timerStart:Date.now(),resolve:ie,reject:Pe};try{await A.write(we),de.set(ae,He)}catch($t){throw E.error("Sending request failed."),He.reject(new r.ResponseError(r.ErrorCodes.MessageWriteError,$t.message?$t.message:"Unknown reason")),$t}})},onRequest:(h,k)=>{ln();let I=null;return f.is(h)?(I=void 0,q=h):n.string(h)?(I=null,k!==void 0&&(I=h,se.set(h,{handler:k,type:void 0}))):k!==void 0&&(I=h.method,se.set(h.method,{type:h,handler:k})),{dispose:()=>{I!==null&&(I!==void 0?se.delete(I):q=void 0)}}},hasPendingResponse:()=>de.size>0,trace:async(h,k,I)=>{let F=!1,le=S.Text;I!==void 0&&(n.boolean(I)?F=I:(F=I.sendNotification||!1,le=I.traceFormat||S.Text)),K=h,Oe=le,K===p.Off?ce=void 0:ce=k,F&&!Jr()&&!jt()&&await W.sendNotification(N.type,{value:p.toString(h)})},onError:Zn.event,onClose:Wr.event,onUnhandledNotification:Vr.event,onDispose:Hr.event,end:()=>{A.end()},dispose:()=>{if(jt())return;et=C.Disposed,Hr.fire(void 0);const h=new r.ResponseError(r.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const k of de.values())k.reject(h);de=new Map,ke=new Map,Fe=new Set,Me=new i.LinkedMap,n.func(A.dispose)&&A.dispose(),n.func(m.dispose)&&m.dispose()},listen:()=>{ln(),ds(),et=C.Listening,m.listen(ns)},inspect:()=>{(0,e.default)().console.log("inspect")}};return W.onNotification(O.type,h=>{if(K===p.Off||!ce)return;const k=K===p.Verbose||K===p.Compact;ce.log(h.message,k?h.verbose:void 0)}),W.onNotification(l.type,h=>{const k=te.get(h.token);k?k(h.value):Kr.fire(h)}),W}t.createMessageConnection=T})(ro)),ro}var Mu;function Bc(){return Mu||(Mu=1,(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ProgressType=t.ProgressToken=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.AbstractMessageBuffer=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.SharedArrayReceiverStrategy=t.SharedArraySenderStrategy=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.LRUCache=t.Touch=t.LinkedMap=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.Message=t.RAL=void 0,t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=void 0;const e=Hh();Object.defineProperty(t,"Message",{enumerable:!0,get:function(){return e.Message}}),Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return e.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return e.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return e.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return e.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return e.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return e.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return e.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return e.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return e.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return e.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return e.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return e.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return e.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return e.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return e.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return e.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return e.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return e.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return e.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return e.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return e.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return e.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return e.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return e.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return e.ParameterStructures}});const n=Yh();Object.defineProperty(t,"LinkedMap",{enumerable:!0,get:function(){return n.LinkedMap}}),Object.defineProperty(t,"LRUCache",{enumerable:!0,get:function(){return n.LRUCache}}),Object.defineProperty(t,"Touch",{enumerable:!0,get:function(){return n.Touch}});const r=dv();Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const i=Ft;Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return i.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return i.Emitter}});const s=En;Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return s.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return s.CancellationToken}});const a=fv();Object.defineProperty(t,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return a.SharedArraySenderStrategy}}),Object.defineProperty(t,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return a.SharedArrayReceiverStrategy}});const o=hv();Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return o.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return o.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return o.ReadableStreamMessageReader}});const c=pv();Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return c.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return c.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return c.WriteableStreamMessageWriter}});const l=mv();Object.defineProperty(t,"AbstractMessageBuffer",{enumerable:!0,get:function(){return l.AbstractMessageBuffer}});const u=gv();Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return u.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return u.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return u.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return u.createMessageConnection}}),Object.defineProperty(t,"ProgressToken",{enumerable:!0,get:function(){return u.ProgressToken}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return u.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return u.Trace}}),Object.defineProperty(t,"TraceValues",{enumerable:!0,get:function(){return u.TraceValues}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return u.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return u.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return u.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return u.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return u.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return u.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return u.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return u.CancellationStrategy}}),Object.defineProperty(t,"MessageStrategy",{enumerable:!0,get:function(){return u.MessageStrategy}});const f=cn;t.RAL=f.default})(no)),no}Object.defineProperty(wl,"__esModule",{value:!0});const Dt=Bc();class Pa extends Dt.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return Pa.emptyBuffer}fromString(e,n){return new TextEncoder().encode(e)}toString(e,n){return n==="ascii"?this.asciiDecoder.decode(e):new TextDecoder(n).decode(e)}asNative(e,n){return n===void 0?e:e.slice(0,n)}allocNative(e){return new Uint8Array(e)}}Pa.emptyBuffer=new Uint8Array(0);class yv{constructor(e){this.socket=e,this._onData=new Dt.Emitter,this._messageListener=n=>{n.data.arrayBuffer().then(i=>{this._onData.fire(new Uint8Array(i))},()=>{(0,Dt.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),Dt.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),Dt.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),Dt.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}}class Tv{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),Dt.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),Dt.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),Dt.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,n){if(typeof e=="string"){if(n!==void 0&&n!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${n}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}const Rv=new TextEncoder,Jh=Object.freeze({messageBuffer:Object.freeze({create:t=>new Pa(t)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(t,e)=>{if(e.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${e.charset}`);return Promise.resolve(Rv.encode(JSON.stringify(t,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(t,e)=>{if(!(t instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(e.charset).decode(t)))}})}),stream:Object.freeze({asReadableStream:t=>new yv(t),asWritableStream:t=>new Tv(t)}),console,timer:Object.freeze({setTimeout(t,e,...n){const r=setTimeout(t,e,...n);return{dispose:()=>clearTimeout(r)}},setImmediate(t,...e){const n=setTimeout(t,0,...e);return{dispose:()=>clearTimeout(n)}},setInterval(t,e,...n){const r=setInterval(t,e,...n);return{dispose:()=>clearInterval(r)}}})});function qc(){return Jh}(function(t){function e(){Dt.RAL.install(Jh)}t.install=e})(qc||(qc={}));wl.default=qc;(function(t){var e=yt&&yt.__createBinding||(Object.create?(function(c,l,u,f){f===void 0&&(f=u);var p=Object.getOwnPropertyDescriptor(l,u);(!p||("get"in p?!l.__esModule:p.writable||p.configurable))&&(p={enumerable:!0,get:function(){return l[u]}}),Object.defineProperty(c,f,p)}):(function(c,l,u,f){f===void 0&&(f=u),c[f]=l[u]})),n=yt&&yt.__exportStar||function(c,l){for(var u in c)u!=="default"&&!Object.prototype.hasOwnProperty.call(l,u)&&e(l,c,u)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,wl.default.install();const i=Bc();n(Bc(),t);class s extends i.AbstractMessageReader{constructor(l){super(),this._onData=new i.Emitter,this._messageListener=u=>{this._onData.fire(u.data)},l.addEventListener("error",u=>this.fireError(u)),l.onmessage=this._messageListener}listen(l){return this._onData.event(l)}}t.BrowserMessageReader=s;class a extends i.AbstractMessageWriter{constructor(l){super(),this.port=l,this.errorCount=0,l.addEventListener("error",u=>this.fireError(u))}write(l){try{return this.port.postMessage(l),Promise.resolve()}catch(u){return this.handleError(u,l),Promise.reject(u)}}handleError(l,u){this.errorCount++,this.fireError(l,u,this.errorCount)}end(){}}t.BrowserMessageWriter=a;function o(c,l,u,f){return u===void 0&&(u=i.NullLogger),i.ConnectionStrategy.is(f)&&(f={connectionStrategy:f}),(0,i.createMessageConnection)(c,l,u,f)}t.createMessageConnection=o})(Xn);var Fu=Xn,Qh={};const bl=wp(sR);var Y={};Object.defineProperty(Y,"__esModule",{value:!0});Y.ProtocolNotificationType=Y.ProtocolNotificationType0=Y.ProtocolRequestType=Y.ProtocolRequestType0=Y.RegistrationType=Y.MessageDirection=void 0;const Ir=Xn;var Gu;(function(t){t.clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both"})(Gu||(Y.MessageDirection=Gu={}));class vv{constructor(e){this.method=e}}Y.RegistrationType=vv;class Ev extends Ir.RequestType0{constructor(e){super(e)}}Y.ProtocolRequestType0=Ev;class Av extends Ir.RequestType{constructor(e){super(e,Ir.ParameterStructures.byName)}}Y.ProtocolRequestType=Av;class Sv extends Ir.NotificationType0{constructor(e){super(e)}}Y.ProtocolNotificationType0=Sv;class kv extends Ir.NotificationType{constructor(e){super(e,Ir.ParameterStructures.byName)}}Y.ProtocolNotificationType=kv;var Zh={},Re={};Object.defineProperty(Re,"__esModule",{value:!0});Re.objectLiteral=Re.typedArray=Re.stringArray=Re.array=Re.func=Re.error=Re.number=Re.string=Re.boolean=void 0;function Cv(t){return t===!0||t===!1}Re.boolean=Cv;function ep(t){return typeof t=="string"||t instanceof String}Re.string=ep;function Nv(t){return typeof t=="number"||t instanceof Number}Re.number=Nv;function wv(t){return t instanceof Error}Re.error=wv;function bv(t){return typeof t=="function"}Re.func=bv;function tp(t){return Array.isArray(t)}Re.array=tp;function _v(t){return tp(t)&&t.every(e=>ep(e))}Re.stringArray=_v;function Iv(t,e){return Array.isArray(t)&&t.every(e)}Re.typedArray=Iv;function $v(t){return t!==null&&typeof t=="object"}Re.objectLiteral=$v;var La={};Object.defineProperty(La,"__esModule",{value:!0});La.ImplementationRequest=void 0;const Uu=Y;var ju;(function(t){t.method="textDocument/implementation",t.messageDirection=Uu.MessageDirection.clientToServer,t.type=new Uu.ProtocolRequestType(t.method)})(ju||(La.ImplementationRequest=ju={}));var Oa={};Object.defineProperty(Oa,"__esModule",{value:!0});Oa.TypeDefinitionRequest=void 0;const zu=Y;var Bu;(function(t){t.method="textDocument/typeDefinition",t.messageDirection=zu.MessageDirection.clientToServer,t.type=new zu.ProtocolRequestType(t.method)})(Bu||(Oa.TypeDefinitionRequest=Bu={}));var $r={};Object.defineProperty($r,"__esModule",{value:!0});$r.DidChangeWorkspaceFoldersNotification=$r.WorkspaceFoldersRequest=void 0;const ua=Y;var qu;(function(t){t.method="workspace/workspaceFolders",t.messageDirection=ua.MessageDirection.serverToClient,t.type=new ua.ProtocolRequestType0(t.method)})(qu||($r.WorkspaceFoldersRequest=qu={}));var Wu;(function(t){t.method="workspace/didChangeWorkspaceFolders",t.messageDirection=ua.MessageDirection.clientToServer,t.type=new ua.ProtocolNotificationType(t.method)})(Wu||($r.DidChangeWorkspaceFoldersNotification=Wu={}));var xa={};Object.defineProperty(xa,"__esModule",{value:!0});xa.ConfigurationRequest=void 0;const Vu=Y;var Ku;(function(t){t.method="workspace/configuration",t.messageDirection=Vu.MessageDirection.serverToClient,t.type=new Vu.ProtocolRequestType(t.method)})(Ku||(xa.ConfigurationRequest=Ku={}));var Pr={};Object.defineProperty(Pr,"__esModule",{value:!0});Pr.ColorPresentationRequest=Pr.DocumentColorRequest=void 0;const da=Y;var Hu;(function(t){t.method="textDocument/documentColor",t.messageDirection=da.MessageDirection.clientToServer,t.type=new da.ProtocolRequestType(t.method)})(Hu||(Pr.DocumentColorRequest=Hu={}));var Yu;(function(t){t.method="textDocument/colorPresentation",t.messageDirection=da.MessageDirection.clientToServer,t.type=new da.ProtocolRequestType(t.method)})(Yu||(Pr.ColorPresentationRequest=Yu={}));var Lr={};Object.defineProperty(Lr,"__esModule",{value:!0});Lr.FoldingRangeRefreshRequest=Lr.FoldingRangeRequest=void 0;const fa=Y;var Xu;(function(t){t.method="textDocument/foldingRange",t.messageDirection=fa.MessageDirection.clientToServer,t.type=new fa.ProtocolRequestType(t.method)})(Xu||(Lr.FoldingRangeRequest=Xu={}));var Ju;(function(t){t.method="workspace/foldingRange/refresh",t.messageDirection=fa.MessageDirection.serverToClient,t.type=new fa.ProtocolRequestType0(t.method)})(Ju||(Lr.FoldingRangeRefreshRequest=Ju={}));var Da={};Object.defineProperty(Da,"__esModule",{value:!0});Da.DeclarationRequest=void 0;const Qu=Y;var Zu;(function(t){t.method="textDocument/declaration",t.messageDirection=Qu.MessageDirection.clientToServer,t.type=new Qu.ProtocolRequestType(t.method)})(Zu||(Da.DeclarationRequest=Zu={}));var Ma={};Object.defineProperty(Ma,"__esModule",{value:!0});Ma.SelectionRangeRequest=void 0;const ed=Y;var td;(function(t){t.method="textDocument/selectionRange",t.messageDirection=ed.MessageDirection.clientToServer,t.type=new ed.ProtocolRequestType(t.method)})(td||(Ma.SelectionRangeRequest=td={}));var hn={};Object.defineProperty(hn,"__esModule",{value:!0});hn.WorkDoneProgressCancelNotification=hn.WorkDoneProgressCreateRequest=hn.WorkDoneProgress=void 0;const Pv=Xn,ha=Y;var nd;(function(t){t.type=new Pv.ProgressType;function e(n){return n===t.type}t.is=e})(nd||(hn.WorkDoneProgress=nd={}));var rd;(function(t){t.method="window/workDoneProgress/create",t.messageDirection=ha.MessageDirection.serverToClient,t.type=new ha.ProtocolRequestType(t.method)})(rd||(hn.WorkDoneProgressCreateRequest=rd={}));var id;(function(t){t.method="window/workDoneProgress/cancel",t.messageDirection=ha.MessageDirection.clientToServer,t.type=new ha.ProtocolNotificationType(t.method)})(id||(hn.WorkDoneProgressCancelNotification=id={}));var pn={};Object.defineProperty(pn,"__esModule",{value:!0});pn.CallHierarchyOutgoingCallsRequest=pn.CallHierarchyIncomingCallsRequest=pn.CallHierarchyPrepareRequest=void 0;const Or=Y;var sd;(function(t){t.method="textDocument/prepareCallHierarchy",t.messageDirection=Or.MessageDirection.clientToServer,t.type=new Or.ProtocolRequestType(t.method)})(sd||(pn.CallHierarchyPrepareRequest=sd={}));var ad;(function(t){t.method="callHierarchy/incomingCalls",t.messageDirection=Or.MessageDirection.clientToServer,t.type=new Or.ProtocolRequestType(t.method)})(ad||(pn.CallHierarchyIncomingCallsRequest=ad={}));var od;(function(t){t.method="callHierarchy/outgoingCalls",t.messageDirection=Or.MessageDirection.clientToServer,t.type=new Or.ProtocolRequestType(t.method)})(od||(pn.CallHierarchyOutgoingCallsRequest=od={}));var tt={};Object.defineProperty(tt,"__esModule",{value:!0});tt.SemanticTokensRefreshRequest=tt.SemanticTokensRangeRequest=tt.SemanticTokensDeltaRequest=tt.SemanticTokensRequest=tt.SemanticTokensRegistrationType=tt.TokenFormat=void 0;const sn=Y;var cd;(function(t){t.Relative="relative"})(cd||(tt.TokenFormat=cd={}));var Mi;(function(t){t.method="textDocument/semanticTokens",t.type=new sn.RegistrationType(t.method)})(Mi||(tt.SemanticTokensRegistrationType=Mi={}));var ld;(function(t){t.method="textDocument/semanticTokens/full",t.messageDirection=sn.MessageDirection.clientToServer,t.type=new sn.ProtocolRequestType(t.method),t.registrationMethod=Mi.method})(ld||(tt.SemanticTokensRequest=ld={}));var ud;(function(t){t.method="textDocument/semanticTokens/full/delta",t.messageDirection=sn.MessageDirection.clientToServer,t.type=new sn.ProtocolRequestType(t.method),t.registrationMethod=Mi.method})(ud||(tt.SemanticTokensDeltaRequest=ud={}));var dd;(function(t){t.method="textDocument/semanticTokens/range",t.messageDirection=sn.MessageDirection.clientToServer,t.type=new sn.ProtocolRequestType(t.method),t.registrationMethod=Mi.method})(dd||(tt.SemanticTokensRangeRequest=dd={}));var fd;(function(t){t.method="workspace/semanticTokens/refresh",t.messageDirection=sn.MessageDirection.serverToClient,t.type=new sn.ProtocolRequestType0(t.method)})(fd||(tt.SemanticTokensRefreshRequest=fd={}));var Fa={};Object.defineProperty(Fa,"__esModule",{value:!0});Fa.ShowDocumentRequest=void 0;const hd=Y;var pd;(function(t){t.method="window/showDocument",t.messageDirection=hd.MessageDirection.serverToClient,t.type=new hd.ProtocolRequestType(t.method)})(pd||(Fa.ShowDocumentRequest=pd={}));var Ga={};Object.defineProperty(Ga,"__esModule",{value:!0});Ga.LinkedEditingRangeRequest=void 0;const md=Y;var gd;(function(t){t.method="textDocument/linkedEditingRange",t.messageDirection=md.MessageDirection.clientToServer,t.type=new md.ProtocolRequestType(t.method)})(gd||(Ga.LinkedEditingRangeRequest=gd={}));var We={};Object.defineProperty(We,"__esModule",{value:!0});We.WillDeleteFilesRequest=We.DidDeleteFilesNotification=We.DidRenameFilesNotification=We.WillRenameFilesRequest=We.DidCreateFilesNotification=We.WillCreateFilesRequest=We.FileOperationPatternKind=void 0;const Rt=Y;var yd;(function(t){t.file="file",t.folder="folder"})(yd||(We.FileOperationPatternKind=yd={}));var Td;(function(t){t.method="workspace/willCreateFiles",t.messageDirection=Rt.MessageDirection.clientToServer,t.type=new Rt.ProtocolRequestType(t.method)})(Td||(We.WillCreateFilesRequest=Td={}));var Rd;(function(t){t.method="workspace/didCreateFiles",t.messageDirection=Rt.MessageDirection.clientToServer,t.type=new Rt.ProtocolNotificationType(t.method)})(Rd||(We.DidCreateFilesNotification=Rd={}));var vd;(function(t){t.method="workspace/willRenameFiles",t.messageDirection=Rt.MessageDirection.clientToServer,t.type=new Rt.ProtocolRequestType(t.method)})(vd||(We.WillRenameFilesRequest=vd={}));var Ed;(function(t){t.method="workspace/didRenameFiles",t.messageDirection=Rt.MessageDirection.clientToServer,t.type=new Rt.ProtocolNotificationType(t.method)})(Ed||(We.DidRenameFilesNotification=Ed={}));var Ad;(function(t){t.method="workspace/didDeleteFiles",t.messageDirection=Rt.MessageDirection.clientToServer,t.type=new Rt.ProtocolNotificationType(t.method)})(Ad||(We.DidDeleteFilesNotification=Ad={}));var Sd;(function(t){t.method="workspace/willDeleteFiles",t.messageDirection=Rt.MessageDirection.clientToServer,t.type=new Rt.ProtocolRequestType(t.method)})(Sd||(We.WillDeleteFilesRequest=Sd={}));var mn={};Object.defineProperty(mn,"__esModule",{value:!0});mn.MonikerRequest=mn.MonikerKind=mn.UniquenessLevel=void 0;const kd=Y;var Cd;(function(t){t.document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global"})(Cd||(mn.UniquenessLevel=Cd={}));var Nd;(function(t){t.$import="import",t.$export="export",t.local="local"})(Nd||(mn.MonikerKind=Nd={}));var wd;(function(t){t.method="textDocument/moniker",t.messageDirection=kd.MessageDirection.clientToServer,t.type=new kd.ProtocolRequestType(t.method)})(wd||(mn.MonikerRequest=wd={}));var gn={};Object.defineProperty(gn,"__esModule",{value:!0});gn.TypeHierarchySubtypesRequest=gn.TypeHierarchySupertypesRequest=gn.TypeHierarchyPrepareRequest=void 0;const xr=Y;var bd;(function(t){t.method="textDocument/prepareTypeHierarchy",t.messageDirection=xr.MessageDirection.clientToServer,t.type=new xr.ProtocolRequestType(t.method)})(bd||(gn.TypeHierarchyPrepareRequest=bd={}));var _d;(function(t){t.method="typeHierarchy/supertypes",t.messageDirection=xr.MessageDirection.clientToServer,t.type=new xr.ProtocolRequestType(t.method)})(_d||(gn.TypeHierarchySupertypesRequest=_d={}));var Id;(function(t){t.method="typeHierarchy/subtypes",t.messageDirection=xr.MessageDirection.clientToServer,t.type=new xr.ProtocolRequestType(t.method)})(Id||(gn.TypeHierarchySubtypesRequest=Id={}));var Dr={};Object.defineProperty(Dr,"__esModule",{value:!0});Dr.InlineValueRefreshRequest=Dr.InlineValueRequest=void 0;const pa=Y;var $d;(function(t){t.method="textDocument/inlineValue",t.messageDirection=pa.MessageDirection.clientToServer,t.type=new pa.ProtocolRequestType(t.method)})($d||(Dr.InlineValueRequest=$d={}));var Pd;(function(t){t.method="workspace/inlineValue/refresh",t.messageDirection=pa.MessageDirection.serverToClient,t.type=new pa.ProtocolRequestType0(t.method)})(Pd||(Dr.InlineValueRefreshRequest=Pd={}));var yn={};Object.defineProperty(yn,"__esModule",{value:!0});yn.InlayHintRefreshRequest=yn.InlayHintResolveRequest=yn.InlayHintRequest=void 0;const Mr=Y;var Ld;(function(t){t.method="textDocument/inlayHint",t.messageDirection=Mr.MessageDirection.clientToServer,t.type=new Mr.ProtocolRequestType(t.method)})(Ld||(yn.InlayHintRequest=Ld={}));var Od;(function(t){t.method="inlayHint/resolve",t.messageDirection=Mr.MessageDirection.clientToServer,t.type=new Mr.ProtocolRequestType(t.method)})(Od||(yn.InlayHintResolveRequest=Od={}));var xd;(function(t){t.method="workspace/inlayHint/refresh",t.messageDirection=Mr.MessageDirection.serverToClient,t.type=new Mr.ProtocolRequestType0(t.method)})(xd||(yn.InlayHintRefreshRequest=xd={}));var gt={};Object.defineProperty(gt,"__esModule",{value:!0});gt.DiagnosticRefreshRequest=gt.WorkspaceDiagnosticRequest=gt.DocumentDiagnosticRequest=gt.DocumentDiagnosticReportKind=gt.DiagnosticServerCancellationData=void 0;const np=Xn,Lv=Re,Fr=Y;var Dd;(function(t){function e(n){const r=n;return r&&Lv.boolean(r.retriggerRequest)}t.is=e})(Dd||(gt.DiagnosticServerCancellationData=Dd={}));var Md;(function(t){t.Full="full",t.Unchanged="unchanged"})(Md||(gt.DocumentDiagnosticReportKind=Md={}));var Fd;(function(t){t.method="textDocument/diagnostic",t.messageDirection=Fr.MessageDirection.clientToServer,t.type=new Fr.ProtocolRequestType(t.method),t.partialResult=new np.ProgressType})(Fd||(gt.DocumentDiagnosticRequest=Fd={}));var Gd;(function(t){t.method="workspace/diagnostic",t.messageDirection=Fr.MessageDirection.clientToServer,t.type=new Fr.ProtocolRequestType(t.method),t.partialResult=new np.ProgressType})(Gd||(gt.WorkspaceDiagnosticRequest=Gd={}));var Ud;(function(t){t.method="workspace/diagnostic/refresh",t.messageDirection=Fr.MessageDirection.serverToClient,t.type=new Fr.ProtocolRequestType0(t.method)})(Ud||(gt.DiagnosticRefreshRequest=Ud={}));var Te={};Object.defineProperty(Te,"__esModule",{value:!0});Te.DidCloseNotebookDocumentNotification=Te.DidSaveNotebookDocumentNotification=Te.DidChangeNotebookDocumentNotification=Te.NotebookCellArrayChange=Te.DidOpenNotebookDocumentNotification=Te.NotebookDocumentSyncRegistrationType=Te.NotebookDocument=Te.NotebookCell=Te.ExecutionSummary=Te.NotebookCellKind=void 0;const Fi=bl,Ct=Re,Gt=Y;var Wc;(function(t){t.Markup=1,t.Code=2;function e(n){return n===1||n===2}t.is=e})(Wc||(Te.NotebookCellKind=Wc={}));var Vc;(function(t){function e(i,s){const a={executionOrder:i};return(s===!0||s===!1)&&(a.success=s),a}t.create=e;function n(i){const s=i;return Ct.objectLiteral(s)&&Fi.uinteger.is(s.executionOrder)&&(s.success===void 0||Ct.boolean(s.success))}t.is=n;function r(i,s){return i===s?!0:i==null||s===null||s===void 0?!1:i.executionOrder===s.executionOrder&&i.success===s.success}t.equals=r})(Vc||(Te.ExecutionSummary=Vc={}));var ma;(function(t){function e(s,a){return{kind:s,document:a}}t.create=e;function n(s){const a=s;return Ct.objectLiteral(a)&&Wc.is(a.kind)&&Fi.DocumentUri.is(a.document)&&(a.metadata===void 0||Ct.objectLiteral(a.metadata))}t.is=n;function r(s,a){const o=new Set;return s.document!==a.document&&o.add("document"),s.kind!==a.kind&&o.add("kind"),s.executionSummary!==a.executionSummary&&o.add("executionSummary"),(s.metadata!==void 0||a.metadata!==void 0)&&!i(s.metadata,a.metadata)&&o.add("metadata"),(s.executionSummary!==void 0||a.executionSummary!==void 0)&&!Vc.equals(s.executionSummary,a.executionSummary)&&o.add("executionSummary"),o}t.diff=r;function i(s,a){if(s===a)return!0;if(s==null||a===null||a===void 0||typeof s!=typeof a||typeof s!="object")return!1;const o=Array.isArray(s),c=Array.isArray(a);if(o!==c)return!1;if(o&&c){if(s.length!==a.length)return!1;for(let l=0;l<s.length;l++)if(!i(s[l],a[l]))return!1}if(Ct.objectLiteral(s)&&Ct.objectLiteral(a)){const l=Object.keys(s),u=Object.keys(a);if(l.length!==u.length||(l.sort(),u.sort(),!i(l,u)))return!1;for(let f=0;f<l.length;f++){const p=l[f];if(!i(s[p],a[p]))return!1}}return!0}})(ma||(Te.NotebookCell=ma={}));var jd;(function(t){function e(r,i,s,a){return{uri:r,notebookType:i,version:s,cells:a}}t.create=e;function n(r){const i=r;return Ct.objectLiteral(i)&&Ct.string(i.uri)&&Fi.integer.is(i.version)&&Ct.typedArray(i.cells,ma.is)}t.is=n})(jd||(Te.NotebookDocument=jd={}));var Gr;(function(t){t.method="notebookDocument/sync",t.messageDirection=Gt.MessageDirection.clientToServer,t.type=new Gt.RegistrationType(t.method)})(Gr||(Te.NotebookDocumentSyncRegistrationType=Gr={}));var zd;(function(t){t.method="notebookDocument/didOpen",t.messageDirection=Gt.MessageDirection.clientToServer,t.type=new Gt.ProtocolNotificationType(t.method),t.registrationMethod=Gr.method})(zd||(Te.DidOpenNotebookDocumentNotification=zd={}));var Bd;(function(t){function e(r){const i=r;return Ct.objectLiteral(i)&&Fi.uinteger.is(i.start)&&Fi.uinteger.is(i.deleteCount)&&(i.cells===void 0||Ct.typedArray(i.cells,ma.is))}t.is=e;function n(r,i,s){const a={start:r,deleteCount:i};return s!==void 0&&(a.cells=s),a}t.create=n})(Bd||(Te.NotebookCellArrayChange=Bd={}));var qd;(function(t){t.method="notebookDocument/didChange",t.messageDirection=Gt.MessageDirection.clientToServer,t.type=new Gt.ProtocolNotificationType(t.method),t.registrationMethod=Gr.method})(qd||(Te.DidChangeNotebookDocumentNotification=qd={}));var Wd;(function(t){t.method="notebookDocument/didSave",t.messageDirection=Gt.MessageDirection.clientToServer,t.type=new Gt.ProtocolNotificationType(t.method),t.registrationMethod=Gr.method})(Wd||(Te.DidSaveNotebookDocumentNotification=Wd={}));var Vd;(function(t){t.method="notebookDocument/didClose",t.messageDirection=Gt.MessageDirection.clientToServer,t.type=new Gt.ProtocolNotificationType(t.method),t.registrationMethod=Gr.method})(Vd||(Te.DidCloseNotebookDocumentNotification=Vd={}));var Ua={};Object.defineProperty(Ua,"__esModule",{value:!0});Ua.InlineCompletionRequest=void 0;const Kd=Y;var Hd;(function(t){t.method="textDocument/inlineCompletion",t.messageDirection=Kd.MessageDirection.clientToServer,t.type=new Kd.ProtocolRequestType(t.method)})(Hd||(Ua.InlineCompletionRequest=Hd={}));(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.RelativePattern=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeErrorCodes=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.PositionEncodingKind=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.NotebookCellTextDocumentFilter=t.NotebookDocumentFilter=t.TextDocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRefreshRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangesFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolResolveRequest=void 0,t.InlineCompletionRequest=t.DidCloseNotebookDocumentNotification=t.DidSaveNotebookDocumentNotification=t.DidChangeNotebookDocumentNotification=t.NotebookCellArrayChange=t.DidOpenNotebookDocumentNotification=t.NotebookDocumentSyncRegistrationType=t.NotebookDocument=t.NotebookCell=t.ExecutionSummary=t.NotebookCellKind=t.DiagnosticRefreshRequest=t.WorkspaceDiagnosticRequest=t.DocumentDiagnosticRequest=t.DocumentDiagnosticReportKind=t.DiagnosticServerCancellationData=t.InlayHintRefreshRequest=t.InlayHintResolveRequest=t.InlayHintRequest=t.InlineValueRefreshRequest=t.InlineValueRequest=t.TypeHierarchySupertypesRequest=t.TypeHierarchySubtypesRequest=t.TypeHierarchyPrepareRequest=void 0;const e=Y,n=bl,r=Re,i=La;Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return i.ImplementationRequest}});const s=Oa;Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return s.TypeDefinitionRequest}});const a=$r;Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const o=xa;Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return o.ConfigurationRequest}});const c=Pr;Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const l=Lr;Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return l.FoldingRangeRequest}}),Object.defineProperty(t,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return l.FoldingRangeRefreshRequest}});const u=Da;Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return u.DeclarationRequest}});const f=Ma;Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return f.SelectionRangeRequest}});const p=hn;Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return p.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return p.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return p.WorkDoneProgressCancelNotification}});const g=pn;Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return g.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return g.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return g.CallHierarchyPrepareRequest}});const S=tt;Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return S.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return S.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return S.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return S.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return S.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return S.SemanticTokensRegistrationType}});const N=Fa;Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return N.ShowDocumentRequest}});const O=Ga;Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return O.LinkedEditingRangeRequest}});const w=We;Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return w.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return w.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return w.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return w.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return w.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return w.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return w.WillDeleteFilesRequest}});const L=mn;Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return L.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return L.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return L.MonikerRequest}});const b=gn;Object.defineProperty(t,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return b.TypeHierarchyPrepareRequest}}),Object.defineProperty(t,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return b.TypeHierarchySubtypesRequest}}),Object.defineProperty(t,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return b.TypeHierarchySupertypesRequest}});const D=Dr;Object.defineProperty(t,"InlineValueRequest",{enumerable:!0,get:function(){return D.InlineValueRequest}}),Object.defineProperty(t,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return D.InlineValueRefreshRequest}});const X=yn;Object.defineProperty(t,"InlayHintRequest",{enumerable:!0,get:function(){return X.InlayHintRequest}}),Object.defineProperty(t,"InlayHintResolveRequest",{enumerable:!0,get:function(){return X.InlayHintResolveRequest}}),Object.defineProperty(t,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return X.InlayHintRefreshRequest}});const ne=gt;Object.defineProperty(t,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return ne.DiagnosticServerCancellationData}}),Object.defineProperty(t,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return ne.DocumentDiagnosticReportKind}}),Object.defineProperty(t,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return ne.DocumentDiagnosticRequest}}),Object.defineProperty(t,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return ne.WorkspaceDiagnosticRequest}}),Object.defineProperty(t,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return ne.DiagnosticRefreshRequest}});const re=Te;Object.defineProperty(t,"NotebookCellKind",{enumerable:!0,get:function(){return re.NotebookCellKind}}),Object.defineProperty(t,"ExecutionSummary",{enumerable:!0,get:function(){return re.ExecutionSummary}}),Object.defineProperty(t,"NotebookCell",{enumerable:!0,get:function(){return re.NotebookCell}}),Object.defineProperty(t,"NotebookDocument",{enumerable:!0,get:function(){return re.NotebookDocument}}),Object.defineProperty(t,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return re.NotebookDocumentSyncRegistrationType}}),Object.defineProperty(t,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return re.DidOpenNotebookDocumentNotification}}),Object.defineProperty(t,"NotebookCellArrayChange",{enumerable:!0,get:function(){return re.NotebookCellArrayChange}}),Object.defineProperty(t,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return re.DidChangeNotebookDocumentNotification}}),Object.defineProperty(t,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return re.DidSaveNotebookDocumentNotification}}),Object.defineProperty(t,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return re.DidCloseNotebookDocumentNotification}});const ge=Ua;Object.defineProperty(t,"InlineCompletionRequest",{enumerable:!0,get:function(){return ge.InlineCompletionRequest}});var Ae;(function(d){function Ce(Ne){const W=Ne;return r.string(W)||r.string(W.language)||r.string(W.scheme)||r.string(W.pattern)}d.is=Ce})(Ae||(t.TextDocumentFilter=Ae={}));var Se;(function(d){function Ce(Ne){const W=Ne;return r.objectLiteral(W)&&(r.string(W.notebookType)||r.string(W.scheme)||r.string(W.pattern))}d.is=Ce})(Se||(t.NotebookDocumentFilter=Se={}));var C;(function(d){function Ce(Ne){const W=Ne;return r.objectLiteral(W)&&(r.string(W.notebook)||Se.is(W.notebook))&&(W.language===void 0||r.string(W.language))}d.is=Ce})(C||(t.NotebookCellTextDocumentFilter=C={}));var T;(function(d){function Ce(Ne){if(!Array.isArray(Ne))return!1;for(let W of Ne)if(!r.string(W)&&!Ae.is(W)&&!C.is(W))return!1;return!0}d.is=Ce})(T||(t.DocumentSelector=T={}));var m;(function(d){d.method="client/registerCapability",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType(d.method)})(m||(t.RegistrationRequest=m={}));var A;(function(d){d.method="client/unregisterCapability",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType(d.method)})(A||(t.UnregistrationRequest=A={}));var y;(function(d){d.Create="create",d.Rename="rename",d.Delete="delete"})(y||(t.ResourceOperationKind=y={}));var R;(function(d){d.Abort="abort",d.Transactional="transactional",d.TextOnlyTransactional="textOnlyTransactional",d.Undo="undo"})(R||(t.FailureHandlingKind=R={}));var E;(function(d){d.UTF8="utf-8",d.UTF16="utf-16",d.UTF32="utf-32"})(E||(t.PositionEncodingKind=E={}));var $;(function(d){function Ce(Ne){const W=Ne;return W&&r.string(W.id)&&W.id.length>0}d.hasId=Ce})($||(t.StaticRegistrationOptions=$={}));var x;(function(d){function Ce(Ne){const W=Ne;return W&&(W.documentSelector===null||T.is(W.documentSelector))}d.is=Ce})(x||(t.TextDocumentRegistrationOptions=x={}));var P;(function(d){function Ce(W){const h=W;return r.objectLiteral(h)&&(h.workDoneProgress===void 0||r.boolean(h.workDoneProgress))}d.is=Ce;function Ne(W){const h=W;return h&&r.boolean(h.workDoneProgress)}d.hasWorkDoneProgress=Ne})(P||(t.WorkDoneProgressOptions=P={}));var j;(function(d){d.method="initialize",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(j||(t.InitializeRequest=j={}));var q;(function(d){d.unknownProtocolVersion=1})(q||(t.InitializeErrorCodes=q={}));var se;(function(d){d.method="initialized",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(se||(t.InitializedNotification=se={}));var V;(function(d){d.method="shutdown",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType0(d.method)})(V||(t.ShutdownRequest=V={}));var Ie;(function(d){d.method="exit",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType0(d.method)})(Ie||(t.ExitNotification=Ie={}));var te;(function(d){d.method="workspace/didChangeConfiguration",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(te||(t.DidChangeConfigurationNotification=te={}));var $e;(function(d){d.Error=1,d.Warning=2,d.Info=3,d.Log=4,d.Debug=5})($e||(t.MessageType=$e={}));var Me;(function(d){d.method="window/showMessage",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(Me||(t.ShowMessageNotification=Me={}));var de;(function(d){d.method="window/showMessageRequest",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType(d.method)})(de||(t.ShowMessageRequest=de={}));var Fe;(function(d){d.method="window/logMessage",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(Fe||(t.LogMessageNotification=Fe={}));var ke;(function(d){d.method="telemetry/event",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(ke||(t.TelemetryEventNotification=ke={}));var K;(function(d){d.None=0,d.Full=1,d.Incremental=2})(K||(t.TextDocumentSyncKind=K={}));var Oe;(function(d){d.method="textDocument/didOpen",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(Oe||(t.DidOpenTextDocumentNotification=Oe={}));var ce;(function(d){function Ce(W){let h=W;return h!=null&&typeof h.text=="string"&&h.range!==void 0&&(h.rangeLength===void 0||typeof h.rangeLength=="number")}d.isIncremental=Ce;function Ne(W){let h=W;return h!=null&&typeof h.text=="string"&&h.range===void 0&&h.rangeLength===void 0}d.isFull=Ne})(ce||(t.TextDocumentContentChangeEvent=ce={}));var et;(function(d){d.method="textDocument/didChange",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(et||(t.DidChangeTextDocumentNotification=et={}));var Zn;(function(d){d.method="textDocument/didClose",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(Zn||(t.DidCloseTextDocumentNotification=Zn={}));var Wr;(function(d){d.method="textDocument/didSave",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(Wr||(t.DidSaveTextDocumentNotification=Wr={}));var Vr;(function(d){d.Manual=1,d.AfterDelay=2,d.FocusOut=3})(Vr||(t.TextDocumentSaveReason=Vr={}));var Kr;(function(d){d.method="textDocument/willSave",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(Kr||(t.WillSaveTextDocumentNotification=Kr={}));var Hr;(function(d){d.method="textDocument/willSaveWaitUntil",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Hr||(t.WillSaveTextDocumentWaitUntilRequest=Hr={}));var vt;(function(d){d.method="workspace/didChangeWatchedFiles",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolNotificationType(d.method)})(vt||(t.DidChangeWatchedFilesNotification=vt={}));var Yr;(function(d){d.Created=1,d.Changed=2,d.Deleted=3})(Yr||(t.FileChangeType=Yr={}));var Yi;(function(d){function Ce(Ne){const W=Ne;return r.objectLiteral(W)&&(n.URI.is(W.baseUri)||n.WorkspaceFolder.is(W.baseUri))&&r.string(W.pattern)}d.is=Ce})(Yi||(t.RelativePattern=Yi={}));var Xi;(function(d){d.Create=1,d.Change=2,d.Delete=4})(Xi||(t.WatchKind=Xi={}));var Ji;(function(d){d.method="textDocument/publishDiagnostics",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolNotificationType(d.method)})(Ji||(t.PublishDiagnosticsNotification=Ji={}));var Qi;(function(d){d.Invoked=1,d.TriggerCharacter=2,d.TriggerForIncompleteCompletions=3})(Qi||(t.CompletionTriggerKind=Qi={}));var Xr;(function(d){d.method="textDocument/completion",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Xr||(t.CompletionRequest=Xr={}));var Jr;(function(d){d.method="completionItem/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Jr||(t.CompletionResolveRequest=Jr={}));var jt;(function(d){d.method="textDocument/hover",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(jt||(t.HoverRequest=jt={}));var Qr;(function(d){d.Invoked=1,d.TriggerCharacter=2,d.ContentChange=3})(Qr||(t.SignatureHelpTriggerKind=Qr={}));var Zi;(function(d){d.method="textDocument/signatureHelp",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Zi||(t.SignatureHelpRequest=Zi={}));var es;(function(d){d.method="textDocument/definition",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(es||(t.DefinitionRequest=es={}));var Zr;(function(d){d.method="textDocument/references",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Zr||(t.ReferencesRequest=Zr={}));var ei;(function(d){d.method="textDocument/documentHighlight",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ei||(t.DocumentHighlightRequest=ei={}));var ts;(function(d){d.method="textDocument/documentSymbol",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ts||(t.DocumentSymbolRequest=ts={}));var ns;(function(d){d.method="textDocument/codeAction",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ns||(t.CodeActionRequest=ns={}));var rs;(function(d){d.method="codeAction/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(rs||(t.CodeActionResolveRequest=rs={}));var is;(function(d){d.method="workspace/symbol",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(is||(t.WorkspaceSymbolRequest=is={}));var ss;(function(d){d.method="workspaceSymbol/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ss||(t.WorkspaceSymbolResolveRequest=ss={}));var as;(function(d){d.method="textDocument/codeLens",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(as||(t.CodeLensRequest=as={}));var Et;(function(d){d.method="codeLens/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(Et||(t.CodeLensResolveRequest=Et={}));var os;(function(d){d.method="workspace/codeLens/refresh",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType0(d.method)})(os||(t.CodeLensRefreshRequest=os={}));var cs;(function(d){d.method="textDocument/documentLink",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(cs||(t.DocumentLinkRequest=cs={}));var bn;(function(d){d.method="documentLink/resolve",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(bn||(t.DocumentLinkResolveRequest=bn={}));var ls;(function(d){d.method="textDocument/formatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ls||(t.DocumentFormattingRequest=ls={}));var er;(function(d){d.method="textDocument/rangeFormatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(er||(t.DocumentRangeFormattingRequest=er={}));var us;(function(d){d.method="textDocument/rangesFormatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(us||(t.DocumentRangesFormattingRequest=us={}));var zt;(function(d){d.method="textDocument/onTypeFormatting",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(zt||(t.DocumentOnTypeFormattingRequest=zt={}));var ln;(function(d){d.Identifier=1})(ln||(t.PrepareSupportDefaultBehavior=ln={}));var ds;(function(d){d.method="textDocument/rename",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(ds||(t.RenameRequest=ds={}));var fs;(function(d){d.method="textDocument/prepareRename",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(fs||(t.PrepareRenameRequest=fs={}));var un;(function(d){d.method="workspace/executeCommand",d.messageDirection=e.MessageDirection.clientToServer,d.type=new e.ProtocolRequestType(d.method)})(un||(t.ExecuteCommandRequest=un={}));var ti;(function(d){d.method="workspace/applyEdit",d.messageDirection=e.MessageDirection.serverToClient,d.type=new e.ProtocolRequestType("workspace/applyEdit")})(ti||(t.ApplyWorkspaceEditRequest=ti={}))})(Zh);var ja={};Object.defineProperty(ja,"__esModule",{value:!0});ja.createProtocolConnection=void 0;const Yd=Xn;function Ov(t,e,n,r){return Yd.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),(0,Yd.createMessageConnection)(t,e,n,r)}ja.createProtocolConnection=Ov;(function(t){var e=yt&&yt.__createBinding||(Object.create?(function(s,a,o,c){c===void 0&&(c=o);var l=Object.getOwnPropertyDescriptor(a,o);(!l||("get"in l?!a.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:function(){return a[o]}}),Object.defineProperty(s,c,l)}):(function(s,a,o,c){c===void 0&&(c=o),s[c]=a[o]})),n=yt&&yt.__exportStar||function(s,a){for(var o in s)o!=="default"&&!Object.prototype.hasOwnProperty.call(a,o)&&e(a,s,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,n(Xn,t),n(bl,t),n(Y,t),n(Zh,t);var r=ja;Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return r.createProtocolConnection}});var i;(function(s){s.lspReservedErrorRangeStart=-32899,s.RequestFailed=-32803,s.ServerCancelled=-32802,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800})(i||(t.LSPErrorCodes=i={}))})(Qh);(function(t){var e=yt&&yt.__createBinding||(Object.create?(function(s,a,o,c){c===void 0&&(c=o);var l=Object.getOwnPropertyDescriptor(a,o);(!l||("get"in l?!a.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:function(){return a[o]}}),Object.defineProperty(s,c,l)}):(function(s,a,o,c){c===void 0&&(c=o),s[c]=a[o]})),n=yt&&yt.__exportStar||function(s,a){for(var o in s)o!=="default"&&!Object.prototype.hasOwnProperty.call(a,o)&&e(a,s,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const r=Fu;n(Fu,t),n(Qh,t);function i(s,a,o,c){return(0,r.createMessageConnection)(s,a,o,c)}t.createProtocolConnection=i})(Ai);var ki;(function(t){function e(n){return{dispose:async()=>await n()}}t.create=e})(ki||(ki={}));class xv{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Di,this.documentPhaseListeners=new Di,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=H.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,n={},r=me.None){for(const i of e){const s=i.uri.toString();if(i.state===H.Validated){if(typeof n.validation=="boolean"&&n.validation)this.resetToState(i,H.IndexedReferences);else if(typeof n.validation=="object"){const a=this.findMissingValidationCategories(i,n);a.length>0&&(this.buildState.set(s,{completed:!1,options:{validation:{categories:a}},result:this.buildState.get(s)?.result}),i.state=H.IndexedReferences)}}else this.buildState.delete(s)}this.currentState=H.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,n,r)}async update(e,n,r=me.None){this.currentState=H.Changed;const i=[];for(const c of n){const l=this.langiumDocuments.deleteDocuments(c);for(const u of l)i.push(u.uri),this.cleanUpDeleted(u)}const s=(await Promise.all(e.map(c=>this.findChangedUris(c)))).flat();for(const c of s){let l=this.langiumDocuments.getDocument(c);l===void 0&&(l=this.langiumDocumentFactory.fromModel({$type:"INVALID"},c),l.state=H.Changed,this.langiumDocuments.addDocument(l)),this.resetToState(l,H.Changed)}const a=he(s).concat(i).map(c=>c.toString()).toSet();this.langiumDocuments.all.filter(c=>!a.has(c.uri.toString())&&this.shouldRelink(c,a)).forEach(c=>this.resetToState(c,H.ComputedScopes)),await this.emitUpdate(s,i),await Ye(r);const o=this.sortDocuments(this.langiumDocuments.all.filter(c=>c.state<H.Validated||!this.buildState.get(c.uri.toString())?.completed||this.resultsAreIncomplete(c,this.updateBuildOptions)).toArray());await this.buildDocuments(o,this.updateBuildOptions,r)}resultsAreIncomplete(e,n){return this.findMissingValidationCategories(e,n).length>=1}findMissingValidationCategories(e,n){const r=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),s=r?.result?.validationChecks?new Set(r?.result?.validationChecks):r?.completed?i:new Set,a=n===void 0||n.validation===!0?i:typeof n.validation=="object"?n.validation.categories??i:[];return he(a).filter(o=>!s.has(o)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{const r=await this.fileSystemProvider.stat(e);if(r.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(r))return[e]}catch{}return[]}async emitUpdate(e,n){await Promise.all(this.updateListeners.map(r=>r(e,n)))}sortDocuments(e){let n=0,r=e.length-1;for(;n<r;){for(;n<e.length&&this.hasTextDocument(e[n]);)n++;for(;r>=0&&!this.hasTextDocument(e[r]);)r--;n<r&&([e[n],e[r]]=[e[r],e[n]])}return e}hasTextDocument(e){return!!this.textDocuments?.get(e.uri)}shouldRelink(e,n){return e.references.some(r=>r.error!==void 0)?!0:this.indexManager.isAffected(e,n)}onUpdate(e){return this.updateListeners.push(e),ki.create(()=>{const n=this.updateListeners.indexOf(e);n>=0&&this.updateListeners.splice(n,1)})}resetToState(e,n){switch(n){case H.Changed:case H.Parsed:this.indexManager.removeContent(e.uri);case H.IndexedContent:e.localSymbols=void 0;case H.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case H.Linked:this.indexManager.removeReferences(e.uri);case H.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case H.Validated:}e.state>n&&(e.state=n)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=H.Changed}async buildDocuments(e,n,r){this.prepareBuild(e,n),await this.runCancelable(e,H.Parsed,r,a=>this.langiumDocumentFactory.update(a,r)),await this.runCancelable(e,H.IndexedContent,r,a=>this.indexManager.updateContent(a,r)),await this.runCancelable(e,H.ComputedScopes,r,async a=>{const o=this.serviceRegistry.getServices(a.uri).references.ScopeComputation;a.localSymbols=await o.collectLocalSymbols(a,r)});const i=e.filter(a=>this.shouldLink(a));await this.runCancelable(i,H.Linked,r,a=>this.serviceRegistry.getServices(a.uri).references.Linker.link(a,r)),await this.runCancelable(i,H.IndexedReferences,r,a=>this.indexManager.updateReferences(a,r));const s=e.filter(a=>this.shouldValidate(a)?!0:(this.markAsCompleted(a),!1));await this.runCancelable(s,H.Validated,r,async a=>{await this.validate(a,r),this.markAsCompleted(a)})}markAsCompleted(e){const n=this.buildState.get(e.uri.toString());n&&(n.completed=!0)}prepareBuild(e,n){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:n,result:s?.result})}}async runCancelable(e,n,r,i){for(const a of e)a.state<n&&(await Ye(r),await i(a),a.state=n,await this.notifyDocumentPhase(a,n,r));const s=e.filter(a=>a.state===n);await this.notifyBuildPhase(s,n,r),this.currentState=n}onBuildPhase(e,n){return this.buildPhaseListeners.add(e,n),ki.create(()=>{this.buildPhaseListeners.delete(e,n)})}onDocumentPhase(e,n){return this.documentPhaseListeners.add(e,n),ki.create(()=>{this.documentPhaseListeners.delete(e,n)})}waitUntil(e,n,r){let i;return n&&"path"in n?i=n:r=n,r??(r=me.None),i?this.awaitDocumentState(e,i,r):this.awaitBuilderState(e,r)}awaitDocumentState(e,n,r){const i=this.langiumDocuments.getDocument(n);if(i){if(i.state>=e)return Promise.resolve(n);if(r.isCancellationRequested)return Promise.reject(Er);if(this.currentState>=e&&e>i.state)return Promise.reject(new Ai.ResponseError(Ai.LSPErrorCodes.RequestFailed,`Document state of ${n.toString()} is ${H[i.state]}, requiring ${H[e]}, but workspace state is already ${H[this.currentState]}. Returning undefined.`))}else return Promise.reject(new Ai.ResponseError(Ai.LSPErrorCodes.ServerCancelled,`No document found for URI: ${n.toString()}`));return new Promise((s,a)=>{const o=this.onDocumentPhase(e,l=>{lt.equals(l.uri,n)&&(o.dispose(),c.dispose(),s(l.uri))}),c=r.onCancellationRequested(()=>{o.dispose(),c.dispose(),a(Er)})})}awaitBuilderState(e,n){return this.currentState>=e?Promise.resolve():n.isCancellationRequested?Promise.reject(Er):new Promise((r,i)=>{const s=this.onBuildPhase(e,()=>{s.dispose(),a.dispose(),r()}),a=n.onCancellationRequested(()=>{s.dispose(),a.dispose(),i(Er)})})}async notifyDocumentPhase(e,n,r){const s=this.documentPhaseListeners.get(n).slice();for(const a of s)try{await Ye(r),await a(e,r)}catch(o){if(!$a(o))throw o}}async notifyBuildPhase(e,n,r){if(e.length===0)return;const s=this.buildPhaseListeners.get(n).slice();for(const a of s)await Ye(r),await a(e,r)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,n){const r=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),s=typeof i.validation=="object"?{...i.validation}:{};s.categories=this.findMissingValidationCategories(e,i);const a=await r.validateDocument(e,s,n);e.diagnostics?e.diagnostics.push(...a):e.diagnostics=a;const o=this.buildState.get(e.uri.toString());o&&(o.result??(o.result={}),o.result.validationChecks?o.result.validationChecks=he(o.result.validationChecks).concat(s.categories).distinct().toArray():o.result.validationChecks=[...s.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}}class Dv{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new XR,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,n){const r=Qt(e).uri,i=[];return this.referenceIndex.forEach(s=>{s.forEach(a=>{lt.equals(a.targetUri,r)&&a.targetPath===n&&i.push(a)})}),he(i)}allElements(e,n){let r=he(this.symbolIndex.keys());return n&&(r=r.filter(i=>!n||n.has(i))),r.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,n){return n?this.symbolByTypeIndex.get(e,n,()=>(this.symbolIndex.get(e)??[]).filter(s=>this.astReflection.isSubtype(s.type,n))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){const n=e.toString();this.symbolIndex.delete(n),this.symbolByTypeIndex.clear(n)}removeReferences(e){const n=e.toString();this.referenceIndex.delete(n)}async updateContent(e,n=me.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,n),s=e.uri.toString();this.symbolIndex.set(s,i),this.symbolByTypeIndex.clear(s)}async updateReferences(e,n=me.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,n);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,n){const r=this.referenceIndex.get(e.uri.toString());return r?r.some(i=>!i.local&&n.has(i.targetUri.toString())):!1}}class Mv{constructor(e){this.initialBuildOptions={},this._ready=new Nl,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(n=>this.initializeWorkspace(this.folders??[],n))}async initializeWorkspace(e,n=me.None){const r=await this.performStartup(e);await Ye(n),await this.documentBuilder.build(r,this.initialBuildOptions,n)}async performStartup(e){const n=[],r=a=>{n.push(a),this.langiumDocuments.hasDocument(a.uri)||this.langiumDocuments.addDocument(a)};await this.loadAdditionalDocuments(e,r);const i=[];await Promise.all(e.map(a=>this.getRootFolder(a)).map(async a=>this.traverseFolder(a,i)));const s=he(i).distinct(a=>a.toString()).filter(a=>!this.langiumDocuments.hasDocument(a));return await this.loadWorkspaceDocuments(s,r),this._ready.resolve(),n}async loadWorkspaceDocuments(e,n){await Promise.all(e.map(async r=>{const i=await this.langiumDocuments.getOrCreateDocument(r);n(i)}))}loadAdditionalDocuments(e,n){return Promise.resolve()}getRootFolder(e){return wt.parse(e.uri)}async traverseFolder(e,n){try{const r=await this.fileSystemProvider.readDirectory(e);await Promise.all(r.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,n):i.isFile&&n.push(i.uri))}))}catch(r){console.error("Failure to read directory content of "+e.toString(!0),r)}}async searchFolder(e){const n=[];return await this.traverseFolder(e,n),n}shouldIncludeEntry(e){const n=lt.basename(e.uri);return n.startsWith(".")?!1:e.isDirectory?n!=="node_modules"&&n!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}}class Fv{buildUnexpectedCharactersMessage(e,n,r,i,s){return No.buildUnexpectedCharactersMessage(e,n,r,i,s)}buildUnableToPopLexerModeMessage(e){return No.buildUnableToPopLexerModeMessage(e)}}const Gv={mode:"full"};class Uv{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const n=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(n);const r=Xd(n)?Object.values(n):n,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new nt(r,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,n=Gv){const r=this.chevrotainLexer.tokenize(e);return{tokens:r.tokens,errors:r.errors,hidden:r.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(Xd(e))return e;const n=rp(e)?Object.values(e.modes).flat():e,r={};return n.forEach(i=>r[i.name]=i),r}}function jv(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function rp(t){return t&&"modes"in t&&"defaultMode"in t}function Xd(t){return!jv(t)&&!rp(t)}function zv(t,e,n){let r,i;typeof t=="string"?(i=e,r=n):(i=t.range.start,r=e),i||(i=ee.create(0,0));const s=ip(t),a=_l(r),o=Wv({lines:s,position:i,options:a});return Xv({index:0,tokens:o,position:i})}function Bv(t,e){const n=_l(e),r=ip(t);if(r.length===0)return!1;const i=r[0],s=r[r.length-1],a=n.start,o=n.end;return!!a?.exec(i)&&!!o?.exec(s)}function ip(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(Bm)}const Jd=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,qv=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function Wv(t){const e=[];let n=t.position.line,r=t.position.character;for(let i=0;i<t.lines.length;i++){const s=i===0,a=i===t.lines.length-1;let o=t.lines[i],c=0;if(s&&t.options.start){const u=t.options.start?.exec(o);u&&(c=u.index+u[0].length)}else{const u=t.options.line?.exec(o);u&&(c=u.index+u[0].length)}if(a){const u=t.options.end?.exec(o);u&&(o=o.substring(0,u.index))}if(o=o.substring(0,Yv(o)),Kc(o,c)>=o.length){if(e.length>0){const u=ee.create(n,r);e.push({type:"break",content:"",range:J.create(u,u)})}}else{Jd.lastIndex=c;const u=Jd.exec(o);if(u){const f=u[0],p=u[1],g=ee.create(n,r+c),S=ee.create(n,r+c+f.length);e.push({type:"tag",content:p,range:J.create(g,S)}),c+=f.length,c=Kc(o,c)}if(c<o.length){const f=o.substring(c),p=Array.from(f.matchAll(qv));e.push(...Vv(p,f,n,r+c))}}n++,r=0}return e.length>0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function Vv(t,e,n,r){const i=[];if(t.length===0){const s=ee.create(n,r),a=ee.create(n,r+e.length);i.push({type:"text",content:e,range:J.create(s,a)})}else{let s=0;for(const o of t){const c=o.index,l=e.substring(s,c);l.length>0&&i.push({type:"text",content:e.substring(s,c),range:J.create(ee.create(n,s+r),ee.create(n,c+r))});let u=l.length+1;const f=o[1];if(i.push({type:"inline-tag",content:f,range:J.create(ee.create(n,s+u+r),ee.create(n,s+u+f.length+r))}),u+=f.length,o.length===4){u+=o[2].length;const p=o[3];i.push({type:"text",content:p,range:J.create(ee.create(n,s+u+r),ee.create(n,s+u+p.length+r))})}else i.push({type:"text",content:"",range:J.create(ee.create(n,s+u+r),ee.create(n,s+u+r))});s=c+o[0].length}const a=e.substring(s);a.length>0&&i.push({type:"text",content:a,range:J.create(ee.create(n,s+r),ee.create(n,s+r+a.length))})}return i}const Kv=/\S/,Hv=/\s*$/;function Kc(t,e){const n=t.substring(e).match(Kv);return n?e+n.index:t.length}function Yv(t){const e=t.match(Hv);if(e&&typeof e.index=="number")return e.index}function Xv(t){const e=ee.create(t.position.line,t.position.character);if(t.tokens.length===0)return new Qd([],J.create(e,e));const n=[];for(;t.index<t.tokens.length;){const s=Jv(t,n[n.length-1]);s&&n.push(s)}const r=n[0]?.range.start??e,i=n[n.length-1]?.range.end??e;return new Qd(n,J.create(r,i))}function Jv(t,e){const n=t.tokens[t.index];if(n.type==="tag")return ap(t,!1);if(n.type==="text"||n.type==="inline-tag")return sp(t);Qv(n,e),t.index++}function Qv(t,e){if(e){const n=new cp("",t.range);"inlines"in e?e.inlines.push(n):e.content.inlines.push(n)}}function sp(t){let e=t.tokens[t.index];const n=e;let r=e;const i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(Zv(t)),r=e,e=t.tokens[t.index];return new Hc(i,J.create(n.range.start,r.range.end))}function Zv(t){return t.tokens[t.index].type==="inline-tag"?ap(t,!0):op(t)}function ap(t,e){const n=t.tokens[t.index++],r=n.content.substring(1);if(t.tokens[t.index]?.type==="text")if(e){const s=op(t);return new so(r,new Hc([s],s.range),e,J.create(n.range.start,s.range.end))}else{const s=sp(t);return new so(r,s,e,J.create(n.range.start,s.range.end))}else{const s=n.range;return new so(r,new Hc([],s),e,s)}}function op(t){const e=t.tokens[t.index++];return new cp(e.content,e.range)}function _l(t){if(!t)return _l({start:"/**",end:"*/",line:"*"});const{start:e,end:n,line:r}=t;return{start:io(e,!0),end:io(n,!1),line:io(r,!0)}}function io(t,e){if(typeof t=="string"||typeof t=="object"){const n=typeof t=="string"?Aa(t):t.source;return e?new RegExp(`^\\s*${n}`):new RegExp(`\\s*${n}\\s*$`)}else return t}class Qd{constructor(e,n){this.elements=e,this.range=n}getTag(e){return this.getAllTags().find(n=>n.name===e)}getTags(e){return this.getAllTags().filter(n=>n.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const n of this.elements)if(e.length===0)e=n.toString();else{const r=n.toString();e+=Zd(e)+r}return e.trim()}toMarkdown(e){let n="";for(const r of this.elements)if(n.length===0)n=r.toMarkdown(e);else{const i=r.toMarkdown(e);n+=Zd(n)+i}return n.trim()}}class so{constructor(e,n,r,i){this.name=e,this.content=n,this.inline=r,this.range=i}toString(){let e=`@${this.name}`;const n=this.content.toString();return this.content.inlines.length===1?e=`${e} ${n}`:this.content.inlines.length>1&&(e=`${e}
150
+ ${n}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){const n=this.content.toMarkdown(e);if(this.inline){const s=eE(this.name,n,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} — ${n}`:this.content.inlines.length>1&&(i=`${i}
151
+ ${n}`),this.inline?`{${i}}`:i}}function eE(t,e,n){if(t==="linkplain"||t==="linkcode"||t==="link"){const r=e.indexOf(" ");let i=e;if(r>0){const a=Kc(e,r);i=e.substring(a),e=e.substring(0,r)}return(t==="linkcode"||t==="link"&&n.link==="code")&&(i=`\`${i}\``),n.renderLink?.(e,i)??tE(e,i)}}function tE(t,e){try{return wt.parse(t,!0),`[${e}](${t})`}catch{return t}}class Hc{constructor(e,n){this.inlines=e,this.range=n}toString(){let e="";for(let n=0;n<this.inlines.length;n++){const r=this.inlines[n],i=this.inlines[n+1];e+=r.toString(),i&&i.range.start.line>r.range.start.line&&(e+=`
152
+ `)}return e}toMarkdown(e){let n="";for(let r=0;r<this.inlines.length;r++){const i=this.inlines[r],s=this.inlines[r+1];n+=i.toMarkdown(e),s&&s.range.start.line>i.range.start.line&&(n+=`
153
+ `)}return n}}class cp{constructor(e,n){this.text=e,this.range=n}toString(){return this.text}toMarkdown(){return this.text}}function Zd(t){return t.endsWith(`
154
+ `)?`
155
+ `:`
156
+
157
+ `}class nE{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const n=this.commentProvider.getComment(e);if(n&&Bv(n))return zv(n).toMarkdown({renderLink:(i,s)=>this.documentationLinkRenderer(e,i,s),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,n,r){const i=this.findNameInLocalSymbols(e,n)??this.findNameInGlobalScope(e,n);if(i&&i.nameSegment){const s=i.nameSegment.range.start.line+1,a=i.nameSegment.range.start.character+1,o=i.documentUri.with({fragment:`L${s},${a}`});return`[${r}](${o.toString()})`}else return}documentationTagRenderer(e,n){}findNameInLocalSymbols(e,n){const i=Qt(e).localSymbols;if(!i)return;let s=e;do{const o=i.getStream(s).find(c=>c.name===n);if(o)return o;s=s.$container}while(s)}findNameInGlobalScope(e,n){return this.indexManager.allElements().find(i=>i.name===n)}}class rE{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return ZR(e)?e.$comment:Fm(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}}class iE{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,n){return Promise.resolve(this.syncParser.parse(e))}}class sE{constructor(){this.previousTokenSource=new Cl,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const n=FR();return this.previousTokenSource=n,this.enqueue(this.writeQueue,e,n.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,n,r=me.None){const i=new Nl,s={action:n,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:n,deferred:r,cancellationToken:i})=>{try{const s=await Promise.resolve().then(()=>n(i));r.resolve(s)}catch(s){$a(s)?r.resolve(void 0):r.reject(s)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class aE{constructor(e){this.grammarElementIdMap=new Cu,this.tokenTypeIdMap=new Cu,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(n=>({...n,message:n.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const n=new Map,r=new Map;for(const i of Zt(e))n.set(i,{});if(e.$cstNode)for(const i of Eo(e.$cstNode))r.set(i,{});return{astNodes:n,cstNodes:r}}dehydrateAstNode(e,n){const r=n.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,n));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)Ve(o)?a.push(this.dehydrateAstNode(o,n)):kt(o)?a.push(this.dehydrateReference(o,n)):a.push(o)}else Ve(s)?r[i]=this.dehydrateAstNode(s,n):kt(s)?r[i]=this.dehydrateReference(s,n):s!==void 0&&(r[i]=s);return r}dehydrateReference(e,n){const r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=n.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,n){const r=n.cstNodes.get(e);return Af(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=n.astNodes.get(e.astNode),Ni(e)?r.content=e.content.map(i=>this.dehydrateCstNode(i,n)):Ef(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 n=e.value,r=this.createHydrationContext(n);return"$cstNode"in n&&this.hydrateCstNode(n.$cstNode,r),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(n,r)}}createHydrationContext(e){const n=new Map,r=new Map;for(const s of Zt(e))n.set(s,{});let i;if(e.$cstNode)for(const s of Eo(e.$cstNode)){let a;"fullText"in s?(a=new $h(s.fullText),i=a):"content"in s?a=new Al:"tokenType"in s&&(a=this.hydrateCstLeafNode(s)),a&&(r.set(s,a),a.root=i)}return{astNodes:n,cstNodes:r}}hydrateAstNode(e,n){const r=n.astNodes.get(e);r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode&&(r.$cstNode=n.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)Ve(o)?a.push(this.setParent(this.hydrateAstNode(o,n),r)):kt(o)?a.push(this.hydrateReference(o,r,i,n)):a.push(o)}else Ve(s)?r[i]=this.setParent(this.hydrateAstNode(s,n),r):kt(s)?r[i]=this.hydrateReference(s,r,i,n):s!==void 0&&(r[i]=s);return r}setParent(e,n){return e.$container=n,e}hydrateReference(e,n,r,i){return this.linker.buildReference(n,r,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,n,r=0){const i=n.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=n.astNodes.get(e.astNode),Ni(i))for(const s of e.content){const a=this.hydrateCstNode(s,n,r++);i.content.push(a)}return i}hydrateCstLeafNode(e){const n=this.getTokenType(e.tokenType),r=e.offset,i=e.length,s=e.startLine,a=e.startColumn,o=e.endLine,c=e.endColumn,l=e.hidden;return new Oc(r,i,{start:{line:s,character:a},end:{line:o,character:c}},n,l)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const n of Zt(this.grammar))mm(n)&&this.grammarElementIdMap.set(n,e++)}}function kn(t){return{documentation:{CommentProvider:e=>new rE(e),DocumentationProvider:e=>new nE(e)},parser:{AsyncParser:e=>new iE(e),GrammarConfig:e=>dg(e),LangiumParser:e=>SR(e),CompletionParser:e=>AR(e),ValueConverter:()=>new Uh,TokenBuilder:()=>new Gh,Lexer:e=>new Uv(e),ParserErrorMessageProvider:()=>new Oh,LexerErrorMessageProvider:()=>new Fv},workspace:{AstNodeLocator:()=>new lv,AstNodeDescriptionProvider:e=>new ov(e),ReferenceDescriptionProvider:e=>new cv(e)},references:{Linker:e=>new BR(e),NameProvider:()=>new WR,ScopeProvider:e=>new QR(e),ScopeComputation:e=>new KR(e),References:e=>new VR(e)},serializer:{Hydrator:e=>new aE(e),JsonSerializer:e=>new ev(e)},validation:{DocumentValidator:e=>new iv(e),ValidationRegistry:e=>new nv(e)},shared:()=>t.shared}}function Cn(t){return{ServiceRegistry:e=>new tv(e),workspace:{LangiumDocuments:e=>new zR(e),LangiumDocumentFactory:e=>new jR(e),DocumentBuilder:e=>new xv(e),IndexManager:e=>new Dv(e),WorkspaceManager:e=>new Mv(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new sE,ConfigurationProvider:e=>new uv(e)},profilers:{}}}var ef;(function(t){t.merge=(e,n)=>Gi(Gi({},e),n)})(ef||(ef={}));function Ke(t,e,n,r,i,s,a,o,c){const l=[t,e,n,r,i,s,a,o,c].reduce(Gi,{});return lp(l)}const oE=Symbol("isProxy");function lp(t,e){const n=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(r,i)=>i===oE?!0:nf(r,i,t,e||n),getOwnPropertyDescriptor:(r,i)=>(nf(r,i,t,e||n),Object.getOwnPropertyDescriptor(r,i)),has:(r,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return n}const tf=Symbol();function nf(t,e,n,r){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===tf)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in n){const i=n[e];t[e]=tf;try{t[e]=typeof i=="function"?i(r):lp(i,r)}catch(s){throw t[e]=s instanceof Error?s:void 0,s}return t[e]}else return}function Gi(t,e){if(e){for(const[n,r]of Object.entries(e))if(r!=null)if(typeof r=="object"){const i=t[n];typeof i=="object"&&i!==null?t[n]=Gi(i,r):t[n]=Gi({},r)}else t[n]=r}return t}class cE{stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}}const Nn={fileSystemProvider:()=>new cE},lE={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},uE={AstReflection:()=>new bf};function dE(){const t=Ke(Cn(Nn),uE),e=Ke(kn({shared:t}),lE);return t.ServiceRegistry.register(e),e}function Jn(t){const e=dE(),n=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(n,wt.parse(`memory:/${n.name??"grammar"}.langium`)),n}var fE=Object.defineProperty,_=(t,e)=>fE(t,"name",{value:e,configurable:!0}),Yc;(t=>{t.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[[\w ]+\]/}})(Yc||(Yc={}));var Xc;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(Xc||(Xc={}));var Jc;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(Jc||(Jc={}));var Qc;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(Qc||(Qc={}));var Zc;(t=>{t.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(Zc||(Zc={}));var el;(t=>{t.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(el||(el={}));var tl;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(tl||(tl={}));({...Yc.Terminals,...Xc.Terminals,...Jc.Terminals,...Qc.Terminals,...Zc.Terminals,...el.Terminals,...tl.Terminals});var Kt={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function hE(t){return It.isInstance(t,Kt.$type)}_(hE,"isArchitecture");var Es={$type:"Axis",label:"label",name:"name"},Fs={$type:"Branch",name:"name",order:"order"};function pE(t){return It.isInstance(t,Fs.$type)}_(pE,"isBranch");var rf={$type:"Checkout",branch:"branch"},As={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},ao={$type:"ClassDefStatement",className:"className",styleText:"styleText"},mr={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function mE(t){return It.isInstance(t,mr.$type)}_(mE,"isCommit");var Ss={$type:"Curve",entries:"entries",label:"label",name:"name"},ir={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},Pt={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},oo={$type:"Entry",axis:"axis",value:"value"},Mn={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function gE(t){return It.isInstance(t,Mn.$type)}_(gE,"isGitGraph");var fi={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},Si={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function yE(t){return It.isInstance(t,Si.$type)}_(yE,"isInfo");var hi={$type:"Item",classSelector:"classSelector",name:"name"},co={$type:"Junction",id:"id",in:"in"},ks={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},gr={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function TE(t){return It.isInstance(t,gr.$type)}_(TE,"isMerge");var lo={$type:"Option",name:"name",value:"value"},yr={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function RE(t){return It.isInstance(t,yr.$type)}_(RE,"isPacket");var Tr={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function vE(t){return It.isInstance(t,Tr.$type)}_(vE,"isPacketBlock");var Fn={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function EE(t){return It.isInstance(t,Fn.$type)}_(EE,"isPie");var Gs={$type:"PieSection",label:"label",value:"value"};function AE(t){return It.isInstance(t,Gs.$type)}_(AE,"isPieSection");var Pn={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},uo={$type:"Section",classSelector:"classSelector",name:"name"},sr={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},ar={$type:"Statement"},Rr={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function SE(t){return It.isInstance(t,Rr.$type)}_(SE,"isTreemap");var fo={$type:"TreemapRow",indent:"indent",item:"item"},up=class extends vf{constructor(){super(...arguments),this.types={Architecture:{name:Kt.$type,properties:{accDescr:{name:Kt.accDescr},accTitle:{name:Kt.accTitle},edges:{name:Kt.edges,defaultValue:[]},groups:{name:Kt.groups,defaultValue:[]},junctions:{name:Kt.junctions,defaultValue:[]},services:{name:Kt.services,defaultValue:[]},title:{name:Kt.title}},superTypes:[]},Axis:{name:Es.$type,properties:{label:{name:Es.label},name:{name:Es.name}},superTypes:[]},Branch:{name:Fs.$type,properties:{name:{name:Fs.name},order:{name:Fs.order}},superTypes:[ar.$type]},Checkout:{name:rf.$type,properties:{branch:{name:rf.branch}},superTypes:[ar.$type]},CherryPicking:{name:As.$type,properties:{id:{name:As.id},parent:{name:As.parent},tags:{name:As.tags,defaultValue:[]}},superTypes:[ar.$type]},ClassDefStatement:{name:ao.$type,properties:{className:{name:ao.className},styleText:{name:ao.styleText}},superTypes:[]},Commit:{name:mr.$type,properties:{id:{name:mr.id},message:{name:mr.message},tags:{name:mr.tags,defaultValue:[]},type:{name:mr.type}},superTypes:[ar.$type]},Curve:{name:Ss.$type,properties:{entries:{name:Ss.entries,defaultValue:[]},label:{name:Ss.label},name:{name:Ss.name}},superTypes:[]},Direction:{name:ir.$type,properties:{accDescr:{name:ir.accDescr},accTitle:{name:ir.accTitle},dir:{name:ir.dir},statements:{name:ir.statements,defaultValue:[]},title:{name:ir.title}},superTypes:[Mn.$type]},Edge:{name:Pt.$type,properties:{lhsDir:{name:Pt.lhsDir},lhsGroup:{name:Pt.lhsGroup,defaultValue:!1},lhsId:{name:Pt.lhsId},lhsInto:{name:Pt.lhsInto,defaultValue:!1},rhsDir:{name:Pt.rhsDir},rhsGroup:{name:Pt.rhsGroup,defaultValue:!1},rhsId:{name:Pt.rhsId},rhsInto:{name:Pt.rhsInto,defaultValue:!1},title:{name:Pt.title}},superTypes:[]},Entry:{name:oo.$type,properties:{axis:{name:oo.axis,referenceType:Es.$type},value:{name:oo.value}},superTypes:[]},GitGraph:{name:Mn.$type,properties:{accDescr:{name:Mn.accDescr},accTitle:{name:Mn.accTitle},statements:{name:Mn.statements,defaultValue:[]},title:{name:Mn.title}},superTypes:[]},Group:{name:fi.$type,properties:{icon:{name:fi.icon},id:{name:fi.id},in:{name:fi.in},title:{name:fi.title}},superTypes:[]},Info:{name:Si.$type,properties:{accDescr:{name:Si.accDescr},accTitle:{name:Si.accTitle},title:{name:Si.title}},superTypes:[]},Item:{name:hi.$type,properties:{classSelector:{name:hi.classSelector},name:{name:hi.name}},superTypes:[]},Junction:{name:co.$type,properties:{id:{name:co.id},in:{name:co.in}},superTypes:[]},Leaf:{name:ks.$type,properties:{classSelector:{name:ks.classSelector},name:{name:ks.name},value:{name:ks.value}},superTypes:[hi.$type]},Merge:{name:gr.$type,properties:{branch:{name:gr.branch},id:{name:gr.id},tags:{name:gr.tags,defaultValue:[]},type:{name:gr.type}},superTypes:[ar.$type]},Option:{name:lo.$type,properties:{name:{name:lo.name},value:{name:lo.value,defaultValue:!1}},superTypes:[]},Packet:{name:yr.$type,properties:{accDescr:{name:yr.accDescr},accTitle:{name:yr.accTitle},blocks:{name:yr.blocks,defaultValue:[]},title:{name:yr.title}},superTypes:[]},PacketBlock:{name:Tr.$type,properties:{bits:{name:Tr.bits},end:{name:Tr.end},label:{name:Tr.label},start:{name:Tr.start}},superTypes:[]},Pie:{name:Fn.$type,properties:{accDescr:{name:Fn.accDescr},accTitle:{name:Fn.accTitle},sections:{name:Fn.sections,defaultValue:[]},showData:{name:Fn.showData,defaultValue:!1},title:{name:Fn.title}},superTypes:[]},PieSection:{name:Gs.$type,properties:{label:{name:Gs.label},value:{name:Gs.value}},superTypes:[]},Radar:{name:Pn.$type,properties:{accDescr:{name:Pn.accDescr},accTitle:{name:Pn.accTitle},axes:{name:Pn.axes,defaultValue:[]},curves:{name:Pn.curves,defaultValue:[]},options:{name:Pn.options,defaultValue:[]},title:{name:Pn.title}},superTypes:[]},Section:{name:uo.$type,properties:{classSelector:{name:uo.classSelector},name:{name:uo.name}},superTypes:[hi.$type]},Service:{name:sr.$type,properties:{icon:{name:sr.icon},iconText:{name:sr.iconText},id:{name:sr.id},in:{name:sr.in},title:{name:sr.title}},superTypes:[]},Statement:{name:ar.$type,properties:{},superTypes:[]},Treemap:{name:Rr.$type,properties:{accDescr:{name:Rr.accDescr},accTitle:{name:Rr.accTitle},title:{name:Rr.title},TreemapRows:{name:Rr.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:fo.$type,properties:{indent:{name:fo.indent},item:{name:fo.item}},superTypes:[]}}}static{_(this,"MermaidAstReflection")}},It=new up,sf,kE=_(()=>sf??(sf=Jn(`{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"ArchitectureGrammarGrammar"),af,CE=_(()=>af??(af=Jn(`{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"GitGraphGrammarGrammar"),of,NE=_(()=>of??(of=Jn(`{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"InfoGrammarGrammar"),cf,wE=_(()=>cf??(cf=Jn(`{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PacketGrammarGrammar"),lf,bE=_(()=>lf??(lf=Jn(`{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PieGrammarGrammar"),uf,_E=_(()=>uf??(uf=Jn(`{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}`)),"RadarGrammarGrammar"),df,IE=_(()=>df??(df=Jn(`{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammarGrammar"),$E={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},PE={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},LE={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},OE={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},xE={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},DE={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ME={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Qn={AstReflection:_(()=>new up,"AstReflection")},FE={Grammar:_(()=>kE(),"Grammar"),LanguageMetaData:_(()=>$E,"LanguageMetaData"),parser:{}},GE={Grammar:_(()=>CE(),"Grammar"),LanguageMetaData:_(()=>PE,"LanguageMetaData"),parser:{}},UE={Grammar:_(()=>NE(),"Grammar"),LanguageMetaData:_(()=>LE,"LanguageMetaData"),parser:{}},jE={Grammar:_(()=>wE(),"Grammar"),LanguageMetaData:_(()=>OE,"LanguageMetaData"),parser:{}},zE={Grammar:_(()=>bE(),"Grammar"),LanguageMetaData:_(()=>xE,"LanguageMetaData"),parser:{}},BE={Grammar:_(()=>_E(),"Grammar"),LanguageMetaData:_(()=>DE,"LanguageMetaData"),parser:{}},qE={Grammar:_(()=>IE(),"Grammar"),LanguageMetaData:_(()=>ME,"LanguageMetaData"),parser:{}},WE=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,VE=/accTitle[\t ]*:([^\n\r]*)/,KE=/title([\t ][^\n\r]*|)/,HE={ACC_DESCR:WE,ACC_TITLE:VE,TITLE:KE},za=class extends Uh{static{_(this,"AbstractMermaidValueConverter")}runConverter(t,e,n){let r=this.runCommonConverter(t,e,n);return r===void 0&&(r=this.runCustomConverter(t,e,n)),r===void 0?super.runConverter(t,e,n):r}runCommonConverter(t,e,n){const r=HE[t.name];if(r===void 0)return;const i=r.exec(e);if(i!==null){if(i[1]!==void 0)return i[1].trim().replace(/[\t ]{2,}/gm," ");if(i[2]!==void 0)return i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,`
158
+ `)}}},Ba=class extends za{static{_(this,"CommonValueConverter")}runCustomConverter(t,e,n){}},wn=class extends Gh{static{_(this,"AbstractMermaidTokenBuilder")}constructor(t){super(),this.keywords=new Set(t)}buildKeywordTokens(t,e,n){const r=super.buildKeywordTokens(t,e,n);return r.forEach(i=>{this.keywords.has(i.name)&&i.PATTERN!==void 0&&(i.PATTERN=new RegExp(i.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),r}};(class extends wn{static{_(this,"CommonTokenBuilder")}});var YE=class extends wn{static{_(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},dp={parser:{TokenBuilder:_(()=>new YE,"TokenBuilder"),ValueConverter:_(()=>new Ba,"ValueConverter")}};function fp(t=Nn){const e=Ke(Cn(t),Qn),n=Ke(kn({shared:e}),GE,dp);return e.ServiceRegistry.register(n),{shared:e,GitGraph:n}}_(fp,"createGitGraphServices");var XE=class extends wn{static{_(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},hp={parser:{TokenBuilder:_(()=>new XE,"TokenBuilder"),ValueConverter:_(()=>new Ba,"ValueConverter")}};function pp(t=Nn){const e=Ke(Cn(t),Qn),n=Ke(kn({shared:e}),UE,hp);return e.ServiceRegistry.register(n),{shared:e,Info:n}}_(pp,"createInfoServices");var JE=class extends wn{static{_(this,"PacketTokenBuilder")}constructor(){super(["packet"])}},mp={parser:{TokenBuilder:_(()=>new JE,"TokenBuilder"),ValueConverter:_(()=>new Ba,"ValueConverter")}};function gp(t=Nn){const e=Ke(Cn(t),Qn),n=Ke(kn({shared:e}),jE,mp);return e.ServiceRegistry.register(n),{shared:e,Packet:n}}_(gp,"createPacketServices");var QE=class extends wn{static{_(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},ZE=class extends za{static{_(this,"PieValueConverter")}runCustomConverter(t,e,n){if(t.name==="PIE_SECTION_LABEL")return e.replace(/"/g,"").trim()}},yp={parser:{TokenBuilder:_(()=>new QE,"TokenBuilder"),ValueConverter:_(()=>new ZE,"ValueConverter")}};function Tp(t=Nn){const e=Ke(Cn(t),Qn),n=Ke(kn({shared:e}),zE,yp);return e.ServiceRegistry.register(n),{shared:e,Pie:n}}_(Tp,"createPieServices");var eA=class extends wn{static{_(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},tA=class extends za{static{_(this,"ArchitectureValueConverter")}runCustomConverter(t,e,n){if(t.name==="ARCH_ICON")return e.replace(/[()]/g,"").trim();if(t.name==="ARCH_TEXT_ICON")return e.replace(/["()]/g,"");if(t.name==="ARCH_TITLE")return e.replace(/[[\]]/g,"").trim()}},Rp={parser:{TokenBuilder:_(()=>new eA,"TokenBuilder"),ValueConverter:_(()=>new tA,"ValueConverter")}};function vp(t=Nn){const e=Ke(Cn(t),Qn),n=Ke(kn({shared:e}),FE,Rp);return e.ServiceRegistry.register(n),{shared:e,Architecture:n}}_(vp,"createArchitectureServices");var nA=class extends wn{static{_(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},Ep={parser:{TokenBuilder:_(()=>new nA,"TokenBuilder"),ValueConverter:_(()=>new Ba,"ValueConverter")}};function Ap(t=Nn){const e=Ke(Cn(t),Qn),n=Ke(kn({shared:e}),BE,Ep);return e.ServiceRegistry.register(n),{shared:e,Radar:n}}_(Ap,"createRadarServices");var rA=class extends wn{static{_(this,"TreemapTokenBuilder")}constructor(){super(["treemap"])}},iA=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,sA=class extends za{static{_(this,"TreemapValueConverter")}runCustomConverter(t,e,n){if(t.name==="NUMBER2")return parseFloat(e.replace(/,/g,""));if(t.name==="SEPARATOR")return e.substring(1,e.length-1);if(t.name==="STRING2")return e.substring(1,e.length-1);if(t.name==="INDENTATION")return e.length;if(t.name==="ClassDef"){if(typeof e!="string")return e;const r=iA.exec(e);if(r)return{$type:"ClassDefStatement",className:r[1],styleText:r[2]||void 0}}}};function Sp(t){const e=t.validation.TreemapValidator,n=t.validation.ValidationRegistry;if(n){const r={Treemap:e.checkSingleRoot.bind(e)};n.register(r,e)}}_(Sp,"registerValidationChecks");var aA=class{static{_(this,"TreemapValidator")}checkSingleRoot(t,e){let n;for(const r of t.TreemapRows)r.item&&(n===void 0&&r.indent===void 0?n=0:r.indent===void 0?e("error","Multiple root nodes are not allowed in a treemap.",{node:r,property:"item"}):n!==void 0&&n>=parseInt(r.indent,10)&&e("error","Multiple root nodes are not allowed in a treemap.",{node:r,property:"item"}))}},kp={parser:{TokenBuilder:_(()=>new rA,"TokenBuilder"),ValueConverter:_(()=>new sA,"ValueConverter")},validation:{TreemapValidator:_(()=>new aA,"TreemapValidator")}};function Cp(t=Nn){const e=Ke(Cn(t),Qn),n=Ke(kn({shared:e}),qE,kp);return e.ServiceRegistry.register(n),Sp(n),{shared:e,Treemap:n}}_(Cp,"createTreemapServices");var Yt={},oA={info:_(async()=>{const{createInfoServices:t}=await _n(async()=>{const{createInfoServices:n}=await Promise.resolve().then(()=>uA);return{createInfoServices:n}},void 0),e=t().Info.parser.LangiumParser;Yt.info=e},"info"),packet:_(async()=>{const{createPacketServices:t}=await _n(async()=>{const{createPacketServices:n}=await Promise.resolve().then(()=>dA);return{createPacketServices:n}},void 0),e=t().Packet.parser.LangiumParser;Yt.packet=e},"packet"),pie:_(async()=>{const{createPieServices:t}=await _n(async()=>{const{createPieServices:n}=await Promise.resolve().then(()=>fA);return{createPieServices:n}},void 0),e=t().Pie.parser.LangiumParser;Yt.pie=e},"pie"),architecture:_(async()=>{const{createArchitectureServices:t}=await _n(async()=>{const{createArchitectureServices:n}=await Promise.resolve().then(()=>hA);return{createArchitectureServices:n}},void 0),e=t().Architecture.parser.LangiumParser;Yt.architecture=e},"architecture"),gitGraph:_(async()=>{const{createGitGraphServices:t}=await _n(async()=>{const{createGitGraphServices:n}=await Promise.resolve().then(()=>pA);return{createGitGraphServices:n}},void 0),e=t().GitGraph.parser.LangiumParser;Yt.gitGraph=e},"gitGraph"),radar:_(async()=>{const{createRadarServices:t}=await _n(async()=>{const{createRadarServices:n}=await Promise.resolve().then(()=>mA);return{createRadarServices:n}},void 0),e=t().Radar.parser.LangiumParser;Yt.radar=e},"radar"),treemap:_(async()=>{const{createTreemapServices:t}=await _n(async()=>{const{createTreemapServices:n}=await Promise.resolve().then(()=>gA);return{createTreemapServices:n}},void 0),e=t().Treemap.parser.LangiumParser;Yt.treemap=e},"treemap")};async function cA(t,e){const n=oA[t];if(!n)throw new Error(`Unknown diagram type: ${t}`);Yt[t]||await n();const i=Yt[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new lA(i);return i.value}_(cA,"parse");var lA=class extends Error{constructor(t){const e=t.lexerErrors.map(r=>r.message).join(`
159
+ `),n=t.parserErrors.map(r=>r.message).join(`
160
+ `);super(`Parsing failed: ${e} ${n}`),this.result=t}static{_(this,"MermaidParseError")}};const uA=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:hp,createInfoServices:pp},Symbol.toStringTag,{value:"Module"})),dA=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:mp,createPacketServices:gp},Symbol.toStringTag,{value:"Module"})),fA=Object.freeze(Object.defineProperty({__proto__:null,PieModule:yp,createPieServices:Tp},Symbol.toStringTag,{value:"Module"})),hA=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:Rp,createArchitectureServices:vp},Symbol.toStringTag,{value:"Module"})),pA=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:dp,createGitGraphServices:fp},Symbol.toStringTag,{value:"Module"})),mA=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:Ep,createRadarServices:Ap},Symbol.toStringTag,{value:"Module"})),gA=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:kp,createTreemapServices:Cp},Symbol.toStringTag,{value:"Module"}));export{cA as p};