md-redline 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +169 -0
- package/bin/md-redline +255 -0
- package/bin/test-windows.ps1 +70 -0
- package/dist/assets/_baseFor-Ck08IaSF.js +1 -0
- package/dist/assets/arc-DI2g9LXK.js +1 -0
- package/dist/assets/architecture-YZFGNWBL-BDgMfc-b.js +1 -0
- package/dist/assets/architectureDiagram-Q4EWVU46-Dg1hcUEa.js +36 -0
- package/dist/assets/array-DOVTz2Mq.js +1 -0
- package/dist/assets/blockDiagram-DXYQGD6D-BAXkTCAk.js +132 -0
- package/dist/assets/c4Diagram-AHTNJAMY-BIkgwQSx.js +10 -0
- package/dist/assets/channel-DPCihw7y.js +1 -0
- package/dist/assets/chunk-2KRD3SAO-Dc_tBGsw.js +1 -0
- package/dist/assets/chunk-336JU56O-Dhi-ID9Y.js +2 -0
- package/dist/assets/chunk-426QAEUC-DnFdrNMW.js +1 -0
- package/dist/assets/chunk-4BX2VUAB-Z63FkGov.js +1 -0
- package/dist/assets/chunk-4TB4RGXK-BAiBlfyy.js +206 -0
- package/dist/assets/chunk-55IACEB6-BXDWXbxy.js +1 -0
- package/dist/assets/chunk-5FUZZQ4R-C72e1c_O.js +62 -0
- package/dist/assets/chunk-5PVQY5BW-BBHW_uCu.js +2 -0
- package/dist/assets/chunk-67CJDMHE-3Cf_D9m6.js +1 -0
- package/dist/assets/chunk-7N4EOEYR-DAXUXJ2c.js +1 -0
- package/dist/assets/chunk-AA7GKIK3-Dr7fOryc.js +1 -0
- package/dist/assets/chunk-BSJP7CBP-BmsSs1Nt.js +1 -0
- package/dist/assets/chunk-CIAEETIT-QDzV-X_Y.js +1 -0
- package/dist/assets/chunk-EDXVE4YY-C25WFHxY.js +1 -0
- package/dist/assets/chunk-ENJZ2VHE-_OzxcZOU.js +10 -0
- package/dist/assets/chunk-FMBD7UC4-CjsTKY4u.js +15 -0
- package/dist/assets/chunk-FOC6F5B3-g-xaH5nc.js +1 -0
- package/dist/assets/chunk-ICPOFSXX-iKiUSjDK.js +121 -0
- package/dist/assets/chunk-K5T4RW27-CKR-lPBN.js +94 -0
- package/dist/assets/chunk-KGLVRYIC-DRccT-B_.js +1 -0
- package/dist/assets/chunk-LIHQZDEY-DTbMwMXj.js +1 -0
- package/dist/assets/chunk-ORNJ4GCN-DlerdcWX.js +1 -0
- package/dist/assets/chunk-OYMX7WX6-Dekv1on2.js +231 -0
- package/dist/assets/chunk-QZHKN3VN-BHu0RdKl.js +1 -0
- package/dist/assets/chunk-U2HBQHQK-BvtlVHAg.js +70 -0
- package/dist/assets/chunk-X2U36JSP-BI_g8mub.js +1 -0
- package/dist/assets/chunk-XPW4576I-B39JkmSE.js +32 -0
- package/dist/assets/chunk-YZCP3GAM-BfPcXRm2.js +1 -0
- package/dist/assets/chunk-ZZ45TVLE-Bg4q68wZ.js +1 -0
- package/dist/assets/classDiagram-6PBFFD2Q-p73p727_.js +1 -0
- package/dist/assets/classDiagram-v2-HSJHXN6E-C4Ftpivp.js +1 -0
- package/dist/assets/clone-CI9aUwHe.js +1 -0
- package/dist/assets/cose-bilkent-S5V4N54A-7BpAeDh5.js +1 -0
- package/dist/assets/cytoscape.esm-DoTFyJaN.js +321 -0
- package/dist/assets/dagre-CilMRazv.js +1 -0
- package/dist/assets/dagre-KV5264BT-DDMqpjkB.js +4 -0
- package/dist/assets/defaultLocale-Ck2Xxk-C.js +1 -0
- package/dist/assets/diagram-5BDNPKRD-BFeyfnCx.js +10 -0
- package/dist/assets/diagram-G4DWMVQ6-DoqT-PtF.js +24 -0
- package/dist/assets/diagram-MMDJMWI5-BPV6KADk.js +43 -0
- package/dist/assets/diagram-TYMM5635-okvcTBtl.js +24 -0
- package/dist/assets/dist-C_eddq6m.js +1 -0
- package/dist/assets/erDiagram-SMLLAGMA-Dl-Ixy8n.js +85 -0
- package/dist/assets/flatten-B8XIuT0x.js +1 -0
- package/dist/assets/flowDiagram-DWJPFMVM-CsqWAx5r.js +162 -0
- package/dist/assets/ganttDiagram-T4ZO3ILL-mIt6zVeF.js +292 -0
- package/dist/assets/gitGraph-7Q5UKJZL-COXHGMvj.js +1 -0
- package/dist/assets/gitGraphDiagram-UUTBAWPF-syVqZJX_.js +106 -0
- package/dist/assets/graphlib-Bpd0q3yO.js +1 -0
- package/dist/assets/index-BoggyWS0.css +2 -0
- package/dist/assets/index-aLvjHQW4.js +104 -0
- package/dist/assets/info-OMHHGYJF-B-0wfxwL.js +1 -0
- package/dist/assets/infoDiagram-42DDH7IO-C0_uqsVa.js +2 -0
- package/dist/assets/init-Bft5Ffpj.js +1 -0
- package/dist/assets/isEmpty-BrFi5AqV.js +1 -0
- package/dist/assets/ishikawaDiagram-UXIWVN3A-CTjFbDBV.js +70 -0
- package/dist/assets/journeyDiagram-VCZTEJTY-BDBcej1q.js +139 -0
- package/dist/assets/kanban-definition-6JOO6SKY-Ylgzakw7.js +89 -0
- package/dist/assets/katex-Uj9wLT16.js +265 -0
- package/dist/assets/line-CRxEwpOv.js +1 -0
- package/dist/assets/linear-PDPfFByd.js +1 -0
- package/dist/assets/mermaid-parser.core-CY-XNOOy.js +4 -0
- package/dist/assets/mermaid.core-BPlTADIX.js +11 -0
- package/dist/assets/mindmap-definition-QFDTVHPH-TefzJnBM.js +96 -0
- package/dist/assets/ordinal-DIg8h6NI.js +1 -0
- package/dist/assets/packet-4T2RLAQJ-BW1T_A-C.js +1 -0
- package/dist/assets/path-DfRbCp9y.js +1 -0
- package/dist/assets/pie-ZZUOXDRM-DkKU-SFu.js +1 -0
- package/dist/assets/pieDiagram-DEJITSTG-BCXuaeEy.js +30 -0
- package/dist/assets/quadrantDiagram-34T5L4WZ-VSBAicWL.js +7 -0
- package/dist/assets/radar-PYXPWWZC-CYvTacKJ.js +1 -0
- package/dist/assets/reduce-CV2X8n1a.js +1 -0
- package/dist/assets/requirementDiagram-MS252O5E-4NeL9Z6J.js +84 -0
- package/dist/assets/rough.esm-Bbn_-PMU.js +1 -0
- package/dist/assets/sankeyDiagram-XADWPNL6-DMBSDnrH.js +10 -0
- package/dist/assets/sequenceDiagram-FGHM5R23-DVpzcZUi.js +157 -0
- package/dist/assets/src-PKe5NtkK.js +1 -0
- package/dist/assets/stateDiagram-FHFEXIEX-BkHTlCjL.js +1 -0
- package/dist/assets/stateDiagram-v2-QKLJ7IA2-nMeWu9fP.js +1 -0
- package/dist/assets/timeline-definition-GMOUNBTQ-CyLt92nf.js +120 -0
- package/dist/assets/treeView-SZITEDCU-BUgcJ4eR.js +1 -0
- package/dist/assets/treemap-W4RFUUIX-BIWGQ4Pw.js +1 -0
- package/dist/assets/vennDiagram-DHZGUBPP-BCK0xB_m.js +34 -0
- package/dist/assets/wardley-RL74JXVD-DMZZRlby.js +1 -0
- package/dist/assets/wardleyDiagram-NUSXRM2D-BisBgfsF.js +20 -0
- package/dist/assets/xychartDiagram-5P7HB3ND-D_REDciv.js +7 -0
- package/dist/favicon.svg +15 -0
- package/dist/index.html +14 -0
- package/dist/screenshot.png +0 -0
- package/index.html +13 -0
- package/package.json +105 -0
- package/public/favicon.svg +15 -0
- package/public/screenshot.png +0 -0
- package/server/index.test.ts +814 -0
- package/server/index.ts +736 -0
- package/server/preferences.test.ts +126 -0
- package/server/preferences.ts +76 -0
- package/src/App.tsx +1620 -0
- package/src/components/ActionButton.tsx +41 -0
- package/src/components/CommandPalette.tsx +191 -0
- package/src/components/CommentCard.tsx +556 -0
- package/src/components/CommentForm.tsx +285 -0
- package/src/components/CommentSidebar.tsx +428 -0
- package/src/components/ConfirmDialog.tsx +64 -0
- package/src/components/ContextMenu.tsx +220 -0
- package/src/components/DragHandles.tsx +48 -0
- package/src/components/FileExplorer.tsx +251 -0
- package/src/components/FileOpener.tsx +304 -0
- package/src/components/IconButton.tsx +32 -0
- package/src/components/KeyboardShortcutsPanel.tsx +136 -0
- package/src/components/MarkdownViewer.tsx +682 -0
- package/src/components/RawView.tsx +798 -0
- package/src/components/SearchBar.tsx +129 -0
- package/src/components/Separator.tsx +7 -0
- package/src/components/SettingsPanel.tsx +813 -0
- package/src/components/SplitIconButton.tsx +133 -0
- package/src/components/TabBar.tsx +594 -0
- package/src/components/TableOfContents.tsx +70 -0
- package/src/components/ThemeSelector.tsx +159 -0
- package/src/components/Toast.tsx +99 -0
- package/src/components/Toolbar.tsx +161 -0
- package/src/components/iconButtonVariants.ts +19 -0
- package/src/components/rawView.test.ts +291 -0
- package/src/contexts/SettingsContext.tsx +120 -0
- package/src/hooks/useAuthor.test.ts +58 -0
- package/src/hooks/useAuthor.ts +69 -0
- package/src/hooks/useAutoResize.ts +20 -0
- package/src/hooks/useCommentCardTriggers.ts +20 -0
- package/src/hooks/useComments.test.ts +773 -0
- package/src/hooks/useComments.ts +332 -0
- package/src/hooks/useContextMenu.ts +48 -0
- package/src/hooks/useContextMenuItems.ts +392 -0
- package/src/hooks/useDiffSnapshot.test.ts +130 -0
- package/src/hooks/useDiffSnapshot.ts +67 -0
- package/src/hooks/useDragHandles.ts +417 -0
- package/src/hooks/useFileWatcher.ts +45 -0
- package/src/hooks/useHeadingTracking.ts +84 -0
- package/src/hooks/useMermaidRenderer.ts +75 -0
- package/src/hooks/useModalState.ts +22 -0
- package/src/hooks/usePageVisible.test.ts +69 -0
- package/src/hooks/usePageVisible.ts +19 -0
- package/src/hooks/usePaneLayout.test.ts +108 -0
- package/src/hooks/usePaneLayout.ts +102 -0
- package/src/hooks/useRecentFiles.test.ts +103 -0
- package/src/hooks/useRecentFiles.ts +99 -0
- package/src/hooks/useResizablePanel.test.ts +84 -0
- package/src/hooks/useResizablePanel.ts +118 -0
- package/src/hooks/useSearch.test.ts +72 -0
- package/src/hooks/useSearch.ts +53 -0
- package/src/hooks/useSelection.ts +48 -0
- package/src/hooks/useSessionPersistence.test.ts +59 -0
- package/src/hooks/useSessionPersistence.ts +43 -0
- package/src/hooks/useTabs.test.ts +127 -0
- package/src/hooks/useTabs.ts +561 -0
- package/src/hooks/useThemePersistence.ts +41 -0
- package/src/hooks/useToast.ts +27 -0
- package/src/index.css +1047 -0
- package/src/lib/agent-prompts.test.ts +34 -0
- package/src/lib/agent-prompts.ts +68 -0
- package/src/lib/comment-editor-state.ts +6 -0
- package/src/lib/comment-parser.test.ts +1959 -0
- package/src/lib/comment-parser.ts +1021 -0
- package/src/lib/diff.test.ts +164 -0
- package/src/lib/diff.ts +139 -0
- package/src/lib/heading-slugs.test.ts +85 -0
- package/src/lib/heading-slugs.ts +44 -0
- package/src/lib/http.test.ts +43 -0
- package/src/lib/http.ts +29 -0
- package/src/lib/mermaid-highlights.test.ts +517 -0
- package/src/lib/mermaid-highlights.ts +936 -0
- package/src/lib/mermaid-renderer.test.ts +114 -0
- package/src/lib/mermaid-renderer.ts +89 -0
- package/src/lib/path-utils.test.ts +17 -0
- package/src/lib/path-utils.ts +7 -0
- package/src/lib/platform.test.ts +58 -0
- package/src/lib/platform.ts +14 -0
- package/src/lib/preferences-client.test.ts +177 -0
- package/src/lib/preferences-client.ts +94 -0
- package/src/lib/selection-resolver.test.ts +118 -0
- package/src/lib/selection-resolver.ts +37 -0
- package/src/lib/settings.test.ts +152 -0
- package/src/lib/settings.ts +78 -0
- package/src/lib/shortcut-label.tsx +18 -0
- package/src/lib/themes.ts +21 -0
- package/src/lib/visible-text.test.ts +86 -0
- package/src/lib/visible-text.ts +77 -0
- package/src/main.tsx +22 -0
- package/src/markdown/pipeline.test.ts +82 -0
- package/src/markdown/pipeline.ts +33 -0
- package/src/types.test.ts +43 -0
- package/src/types.ts +46 -0
- package/tsconfig.app.json +28 -0
- package/tsconfig.json +7 -0
- package/tsconfig.node.json +26 -0
- package/vite.config.ts +50 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import{a as e,c as t,i as n,o as r,r as i,s as a}from"./index-aLvjHQW4.js";import{a as o,c as s,d as c,n as l,s as u,t as d}from"./reduce-CV2X8n1a.js";import{t as f}from"./isEmpty-BrFi5AqV.js";import{a as p,n as m,t as h}from"./flatten-B8XIuT0x.js";function g(e){return typeof e==`object`&&!!e&&typeof e.$type==`string`}function _(e){return typeof e==`object`&&!!e&&typeof e.$refText==`string`&&`ref`in e}function v(e){return typeof e==`object`&&!!e&&typeof e.$refText==`string`&&`items`in e}function y(e){return typeof e==`object`&&!!e&&typeof e.name==`string`&&typeof e.type==`string`&&typeof e.path==`string`}function b(e){return typeof e==`object`&&!!e&&typeof e.info==`object`&&typeof e.message==`string`}var x=class{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){let t=this.types[e.container.$type];if(!t)throw Error(`Type ${e.container.$type||`undefined`} not found.`);let n=t.properties[e.property]?.referenceType;if(!n)throw Error(`Property ${e.property||`undefined`} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){return this.types[e]||{name:e,properties:{},superTypes:[]}}isInstance(e,t){return g(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let n=this.subtypes[e];n||=this.subtypes[e]={};let r=n[t];if(r!==void 0)return r;{let r=this.types[e],i=r?r.superTypes.some(e=>this.isSubtype(e,t)):!1;return n[t]=i,i}}getAllSubTypes(e){let t=this.allSubtypes[e];if(t)return t;{let t=this.getAllTypes(),n=[];for(let r of t)this.isSubtype(r,e)&&n.push(r);return this.allSubtypes[e]=n,n}}};function S(e){return typeof e==`object`&&!!e&&Array.isArray(e.content)}function ee(e){return typeof e==`object`&&!!e&&typeof e.tokenType==`object`}function C(e){return S(e)&&typeof e.fullText==`string`}var w=class e{constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),t=0,n=e.next();for(;!n.done;)t++,n=e.next();return t}toArray(){let e=[],t=this.iterator(),n;do n=t.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,t){let n=this.map(n=>[e?e(n):n,t?t(n):n]);return new Map(n)}toString(){return this.join()}concat(t){return new e(()=>({first:this.startFn(),firstDone:!1,iterator:t[Symbol.iterator]()}),e=>{let t;if(!e.firstDone){do if(t=this.nextFn(e.first),!t.done)return t;while(!t.done);e.firstDone=!0}do if(t=e.iterator.next(),!t.done)return t;while(!t.done);return E})}join(e=`,`){let t=this.iterator(),n=``,r,i=!1;do r=t.next(),r.done||(i&&(n+=e),n+=T(r.value)),i=!0;while(!r.done);return n}indexOf(e,t=0){let n=this.iterator(),r=0,i=n.next();for(;!i.done;){if(r>=t&&i.value===e)return r;i=n.next(),r++}return-1}every(e){let t=this.iterator(),n=t.next();for(;!n.done;){if(!e(n.value))return!1;n=t.next()}return!0}some(e){let t=this.iterator(),n=t.next();for(;!n.done;){if(e(n.value))return!0;n=t.next()}return!1}forEach(e){let t=this.iterator(),n=0,r=t.next();for(;!r.done;)e(r.value,n),r=t.next(),n++}map(t){return new e(this.startFn,e=>{let{done:n,value:r}=this.nextFn(e);return n?E:{done:!1,value:t(r)}})}filter(t){return new e(this.startFn,e=>{let n;do if(n=this.nextFn(e),!n.done&&t(n.value))return n;while(!n.done);return E})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,t){let n=this.iterator(),r=t,i=n.next();for(;!i.done;)r=r===void 0?i.value:e(r,i.value),i=n.next();return r}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,n){let r=e.next();if(r.done)return n;let i=this.recursiveReduce(e,t,n);return i===void 0?r.value:t(i,r.value)}find(e){let t=this.iterator(),n=t.next();for(;!n.done;){if(e(n.value))return n.value;n=t.next()}}findIndex(e){let t=this.iterator(),n=0,r=t.next();for(;!r.done;){if(e(r.value))return n;r=t.next(),n++}return-1}includes(e){let t=this.iterator(),n=t.next();for(;!n.done;){if(n.value===e)return!0;n=t.next()}return!1}flatMap(t){return new e(()=>({this:this.startFn()}),e=>{do{if(e.iterator){let t=e.iterator.next();if(t.done)e.iterator=void 0;else return t}let{done:n,value:r}=this.nextFn(e.this);if(!n){let n=t(r);if(te(n))e.iterator=n[Symbol.iterator]();else return{done:!1,value:n}}}while(e.iterator);return E})}flat(t){if(t===void 0&&(t=1),t<=0)return this;let n=t>1?this.flat(t-1):this;return new e(()=>({this:n.startFn()}),e=>{do{if(e.iterator){let t=e.iterator.next();if(t.done)e.iterator=void 0;else return t}let{done:t,value:r}=n.nextFn(e.this);if(!t)if(te(r))e.iterator=r[Symbol.iterator]();else return{done:!1,value:r}}while(e.iterator);return E})}head(){let e=this.iterator().next();if(!e.done)return e.value}tail(t=1){return new e(()=>{let e=this.startFn();for(let n=0;n<t;n++)if(this.nextFn(e).done)return e;return e},this.nextFn)}limit(t){return new e(()=>({size:0,state:this.startFn()}),e=>(e.size++,e.size>t?E:this.nextFn(e.state)))}distinct(t){return new e(()=>({set:new Set,internalState:this.startFn()}),e=>{let n;do if(n=this.nextFn(e.internalState),!n.done){let r=t?t(n.value):n.value;if(!e.set.has(r))return e.set.add(r),n}while(!n.done);return E})}exclude(e,t){let n=new Set;for(let r of e){let e=t?t(r):r;n.add(e)}return this.filter(e=>{let r=t?t(e):e;return!n.has(r)})}};function T(e){return typeof e==`string`?e:e===void 0?`undefined`:typeof e.toString==`function`?e.toString():Object.prototype.toString.call(e)}function te(e){return!!e&&typeof e[Symbol.iterator]==`function`}var ne=new w(()=>void 0,()=>E),E=Object.freeze({done:!0,value:void 0});function D(...e){if(e.length===1){let t=e[0];if(t instanceof w)return t;if(te(t))return new w(()=>t[Symbol.iterator](),e=>e.next());if(typeof t.length==`number`)return new w(()=>({index:0}),e=>e.index<t.length?{done:!1,value:t[e.index++]}:E)}return e.length>1?new w(()=>({collIndex:0,arrIndex:0}),t=>{do{if(t.iterator){let e=t.iterator.next();if(!e.done)return e;t.iterator=void 0}if(t.array){if(t.arrIndex<t.array.length)return{done:!1,value:t.array[t.arrIndex++]};t.array=void 0,t.arrIndex=0}if(t.collIndex<e.length){let n=e[t.collIndex++];te(n)?t.iterator=n[Symbol.iterator]():n&&typeof n.length==`number`&&(t.array=n)}}while(t.iterator||t.array||t.collIndex<e.length);return E}):ne}var re=class extends w{constructor(e,t,n){super(()=>({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),e=>{for(e.pruned&&=(e.iterators.pop(),!1);e.iterators.length>0;){let n=e.iterators[e.iterators.length-1].next();if(n.done)e.iterators.pop();else return e.iterators.push(t(n.value)[Symbol.iterator]()),n}return E})}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}},ie;(function(e){function t(e){return e.reduce((e,t)=>e+t,0)}e.sum=t;function n(e){return e.reduce((e,t)=>e*t,0)}e.product=n;function r(e){return e.reduce((e,t)=>Math.min(e,t))}e.min=r;function i(e){return e.reduce((e,t)=>Math.max(e,t))}e.max=i})(ie||={});function ae(e,t={}){for(let[n,r]of Object.entries(e))n.startsWith(`$`)||(Array.isArray(r)?r.forEach((r,i)=>{g(r)&&(r.$container=e,r.$containerProperty=n,r.$containerIndex=i,t.deep&&ae(r,t))}):g(r)&&(r.$container=e,r.$containerProperty=n,t.deep&&ae(r,t)))}function oe(e,t){let n=e;for(;n;){if(t(n))return n;n=n.$container}}function O(e){let t=se(e).$document;if(!t)throw Error(`AST node has no document.`);return t}function se(e){for(;e.$container;)e=e.$container;return e}function ce(e){return _(e)?e.ref?[e.ref]:[]:v(e)?e.items.map(e=>e.ref):[]}function le(e,t){if(!e)throw Error(`Node must be an AstNode.`);let n=t?.range;return new w(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndex<t.keys.length;){let r=t.keys[t.keyIndex];if(!r.startsWith(`$`)){let i=e[r];if(g(i)){if(t.keyIndex++,A(i,n))return{done:!1,value:i}}else if(Array.isArray(i)){for(;t.arrayIndex<i.length;){let e=i[t.arrayIndex++];if(g(e)&&A(e,n))return{done:!1,value:e}}t.arrayIndex=0}}t.keyIndex++}return E})}function k(e,t){if(!e)throw Error(`Root node must be an AstNode.`);return new re(e,e=>le(e,t))}function ue(e,t){if(!e)throw Error(`Root node must be an AstNode.`);return t?.range&&!A(e,t.range)?new re(e,()=>[]):new re(e,e=>le(e,t),{includeRoot:!0})}function A(e,t){if(!t)return!0;let n=e.$cstNode?.range;return n?Xt(n,t):!1}function de(e){return new w(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndex<t.keys.length;){let n=t.keys[t.keyIndex];if(!n.startsWith(`$`)){let r=e[n];if(_(r)||v(r))return t.keyIndex++,{done:!1,value:{reference:r,container:e,property:n}};if(Array.isArray(r)){for(;t.arrayIndex<r.length;){let i=t.arrayIndex++,a=r[i];if(_(a)||v(r))return{done:!1,value:{reference:a,container:e,property:n,index:i}}}t.arrayIndex=0}}t.keyIndex++}return E})}function fe(e,t){let n=e.getTypeMetaData(t.$type),r=t;for(let e of Object.values(n.properties))e.defaultValue!==void 0&&r[e.name]===void 0&&(r[e.name]=pe(e.defaultValue))}function pe(e){return Array.isArray(e)?[...e.map(pe)]:e}var me={$type:`AbstractElement`,cardinality:`cardinality`};function he(e){return j.isInstance(e,me.$type)}var ge={$type:`AbstractParserRule`};function _e(e){return j.isInstance(e,ge.$type)}var ve={$type:`AbstractRule`},ye={$type:`AbstractType`},be={$type:`Action`,cardinality:`cardinality`,feature:`feature`,inferredType:`inferredType`,operator:`operator`,type:`type`};function xe(e){return j.isInstance(e,be.$type)}var Se={$type:`Alternatives`,cardinality:`cardinality`,elements:`elements`};function Ce(e){return j.isInstance(e,Se.$type)}var we={$type:`ArrayLiteral`,elements:`elements`},Te={$type:`ArrayType`,elementType:`elementType`},Ee={$type:`Assignment`,cardinality:`cardinality`,feature:`feature`,operator:`operator`,predicate:`predicate`,terminal:`terminal`};function De(e){return j.isInstance(e,Ee.$type)}var Oe={$type:`BooleanLiteral`,true:`true`};function ke(e){return j.isInstance(e,Oe.$type)}var Ae={$type:`CharacterRange`,cardinality:`cardinality`,left:`left`,lookahead:`lookahead`,parenthesized:`parenthesized`,right:`right`};function je(e){return j.isInstance(e,Ae.$type)}var Me={$type:`Condition`},Ne={$type:`Conjunction`,left:`left`,right:`right`};function Pe(e){return j.isInstance(e,Ne.$type)}var Fe={$type:`CrossReference`,cardinality:`cardinality`,deprecatedSyntax:`deprecatedSyntax`,isMulti:`isMulti`,terminal:`terminal`,type:`type`};function Ie(e){return j.isInstance(e,Fe.$type)}var Le={$type:`Disjunction`,left:`left`,right:`right`};function Re(e){return j.isInstance(e,Le.$type)}var ze={$type:`EndOfFile`,cardinality:`cardinality`};function Be(e){return j.isInstance(e,ze.$type)}var Ve={$type:`Grammar`,imports:`imports`,interfaces:`interfaces`,isDeclared:`isDeclared`,name:`name`,rules:`rules`,types:`types`},He={$type:`GrammarImport`,path:`path`},Ue={$type:`Group`,cardinality:`cardinality`,elements:`elements`,guardCondition:`guardCondition`,predicate:`predicate`};function We(e){return j.isInstance(e,Ue.$type)}var Ge={$type:`InferredType`,name:`name`};function Ke(e){return j.isInstance(e,Ge.$type)}var qe={$type:`InfixRule`,call:`call`,dataType:`dataType`,inferredType:`inferredType`,name:`name`,operators:`operators`,parameters:`parameters`,returnType:`returnType`};function Je(e){return j.isInstance(e,qe.$type)}var Ye={$type:`InfixRuleOperatorList`,associativity:`associativity`,operators:`operators`},Xe={$type:`InfixRuleOperators`,precedences:`precedences`},Ze={$type:`Interface`,attributes:`attributes`,name:`name`,superTypes:`superTypes`};function Qe(e){return j.isInstance(e,Ze.$type)}var $e={$type:`Keyword`,cardinality:`cardinality`,predicate:`predicate`,value:`value`};function et(e){return j.isInstance(e,$e.$type)}var tt={$type:`NamedArgument`,calledByName:`calledByName`,parameter:`parameter`,value:`value`},nt={$type:`NegatedToken`,cardinality:`cardinality`,lookahead:`lookahead`,parenthesized:`parenthesized`,terminal:`terminal`};function rt(e){return j.isInstance(e,nt.$type)}var it={$type:`Negation`,value:`value`};function at(e){return j.isInstance(e,it.$type)}var ot={$type:`NumberLiteral`,value:`value`},st={$type:`Parameter`,name:`name`},ct={$type:`ParameterReference`,parameter:`parameter`};function lt(e){return j.isInstance(e,ct.$type)}var ut={$type:`ParserRule`,dataType:`dataType`,definition:`definition`,entry:`entry`,fragment:`fragment`,inferredType:`inferredType`,name:`name`,parameters:`parameters`,returnType:`returnType`};function dt(e){return j.isInstance(e,ut.$type)}var ft={$type:`ReferenceType`,isMulti:`isMulti`,referenceType:`referenceType`},pt={$type:`RegexToken`,cardinality:`cardinality`,lookahead:`lookahead`,parenthesized:`parenthesized`,regex:`regex`};function mt(e){return j.isInstance(e,pt.$type)}var ht={$type:`ReturnType`,name:`name`};function gt(e){return j.isInstance(e,ht.$type)}var _t={$type:`RuleCall`,arguments:`arguments`,cardinality:`cardinality`,predicate:`predicate`,rule:`rule`};function vt(e){return j.isInstance(e,_t.$type)}var yt={$type:`SimpleType`,primitiveType:`primitiveType`,stringType:`stringType`,typeRef:`typeRef`};function bt(e){return j.isInstance(e,yt.$type)}var xt={$type:`StringLiteral`,value:`value`},St={$type:`TerminalAlternatives`,cardinality:`cardinality`,elements:`elements`,lookahead:`lookahead`,parenthesized:`parenthesized`};function Ct(e){return j.isInstance(e,St.$type)}var wt={$type:`TerminalElement`,cardinality:`cardinality`,lookahead:`lookahead`,parenthesized:`parenthesized`},Tt={$type:`TerminalGroup`,cardinality:`cardinality`,elements:`elements`,lookahead:`lookahead`,parenthesized:`parenthesized`};function Et(e){return j.isInstance(e,Tt.$type)}var Dt={$type:`TerminalRule`,definition:`definition`,fragment:`fragment`,hidden:`hidden`,name:`name`,type:`type`};function Ot(e){return j.isInstance(e,Dt.$type)}var kt={$type:`TerminalRuleCall`,cardinality:`cardinality`,lookahead:`lookahead`,parenthesized:`parenthesized`,rule:`rule`};function At(e){return j.isInstance(e,kt.$type)}var jt={$type:`Type`,name:`name`,type:`type`};function Mt(e){return j.isInstance(e,jt.$type)}var Nt={$type:`TypeAttribute`,defaultValue:`defaultValue`,isOptional:`isOptional`,name:`name`,type:`type`},Pt={$type:`TypeDefinition`},Ft={$type:`UnionType`,types:`types`},It={$type:`UnorderedGroup`,cardinality:`cardinality`,elements:`elements`};function Lt(e){return j.isInstance(e,It.$type)}var Rt={$type:`UntilToken`,cardinality:`cardinality`,lookahead:`lookahead`,parenthesized:`parenthesized`,terminal:`terminal`};function zt(e){return j.isInstance(e,Rt.$type)}var Bt={$type:`ValueLiteral`},Vt={$type:`Wildcard`,cardinality:`cardinality`,lookahead:`lookahead`,parenthesized:`parenthesized`};function Ht(e){return j.isInstance(e,Vt.$type)}var Ut=class extends x{constructor(){super(...arguments),this.types={AbstractElement:{name:me.$type,properties:{cardinality:{name:me.cardinality}},superTypes:[]},AbstractParserRule:{name:ge.$type,properties:{},superTypes:[ve.$type,ye.$type]},AbstractRule:{name:ve.$type,properties:{},superTypes:[]},AbstractType:{name:ye.$type,properties:{},superTypes:[]},Action:{name:be.$type,properties:{cardinality:{name:be.cardinality},feature:{name:be.feature},inferredType:{name:be.inferredType},operator:{name:be.operator},type:{name:be.type,referenceType:ye.$type}},superTypes:[me.$type]},Alternatives:{name:Se.$type,properties:{cardinality:{name:Se.cardinality},elements:{name:Se.elements,defaultValue:[]}},superTypes:[me.$type]},ArrayLiteral:{name:we.$type,properties:{elements:{name:we.elements,defaultValue:[]}},superTypes:[Bt.$type]},ArrayType:{name:Te.$type,properties:{elementType:{name:Te.elementType}},superTypes:[Pt.$type]},Assignment:{name:Ee.$type,properties:{cardinality:{name:Ee.cardinality},feature:{name:Ee.feature},operator:{name:Ee.operator},predicate:{name:Ee.predicate},terminal:{name:Ee.terminal}},superTypes:[me.$type]},BooleanLiteral:{name:Oe.$type,properties:{true:{name:Oe.true,defaultValue:!1}},superTypes:[Me.$type,Bt.$type]},CharacterRange:{name:Ae.$type,properties:{cardinality:{name:Ae.cardinality},left:{name:Ae.left},lookahead:{name:Ae.lookahead},parenthesized:{name:Ae.parenthesized,defaultValue:!1},right:{name:Ae.right}},superTypes:[wt.$type]},Condition:{name:Me.$type,properties:{},superTypes:[]},Conjunction:{name:Ne.$type,properties:{left:{name:Ne.left},right:{name:Ne.right}},superTypes:[Me.$type]},CrossReference:{name:Fe.$type,properties:{cardinality:{name:Fe.cardinality},deprecatedSyntax:{name:Fe.deprecatedSyntax,defaultValue:!1},isMulti:{name:Fe.isMulti,defaultValue:!1},terminal:{name:Fe.terminal},type:{name:Fe.type,referenceType:ye.$type}},superTypes:[me.$type]},Disjunction:{name:Le.$type,properties:{left:{name:Le.left},right:{name:Le.right}},superTypes:[Me.$type]},EndOfFile:{name:ze.$type,properties:{cardinality:{name:ze.cardinality}},superTypes:[me.$type]},Grammar:{name:Ve.$type,properties:{imports:{name:Ve.imports,defaultValue:[]},interfaces:{name:Ve.interfaces,defaultValue:[]},isDeclared:{name:Ve.isDeclared,defaultValue:!1},name:{name:Ve.name},rules:{name:Ve.rules,defaultValue:[]},types:{name:Ve.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:He.$type,properties:{path:{name:He.path}},superTypes:[]},Group:{name:Ue.$type,properties:{cardinality:{name:Ue.cardinality},elements:{name:Ue.elements,defaultValue:[]},guardCondition:{name:Ue.guardCondition},predicate:{name:Ue.predicate}},superTypes:[me.$type]},InferredType:{name:Ge.$type,properties:{name:{name:Ge.name}},superTypes:[ye.$type]},InfixRule:{name:qe.$type,properties:{call:{name:qe.call},dataType:{name:qe.dataType},inferredType:{name:qe.inferredType},name:{name:qe.name},operators:{name:qe.operators},parameters:{name:qe.parameters,defaultValue:[]},returnType:{name:qe.returnType,referenceType:ye.$type}},superTypes:[ge.$type]},InfixRuleOperatorList:{name:Ye.$type,properties:{associativity:{name:Ye.associativity},operators:{name:Ye.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:Xe.$type,properties:{precedences:{name:Xe.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:Ze.$type,properties:{attributes:{name:Ze.attributes,defaultValue:[]},name:{name:Ze.name},superTypes:{name:Ze.superTypes,defaultValue:[],referenceType:ye.$type}},superTypes:[ye.$type]},Keyword:{name:$e.$type,properties:{cardinality:{name:$e.cardinality},predicate:{name:$e.predicate},value:{name:$e.value}},superTypes:[me.$type]},NamedArgument:{name:tt.$type,properties:{calledByName:{name:tt.calledByName,defaultValue:!1},parameter:{name:tt.parameter,referenceType:st.$type},value:{name:tt.value}},superTypes:[]},NegatedToken:{name:nt.$type,properties:{cardinality:{name:nt.cardinality},lookahead:{name:nt.lookahead},parenthesized:{name:nt.parenthesized,defaultValue:!1},terminal:{name:nt.terminal}},superTypes:[wt.$type]},Negation:{name:it.$type,properties:{value:{name:it.value}},superTypes:[Me.$type]},NumberLiteral:{name:ot.$type,properties:{value:{name:ot.value}},superTypes:[Bt.$type]},Parameter:{name:st.$type,properties:{name:{name:st.name}},superTypes:[]},ParameterReference:{name:ct.$type,properties:{parameter:{name:ct.parameter,referenceType:st.$type}},superTypes:[Me.$type]},ParserRule:{name:ut.$type,properties:{dataType:{name:ut.dataType},definition:{name:ut.definition},entry:{name:ut.entry,defaultValue:!1},fragment:{name:ut.fragment,defaultValue:!1},inferredType:{name:ut.inferredType},name:{name:ut.name},parameters:{name:ut.parameters,defaultValue:[]},returnType:{name:ut.returnType,referenceType:ye.$type}},superTypes:[ge.$type]},ReferenceType:{name:ft.$type,properties:{isMulti:{name:ft.isMulti,defaultValue:!1},referenceType:{name:ft.referenceType}},superTypes:[Pt.$type]},RegexToken:{name:pt.$type,properties:{cardinality:{name:pt.cardinality},lookahead:{name:pt.lookahead},parenthesized:{name:pt.parenthesized,defaultValue:!1},regex:{name:pt.regex}},superTypes:[wt.$type]},ReturnType:{name:ht.$type,properties:{name:{name:ht.name}},superTypes:[]},RuleCall:{name:_t.$type,properties:{arguments:{name:_t.arguments,defaultValue:[]},cardinality:{name:_t.cardinality},predicate:{name:_t.predicate},rule:{name:_t.rule,referenceType:ve.$type}},superTypes:[me.$type]},SimpleType:{name:yt.$type,properties:{primitiveType:{name:yt.primitiveType},stringType:{name:yt.stringType},typeRef:{name:yt.typeRef,referenceType:ye.$type}},superTypes:[Pt.$type]},StringLiteral:{name:xt.$type,properties:{value:{name:xt.value}},superTypes:[Bt.$type]},TerminalAlternatives:{name:St.$type,properties:{cardinality:{name:St.cardinality},elements:{name:St.elements,defaultValue:[]},lookahead:{name:St.lookahead},parenthesized:{name:St.parenthesized,defaultValue:!1}},superTypes:[wt.$type]},TerminalElement:{name:wt.$type,properties:{cardinality:{name:wt.cardinality},lookahead:{name:wt.lookahead},parenthesized:{name:wt.parenthesized,defaultValue:!1}},superTypes:[me.$type]},TerminalGroup:{name:Tt.$type,properties:{cardinality:{name:Tt.cardinality},elements:{name:Tt.elements,defaultValue:[]},lookahead:{name:Tt.lookahead},parenthesized:{name:Tt.parenthesized,defaultValue:!1}},superTypes:[wt.$type]},TerminalRule:{name:Dt.$type,properties:{definition:{name:Dt.definition},fragment:{name:Dt.fragment,defaultValue:!1},hidden:{name:Dt.hidden,defaultValue:!1},name:{name:Dt.name},type:{name:Dt.type}},superTypes:[ve.$type]},TerminalRuleCall:{name:kt.$type,properties:{cardinality:{name:kt.cardinality},lookahead:{name:kt.lookahead},parenthesized:{name:kt.parenthesized,defaultValue:!1},rule:{name:kt.rule,referenceType:Dt.$type}},superTypes:[wt.$type]},Type:{name:jt.$type,properties:{name:{name:jt.name},type:{name:jt.type}},superTypes:[ye.$type]},TypeAttribute:{name:Nt.$type,properties:{defaultValue:{name:Nt.defaultValue},isOptional:{name:Nt.isOptional,defaultValue:!1},name:{name:Nt.name},type:{name:Nt.type}},superTypes:[]},TypeDefinition:{name:Pt.$type,properties:{},superTypes:[]},UnionType:{name:Ft.$type,properties:{types:{name:Ft.types,defaultValue:[]}},superTypes:[Pt.$type]},UnorderedGroup:{name:It.$type,properties:{cardinality:{name:It.cardinality},elements:{name:It.elements,defaultValue:[]}},superTypes:[me.$type]},UntilToken:{name:Rt.$type,properties:{cardinality:{name:Rt.cardinality},lookahead:{name:Rt.lookahead},parenthesized:{name:Rt.parenthesized,defaultValue:!1},terminal:{name:Rt.terminal}},superTypes:[wt.$type]},ValueLiteral:{name:Bt.$type,properties:{},superTypes:[]},Wildcard:{name:Vt.$type,properties:{cardinality:{name:Vt.cardinality},lookahead:{name:Vt.lookahead},parenthesized:{name:Vt.parenthesized,defaultValue:!1}},superTypes:[wt.$type]}}}},j=new Ut;function Wt(e){return new re(e,e=>S(e)?e.content:[],{includeRoot:!0})}function Gt(e,t){for(;e.container;)if(e=e.container,e===t)return!0;return!1}function Kt(e){return{start:{character:e.startColumn-1,line:e.startLine-1},end:{character:e.endColumn,line:e.endLine-1}}}function qt(e){if(!e)return;let{offset:t,end:n,range:r}=e;return{range:r,offset:t,end:n,length:n-t}}var Jt;(function(e){e[e.Before=0]=`Before`,e[e.After=1]=`After`,e[e.OverlapFront=2]=`OverlapFront`,e[e.OverlapBack=3]=`OverlapBack`,e[e.Inside=4]=`Inside`,e[e.Outside=5]=`Outside`})(Jt||={});function Yt(e,t){if(e.end.line<t.start.line||e.end.line===t.start.line&&e.end.character<=t.start.character)return Jt.Before;if(e.start.line>t.end.line||e.start.line===t.end.line&&e.start.character>=t.end.character)return Jt.After;let n=e.start.line>t.start.line||e.start.line===t.start.line&&e.start.character>=t.start.character,r=e.end.line<t.end.line||e.end.line===t.end.line&&e.end.character<=t.end.character;return n&&r?Jt.Inside:n?Jt.OverlapBack:r?Jt.OverlapFront:Jt.Outside}function Xt(e,t){return Yt(e,t)>Jt.After}var Zt=/^[\w\p{L}]$/u;function Qt(e,t){if(e){let n=en(e,!0);if(n&&$t(n,t))return n;if(C(e)){let n=e.content.findIndex(e=>!e.hidden);for(let r=n-1;r>=0;r--){let n=e.content[r];if($t(n,t))return n}}}}function $t(e,t){return ee(e)&&t.includes(e.tokenType.name)}function en(e,t=!0){for(;e.container;){let n=e.container,r=n.content.indexOf(e);for(;r>0;){r--;let e=n.content[r];if(t||!e.hidden)return e}e=n}}var tn=class extends Error{constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}};function nn(e,t=`Error: Got unexpected value.`){throw Error(t)}function M(e){return e.charCodeAt(0)}function rn(e,t){Array.isArray(e)?e.forEach(function(e){t.push(e)}):t.push(e)}function an(e,t){if(e[t]===!0)throw`duplicate flag `+t;e[t],e[t]=!0}function on(e){if(e===void 0)throw Error(`Internal Error - Should never get here!`);return!0}function sn(){throw Error(`Internal Error - Should never get here!`)}function cn(e){return e.type===`Character`}var ln=[];for(let e=M(`0`);e<=M(`9`);e++)ln.push(e);var un=[M(`_`)].concat(ln);for(let e=M(`a`);e<=M(`z`);e++)un.push(e);for(let e=M(`A`);e<=M(`Z`);e++)un.push(e);var dn=[M(` `),M(`\f`),M(`
|
|
2
|
+
`),M(`\r`),M(` `),M(`\v`),M(` `),M(`\xA0`),M(` `),M(` `),M(` `),M(` `),M(` `),M(` `),M(` `),M(` `),M(` `),M(` `),M(` `),M(` `),M(`\u2028`),M(`\u2029`),M(` `),M(` `),M(` `),M(``)],fn=/[0-9a-fA-F]/,pn=/[0-9]/,mn=/[1-9]/,hn=class{constructor(){this.idx=0,this.input=``,this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar(`/`);let t=this.disjunction();this.consumeChar(`/`);let n={type:`Flags`,loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case`g`:an(n,`global`);break;case`i`:an(n,`ignoreCase`);break;case`m`:an(n,`multiLine`);break;case`u`:an(n,`unicode`);break;case`y`:an(n,`sticky`);break}if(this.idx!==this.input.length)throw Error(`Redundant input: `+this.input.substring(this.idx));return{type:`Pattern`,flags:n,value:t,loc:this.loc(0)}}disjunction(){let e=[],t=this.idx;for(e.push(this.alternative());this.peekChar()===`|`;)this.consumeChar(`|`),e.push(this.alternative());return{type:`Disjunction`,value:e,loc:this.loc(t)}}alternative(){let e=[],t=this.idx;for(;this.isTerm();)e.push(this.term());return{type:`Alternative`,value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case`^`:return{type:`StartAnchor`,loc:this.loc(e)};case`$`:return{type:`EndAnchor`,loc:this.loc(e)};case`\\`:switch(this.popChar()){case`b`:return{type:`WordBoundary`,loc:this.loc(e)};case`B`:return{type:`NonWordBoundary`,loc:this.loc(e)}}throw Error(`Invalid Assertion Escape`);case`(`:this.consumeChar(`?`);let t;switch(this.popChar()){case`=`:t=`Lookahead`;break;case`!`:t=`NegativeLookahead`;break;case`<`:switch(this.popChar()){case`=`:t=`Lookbehind`;break;case`!`:t=`NegativeLookbehind`}break}on(t);let n=this.disjunction();return this.consumeChar(`)`),{type:t,value:n,loc:this.loc(e)}}return sn()}quantifier(e=!1){let t,n=this.idx;switch(this.popChar()){case`*`:t={atLeast:0,atMost:1/0};break;case`+`:t={atLeast:1,atMost:1/0};break;case`?`:t={atLeast:0,atMost:1};break;case`{`:let n=this.integerIncludingZero();switch(this.popChar()){case`}`:t={atLeast:n,atMost:n};break;case`,`:let e;this.isDigit()?(e=this.integerIncludingZero(),t={atLeast:n,atMost:e}):t={atLeast:n,atMost:1/0},this.consumeChar(`}`);break}if(e===!0&&t===void 0)return;on(t);break}if(!(e===!0&&t===void 0)&&on(t))return this.peekChar(0)===`?`?(this.consumeChar(`?`),t.greedy=!1):t.greedy=!0,t.type=`Quantifier`,t.loc=this.loc(n),t}atom(){let e,t=this.idx;switch(this.peekChar()){case`.`:e=this.dotAll();break;case`\\`:e=this.atomEscape();break;case`[`:e=this.characterClass();break;case`(`:e=this.group();break}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),on(e)?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):sn()}dotAll(){return this.consumeChar(`.`),{type:`Set`,complement:!0,value:[M(`
|
|
3
|
+
`),M(`\r`),M(`\u2028`),M(`\u2029`)]}}atomEscape(){switch(this.consumeChar(`\\`),this.peekChar()){case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:return this.decimalEscapeAtom();case`d`:case`D`:case`s`:case`S`:case`w`:case`W`:return this.characterClassEscape();case`f`:case`n`:case`r`:case`t`:case`v`:return this.controlEscapeAtom();case`c`:return this.controlLetterEscapeAtom();case`0`:return this.nulCharacterAtom();case`x`:return this.hexEscapeSequenceAtom();case`u`:return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:`GroupBackReference`,value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case`d`:e=ln;break;case`D`:e=ln,t=!0;break;case`s`:e=dn;break;case`S`:e=dn,t=!0;break;case`w`:e=un;break;case`W`:e=un,t=!0;break}return on(e)?{type:`Set`,value:e,complement:t}:sn()}controlEscapeAtom(){let e;switch(this.popChar()){case`f`:e=M(`\f`);break;case`n`:e=M(`
|
|
4
|
+
`);break;case`r`:e=M(`\r`);break;case`t`:e=M(` `);break;case`v`:e=M(`\v`);break}return on(e)?{type:`Character`,value:e}:sn()}controlLetterEscapeAtom(){this.consumeChar(`c`);let e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error(`Invalid `);return{type:`Character`,value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar(`0`),{type:`Character`,value:M(`\0`)}}hexEscapeSequenceAtom(){return this.consumeChar(`x`),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar(`u`),this.parseHexDigits(4)}identityEscapeAtom(){return{type:`Character`,value:M(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case`
|
|
5
|
+
`:case`\r`:case`\u2028`:case`\u2029`:case`\\`:case`]`:throw Error(`TBD`);default:return{type:`Character`,value:M(this.popChar())}}}characterClass(){let e=[],t=!1;for(this.consumeChar(`[`),this.peekChar(0)===`^`&&(this.consumeChar(`^`),t=!0);this.isClassAtom();){let t=this.classAtom();if(t.type,cn(t)&&this.isRangeDash()){this.consumeChar(`-`);let n=this.classAtom();if(n.type,cn(n)){if(n.value<t.value)throw Error(`Range out of order in character class`);e.push({from:t.value,to:n.value})}else rn(t.value,e),e.push(M(`-`)),rn(n.value,e)}else rn(t.value,e)}return this.consumeChar(`]`),{type:`Set`,complement:t,value:e}}classAtom(){switch(this.peekChar()){case`]`:case`
|
|
6
|
+
`:case`\r`:case`\u2028`:case`\u2029`:throw Error(`TBD`);case`\\`:return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar(`\\`),this.peekChar()){case`b`:return this.consumeChar(`b`),{type:`Character`,value:M(`\b`)};case`d`:case`D`:case`s`:case`S`:case`w`:case`W`:return this.characterClassEscape();case`f`:case`n`:case`r`:case`t`:case`v`:return this.controlEscapeAtom();case`c`:return this.controlLetterEscapeAtom();case`0`:return this.nulCharacterAtom();case`x`:return this.hexEscapeSequenceAtom();case`u`:return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;switch(this.consumeChar(`(`),this.peekChar(0)){case`?`:this.consumeChar(`?`),this.consumeChar(`:`),e=!1;break;default:this.groupIdx++;break}let t=this.disjunction();this.consumeChar(`)`);let n={type:`Group`,capturing:e,value:t};return e&&(n.idx=this.groupIdx),n}positiveInteger(){let e=this.popChar();if(mn.test(e)===!1)throw Error(`Expecting a positive integer`);for(;pn.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(pn.test(e)===!1)throw Error(`Expecting an integer`);for(;pn.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let e=this.popChar();switch(e){case`
|
|
7
|
+
`:case`\r`:case`\u2028`:case`\u2029`:case`^`:case`$`:case`\\`:case`.`:case`*`:case`+`:case`?`:case`(`:case`)`:case`[`:case`|`:throw Error(`TBD`);default:return{type:`Character`,value:M(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 pn.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(){let e=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case`^`:case`$`:case`\\`:case`.`:case`*`:case`+`:case`?`:case`(`:case`)`:case`[`:case`|`:case`/`:case`
|
|
9
|
+
`:case`\r`:case`\u2028`:case`\u2029`:return!1;default:return!0}}parseHexDigits(e){let t=``;for(let n=0;n<e;n++){let e=this.popChar();if(fn.test(e)===!1)throw Error(`Expecting a HexDecimal digits`);t+=e}return{type:`Character`,value:parseInt(t,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){let e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(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}}},gn=class{visitChildren(e){for(let t in e){let n=e[t];e.hasOwnProperty(t)&&(n.type===void 0?Array.isArray(n)&&n.forEach(e=>{this.visit(e)},this):this.visit(n))}}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){}},_n=/\r?\n/gm,vn=new hn,yn=new class extends gn{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join(``)}reset(e){this.multiline=!1,this.regex=e,this.startRegexp=``,this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let t=String.fromCharCode(e.value);if(!this.multiline&&t===`
|
|
10
|
+
`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let e=Cn(t);this.endRegexpStack.push(e),this.isStarting&&(this.startRegexp+=e)}}visitSet(e){if(!this.multiline){let t=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(t);this.multiline=!!`
|
|
11
|
+
`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let t=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t)}}visitChildren(e){e.type===`Group`&&e.quantifier||super.visitChildren(e)}};function bn(e){try{return typeof e==`string`&&(e=new RegExp(e)),e=e.toString(),yn.reset(e),yn.visit(vn.pattern(e)),yn.multiline}catch{return!1}}var xn=`\f
|
|
12
|
+
\r \v \xA0 \u2028\u2029 `.split(``);function Sn(e){let t=typeof e==`string`?new RegExp(e):e;return xn.some(e=>t.test(e))}function Cn(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function wn(e,t){let n=Tn(e),r=t.match(n);return!!r&&r[0].length>0}function Tn(e){typeof e==`string`&&(e=new RegExp(e));let t=e,n=e.source,r=0;function i(){let e=``,a;function o(t){e+=n.substr(r,t),r+=t}function s(t){e+=`(?:`+n.substr(r,t)+`|$)`,r+=t}for(;r<n.length;)switch(n[r]){case`\\`:switch(n[r+1]){case`c`:s(3);break;case`x`:s(4);break;case`u`:t.unicode?n[r+2]===`{`?s(n.indexOf(`}`,r)-r+1):s(6):s(2);break;case`p`:case`P`:t.unicode?s(n.indexOf(`}`,r)-r+1):s(2);break;case`k`:s(n.indexOf(`>`,r)-r+1);break;default:s(2);break}break;case`[`:a=/\[(?:\\.|.)*?\]/g,a.lastIndex=r,a=a.exec(n)||[],s(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):s(1);break;case`(`:if(n[r+1]===`?`)switch(n[r+2]){case`:`:e+=`(?:`,r+=3,e+=i()+`|$)`;break;case`=`:e+=`(?=`,r+=3,e+=i()+`)`;break;case`!`:a=r,r+=3,i(),e+=n.substr(a,r-a);break;case`<`:switch(n[r+3]){case`=`:case`!`:a=r,r+=4,i(),e+=n.substr(a,r-a);break;default:o(n.indexOf(`>`,r)-r+1),e+=i()+`|$)`;break}break}else o(1),e+=i()+`|$)`;break;case`)`:return++r,e;default:s(1);break}return e}return new RegExp(i(),e.flags)}function En(e){return e.rules.find(e=>dt(e)&&e.entry)}function Dn(e){return e.rules.filter(e=>Ot(e)&&e.hidden)}function On(e,t){let n=new Set,r=En(e);if(!r)return new Set(e.rules);let i=[r].concat(Dn(e));for(let e of i)kn(e,n,t);let a=new Set;for(let t of e.rules)(n.has(t.name)||Ot(t)&&t.hidden)&&a.add(t);return a}function kn(e,t,n){t.add(e.name),k(e).forEach(e=>{if(vt(e)||n&&At(e)){let r=e.rule.ref;r&&!t.has(r.name)&&kn(r,t,n)}})}function An(e){if(e.terminal)return e.terminal;if(e.type.ref)return Rn(e.type.ref)?.terminal}function jn(e){return e.hidden&&!Sn(Kn(e))}function Mn(e,t){return!e||!t?[]:Pn(e,t,e.astNode,!0)}function Nn(e,t,n){if(!e||!t)return;let r=Pn(e,t,e.astNode,!0);if(r.length!==0)return n=n===void 0?0:Math.max(0,Math.min(n,r.length-1)),r[n]}function Pn(e,t,n,r){if(!r){let n=oe(e.grammarSource,De);if(n&&n.feature===t)return[e]}return S(e)&&e.astNode===n?e.content.flatMap(e=>Pn(e,t,n,!1)):[]}function Fn(e,t,n){if(!e)return;let r=In(e,t,e?.astNode);if(r.length!==0)return n=n===void 0?0:Math.max(0,Math.min(n,r.length-1)),r[n]}function In(e,t,n){if(e.astNode!==n)return[];if(et(e.grammarSource)&&e.grammarSource.value===t)return[e];let r=Wt(e).iterator(),i,a=[];do if(i=r.next(),!i.done){let e=i.value;e.astNode===n?et(e.grammarSource)&&e.grammarSource.value===t&&a.push(e):r.prune()}while(!i.done);return a}function Ln(e){let t=e.astNode;for(;t===e.container?.astNode;){let t=oe(e.grammarSource,De);if(t)return t;e=e.container}}function Rn(e){let t=e;return Ke(t)&&(xe(t.$container)?t=t.$container.$container:_e(t.$container)?t=t.$container:nn(t.$container)),zn(e,t,new Map)}function zn(e,t,n){function r(t,r){let i;return oe(t,De)||(i=zn(r,r,n)),n.set(e,i),i}if(n.has(e))return n.get(e);n.set(e,void 0);for(let i of k(t))if(De(i)&&i.feature.toLowerCase()===`name`)return n.set(e,i),i;else if(vt(i)&&dt(i.rule.ref))return r(i,i.rule.ref);else if(bt(i)&&i.typeRef?.ref)return r(i,i.typeRef.ref)}function Bn(e){return Vn(e,new Set)}function Vn(e,t){if(t.has(e))return!0;t.add(e);for(let n of k(e))if(vt(n)){if(!n.rule.ref||dt(n.rule.ref)&&!Vn(n.rule.ref,t)||Je(n.rule.ref))return!1}else if(De(n))return!1;else if(xe(n))return!1;return!!e.definition}function Hn(e){if(!Ot(e)){if(e.inferredType)return e.inferredType.name;if(e.dataType)return e.dataType;if(e.returnType){let t=e.returnType.ref;if(t)return t.name}}}function Un(e){if(_e(e))return dt(e)&&Bn(e)?e.name:Hn(e)??e.name;if(Qe(e)||Mt(e)||gt(e))return e.name;if(xe(e)){let t=Wn(e);if(t)return t}else if(Ke(e))return e.name;throw Error(`Cannot get name of Unknown Type`)}function Wn(e){if(e.inferredType)return e.inferredType.name;if(e.type?.ref)return Un(e.type.ref)}function Gn(e){return Ot(e)?e.type?.name??`string`:Hn(e)??e.name}function Kn(e){let t={s:!1,i:!1,u:!1},n=Jn(e.definition,t),r=Object.entries(t).filter(([,e])=>e).map(([e])=>e).join(``);return new RegExp(n,r)}var qn=`[\\s\\S]`;function Jn(e,t){if(Ct(e))return Yn(e);if(Et(e))return Xn(e);if(je(e))return $n(e);if(At(e)){let t=e.rule.ref;if(!t)throw Error(`Missing rule reference.`);return tr(Jn(t.definition),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}else if(rt(e))return Qn(e);else if(zt(e))return Zn(e);else if(mt(e)){let n=e.regex.lastIndexOf(`/`),r=e.regex.substring(1,n),i=e.regex.substring(n+1);return t&&(t.i=i.includes(`i`),t.s=i.includes(`s`),t.u=i.includes(`u`)),tr(r,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}else if(Ht(e))return tr(qn,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized});else throw Error(`Invalid terminal element: ${e?.$type}, ${e?.$cstNode?.text}`)}function Yn(e){return tr(e.elements.map(e=>Jn(e)).join(`|`),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}function Xn(e){return tr(e.elements.map(e=>Jn(e)).join(``),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}function Zn(e){return tr(`${qn}*?${Jn(e.terminal)}`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}function Qn(e){return tr(`(?!${Jn(e.terminal)})${qn}*?`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized})}function $n(e){return e.right?tr(`[${er(e.left)}-${er(e.right)}]`,{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1}):tr(er(e.left),{cardinality:e.cardinality,lookahead:e.lookahead,parenthesized:e.parenthesized,wrap:!1})}function er(e){return Cn(e.value)}function tr(e,t){return(t.parenthesized||t.lookahead||t.wrap!==!1)&&(e=`(${t.lookahead??(t.parenthesized?``:`?:`)}${e})`),t.cardinality?`${e}${t.cardinality}`:e}function nr(e){let t=[],n=e.Grammar;for(let e of n.rules)Ot(e)&&jn(e)&&bn(Kn(e))&&t.push(e.name);return{multilineCommentRules:t,nameRegexp:Zt}}var rr=typeof global==`object`&&global&&global.Object===Object&&global,ir=typeof self==`object`&&self&&self.Object===Object&&self,ar=rr||ir||Function(`return this`)(),or=ar.Symbol,sr=Object.prototype,cr=sr.hasOwnProperty,lr=sr.toString,ur=or?or.toStringTag:void 0;function dr(e){var t=cr.call(e,ur),n=e[ur];try{e[ur]=void 0;var r=!0}catch{}var i=lr.call(e);return r&&(t?e[ur]=n:delete e[ur]),i}var fr=Object.prototype.toString;function pr(e){return fr.call(e)}var mr=`[object Null]`,hr=`[object Undefined]`,gr=or?or.toStringTag:void 0;function _r(e){return e==null?e===void 0?hr:mr:gr&&gr in Object(e)?dr(e):pr(e)}function vr(e){return typeof e==`object`&&!!e}var yr=`[object Symbol]`;function br(e){return typeof e==`symbol`||vr(e)&&_r(e)==yr}function xr(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}var N=Array.isArray,Sr=1/0,Cr=or?or.prototype:void 0,wr=Cr?Cr.toString:void 0;function Tr(e){if(typeof e==`string`)return e;if(N(e))return xr(e,Tr)+``;if(br(e))return wr?wr.call(e):``;var t=e+``;return t==`0`&&1/e==-Sr?`-0`:t}var Er=/\s/;function Dr(e){for(var t=e.length;t--&&Er.test(e.charAt(t)););return t}var Or=/^\s+/;function kr(e){return e&&e.slice(0,Dr(e)+1).replace(Or,``)}function Ar(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}var jr=NaN,Mr=/^[-+]0x[0-9a-f]+$/i,Nr=/^0b[01]+$/i,Pr=/^0o[0-7]+$/i,Fr=parseInt;function Ir(e){if(typeof e==`number`)return e;if(br(e))return jr;if(Ar(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=Ar(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=kr(e);var n=Nr.test(e);return n||Pr.test(e)?Fr(e.slice(2),n?2:8):Mr.test(e)?jr:+e}var Lr=1/0,Rr=17976931348623157e292;function zr(e){return e?(e=Ir(e),e===Lr||e===-Lr?(e<0?-1:1)*Rr:e===e?e:0):e===0?e:0}function Br(e){var t=zr(e),n=t%1;return t===t?n?t-n:t:0}function Vr(e){return e}var Hr=`[object AsyncFunction]`,Ur=`[object Function]`,Wr=`[object GeneratorFunction]`,Gr=`[object Proxy]`;function Kr(e){if(!Ar(e))return!1;var t=_r(e);return t==Ur||t==Wr||t==Hr||t==Gr}var qr=ar[`__core-js_shared__`],Jr=function(){var e=/[^.]+$/.exec(qr&&qr.keys&&qr.keys.IE_PROTO||``);return e?`Symbol(src)_1.`+e:``}();function Yr(e){return!!Jr&&Jr in e}var Xr=Function.prototype.toString;function Zr(e){if(e!=null){try{return Xr.call(e)}catch{}try{return e+``}catch{}}return``}var Qr=/[\\^$.*+?()[\]{}|]/g,$r=/^\[object .+?Constructor\]$/,ei=Function.prototype,ti=Object.prototype,ni=ei.toString,ri=ti.hasOwnProperty,ii=RegExp(`^`+ni.call(ri).replace(Qr,`\\$&`).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,`$1.*?`)+`$`);function ai(e){return!Ar(e)||Yr(e)?!1:(Kr(e)?ii:$r).test(Zr(e))}function oi(e,t){return e?.[t]}function si(e,t){var n=oi(e,t);return ai(n)?n:void 0}var ci=si(ar,`WeakMap`),li=Object.create,ui=function(){function e(){}return function(t){if(!Ar(t))return{};if(li)return li(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function di(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function fi(){}function pi(e,t){var n=-1,r=e.length;for(t||=Array(r);++n<r;)t[n]=e[n];return t}var mi=800,hi=16,gi=Date.now;function _i(e){var t=0,n=0;return function(){var r=gi(),i=hi-(r-n);if(n=r,i>0){if(++t>=mi)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function vi(e){return function(){return e}}var yi=function(){try{var e=si(Object,`defineProperty`);return e({},``,{}),e}catch{}}(),bi=_i(yi?function(e,t){return yi(e,`toString`,{configurable:!0,enumerable:!1,value:vi(t),writable:!0})}:Vr);function xi(e,t){for(var n=-1,r=e==null?0:e.length;++n<r&&t(e[n],n,e)!==!1;);return e}function Si(e,t,n,r){for(var i=e.length,a=n+(r?1:-1);r?a--:++a<i;)if(t(e[a],a,e))return a;return-1}function Ci(e){return e!==e}function wi(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}function Ti(e,t,n){return t===t?wi(e,t,n):Si(e,Ci,n)}function Ei(e,t){return!!(e!=null&&e.length)&&Ti(e,t,0)>-1}var Di=9007199254740991,Oi=/^(?:0|[1-9]\d*)$/;function ki(e,t){var n=typeof e;return t??=Di,!!t&&(n==`number`||n!=`symbol`&&Oi.test(e))&&e>-1&&e%1==0&&e<t}function Ai(e,t,n){t==`__proto__`&&yi?yi(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function ji(e,t){return e===t||e!==e&&t!==t}var Mi=Object.prototype.hasOwnProperty;function Ni(e,t,n){var r=e[t];(!(Mi.call(e,t)&&ji(r,n))||n===void 0&&!(t in e))&&Ai(e,t,n)}function Pi(e,t,n,r){var i=!n;n||={};for(var a=-1,o=t.length;++a<o;){var s=t[a],c=r?r(n[s],e[s],s,n,e):void 0;c===void 0&&(c=e[s]),i?Ai(n,s,c):Ni(n,s,c)}return n}var Fi=Math.max;function Ii(e,t,n){return t=Fi(t===void 0?e.length-1:t,0),function(){for(var r=arguments,i=-1,a=Fi(r.length-t,0),o=Array(a);++i<a;)o[i]=r[t+i];i=-1;for(var s=Array(t+1);++i<t;)s[i]=r[i];return s[t]=n(o),di(e,this,s)}}function Li(e,t){return bi(Ii(e,t,Vr),e+``)}var Ri=9007199254740991;function zi(e){return typeof e==`number`&&e>-1&&e%1==0&&e<=Ri}function Bi(e){return e!=null&&zi(e.length)&&!Kr(e)}function Vi(e,t,n){if(!Ar(n))return!1;var r=typeof t;return(r==`number`?Bi(n)&&ki(t,n.length):r==`string`&&t in n)?ji(n[t],e):!1}function Hi(e){return Li(function(t,n){var r=-1,i=n.length,a=i>1?n[i-1]:void 0,o=i>2?n[2]:void 0;for(a=e.length>3&&typeof a==`function`?(i--,a):void 0,o&&Vi(n[0],n[1],o)&&(a=i<3?void 0:a,i=1),t=Object(t);++r<i;){var s=n[r];s&&e(t,s,r,a)}return t})}var Ui=Object.prototype;function Wi(e){var t=e&&e.constructor;return e===(typeof t==`function`&&t.prototype||Ui)}function Gi(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}var Ki=`[object Arguments]`;function qi(e){return vr(e)&&_r(e)==Ki}var Ji=Object.prototype,Yi=Ji.hasOwnProperty,Xi=Ji.propertyIsEnumerable,Zi=qi(function(){return arguments}())?qi:function(e){return vr(e)&&Yi.call(e,`callee`)&&!Xi.call(e,`callee`)};function Qi(){return!1}var $i=typeof exports==`object`&&exports&&!exports.nodeType&&exports,ea=$i&&typeof module==`object`&&module&&!module.nodeType&&module,ta=ea&&ea.exports===$i?ar.Buffer:void 0,na=(ta?ta.isBuffer:void 0)||Qi,ra=`[object Arguments]`,ia=`[object Array]`,aa=`[object Boolean]`,oa=`[object Date]`,sa=`[object Error]`,ca=`[object Function]`,la=`[object Map]`,ua=`[object Number]`,da=`[object Object]`,fa=`[object RegExp]`,pa=`[object Set]`,ma=`[object String]`,ha=`[object WeakMap]`,ga=`[object ArrayBuffer]`,_a=`[object DataView]`,va=`[object Float32Array]`,ya=`[object Float64Array]`,ba=`[object Int8Array]`,xa=`[object Int16Array]`,Sa=`[object Int32Array]`,Ca=`[object Uint8Array]`,wa=`[object Uint8ClampedArray]`,Ta=`[object Uint16Array]`,Ea=`[object Uint32Array]`,P={};P[va]=P[ya]=P[ba]=P[xa]=P[Sa]=P[Ca]=P[wa]=P[Ta]=P[Ea]=!0,P[ra]=P[ia]=P[ga]=P[aa]=P[_a]=P[oa]=P[sa]=P[ca]=P[la]=P[ua]=P[da]=P[fa]=P[pa]=P[ma]=P[ha]=!1;function Da(e){return vr(e)&&zi(e.length)&&!!P[_r(e)]}function Oa(e){return function(t){return e(t)}}var ka=typeof exports==`object`&&exports&&!exports.nodeType&&exports,Aa=ka&&typeof module==`object`&&module&&!module.nodeType&&module,ja=Aa&&Aa.exports===ka&&rr.process,Ma=function(){try{return Aa&&Aa.require&&Aa.require(`util`).types||ja&&ja.binding&&ja.binding(`util`)}catch{}}(),Na=Ma&&Ma.isTypedArray,Pa=Na?Oa(Na):Da,Fa=Object.prototype.hasOwnProperty;function Ia(e,t){var n=N(e),r=!n&&Zi(e),i=!n&&!r&&na(e),a=!n&&!r&&!i&&Pa(e),o=n||r||i||a,s=o?Gi(e.length,String):[],c=s.length;for(var l in e)(t||Fa.call(e,l))&&!(o&&(l==`length`||i&&(l==`offset`||l==`parent`)||a&&(l==`buffer`||l==`byteLength`||l==`byteOffset`)||ki(l,c)))&&s.push(l);return s}function La(e,t){return function(n){return e(t(n))}}var Ra=La(Object.keys,Object),za=Object.prototype.hasOwnProperty;function Ba(e){if(!Wi(e))return Ra(e);var t=[];for(var n in Object(e))za.call(e,n)&&n!=`constructor`&&t.push(n);return t}function Va(e){return Bi(e)?Ia(e):Ba(e)}var Ha=Object.prototype.hasOwnProperty,Ua=Hi(function(e,t){if(Wi(t)||Bi(t)){Pi(t,Va(t),e);return}for(var n in t)Ha.call(t,n)&&Ni(e,n,t[n])});function Wa(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var Ga=Object.prototype.hasOwnProperty;function Ka(e){if(!Ar(e))return Wa(e);var t=Wi(e),n=[];for(var r in e)r==`constructor`&&(t||!Ga.call(e,r))||n.push(r);return n}function qa(e){return Bi(e)?Ia(e,!0):Ka(e)}var Ja=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ya=/^\w*$/;function Xa(e,t){if(N(e))return!1;var n=typeof e;return n==`number`||n==`symbol`||n==`boolean`||e==null||br(e)?!0:Ya.test(e)||!Ja.test(e)||t!=null&&e in Object(t)}var Za=si(Object,`create`);function Qa(){this.__data__=Za?Za(null):{},this.size=0}function $a(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var eo=`__lodash_hash_undefined__`,to=Object.prototype.hasOwnProperty;function no(e){var t=this.__data__;if(Za){var n=t[e];return n===eo?void 0:n}return to.call(t,e)?t[e]:void 0}var ro=Object.prototype.hasOwnProperty;function io(e){var t=this.__data__;return Za?t[e]!==void 0:ro.call(t,e)}var ao=`__lodash_hash_undefined__`;function oo(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=Za&&t===void 0?ao:t,this}function so(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}so.prototype.clear=Qa,so.prototype.delete=$a,so.prototype.get=no,so.prototype.has=io,so.prototype.set=oo;function co(){this.__data__=[],this.size=0}function lo(e,t){for(var n=e.length;n--;)if(ji(e[n][0],t))return n;return-1}var uo=Array.prototype.splice;function fo(e){var t=this.__data__,n=lo(t,e);return n<0?!1:(n==t.length-1?t.pop():uo.call(t,n,1),--this.size,!0)}function po(e){var t=this.__data__,n=lo(t,e);return n<0?void 0:t[n][1]}function mo(e){return lo(this.__data__,e)>-1}function ho(e,t){var n=this.__data__,r=lo(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function go(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}go.prototype.clear=co,go.prototype.delete=fo,go.prototype.get=po,go.prototype.has=mo,go.prototype.set=ho;var _o=si(ar,`Map`);function vo(){this.size=0,this.__data__={hash:new so,map:new(_o||go),string:new so}}function yo(e){var t=typeof e;return t==`string`||t==`number`||t==`symbol`||t==`boolean`?e!==`__proto__`:e===null}function bo(e,t){var n=e.__data__;return yo(t)?n[typeof t==`string`?`string`:`hash`]:n.map}function xo(e){var t=bo(this,e).delete(e);return this.size-=t?1:0,t}function So(e){return bo(this,e).get(e)}function Co(e){return bo(this,e).has(e)}function wo(e,t){var n=bo(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}function To(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}To.prototype.clear=vo,To.prototype.delete=xo,To.prototype.get=So,To.prototype.has=Co,To.prototype.set=wo;var Eo=`Expected a function`;function Do(e,t){if(typeof e!=`function`||t!=null&&typeof t!=`function`)throw TypeError(Eo);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=e.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(Do.Cache||To),n}Do.Cache=To;var Oo=500;function ko(e){var t=Do(e,function(e){return n.size===Oo&&n.clear(),e}),n=t.cache;return t}var Ao=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,jo=/\\(\\)?/g,Mo=ko(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(``),e.replace(Ao,function(e,n,r,i){t.push(r?i.replace(jo,`$1`):n||e)}),t});function No(e){return e==null?``:Tr(e)}function Po(e,t){return N(e)?e:Xa(e,t)?[e]:Mo(No(e))}var Fo=1/0;function Io(e){if(typeof e==`string`||br(e))return e;var t=e+``;return t==`0`&&1/e==-Fo?`-0`:t}function Lo(e,t){t=Po(t,e);for(var n=0,r=t.length;e!=null&&n<r;)e=e[Io(t[n++])];return n&&n==r?e:void 0}function Ro(e,t,n){var r=e==null?void 0:Lo(e,t);return r===void 0?n:r}function zo(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}var Bo=or?or.isConcatSpreadable:void 0;function Vo(e){return N(e)||Zi(e)||!!(Bo&&e&&e[Bo])}function Ho(e,t,n,r,i){var a=-1,o=e.length;for(n||=Vo,i||=[];++a<o;){var s=e[a];t>0&&n(s)?t>1?Ho(s,t-1,n,r,i):zo(i,s):r||(i[i.length]=s)}return i}function Uo(e){return e!=null&&e.length?Ho(e,1):[]}var Wo=La(Object.getPrototypeOf,Object);function Go(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var a=Array(i);++r<i;)a[r]=e[r+t];return a}function Ko(e,t,n,r){var i=-1,a=e==null?0:e.length;for(r&&a&&(n=e[++i]);++i<a;)n=t(n,e[i],i,e);return n}function qo(){this.__data__=new go,this.size=0}function Jo(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Yo(e){return this.__data__.get(e)}function Xo(e){return this.__data__.has(e)}var Zo=200;function Qo(e,t){var n=this.__data__;if(n instanceof go){var r=n.__data__;if(!_o||r.length<Zo-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new To(r)}return n.set(e,t),this.size=n.size,this}function $o(e){this.size=(this.__data__=new go(e)).size}$o.prototype.clear=qo,$o.prototype.delete=Jo,$o.prototype.get=Yo,$o.prototype.has=Xo,$o.prototype.set=Qo;function es(e,t){return e&&Pi(t,Va(t),e)}function ts(e,t){return e&&Pi(t,qa(t),e)}var ns=typeof exports==`object`&&exports&&!exports.nodeType&&exports,rs=ns&&typeof module==`object`&&module&&!module.nodeType&&module,is=rs&&rs.exports===ns?ar.Buffer:void 0,as=is?is.allocUnsafe:void 0;function os(e,t){if(t)return e.slice();var n=e.length,r=as?as(n):new e.constructor(n);return e.copy(r),r}function ss(e,t){for(var n=-1,r=e==null?0:e.length,i=0,a=[];++n<r;){var o=e[n];t(o,n,e)&&(a[i++]=o)}return a}function cs(){return[]}var ls=Object.prototype.propertyIsEnumerable,us=Object.getOwnPropertySymbols,ds=us?function(e){return e==null?[]:(e=Object(e),ss(us(e),function(t){return ls.call(e,t)}))}:cs;function fs(e,t){return Pi(e,ds(e),t)}var ps=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)zo(t,ds(e)),e=Wo(e);return t}:cs;function ms(e,t){return Pi(e,ps(e),t)}function hs(e,t,n){var r=t(e);return N(e)?r:zo(r,n(e))}function gs(e){return hs(e,Va,ds)}function _s(e){return hs(e,qa,ps)}var vs=si(ar,`DataView`),ys=si(ar,`Promise`),bs=si(ar,`Set`),xs=`[object Map]`,Ss=`[object Object]`,Cs=`[object Promise]`,ws=`[object Set]`,Ts=`[object WeakMap]`,Es=`[object DataView]`,Ds=Zr(vs),Os=Zr(_o),ks=Zr(ys),As=Zr(bs),js=Zr(ci),Ms=_r;(vs&&Ms(new vs(new ArrayBuffer(1)))!=Es||_o&&Ms(new _o)!=xs||ys&&Ms(ys.resolve())!=Cs||bs&&Ms(new bs)!=ws||ci&&Ms(new ci)!=Ts)&&(Ms=function(e){var t=_r(e),n=t==Ss?e.constructor:void 0,r=n?Zr(n):``;if(r)switch(r){case Ds:return Es;case Os:return xs;case ks:return Cs;case As:return ws;case js:return Ts}return t});var Ns=Ms,Ps=Object.prototype.hasOwnProperty;function Fs(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[0]==`string`&&Ps.call(e,`index`)&&(n.index=e.index,n.input=e.input),n}var Is=ar.Uint8Array;function Ls(e){var t=new e.constructor(e.byteLength);return new Is(t).set(new Is(e)),t}function Rs(e,t){var n=t?Ls(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}var zs=/\w*$/;function Bs(e){var t=new e.constructor(e.source,zs.exec(e));return t.lastIndex=e.lastIndex,t}var Vs=or?or.prototype:void 0,Hs=Vs?Vs.valueOf:void 0;function Us(e){return Hs?Object(Hs.call(e)):{}}function Ws(e,t){var n=t?Ls(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}var Gs=`[object Boolean]`,Ks=`[object Date]`,qs=`[object Map]`,Js=`[object Number]`,Ys=`[object RegExp]`,Xs=`[object Set]`,Zs=`[object String]`,Qs=`[object Symbol]`,$s=`[object ArrayBuffer]`,ec=`[object DataView]`,tc=`[object Float32Array]`,nc=`[object Float64Array]`,rc=`[object Int8Array]`,ic=`[object Int16Array]`,ac=`[object Int32Array]`,oc=`[object Uint8Array]`,sc=`[object Uint8ClampedArray]`,cc=`[object Uint16Array]`,lc=`[object Uint32Array]`;function uc(e,t,n){var r=e.constructor;switch(t){case $s:return Ls(e);case Gs:case Ks:return new r(+e);case ec:return Rs(e,n);case tc:case nc:case rc:case ic:case ac:case oc:case sc:case cc:case lc:return Ws(e,n);case qs:return new r;case Js:case Zs:return new r(e);case Ys:return Bs(e);case Xs:return new r;case Qs:return Us(e)}}function dc(e){return typeof e.constructor==`function`&&!Wi(e)?ui(Wo(e)):{}}var fc=`[object Map]`;function pc(e){return vr(e)&&Ns(e)==fc}var mc=Ma&&Ma.isMap,hc=mc?Oa(mc):pc,gc=`[object Set]`;function _c(e){return vr(e)&&Ns(e)==gc}var vc=Ma&&Ma.isSet,yc=vc?Oa(vc):_c,bc=1,xc=2,Sc=4,Cc=`[object Arguments]`,wc=`[object Array]`,Tc=`[object Boolean]`,Ec=`[object Date]`,Dc=`[object Error]`,Oc=`[object Function]`,kc=`[object GeneratorFunction]`,Ac=`[object Map]`,jc=`[object Number]`,Mc=`[object Object]`,Nc=`[object RegExp]`,Pc=`[object Set]`,Fc=`[object String]`,Ic=`[object Symbol]`,Lc=`[object WeakMap]`,Rc=`[object ArrayBuffer]`,zc=`[object DataView]`,Bc=`[object Float32Array]`,Vc=`[object Float64Array]`,Hc=`[object Int8Array]`,Uc=`[object Int16Array]`,Wc=`[object Int32Array]`,Gc=`[object Uint8Array]`,Kc=`[object Uint8ClampedArray]`,qc=`[object Uint16Array]`,Jc=`[object Uint32Array]`,F={};F[Cc]=F[wc]=F[Rc]=F[zc]=F[Tc]=F[Ec]=F[Bc]=F[Vc]=F[Hc]=F[Uc]=F[Wc]=F[Ac]=F[jc]=F[Mc]=F[Nc]=F[Pc]=F[Fc]=F[Ic]=F[Gc]=F[Kc]=F[qc]=F[Jc]=!0,F[Dc]=F[Oc]=F[Lc]=!1;function Yc(e,t,n,r,i,a){var o,s=t&bc,c=t&xc,l=t⪼if(n&&(o=i?n(e,r,i,a):n(e)),o!==void 0)return o;if(!Ar(e))return e;var u=N(e);if(u){if(o=Fs(e),!s)return pi(e,o)}else{var d=Ns(e),f=d==Oc||d==kc;if(na(e))return os(e,s);if(d==Mc||d==Cc||f&&!i){if(o=c||f?{}:dc(e),!s)return c?ms(e,ts(o,e)):fs(e,es(o,e))}else{if(!F[d])return i?e:{};o=uc(e,d,s)}}a||=new $o;var p=a.get(e);if(p)return p;a.set(e,o),yc(e)?e.forEach(function(r){o.add(Yc(r,t,n,r,e,a))}):hc(e)&&e.forEach(function(r,i){o.set(i,Yc(r,t,n,i,e,a))});var m=u?void 0:(l?c?_s:gs:c?qa:Va)(e);return xi(m||e,function(r,i){m&&(i=r,r=e[i]),Ni(o,i,Yc(r,t,n,i,e,a))}),o}var Xc=4;function Zc(e){return Yc(e,Xc)}function Qc(e){for(var t=-1,n=e==null?0:e.length,r=0,i=[];++t<n;){var a=e[t];a&&(i[r++]=a)}return i}var $c=`__lodash_hash_undefined__`;function el(e){return this.__data__.set(e,$c),this}function tl(e){return this.__data__.has(e)}function nl(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new To;++t<n;)this.add(e[t])}nl.prototype.add=nl.prototype.push=el,nl.prototype.has=tl;function rl(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}function il(e,t){return e.has(t)}var al=1,ol=2;function sl(e,t,n,r,i,a){var o=n&al,s=e.length,c=t.length;if(s!=c&&!(o&&c>s))return!1;var l=a.get(e),u=a.get(t);if(l&&u)return l==t&&u==e;var d=-1,f=!0,p=n&ol?new nl:void 0;for(a.set(e,t),a.set(t,e);++d<s;){var m=e[d],h=t[d];if(r)var g=o?r(h,m,d,t,e,a):r(m,h,d,e,t,a);if(g!==void 0){if(g)continue;f=!1;break}if(p){if(!rl(t,function(e,t){if(!il(p,t)&&(m===e||i(m,e,n,r,a)))return p.push(t)})){f=!1;break}}else if(!(m===h||i(m,h,n,r,a))){f=!1;break}}return a.delete(e),a.delete(t),f}function cl(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function ll(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var ul=1,dl=2,fl=`[object Boolean]`,pl=`[object Date]`,ml=`[object Error]`,hl=`[object Map]`,gl=`[object Number]`,_l=`[object RegExp]`,vl=`[object Set]`,yl=`[object String]`,bl=`[object Symbol]`,xl=`[object ArrayBuffer]`,Sl=`[object DataView]`,Cl=or?or.prototype:void 0,wl=Cl?Cl.valueOf:void 0;function Tl(e,t,n,r,i,a,o){switch(n){case Sl:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case xl:return!(e.byteLength!=t.byteLength||!a(new Is(e),new Is(t)));case fl:case pl:case gl:return ji(+e,+t);case ml:return e.name==t.name&&e.message==t.message;case _l:case yl:return e==t+``;case hl:var s=cl;case vl:var c=r&ul;if(s||=ll,e.size!=t.size&&!c)return!1;var l=o.get(e);if(l)return l==t;r|=dl,o.set(e,t);var u=sl(s(e),s(t),r,i,a,o);return o.delete(e),u;case bl:if(wl)return wl.call(e)==wl.call(t)}return!1}var El=1,Dl=Object.prototype.hasOwnProperty;function Ol(e,t,n,r,i,a){var o=n&El,s=gs(e),c=s.length;if(c!=gs(t).length&&!o)return!1;for(var l=c;l--;){var u=s[l];if(!(o?u in t:Dl.call(t,u)))return!1}var d=a.get(e),f=a.get(t);if(d&&f)return d==t&&f==e;var p=!0;a.set(e,t),a.set(t,e);for(var m=o;++l<c;){u=s[l];var h=e[u],g=t[u];if(r)var _=o?r(g,h,u,t,e,a):r(h,g,u,e,t,a);if(!(_===void 0?h===g||i(h,g,n,r,a):_)){p=!1;break}m||=u==`constructor`}if(p&&!m){var v=e.constructor,y=t.constructor;v!=y&&`constructor`in e&&`constructor`in t&&!(typeof v==`function`&&v instanceof v&&typeof y==`function`&&y instanceof y)&&(p=!1)}return a.delete(e),a.delete(t),p}var kl=1,Al=`[object Arguments]`,jl=`[object Array]`,Ml=`[object Object]`,Nl=Object.prototype.hasOwnProperty;function Pl(e,t,n,r,i,a){var o=N(e),s=N(t),c=o?jl:Ns(e),l=s?jl:Ns(t);c=c==Al?Ml:c,l=l==Al?Ml:l;var u=c==Ml,d=l==Ml,f=c==l;if(f&&na(e)){if(!na(t))return!1;o=!0,u=!1}if(f&&!u)return a||=new $o,o||Pa(e)?sl(e,t,n,r,i,a):Tl(e,t,c,n,r,i,a);if(!(n&kl)){var p=u&&Nl.call(e,`__wrapped__`),m=d&&Nl.call(t,`__wrapped__`);if(p||m){var h=p?e.value():e,g=m?t.value():t;return a||=new $o,i(h,g,n,r,a)}}return f?(a||=new $o,Ol(e,t,n,r,i,a)):!1}function Fl(e,t,n,r,i){return e===t?!0:e==null||t==null||!vr(e)&&!vr(t)?e!==e&&t!==t:Pl(e,t,n,r,Fl,i)}var Il=1,Ll=2;function Rl(e,t,n,r){var i=n.length,a=i,o=!r;if(e==null)return!a;for(e=Object(e);i--;){var s=n[i];if(o&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++i<a;){s=n[i];var c=s[0],l=e[c],u=s[1];if(o&&s[2]){if(l===void 0&&!(c in e))return!1}else{var d=new $o;if(r)var f=r(l,u,c,e,t,d);if(!(f===void 0?Fl(u,l,Il|Ll,r,d):f))return!1}}return!0}function zl(e){return e===e&&!Ar(e)}function Bl(e){for(var t=Va(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,zl(i)]}return t}function Vl(e,t){return function(n){return n==null?!1:n[e]===t&&(t!==void 0||e in Object(n))}}function Hl(e){var t=Bl(e);return t.length==1&&t[0][2]?Vl(t[0][0],t[0][1]):function(n){return n===e||Rl(n,e,t)}}function Ul(e,t){return e!=null&&t in Object(e)}function Wl(e,t,n){t=Po(t,e);for(var r=-1,i=t.length,a=!1;++r<i;){var o=Io(t[r]);if(!(a=e!=null&&n(e,o)))break;e=e[o]}return a||++r!=i?a:(i=e==null?0:e.length,!!i&&zi(i)&&ki(o,i)&&(N(e)||Zi(e)))}function Gl(e,t){return e!=null&&Wl(e,t,Ul)}var Kl=1,ql=2;function Jl(e,t){return Xa(e)&&zl(t)?Vl(Io(e),t):function(n){var r=Ro(n,e);return r===void 0&&r===t?Gl(n,e):Fl(t,r,Kl|ql)}}function Yl(e){return function(t){return t?.[e]}}function Xl(e){return function(t){return Lo(t,e)}}function Zl(e){return Xa(e)?Yl(Io(e)):Xl(e)}function Ql(e){return typeof e==`function`?e:e==null?Vr:typeof e==`object`?N(e)?Jl(e[0],e[1]):Hl(e):Zl(e)}function $l(e,t,n,r){for(var i=-1,a=e==null?0:e.length;++i<a;){var o=e[i];t(r,o,n(o),e)}return r}function eu(e){return function(t,n,r){for(var i=-1,a=Object(t),o=r(t),s=o.length;s--;){var c=o[e?s:++i];if(n(a[c],c,a)===!1)break}return t}}var tu=eu();function nu(e,t){return e&&tu(e,t,Va)}function ru(e,t){return function(n,r){if(n==null)return n;if(!Bi(n))return e(n,r);for(var i=n.length,a=t?i:-1,o=Object(n);(t?a--:++a<i)&&r(o[a],a,o)!==!1;);return n}}var iu=ru(nu);function au(e,t,n,r){return iu(e,function(e,i,a){t(r,e,n(e),a)}),r}function ou(e,t){return function(n,r){var i=N(n)?$l:au,a=t?t():{};return i(n,e,Ql(r,2),a)}}var su=Object.prototype,cu=su.hasOwnProperty,lu=Li(function(e,t){e=Object(e);var n=-1,r=t.length,i=r>2?t[2]:void 0;for(i&&Vi(t[0],t[1],i)&&(r=1);++n<r;)for(var a=t[n],o=qa(a),s=-1,c=o.length;++s<c;){var l=o[s],u=e[l];(u===void 0||ji(u,su[l])&&!cu.call(e,l))&&(e[l]=a[l])}return e});function uu(e){return vr(e)&&Bi(e)}function du(e,t,n){for(var r=-1,i=e==null?0:e.length;++r<i;)if(n(t,e[r]))return!0;return!1}var fu=200;function pu(e,t,n,r){var i=-1,a=Ei,o=!0,s=e.length,c=[],l=t.length;if(!s)return c;n&&(t=xr(t,Oa(n))),r?(a=du,o=!1):t.length>=fu&&(a=il,o=!1,t=new nl(t));outer:for(;++i<s;){var u=e[i],d=n==null?u:n(u);if(u=r||u!==0?u:0,o&&d===d){for(var f=l;f--;)if(t[f]===d)continue outer;c.push(u)}else a(t,d,r)||c.push(u)}return c}var mu=Li(function(e,t){return uu(e)?pu(e,Ho(t,1,uu,!0)):[]});function hu(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}function gu(e,t,n){var r=e==null?0:e.length;return r?(t=n||t===void 0?1:Br(t),Go(e,t<0?0:t,r)):[]}function _u(e,t,n){var r=e==null?0:e.length;return r?(t=n||t===void 0?1:Br(t),t=r-t,Go(e,0,t<0?0:t)):[]}function vu(e){return typeof e==`function`?e:Vr}function I(e,t){return(N(e)?xi:iu)(e,vu(t))}function yu(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(!t(e[n],n,e))return!1;return!0}function bu(e,t){var n=!0;return iu(e,function(e,r,i){return n=!!t(e,r,i),n}),n}function xu(e,t,n){var r=N(e)?yu:bu;return n&&Vi(e,t,n)&&(t=void 0),r(e,Ql(t,3))}function Su(e,t){var n=[];return iu(e,function(e,r,i){t(e,r,i)&&n.push(e)}),n}function Cu(e,t){return(N(e)?ss:Su)(e,Ql(t,3))}function wu(e){return function(t,n,r){var i=Object(t);if(!Bi(t)){var a=Ql(n,3);t=Va(t),n=function(e){return a(i[e],e,i)}}var o=e(t,n,r);return o>-1?i[a?t[o]:o]:void 0}}var Tu=Math.max;function Eu(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var i=n==null?0:Br(n);return i<0&&(i=Tu(r+i,0)),Si(e,Ql(t,3),i)}var Du=wu(Eu);function Ou(e){return e&&e.length?e[0]:void 0}function ku(e,t){var n=-1,r=Bi(e)?Array(e.length):[];return iu(e,function(e,i,a){r[++n]=t(e,i,a)}),r}function L(e,t){return(N(e)?xr:ku)(e,Ql(t,3))}function Au(e,t){return Ho(L(e,t),1)}var ju=Object.prototype.hasOwnProperty,Mu=ou(function(e,t,n){ju.call(e,n)?e[n].push(t):Ai(e,n,[t])}),Nu=Object.prototype.hasOwnProperty;function Pu(e,t){return e!=null&&Nu.call(e,t)}function R(e,t){return e!=null&&Wl(e,t,Pu)}var Fu=`[object String]`;function Iu(e){return typeof e==`string`||!N(e)&&vr(e)&&_r(e)==Fu}function Lu(e,t){return xr(t,function(t){return e[t]})}function z(e){return e==null?[]:Lu(e,Va(e))}var Ru=Math.max;function zu(e,t,n,r){e=Bi(e)?e:z(e),n=n&&!r?Br(n):0;var i=e.length;return n<0&&(n=Ru(i+n,0)),Iu(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&Ti(e,t,n)>-1}var Bu=Math.max;function Vu(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var i=n==null?0:Br(n);return i<0&&(i=Bu(r+i,0)),Ti(e,t,i)}var Hu=`[object Map]`,Uu=`[object Set]`,Wu=Object.prototype.hasOwnProperty;function B(e){if(e==null)return!0;if(Bi(e)&&(N(e)||typeof e==`string`||typeof e.splice==`function`||na(e)||Pa(e)||Zi(e)))return!e.length;var t=Ns(e);if(t==Hu||t==Uu)return!e.size;if(Wi(e))return!Ba(e).length;for(var n in e)if(Wu.call(e,n))return!1;return!0}var Gu=`[object RegExp]`;function Ku(e){return vr(e)&&_r(e)==Gu}var qu=Ma&&Ma.isRegExp,Ju=qu?Oa(qu):Ku;function Yu(e){return e===void 0}var Xu=`Expected a function`;function Zu(e){if(typeof e!=`function`)throw TypeError(Xu);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function Qu(e,t,n,r){if(!Ar(e))return e;t=Po(t,e);for(var i=-1,a=t.length,o=a-1,s=e;s!=null&&++i<a;){var c=Io(t[i]),l=n;if(c===`__proto__`||c===`constructor`||c===`prototype`)return e;if(i!=o){var u=s[c];l=r?r(u,c,s):void 0,l===void 0&&(l=Ar(u)?u:ki(t[i+1])?[]:{})}Ni(s,c,l),s=s[c]}return e}function $u(e,t,n){for(var r=-1,i=t.length,a={};++r<i;){var o=t[r],s=Lo(e,o);n(s,o)&&Qu(a,Po(o,e),s)}return a}function ed(e,t){if(e==null)return{};var n=xr(_s(e),function(e){return[e]});return t=Ql(t),$u(e,n,function(e,n){return t(e,n[0])})}function td(e,t,n,r,i){return i(e,function(e,i,a){n=r?(r=!1,e):t(n,e,i,a)}),n}function nd(e,t,n){var r=N(e)?Ko:td,i=arguments.length<3;return r(e,Ql(t,4),n,i,iu)}function rd(e,t){return(N(e)?ss:Su)(e,Zu(Ql(t,3)))}function id(e,t){var n;return iu(e,function(e,r,i){return n=t(e,r,i),!n}),!!n}function ad(e,t,n){var r=N(e)?rl:id;return n&&Vi(e,t,n)&&(t=void 0),r(e,Ql(t,3))}var od=bs&&1/ll(new bs([,-0]))[1]==1/0?function(e){return new bs(e)}:fi,sd=200;function cd(e,t,n){var r=-1,i=Ei,a=e.length,o=!0,s=[],c=s;if(n)o=!1,i=du;else if(a>=sd){var l=t?null:od(e);if(l)return ll(l);o=!1,i=il,c=new nl}else c=t?[]:s;outer:for(;++r<a;){var u=e[r],d=t?t(u):u;if(u=n||u!==0?u:0,o&&d===d){for(var f=c.length;f--;)if(c[f]===d)continue outer;t&&c.push(d),s.push(u)}else i(c,d,n)||(c!==s&&c.push(d),s.push(u))}return s}function ld(e){return e&&e.length?cd(e):[]}function ud(e){console&&console.error&&console.error(`Error: ${e}`)}function dd(e){console&&console.warn&&console.warn(`Warning: ${e}`)}function fd(e){let t=new Date().getTime(),n=e();return{time:new Date().getTime()-t,value:n}}function pd(e){function t(){}t.prototype=e;let n=new t;function r(){return typeof n.bar}return r(),r(),e}var md=typeof global==`object`&&global&&global.Object===Object&&global,hd=typeof self==`object`&&self&&self.Object===Object&&self,gd=md||hd||Function(`return this`)(),_d=gd.Symbol,vd=Object.prototype,yd=vd.hasOwnProperty,bd=vd.toString,xd=_d?_d.toStringTag:void 0;function Sd(e){var t=yd.call(e,xd),n=e[xd];try{e[xd]=void 0;var r=!0}catch{}var i=bd.call(e);return r&&(t?e[xd]=n:delete e[xd]),i}var Cd=Object.prototype.toString;function wd(e){return Cd.call(e)}var Td=`[object Null]`,Ed=`[object Undefined]`,Dd=_d?_d.toStringTag:void 0;function Od(e){return e==null?e===void 0?Ed:Td:Dd&&Dd in Object(e)?Sd(e):wd(e)}function kd(e){return typeof e==`object`&&!!e}var Ad=`[object Symbol]`;function jd(e){return typeof e==`symbol`||kd(e)&&Od(e)==Ad}function Md(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}var Nd=Array.isArray,Pd=1/0,Fd=_d?_d.prototype:void 0,Id=Fd?Fd.toString:void 0;function Ld(e){if(typeof e==`string`)return e;if(Nd(e))return Md(e,Ld)+``;if(jd(e))return Id?Id.call(e):``;var t=e+``;return t==`0`&&1/e==-Pd?`-0`:t}var Rd=/\s/;function zd(e){for(var t=e.length;t--&&Rd.test(e.charAt(t)););return t}var Bd=/^\s+/;function Vd(e){return e&&e.slice(0,zd(e)+1).replace(Bd,``)}function Hd(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}var Ud=NaN,Wd=/^[-+]0x[0-9a-f]+$/i,Gd=/^0b[01]+$/i,Kd=/^0o[0-7]+$/i,qd=parseInt;function Jd(e){if(typeof e==`number`)return e;if(jd(e))return Ud;if(Hd(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=Hd(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=Vd(e);var n=Gd.test(e);return n||Kd.test(e)?qd(e.slice(2),n?2:8):Wd.test(e)?Ud:+e}var Yd=1/0,Xd=17976931348623157e292;function Zd(e){return e?(e=Jd(e),e===Yd||e===-Yd?(e<0?-1:1)*Xd:e===e?e:0):e===0?e:0}function Qd(e){var t=Zd(e),n=t%1;return t===t?n?t-n:t:0}function $d(e){return e}var ef=`[object AsyncFunction]`,tf=`[object Function]`,nf=`[object GeneratorFunction]`,rf=`[object Proxy]`;function af(e){if(!Hd(e))return!1;var t=Od(e);return t==tf||t==nf||t==ef||t==rf}var of=gd[`__core-js_shared__`],sf=function(){var e=/[^.]+$/.exec(of&&of.keys&&of.keys.IE_PROTO||``);return e?`Symbol(src)_1.`+e:``}();function cf(e){return!!sf&&sf in e}var lf=Function.prototype.toString;function uf(e){if(e!=null){try{return lf.call(e)}catch{}try{return e+``}catch{}}return``}var df=/[\\^$.*+?()[\]{}|]/g,ff=/^\[object .+?Constructor\]$/,pf=Function.prototype,mf=Object.prototype,hf=pf.toString,gf=mf.hasOwnProperty,_f=RegExp(`^`+hf.call(gf).replace(df,`\\$&`).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,`$1.*?`)+`$`);function vf(e){return!Hd(e)||cf(e)?!1:(af(e)?_f:ff).test(uf(e))}function yf(e,t){return e?.[t]}function bf(e,t){var n=yf(e,t);return vf(n)?n:void 0}var xf=bf(gd,`WeakMap`);function Sf(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}var Cf=800,wf=16,Tf=Date.now;function Ef(e){var t=0,n=0;return function(){var r=Tf(),i=wf-(r-n);if(n=r,i>0){if(++t>=Cf)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function Df(e){return function(){return e}}var Of=function(){try{var e=bf(Object,`defineProperty`);return e({},``,{}),e}catch{}}(),kf=Ef(Of?function(e,t){return Of(e,`toString`,{configurable:!0,enumerable:!1,value:Df(t),writable:!0})}:$d);function Af(e,t){for(var n=-1,r=e==null?0:e.length;++n<r&&t(e[n],n,e)!==!1;);return e}function jf(e,t,n,r){for(var i=e.length,a=n+(r?1:-1);r?a--:++a<i;)if(t(e[a],a,e))return a;return-1}function Mf(e){return e!==e}function Nf(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}function Pf(e,t,n){return t===t?Nf(e,t,n):jf(e,Mf,n)}var Ff=9007199254740991,If=/^(?:0|[1-9]\d*)$/;function Lf(e,t){var n=typeof e;return t??=Ff,!!t&&(n==`number`||n!=`symbol`&&If.test(e))&&e>-1&&e%1==0&&e<t}function Rf(e,t,n){t==`__proto__`&&Of?Of(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function zf(e,t){return e===t||e!==e&&t!==t}var Bf=Object.prototype.hasOwnProperty;function Vf(e,t,n){var r=e[t];(!(Bf.call(e,t)&&zf(r,n))||n===void 0&&!(t in e))&&Rf(e,t,n)}function Hf(e,t,n,r){var i=!n;n||={};for(var a=-1,o=t.length;++a<o;){var s=t[a],c=r?r(n[s],e[s],s,n,e):void 0;c===void 0&&(c=e[s]),i?Rf(n,s,c):Vf(n,s,c)}return n}var Uf=Math.max;function Wf(e,t,n){return t=Uf(t===void 0?e.length-1:t,0),function(){for(var r=arguments,i=-1,a=Uf(r.length-t,0),o=Array(a);++i<a;)o[i]=r[t+i];i=-1;for(var s=Array(t+1);++i<t;)s[i]=r[i];return s[t]=n(o),Sf(e,this,s)}}function Gf(e,t){return kf(Wf(e,t,$d),e+``)}var Kf=9007199254740991;function qf(e){return typeof e==`number`&&e>-1&&e%1==0&&e<=Kf}function Jf(e){return e!=null&&qf(e.length)&&!af(e)}function Yf(e,t,n){if(!Hd(n))return!1;var r=typeof t;return(r==`number`?Jf(n)&&Lf(t,n.length):r==`string`&&t in n)?zf(n[t],e):!1}function Xf(e){return Gf(function(t,n){var r=-1,i=n.length,a=i>1?n[i-1]:void 0,o=i>2?n[2]:void 0;for(a=e.length>3&&typeof a==`function`?(i--,a):void 0,o&&Yf(n[0],n[1],o)&&(a=i<3?void 0:a,i=1),t=Object(t);++r<i;){var s=n[r];s&&e(t,s,r,a)}return t})}var Zf=Object.prototype;function Qf(e){var t=e&&e.constructor;return e===(typeof t==`function`&&t.prototype||Zf)}function $f(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}var ep=`[object Arguments]`;function tp(e){return kd(e)&&Od(e)==ep}var np=Object.prototype,rp=np.hasOwnProperty,ip=np.propertyIsEnumerable,ap=tp(function(){return arguments}())?tp:function(e){return kd(e)&&rp.call(e,`callee`)&&!ip.call(e,`callee`)};function op(){return!1}var sp=typeof exports==`object`&&exports&&!exports.nodeType&&exports,cp=sp&&typeof module==`object`&&module&&!module.nodeType&&module,lp=cp&&cp.exports===sp?gd.Buffer:void 0,up=(lp?lp.isBuffer:void 0)||op,dp=`[object Arguments]`,fp=`[object Array]`,pp=`[object Boolean]`,mp=`[object Date]`,hp=`[object Error]`,gp=`[object Function]`,_p=`[object Map]`,vp=`[object Number]`,yp=`[object Object]`,bp=`[object RegExp]`,xp=`[object Set]`,Sp=`[object String]`,Cp=`[object WeakMap]`,wp=`[object ArrayBuffer]`,Tp=`[object DataView]`,Ep=`[object Float32Array]`,Dp=`[object Float64Array]`,Op=`[object Int8Array]`,kp=`[object Int16Array]`,Ap=`[object Int32Array]`,jp=`[object Uint8Array]`,Mp=`[object Uint8ClampedArray]`,Np=`[object Uint16Array]`,Pp=`[object Uint32Array]`,V={};V[Ep]=V[Dp]=V[Op]=V[kp]=V[Ap]=V[jp]=V[Mp]=V[Np]=V[Pp]=!0,V[dp]=V[fp]=V[wp]=V[pp]=V[Tp]=V[mp]=V[hp]=V[gp]=V[_p]=V[vp]=V[yp]=V[bp]=V[xp]=V[Sp]=V[Cp]=!1;function Fp(e){return kd(e)&&qf(e.length)&&!!V[Od(e)]}function Ip(e){return function(t){return e(t)}}var Lp=typeof exports==`object`&&exports&&!exports.nodeType&&exports,Rp=Lp&&typeof module==`object`&&module&&!module.nodeType&&module,zp=Rp&&Rp.exports===Lp&&md.process,Bp=function(){try{return Rp&&Rp.require&&Rp.require(`util`).types||zp&&zp.binding&&zp.binding(`util`)}catch{}}(),Vp=Bp&&Bp.isTypedArray,Hp=Vp?Ip(Vp):Fp,Up=Object.prototype.hasOwnProperty;function Wp(e,t){var n=Nd(e),r=!n&&ap(e),i=!n&&!r&&up(e),a=!n&&!r&&!i&&Hp(e),o=n||r||i||a,s=o?$f(e.length,String):[],c=s.length;for(var l in e)(t||Up.call(e,l))&&!(o&&(l==`length`||i&&(l==`offset`||l==`parent`)||a&&(l==`buffer`||l==`byteLength`||l==`byteOffset`)||Lf(l,c)))&&s.push(l);return s}function Gp(e,t){return function(n){return e(t(n))}}var Kp=Gp(Object.keys,Object),qp=Object.prototype.hasOwnProperty;function Jp(e){if(!Qf(e))return Kp(e);var t=[];for(var n in Object(e))qp.call(e,n)&&n!=`constructor`&&t.push(n);return t}function Yp(e){return Jf(e)?Wp(e):Jp(e)}var Xp=Object.prototype.hasOwnProperty,Zp=Xf(function(e,t){if(Qf(t)||Jf(t)){Hf(t,Yp(t),e);return}for(var n in t)Xp.call(t,n)&&Vf(e,n,t[n])});function Qp(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var $p=Object.prototype.hasOwnProperty;function em(e){if(!Hd(e))return Qp(e);var t=Qf(e),n=[];for(var r in e)r==`constructor`&&(t||!$p.call(e,r))||n.push(r);return n}function tm(e){return Jf(e)?Wp(e,!0):em(e)}var nm=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,rm=/^\w*$/;function im(e,t){if(Nd(e))return!1;var n=typeof e;return n==`number`||n==`symbol`||n==`boolean`||e==null||jd(e)?!0:rm.test(e)||!nm.test(e)||t!=null&&e in Object(t)}var am=bf(Object,`create`);function om(){this.__data__=am?am(null):{},this.size=0}function sm(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var cm=`__lodash_hash_undefined__`,lm=Object.prototype.hasOwnProperty;function um(e){var t=this.__data__;if(am){var n=t[e];return n===cm?void 0:n}return lm.call(t,e)?t[e]:void 0}var dm=Object.prototype.hasOwnProperty;function fm(e){var t=this.__data__;return am?t[e]!==void 0:dm.call(t,e)}var pm=`__lodash_hash_undefined__`;function mm(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=am&&t===void 0?pm:t,this}function hm(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}hm.prototype.clear=om,hm.prototype.delete=sm,hm.prototype.get=um,hm.prototype.has=fm,hm.prototype.set=mm;function gm(){this.__data__=[],this.size=0}function _m(e,t){for(var n=e.length;n--;)if(zf(e[n][0],t))return n;return-1}var vm=Array.prototype.splice;function ym(e){var t=this.__data__,n=_m(t,e);return n<0?!1:(n==t.length-1?t.pop():vm.call(t,n,1),--this.size,!0)}function bm(e){var t=this.__data__,n=_m(t,e);return n<0?void 0:t[n][1]}function xm(e){return _m(this.__data__,e)>-1}function Sm(e,t){var n=this.__data__,r=_m(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function Cm(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Cm.prototype.clear=gm,Cm.prototype.delete=ym,Cm.prototype.get=bm,Cm.prototype.has=xm,Cm.prototype.set=Sm;var wm=bf(gd,`Map`);function Tm(){this.size=0,this.__data__={hash:new hm,map:new(wm||Cm),string:new hm}}function Em(e){var t=typeof e;return t==`string`||t==`number`||t==`symbol`||t==`boolean`?e!==`__proto__`:e===null}function Dm(e,t){var n=e.__data__;return Em(t)?n[typeof t==`string`?`string`:`hash`]:n.map}function Om(e){var t=Dm(this,e).delete(e);return this.size-=t?1:0,t}function km(e){return Dm(this,e).get(e)}function Am(e){return Dm(this,e).has(e)}function jm(e,t){var n=Dm(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}function Mm(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Mm.prototype.clear=Tm,Mm.prototype.delete=Om,Mm.prototype.get=km,Mm.prototype.has=Am,Mm.prototype.set=jm;var Nm=`Expected a function`;function Pm(e,t){if(typeof e!=`function`||t!=null&&typeof t!=`function`)throw TypeError(Nm);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=e.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(Pm.Cache||Mm),n}Pm.Cache=Mm;var Fm=500;function Im(e){var t=Pm(e,function(e){return n.size===Fm&&n.clear(),e}),n=t.cache;return t}var Lm=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Rm=/\\(\\)?/g,zm=Im(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(``),e.replace(Lm,function(e,n,r,i){t.push(r?i.replace(Rm,`$1`):n||e)}),t});function Bm(e){return e==null?``:Ld(e)}function Vm(e,t){return Nd(e)?e:im(e,t)?[e]:zm(Bm(e))}var Hm=1/0;function Um(e){if(typeof e==`string`||jd(e))return e;var t=e+``;return t==`0`&&1/e==-Hm?`-0`:t}function Wm(e,t){t=Vm(t,e);for(var n=0,r=t.length;e!=null&&n<r;)e=e[Um(t[n++])];return n&&n==r?e:void 0}function Gm(e,t,n){var r=e==null?void 0:Wm(e,t);return r===void 0?n:r}function Km(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}var qm=Gp(Object.getPrototypeOf,Object);function Jm(){this.__data__=new Cm,this.size=0}function Ym(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Xm(e){return this.__data__.get(e)}function Zm(e){return this.__data__.has(e)}var Qm=200;function $m(e,t){var n=this.__data__;if(n instanceof Cm){var r=n.__data__;if(!wm||r.length<Qm-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Mm(r)}return n.set(e,t),this.size=n.size,this}function eh(e){this.size=(this.__data__=new Cm(e)).size}eh.prototype.clear=Jm,eh.prototype.delete=Ym,eh.prototype.get=Xm,eh.prototype.has=Zm,eh.prototype.set=$m;function th(e,t){for(var n=-1,r=e==null?0:e.length,i=0,a=[];++n<r;){var o=e[n];t(o,n,e)&&(a[i++]=o)}return a}function nh(){return[]}var rh=Object.prototype.propertyIsEnumerable,ih=Object.getOwnPropertySymbols,ah=ih?function(e){return e==null?[]:(e=Object(e),th(ih(e),function(t){return rh.call(e,t)}))}:nh,oh=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)Km(t,ah(e)),e=qm(e);return t}:nh;function sh(e,t,n){var r=t(e);return Nd(e)?r:Km(r,n(e))}function ch(e){return sh(e,Yp,ah)}function lh(e){return sh(e,tm,oh)}var uh=bf(gd,`DataView`),dh=bf(gd,`Promise`),fh=bf(gd,`Set`),ph=`[object Map]`,mh=`[object Object]`,hh=`[object Promise]`,gh=`[object Set]`,_h=`[object WeakMap]`,vh=`[object DataView]`,yh=uf(uh),bh=uf(wm),xh=uf(dh),Sh=uf(fh),Ch=uf(xf),wh=Od;(uh&&wh(new uh(new ArrayBuffer(1)))!=vh||wm&&wh(new wm)!=ph||dh&&wh(dh.resolve())!=hh||fh&&wh(new fh)!=gh||xf&&wh(new xf)!=_h)&&(wh=function(e){var t=Od(e),n=t==mh?e.constructor:void 0,r=n?uf(n):``;if(r)switch(r){case yh:return vh;case bh:return ph;case xh:return hh;case Sh:return gh;case Ch:return _h}return t});var Th=wh,Eh=gd.Uint8Array,Dh=`__lodash_hash_undefined__`;function Oh(e){return this.__data__.set(e,Dh),this}function kh(e){return this.__data__.has(e)}function Ah(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new Mm;++t<n;)this.add(e[t])}Ah.prototype.add=Ah.prototype.push=Oh,Ah.prototype.has=kh;function jh(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}function Mh(e,t){return e.has(t)}var Nh=1,Ph=2;function Fh(e,t,n,r,i,a){var o=n&Nh,s=e.length,c=t.length;if(s!=c&&!(o&&c>s))return!1;var l=a.get(e),u=a.get(t);if(l&&u)return l==t&&u==e;var d=-1,f=!0,p=n&Ph?new Ah:void 0;for(a.set(e,t),a.set(t,e);++d<s;){var m=e[d],h=t[d];if(r)var g=o?r(h,m,d,t,e,a):r(m,h,d,e,t,a);if(g!==void 0){if(g)continue;f=!1;break}if(p){if(!jh(t,function(e,t){if(!Mh(p,t)&&(m===e||i(m,e,n,r,a)))return p.push(t)})){f=!1;break}}else if(!(m===h||i(m,h,n,r,a))){f=!1;break}}return a.delete(e),a.delete(t),f}function Ih(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function Lh(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var Rh=1,zh=2,Bh=`[object Boolean]`,Vh=`[object Date]`,Hh=`[object Error]`,Uh=`[object Map]`,Wh=`[object Number]`,Gh=`[object RegExp]`,Kh=`[object Set]`,qh=`[object String]`,Jh=`[object Symbol]`,Yh=`[object ArrayBuffer]`,Xh=`[object DataView]`,Zh=_d?_d.prototype:void 0,Qh=Zh?Zh.valueOf:void 0;function $h(e,t,n,r,i,a,o){switch(n){case Xh:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case Yh:return!(e.byteLength!=t.byteLength||!a(new Eh(e),new Eh(t)));case Bh:case Vh:case Wh:return zf(+e,+t);case Hh:return e.name==t.name&&e.message==t.message;case Gh:case qh:return e==t+``;case Uh:var s=Ih;case Kh:var c=r&Rh;if(s||=Lh,e.size!=t.size&&!c)return!1;var l=o.get(e);if(l)return l==t;r|=zh,o.set(e,t);var u=Fh(s(e),s(t),r,i,a,o);return o.delete(e),u;case Jh:if(Qh)return Qh.call(e)==Qh.call(t)}return!1}var eg=1,tg=Object.prototype.hasOwnProperty;function ng(e,t,n,r,i,a){var o=n&eg,s=ch(e),c=s.length;if(c!=ch(t).length&&!o)return!1;for(var l=c;l--;){var u=s[l];if(!(o?u in t:tg.call(t,u)))return!1}var d=a.get(e),f=a.get(t);if(d&&f)return d==t&&f==e;var p=!0;a.set(e,t),a.set(t,e);for(var m=o;++l<c;){u=s[l];var h=e[u],g=t[u];if(r)var _=o?r(g,h,u,t,e,a):r(h,g,u,e,t,a);if(!(_===void 0?h===g||i(h,g,n,r,a):_)){p=!1;break}m||=u==`constructor`}if(p&&!m){var v=e.constructor,y=t.constructor;v!=y&&`constructor`in e&&`constructor`in t&&!(typeof v==`function`&&v instanceof v&&typeof y==`function`&&y instanceof y)&&(p=!1)}return a.delete(e),a.delete(t),p}var rg=1,ig=`[object Arguments]`,ag=`[object Array]`,og=`[object Object]`,sg=Object.prototype.hasOwnProperty;function cg(e,t,n,r,i,a){var o=Nd(e),s=Nd(t),c=o?ag:Th(e),l=s?ag:Th(t);c=c==ig?og:c,l=l==ig?og:l;var u=c==og,d=l==og,f=c==l;if(f&&up(e)){if(!up(t))return!1;o=!0,u=!1}if(f&&!u)return a||=new eh,o||Hp(e)?Fh(e,t,n,r,i,a):$h(e,t,c,n,r,i,a);if(!(n&rg)){var p=u&&sg.call(e,`__wrapped__`),m=d&&sg.call(t,`__wrapped__`);if(p||m){var h=p?e.value():e,g=m?t.value():t;return a||=new eh,i(h,g,n,r,a)}}return f?(a||=new eh,ng(e,t,n,r,i,a)):!1}function lg(e,t,n,r,i){return e===t?!0:e==null||t==null||!kd(e)&&!kd(t)?e!==e&&t!==t:cg(e,t,n,r,lg,i)}var ug=1,dg=2;function fg(e,t,n,r){var i=n.length,a=i,o=!r;if(e==null)return!a;for(e=Object(e);i--;){var s=n[i];if(o&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++i<a;){s=n[i];var c=s[0],l=e[c],u=s[1];if(o&&s[2]){if(l===void 0&&!(c in e))return!1}else{var d=new eh;if(r)var f=r(l,u,c,e,t,d);if(!(f===void 0?lg(u,l,ug|dg,r,d):f))return!1}}return!0}function pg(e){return e===e&&!Hd(e)}function mg(e){for(var t=Yp(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,pg(i)]}return t}function hg(e,t){return function(n){return n==null?!1:n[e]===t&&(t!==void 0||e in Object(n))}}function gg(e){var t=mg(e);return t.length==1&&t[0][2]?hg(t[0][0],t[0][1]):function(n){return n===e||fg(n,e,t)}}function _g(e,t){return e!=null&&t in Object(e)}function vg(e,t,n){t=Vm(t,e);for(var r=-1,i=t.length,a=!1;++r<i;){var o=Um(t[r]);if(!(a=e!=null&&n(e,o)))break;e=e[o]}return a||++r!=i?a:(i=e==null?0:e.length,!!i&&qf(i)&&Lf(o,i)&&(Nd(e)||ap(e)))}function yg(e,t){return e!=null&&vg(e,t,_g)}var bg=1,xg=2;function Sg(e,t){return im(e)&&pg(t)?hg(Um(e),t):function(n){var r=Gm(n,e);return r===void 0&&r===t?yg(n,e):lg(t,r,bg|xg)}}function Cg(e){return function(t){return t?.[e]}}function wg(e){return function(t){return Wm(t,e)}}function Tg(e){return im(e)?Cg(Um(e)):wg(e)}function Eg(e){return typeof e==`function`?e:e==null?$d:typeof e==`object`?Nd(e)?Sg(e[0],e[1]):gg(e):Tg(e)}function Dg(e){return function(t,n,r){for(var i=-1,a=Object(t),o=r(t),s=o.length;s--;){var c=o[e?s:++i];if(n(a[c],c,a)===!1)break}return t}}var Og=Dg();function kg(e,t){return e&&Og(e,t,Yp)}function Ag(e,t){return function(n,r){if(n==null)return n;if(!Jf(n))return e(n,r);for(var i=n.length,a=t?i:-1,o=Object(n);(t?a--:++a<i)&&r(o[a],a,o)!==!1;);return n}}var jg=Ag(kg);function Mg(e){return typeof e==`function`?e:$d}function Ng(e,t){return(Nd(e)?Af:jg)(e,Mg(t))}function Pg(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(!t(e[n],n,e))return!1;return!0}function Fg(e,t){var n=!0;return jg(e,function(e,r,i){return n=!!t(e,r,i),n}),n}function Ig(e,t,n){var r=Nd(e)?Pg:Fg;return n&&Yf(e,t,n)&&(t=void 0),r(e,Eg(t,3))}function Lg(e,t){var n=-1,r=Jf(e)?Array(e.length):[];return jg(e,function(e,i,a){r[++n]=t(e,i,a)}),r}function Rg(e,t){return(Nd(e)?Md:Lg)(e,Eg(t,3))}var zg=`[object String]`;function Bg(e){return typeof e==`string`||!Nd(e)&&kd(e)&&Od(e)==zg}function Vg(e,t){return Md(t,function(t){return e[t]})}function Hg(e){return e==null?[]:Vg(e,Yp(e))}var Ug=Math.max;function Wg(e,t,n,r){e=Jf(e)?e:Hg(e),n=n&&!r?Qd(n):0;var i=e.length;return n<0&&(n=Ug(i+n,0)),Bg(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&Pf(e,t,n)>-1}var Gg=`[object RegExp]`;function Kg(e){return kd(e)&&Od(e)==Gg}var qg=Bp&&Bp.isRegExp,Jg=qg?Ip(qg):Kg;function Yg(e,t,n,r){if(!Hd(e))return e;t=Vm(t,e);for(var i=-1,a=t.length,o=a-1,s=e;s!=null&&++i<a;){var c=Um(t[i]),l=n;if(c===`__proto__`||c===`constructor`||c===`prototype`)return e;if(i!=o){var u=s[c];l=r?r(u,c,s):void 0,l===void 0&&(l=Hd(u)?u:Lf(t[i+1])?[]:{})}Vf(s,c,l),s=s[c]}return e}function Xg(e,t,n){for(var r=-1,i=t.length,a={};++r<i;){var o=t[r],s=Wm(e,o);n(s,o)&&Yg(a,Vm(o,e),s)}return a}function Zg(e,t){if(e==null)return{};var n=Md(lh(e),function(e){return[e]});return t=Eg(t),Xg(e,n,function(e,n){return t(e,n[0])})}function Qg(e,t){var n;return jg(e,function(e,r,i){return n=t(e,r,i),!n}),!!n}function $g(e,t,n){var r=Nd(e)?jh:Qg;return n&&Yf(e,t,n)&&(t=void 0),r(e,Eg(t,3))}function e_(e){return t_(e)?e.LABEL:e.name}function t_(e){return Bg(e.LABEL)&&e.LABEL!==``}var n_=class{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),Ng(this.definition,t=>{t.accept(e)})}},r_=class extends n_{constructor(e){super([]),this.idx=1,Zp(this,Zg(e,e=>e!==void 0))}set definition(e){}get definition(){return this.referencedRule===void 0?[]:this.referencedRule.definition}accept(e){e.visit(this)}},i_=class extends n_{constructor(e){super(e.definition),this.orgText=``,Zp(this,Zg(e,e=>e!==void 0))}},a_=class extends n_{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Zp(this,Zg(e,e=>e!==void 0))}},o_=class extends n_{constructor(e){super(e.definition),this.idx=1,Zp(this,Zg(e,e=>e!==void 0))}},s_=class extends n_{constructor(e){super(e.definition),this.idx=1,Zp(this,Zg(e,e=>e!==void 0))}},c_=class extends n_{constructor(e){super(e.definition),this.idx=1,Zp(this,Zg(e,e=>e!==void 0))}},H=class extends n_{constructor(e){super(e.definition),this.idx=1,Zp(this,Zg(e,e=>e!==void 0))}},l_=class extends n_{constructor(e){super(e.definition),this.idx=1,Zp(this,Zg(e,e=>e!==void 0))}},u_=class extends n_{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,Zp(this,Zg(e,e=>e!==void 0))}},U=class{constructor(e){this.idx=1,Zp(this,Zg(e,e=>e!==void 0))}accept(e){e.visit(this)}};function d_(e){return Rg(e,f_)}function f_(e){function t(e){return Rg(e,f_)}if(e instanceof r_){let t={type:`NonTerminal`,name:e.nonTerminalName,idx:e.idx};return Bg(e.label)&&(t.label=e.label),t}else if(e instanceof a_)return{type:`Alternative`,definition:t(e.definition)};else if(e instanceof o_)return{type:`Option`,idx:e.idx,definition:t(e.definition)};else if(e instanceof s_)return{type:`RepetitionMandatory`,idx:e.idx,definition:t(e.definition)};else if(e instanceof c_)return{type:`RepetitionMandatoryWithSeparator`,idx:e.idx,separator:f_(new U({terminalType:e.separator})),definition:t(e.definition)};else if(e instanceof l_)return{type:`RepetitionWithSeparator`,idx:e.idx,separator:f_(new U({terminalType:e.separator})),definition:t(e.definition)};else if(e instanceof H)return{type:`Repetition`,idx:e.idx,definition:t(e.definition)};else if(e instanceof u_)return{type:`Alternation`,idx:e.idx,definition:t(e.definition)};else if(e instanceof U){let t={type:`Terminal`,name:e.terminalType.name,label:e_(e.terminalType),idx:e.idx};Bg(e.label)&&(t.terminalLabel=e.label);let n=e.terminalType.PATTERN;return e.terminalType.PATTERN&&(t.pattern=Jg(n)?n.source:n),t}else if(e instanceof i_)return{type:`Rule`,name:e.name,orgText:e.orgText,definition:t(e.definition)};else throw Error(`non exhaustive match`)}var p_=class{visit(e){let t=e;switch(t.constructor){case r_:return this.visitNonTerminal(t);case a_:return this.visitAlternative(t);case o_:return this.visitOption(t);case s_:return this.visitRepetitionMandatory(t);case c_:return this.visitRepetitionMandatoryWithSeparator(t);case l_:return this.visitRepetitionWithSeparator(t);case H:return this.visitRepetition(t);case u_:return this.visitAlternation(t);case U:return this.visitTerminal(t);case i_:return this.visitRule(t);default:throw Error(`non exhaustive match`)}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}};function m_(e){return e instanceof a_||e instanceof o_||e instanceof H||e instanceof s_||e instanceof c_||e instanceof l_||e instanceof U||e instanceof i_}function h_(e,t=[]){return e instanceof o_||e instanceof H||e instanceof l_?!0:e instanceof u_?$g(e.definition,e=>h_(e,t)):e instanceof r_&&Wg(t,e)?!1:e instanceof n_?(e instanceof r_&&t.push(e),Ig(e.definition,e=>h_(e,t))):!1}function g_(e){return e instanceof u_}function __(e){if(e instanceof r_)return`SUBRULE`;if(e instanceof o_)return`OPTION`;if(e instanceof u_)return`OR`;if(e instanceof s_)return`AT_LEAST_ONE`;if(e instanceof c_)return`AT_LEAST_ONE_SEP`;if(e instanceof l_)return`MANY_SEP`;if(e instanceof H)return`MANY`;if(e instanceof U)return`CONSUME`;throw Error(`non exhaustive match`)}var v_=class{walk(e,t=[]){I(e.definition,(n,r)=>{let i=gu(e.definition,r+1);if(n instanceof r_)this.walkProdRef(n,i,t);else if(n instanceof U)this.walkTerminal(n,i,t);else if(n instanceof a_)this.walkFlat(n,i,t);else if(n instanceof o_)this.walkOption(n,i,t);else if(n instanceof s_)this.walkAtLeastOne(n,i,t);else if(n instanceof c_)this.walkAtLeastOneSep(n,i,t);else if(n instanceof l_)this.walkManySep(n,i,t);else if(n instanceof H)this.walkMany(n,i,t);else if(n instanceof u_)this.walkOr(n,i,t);else throw Error(`non exhaustive match`)})}walkTerminal(e,t,n){}walkProdRef(e,t,n){}walkFlat(e,t,n){let r=t.concat(n);this.walk(e,r)}walkOption(e,t,n){let r=t.concat(n);this.walk(e,r)}walkAtLeastOne(e,t,n){let r=[new o_({definition:e.definition})].concat(t,n);this.walk(e,r)}walkAtLeastOneSep(e,t,n){let r=y_(e,t,n);this.walk(e,r)}walkMany(e,t,n){let r=[new o_({definition:e.definition})].concat(t,n);this.walk(e,r)}walkManySep(e,t,n){let r=y_(e,t,n);this.walk(e,r)}walkOr(e,t,n){let r=t.concat(n);I(e.definition,e=>{let t=new a_({definition:[e]});this.walk(t,r)})}};function y_(e,t,n){return[new o_({definition:[new U({terminalType:e.separator})].concat(e.definition)})].concat(t,n)}function b_(e){if(e instanceof r_)return b_(e.referencedRule);if(e instanceof U)return C_(e);if(m_(e))return x_(e);if(g_(e))return S_(e);throw Error(`non exhaustive match`)}function x_(e){let t=[],n=e.definition,r=0,i=n.length>r,a,o=!0;for(;i&&o;)a=n[r],o=h_(a),t=t.concat(b_(a)),r+=1,i=n.length>r;return ld(t)}function S_(e){return ld(Uo(L(e.definition,e=>b_(e))))}function C_(e){return[e.terminalType]}var w_=`_~IN~_`,T_=class extends v_{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,n){}walkProdRef(e,t,n){let r=D_(e.referencedRule,e.idx)+this.topProd.name,i=b_(new a_({definition:t.concat(n)}));this.follows[r]=i}};function E_(e){let t={};return I(e,e=>{Ua(t,new T_(e).startWalking())}),t}function D_(e,t){return e.name+t+w_}var O_={},k_=new hn;function A_(e){let t=e.toString();if(O_.hasOwnProperty(t))return O_[t];{let e=k_.pattern(t);return O_[t]=e,e}}function j_(){O_={}}var M_=`Complement Sets are not supported for first char optimization`,N_=`Unable to use "first char" lexer optimizations:
|
|
13
|
+
`;function P_(e,t=!1){try{let t=A_(e);return F_(t.value,{},t.flags.ignoreCase)}catch(n){if(n.message===M_)t&&dd(`${N_}\tUnable to optimize: < ${e.toString()} >\n Complement Sets cannot be automatically optimized.
|
|
14
|
+
This will disable the lexer's first char optimizations.
|
|
15
|
+
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n=``;t&&(n=`
|
|
16
|
+
This will disable the lexer's first char optimizations.
|
|
17
|
+
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),ud(`${N_}\n\tFailed parsing: < ${e.toString()} >\n\tUsing the @chevrotain/regexp-to-ast library\n Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function F_(e,t,n){switch(e.type){case`Disjunction`:for(let r=0;r<e.value.length;r++)F_(e.value[r],t,n);break;case`Alternative`:let r=e.value;for(let e=0;e<r.length;e++){let i=r[e];switch(i.type){case`EndAnchor`:case`GroupBackReference`:case`Lookahead`:case`NegativeLookahead`:case`Lookbehind`:case`NegativeLookbehind`:case`StartAnchor`:case`WordBoundary`:case`NonWordBoundary`:continue}let a=i;switch(a.type){case`Character`:I_(a.value,t,n);break;case`Set`:if(a.complement===!0)throw Error(M_);I(a.value,e=>{if(typeof e==`number`)I_(e,t,n);else{let r=e;if(n===!0)for(let e=r.from;e<=r.to;e++)I_(e,t,n);else{for(let e=r.from;e<=r.to&&e<256;e++)I_(e,t,n);if(r.to>=256){let e=r.from>=256?r.from:256,n=r.to,i=xv(e),a=xv(n);for(let e=i;e<=a;e++)t[e]=e}}}});break;case`Group`:F_(a.value,t,n);break;default:throw Error(`Non Exhaustive Match`)}let o=a.quantifier!==void 0&&a.quantifier.atLeast===0;if(a.type===`Group`&&z_(a)===!1||a.type!==`Group`&&o===!1)break}break;default:throw Error(`non exhaustive match!`)}return z(t)}function I_(e,t,n){let r=xv(e);t[r]=r,n===!0&&L_(e,t)}function L_(e,t){let n=String.fromCharCode(e),r=n.toUpperCase();if(r!==n){let e=xv(r.charCodeAt(0));t[e]=e}else{let e=n.toLowerCase();if(e!==n){let n=xv(e.charCodeAt(0));t[n]=n}}}function R_(e,t){return Du(e.value,e=>{if(typeof e==`number`)return zu(t,e);{let n=e;return Du(t,e=>n.from<=e&&e<=n.to)!==void 0}})}function z_(e){let t=e.quantifier;return t&&t.atLeast===0?!0:e.value?N(e.value)?xu(e.value,z_):z_(e.value):!1}var B_=class extends gn{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){zu(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?R_(e,this.targetCharCodes)===void 0&&(this.found=!0):R_(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};function V_(e,t){if(t instanceof RegExp){let n=A_(t),r=new B_(e);return r.visit(n),r.found}else return Du(t,t=>zu(e,t.charCodeAt(0)))!==void 0}var H_=`PATTERN`,U_=`defaultMode`,W_=`modes`;function G_(e,t){t=lu(t,{debug:!1,safeMode:!1,positionTracking:`full`,lineTerminatorCharacters:[`\r`,`
|
|
18
|
+
`],tracer:(e,t)=>t()});let n=t.tracer;n(`initCharCodeToOptimizedIndexMap`,()=>{Sv()});let r;n(`Reject Lexer.NA`,()=>{r=rd(e,e=>e[H_]===Bv.NA)});let i=!1,a;n(`Transform Patterns`,()=>{i=!1,a=L(r,e=>{let t=e[H_];if(Ju(t)){let e=t.source;return e.length===1&&e!==`^`&&e!==`$`&&e!==`.`&&!t.ignoreCase?e:e.length===2&&e[0]===`\\`&&!zu([`d`,`D`,`s`,`S`,`t`,`r`,`n`,`t`,`0`,`c`,`b`,`B`,`f`,`v`,`w`,`W`],e[1])?e[1]:lv(t)}else if(Kr(t))return i=!0,{exec:t};else if(typeof t==`object`)return i=!0,t;else if(typeof t==`string`){if(t.length===1)return t;{let e=t.replace(/[\\^$.*+?()[\]{}|]/g,`\\$&`);return lv(new RegExp(e))}}else throw Error(`non exhaustive match`)})});let o,s,c,l,u;n(`misc mapping`,()=>{o=L(r,e=>e.tokenTypeIdx),s=L(r,e=>{let t=e.GROUP;if(t!==Bv.SKIPPED){if(Iu(t))return t;if(Yu(t))return!1;throw Error(`non exhaustive match`)}}),c=L(r,e=>{let t=e.LONGER_ALT;if(t)return N(t)?L(t,e=>Vu(r,e)):[Vu(r,t)]}),l=L(r,e=>e.PUSH_MODE),u=L(r,e=>R(e,`POP_MODE`))});let d;n(`Line Terminator Handling`,()=>{let e=vv(t.lineTerminatorCharacters);d=L(r,e=>!1),t.positionTracking!==`onlyOffset`&&(d=L(r,t=>R(t,`LINE_BREAKS`)?!!t.LINE_BREAKS:gv(t,e)===!1&&V_(e,t.PATTERN)))});let f,p,m,h;n(`Misc Mapping #2`,()=>{f=L(r,pv),p=L(a,mv),m=nd(r,(e,t)=>{let n=t.GROUP;return Iu(n)&&n!==Bv.SKIPPED&&(e[n]=[]),e},{}),h=L(a,(e,t)=>({pattern:a[t],longerAlt:c[t],canLineTerminator:d[t],isCustom:f[t],short:p[t],group:s[t],push:l[t],pop:u[t],tokenTypeIdx:o[t],tokenType:r[t]}))});let g=!0,_=[];return t.safeMode||n(`First Char Optimization`,()=>{_=nd(r,(e,n,r)=>{if(typeof n.PATTERN==`string`)yv(e,xv(n.PATTERN.charCodeAt(0)),h[r]);else if(N(n.START_CHARS_HINT)){let t;I(n.START_CHARS_HINT,n=>{let i=xv(typeof n==`string`?n.charCodeAt(0):n);t!==i&&(t=i,yv(e,i,h[r]))})}else if(Ju(n.PATTERN))if(n.PATTERN.unicode)g=!1,t.ensureOptimizations&&ud(`${N_}\tUnable to analyze < ${n.PATTERN.toString()} > pattern.\n The regexp unicode flag is not currently supported by the regexp-to-ast library.
|
|
19
|
+
This will disable the lexer's first char optimizations.
|
|
20
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let i=P_(n.PATTERN,t.ensureOptimizations);B(i)&&(g=!1),I(i,t=>{yv(e,t,h[r])})}else t.ensureOptimizations&&ud(`${N_}\tTokenType: <${n.name}> is using a custom token pattern without providing <start_chars_hint> parameter.\n This will disable the lexer's first char optimizations.
|
|
21
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),g=!1;return e},[])}),{emptyGroups:m,patternIdxToConfig:h,charCodeToPatternIdxToConfig:_,hasCustom:i,canBeOptimized:g}}function K_(e,t){let n=[],r=J_(e);n=n.concat(r.errors);let i=Y_(r.valid),a=i.valid;return n=n.concat(i.errors),n=n.concat(q_(a)),n=n.concat(rv(a)),n=n.concat(iv(a,t)),n=n.concat(av(a)),n}function q_(e){let t=[],n=Cu(e,e=>Ju(e[H_]));return t=t.concat(Z_(n)),t=t.concat(ev(n)),t=t.concat(tv(n)),t=t.concat(nv(n)),t=t.concat(Q_(n)),t}function J_(e){let t=Cu(e,e=>!R(e,H_));return{errors:L(t,e=>({message:`Token Type: ->`+e.name+`<- missing static 'PATTERN' property`,type:W.MISSING_PATTERN,tokenTypes:[e]})),valid:mu(e,t)}}function Y_(e){let t=Cu(e,e=>{let t=e[H_];return!Ju(t)&&!Kr(t)&&!R(t,`exec`)&&!Iu(t)});return{errors:L(t,e=>({message:`Token Type: ->`+e.name+`<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.`,type:W.INVALID_PATTERN,tokenTypes:[e]})),valid:mu(e,t)}}var X_=/[^\\][$]/;function Z_(e){class t extends gn{constructor(){super(...arguments),this.found=!1}visitEndAnchor(e){this.found=!0}}return L(Cu(e,e=>{let n=e.PATTERN;try{let e=A_(n),r=new t;return r.visit(e),r.found}catch{return X_.test(n.source)}}),e=>({message:`Unexpected RegExp Anchor Error:
|
|
22
|
+
Token Type: ->`+e.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
|
|
23
|
+
See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:W.EOI_ANCHOR_FOUND,tokenTypes:[e]}))}function Q_(e){return L(Cu(e,e=>e.PATTERN.test(``)),e=>({message:`Token Type: ->`+e.name+`<- static 'PATTERN' must not match an empty string`,type:W.EMPTY_MATCH_PATTERN,tokenTypes:[e]}))}var $_=/[^\\[][\^]|^\^/;function ev(e){class t extends gn{constructor(){super(...arguments),this.found=!1}visitStartAnchor(e){this.found=!0}}return L(Cu(e,e=>{let n=e.PATTERN;try{let e=A_(n),r=new t;return r.visit(e),r.found}catch{return $_.test(n.source)}}),e=>({message:`Unexpected RegExp Anchor Error:
|
|
24
|
+
Token Type: ->`+e.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
|
|
25
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:W.SOI_ANCHOR_FOUND,tokenTypes:[e]}))}function tv(e){return L(Cu(e,e=>{let t=e[H_];return t instanceof RegExp&&(t.multiline||t.global)}),e=>({message:`Token Type: ->`+e.name+`<- static 'PATTERN' may NOT contain global('g') or multiline('m')`,type:W.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[e]}))}function nv(e){let t=[],n=L(e,n=>nd(e,(e,r)=>n.PATTERN.source===r.PATTERN.source&&!zu(t,r)&&r.PATTERN!==Bv.NA?(t.push(r),e.push(r),e):e,[]));return n=Qc(n),L(Cu(n,e=>e.length>1),e=>{let t=L(e,e=>e.name);return{message:`The same RegExp pattern ->${Ou(e).PATTERN}<-has been used in all of the following Token Types: ${t.join(`, `)} <-`,type:W.DUPLICATE_PATTERNS_FOUND,tokenTypes:e}})}function rv(e){return L(Cu(e,e=>{if(!R(e,`GROUP`))return!1;let t=e.GROUP;return t!==Bv.SKIPPED&&t!==Bv.NA&&!Iu(t)}),e=>({message:`Token Type: ->`+e.name+`<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String`,type:W.INVALID_GROUP_TYPE_FOUND,tokenTypes:[e]}))}function iv(e,t){return L(Cu(e,e=>e.PUSH_MODE!==void 0&&!zu(t,e.PUSH_MODE)),e=>({message:`Token Type: ->${e.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${e.PUSH_MODE}<-which does not exist`,type:W.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[e]}))}function av(e){let t=[],n=nd(e,(e,t,n)=>{let r=t.PATTERN;return r===Bv.NA||(Iu(r)?e.push({str:r,idx:n,tokenType:t}):Ju(r)&&sv(r)&&e.push({str:r.source,idx:n,tokenType:t})),e},[]);return I(e,(e,r)=>{I(n,({str:n,idx:i,tokenType:a})=>{if(r<i&&ov(n,e.PATTERN)){let n=`Token: ->${a.name}<- can never be matched.\nBecause it appears AFTER the Token Type ->${e.name}<-in the lexer's definition.\nSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;t.push({message:n,type:W.UNREACHABLE_PATTERN,tokenTypes:[e,a]})}})}),t}function ov(e,t){if(Ju(t)){if(cv(t))return!1;let n=t.exec(e);return n!==null&&n.index===0}else if(Kr(t))return t(e,0,[],{});else if(R(t,`exec`))return t.exec(e,0,[],{});else if(typeof t==`string`)return t===e;else throw Error(`non exhaustive match`)}function sv(e){return Du([`.`,`\\`,`[`,`]`,`|`,`^`,`$`,`(`,`)`,`?`,`*`,`+`,`{`],t=>e.source.indexOf(t)!==-1)===void 0}function cv(e){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(e.source)}function lv(e){let t=e.ignoreCase?`iy`:`y`;return RegExp(`${e.source}`,t)}function uv(e,t,n){let r=[];return R(e,`defaultMode`)||r.push({message:`A MultiMode Lexer cannot be initialized without a <`+U_+`> property in its definition
|
|
26
|
+
`,type:W.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),R(e,`modes`)||r.push({message:`A MultiMode Lexer cannot be initialized without a <`+W_+`> property in its definition
|
|
27
|
+
`,type:W.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),R(e,`modes`)&&R(e,`defaultMode`)&&!R(e.modes,e.defaultMode)&&r.push({message:`A MultiMode Lexer cannot be initialized with a ${U_}: <${e.defaultMode}>which does not exist\n`,type:W.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),R(e,`modes`)&&I(e.modes,(e,t)=>{I(e,(n,i)=>{Yu(n)?r.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${t}> at index: <${i}>\n`,type:W.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):R(n,`LONGER_ALT`)&&I(N(n.LONGER_ALT)?n.LONGER_ALT:[n.LONGER_ALT],i=>{!Yu(i)&&!zu(e,i)&&r.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${i.name}> on token <${n.name}> outside of mode <${t}>\n`,type:W.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),r}function dv(e,t,n){let r=[],i=!1,a=rd(Qc(Uo(z(e.modes))),e=>e[H_]===Bv.NA),o=vv(n);return t&&I(a,e=>{let t=gv(e,o);if(t!==!1){let n={message:_v(e,t),type:t.issue,tokenType:e};r.push(n)}else R(e,`LINE_BREAKS`)?e.LINE_BREAKS===!0&&(i=!0):V_(o,e.PATTERN)&&(i=!0)}),t&&!i&&r.push({message:`Warning: No LINE_BREAKS Found.
|
|
28
|
+
This Lexer has been defined to track line and column information,
|
|
29
|
+
But none of the Token Types can be identified as matching a line terminator.
|
|
30
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
|
|
31
|
+
for details.`,type:W.NO_LINE_BREAKS_FLAGS}),r}function fv(e){let t={};return I(Va(e),n=>{let r=e[n];if(N(r))t[n]=[];else throw Error(`non exhaustive match`)}),t}function pv(e){let t=e.PATTERN;if(Ju(t))return!1;if(Kr(t)||R(t,`exec`))return!0;if(Iu(t))return!1;throw Error(`non exhaustive match`)}function mv(e){return Iu(e)&&e.length===1?e.charCodeAt(0):!1}var hv={test:function(e){let t=e.length;for(let n=this.lastIndex;n<t;n++){let t=e.charCodeAt(n);if(t===10)return this.lastIndex=n+1,!0;if(t===13)return e.charCodeAt(n+1)===10?this.lastIndex=n+2:this.lastIndex=n+1,!0}return!1},lastIndex:0};function gv(e,t){if(R(e,`LINE_BREAKS`))return!1;if(Ju(e.PATTERN)){try{V_(t,e.PATTERN)}catch(e){return{issue:W.IDENTIFY_TERMINATOR,errMsg:e.message}}return!1}else if(Iu(e.PATTERN))return!1;else if(pv(e))return{issue:W.CUSTOM_LINE_BREAK};else throw Error(`non exhaustive match`)}function _v(e,t){if(t.issue===W.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
|
|
32
|
+
\tThe problem is in the <${e.name}> Token Type\n\t Root cause: ${t.errMsg}.\n For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(t.issue===W.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
|
|
33
|
+
\tThe problem is in the <${e.name}> Token Type\n For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error(`non exhaustive match`)}function vv(e){return L(e,e=>Iu(e)?e.charCodeAt(0):e)}function yv(e,t,n){e[t]===void 0?e[t]=[n]:e[t].push(n)}var bv=[];function xv(e){return e<256?e:bv[e]}function Sv(){if(B(bv)){bv=Array(65536);for(let e=0;e<65536;e++)bv[e]=e>255?255+~~(e/255):e}}function Cv(e,t){let n=e.tokenTypeIdx;return n===t.tokenTypeIdx?!0:t.isParent===!0&&t.categoryMatchesMap[n]===!0}function wv(e,t){return e.tokenTypeIdx===t.tokenTypeIdx}var Tv=1,Ev={};function Dv(e){let t=Ov(e);kv(t),jv(t),Av(t),I(t,e=>{e.isParent=e.categoryMatches.length>0})}function Ov(e){let t=Zc(e),n=e,r=!0;for(;r;){n=Qc(Uo(L(n,e=>e.CATEGORIES)));let e=mu(n,t);t=t.concat(e),B(e)?r=!1:n=e}return t}function kv(e){I(e,e=>{Nv(e)||(Ev[Tv]=e,e.tokenTypeIdx=Tv++),Pv(e)&&!N(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Pv(e)||(e.CATEGORIES=[]),Fv(e)||(e.categoryMatches=[]),Iv(e)||(e.categoryMatchesMap={})})}function Av(e){I(e,e=>{e.categoryMatches=[],I(e.categoryMatchesMap,(t,n)=>{e.categoryMatches.push(Ev[n].tokenTypeIdx)})})}function jv(e){I(e,e=>{Mv([],e)})}function Mv(e,t){I(e,e=>{t.categoryMatchesMap[e.tokenTypeIdx]=!0}),I(t.CATEGORIES,n=>{let r=e.concat(t);zu(r,n)||Mv(r,n)})}function Nv(e){return R(e,`tokenTypeIdx`)}function Pv(e){return R(e,`CATEGORIES`)}function Fv(e){return R(e,`categoryMatches`)}function Iv(e){return R(e,`categoryMatchesMap`)}function Lv(e){return R(e,`tokenTypeIdx`)}var Rv={buildUnableToPopLexerModeMessage(e){return`Unable to pop Lexer Mode after encountering Token ->${e.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(e,t,n,r,i,a){return`unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${n} characters.`}},W;(function(e){e[e.MISSING_PATTERN=0]=`MISSING_PATTERN`,e[e.INVALID_PATTERN=1]=`INVALID_PATTERN`,e[e.EOI_ANCHOR_FOUND=2]=`EOI_ANCHOR_FOUND`,e[e.UNSUPPORTED_FLAGS_FOUND=3]=`UNSUPPORTED_FLAGS_FOUND`,e[e.DUPLICATE_PATTERNS_FOUND=4]=`DUPLICATE_PATTERNS_FOUND`,e[e.INVALID_GROUP_TYPE_FOUND=5]=`INVALID_GROUP_TYPE_FOUND`,e[e.PUSH_MODE_DOES_NOT_EXIST=6]=`PUSH_MODE_DOES_NOT_EXIST`,e[e.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]=`MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE`,e[e.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]=`MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY`,e[e.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]=`MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST`,e[e.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]=`LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED`,e[e.SOI_ANCHOR_FOUND=11]=`SOI_ANCHOR_FOUND`,e[e.EMPTY_MATCH_PATTERN=12]=`EMPTY_MATCH_PATTERN`,e[e.NO_LINE_BREAKS_FLAGS=13]=`NO_LINE_BREAKS_FLAGS`,e[e.UNREACHABLE_PATTERN=14]=`UNREACHABLE_PATTERN`,e[e.IDENTIFY_TERMINATOR=15]=`IDENTIFY_TERMINATOR`,e[e.CUSTOM_LINE_BREAK=16]=`CUSTOM_LINE_BREAK`,e[e.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]=`MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE`})(W||={});var zv={deferDefinitionErrorsHandling:!1,positionTracking:`full`,lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
|
|
34
|
+
`,`\r`],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Rv,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(zv);var Bv=class{constructor(e,t=zv){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(e,t)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let n=Array(this.traceInitIndent+1).join(` `);this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${n}--> <${e}>`);let{time:r,value:i}=fd(t),a=r>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${n}<-- <${e}> time: ${r}ms`),this.traceInitIndent--,i}else return t()},typeof t==`boolean`)throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
|
|
35
|
+
a boolean 2nd argument is no longer supported`);this.config=Ua({},zv,t);let n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n==`number`&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT(`Lexer Constructor`,()=>{let n,r=!0;this.TRACE_INIT(`Lexer Config handling`,()=>{if(this.config.lineTerminatorsPattern===zv.lineTerminatorsPattern)this.config.lineTerminatorsPattern=hv;else if(this.config.lineTerminatorCharacters===zv.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
|
|
36
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(t.safeMode&&t.ensureOptimizations)throw Error(`"safeMode" and "ensureOptimizations" flags are mutually exclusive.`);this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),N(e)?n={modes:{defaultMode:Zc(e)},defaultMode:U_}:(r=!1,n=Zc(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT(`performRuntimeChecks`,()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(uv(n,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT(`performWarningRuntimeChecks`,()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(dv(n,this.trackStartLines,this.config.lineTerminatorCharacters))})),n.modes=n.modes?n.modes:{},I(n.modes,(e,t)=>{n.modes[t]=rd(e,e=>Yu(e))});let i=Va(n.modes);if(I(n.modes,(e,n)=>{this.TRACE_INIT(`Mode: <${n}> processing`,()=>{if(this.modes.push(n),this.config.skipValidations===!1&&this.TRACE_INIT(`validatePatterns`,()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(K_(e,i))}),B(this.lexerDefinitionErrors)){Dv(e);let r;this.TRACE_INIT(`analyzeTokenTypes`,()=>{r=G_(e,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[n]=r.patternIdxToConfig,this.charCodeToPatternIdxToConfig[n]=r.charCodeToPatternIdxToConfig,this.emptyGroups=Ua({},this.emptyGroups,r.emptyGroups),this.hasCustom=r.hasCustom||this.hasCustom,this.canModeBeOptimized[n]=r.canBeOptimized}})}),this.defaultMode=n.defaultMode,!B(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let e=L(this.lexerDefinitionErrors,e=>e.message).join(`-----------------------
|
|
37
|
+
`);throw Error(`Errors detected in definition of Lexer:
|
|
38
|
+
`+e)}I(this.lexerDefinitionWarning,e=>{dd(e.message)}),this.TRACE_INIT(`Choosing sub-methods implementations`,()=>{if(r&&(this.handleModes=fi),this.trackStartLines===!1&&(this.computeNewColumn=Vr),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=fi),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT(`Failed Optimization Warnings`,()=>{let e=nd(this.canModeBeOptimized,(e,t,n)=>(t===!1&&e.push(n),e),[]);if(t.ensureOptimizations&&!B(e))throw Error(`Lexer Modes: < ${e.join(`, `)} > cannot be optimized.\n Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
|
|
39
|
+
Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT(`clearRegExpParserCache`,()=>{j_()}),this.TRACE_INIT(`toFastProperties`,()=>{pd(this)})})}tokenize(e,t=this.defaultMode){if(!B(this.lexerDefinitionErrors)){let e=L(this.lexerDefinitionErrors,e=>e.message).join(`-----------------------
|
|
40
|
+
`);throw Error(`Unable to Tokenize because Errors detected in definition of Lexer:
|
|
41
|
+
`+e)}return this.tokenizeInternal(e,t)}tokenizeInternal(e,t){let n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_=e,v=_.length,y=0,b=0,x=this.hasCustom?0:Math.floor(e.length/10),S=Array(x),ee=[],C=this.trackStartLines?1:void 0,w=this.trackStartLines?1:void 0,T=fv(this.emptyGroups),te=this.trackStartLines,ne=this.config.lineTerminatorsPattern,E=0,D=[],re=[],ie=[],ae=[];Object.freeze(ae);let oe=!1,O=e=>{if(ie.length===1&&e.tokenType.PUSH_MODE===void 0){let t=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(e);ee.push({offset:e.startOffset,line:e.startLine,column:e.startColumn,length:e.image.length,message:t})}else{ie.pop();let e=hu(ie);D=this.patternIdxToConfig[e],re=this.charCodeToPatternIdxToConfig[e],E=D.length;let t=this.canModeBeOptimized[e]&&this.config.safeMode===!1;oe=!!(re&&t)}};function se(e){ie.push(e),re=this.charCodeToPatternIdxToConfig[e],D=this.patternIdxToConfig[e],E=D.length,E=D.length;let t=this.canModeBeOptimized[e]&&this.config.safeMode===!1;oe=!!(re&&t)}se.call(this,t);let ce,le=this.config.recoveryEnabled;for(;y<v;){s=null,u=-1;let t=_.charCodeAt(y),x;if(oe){let e=xv(t),n=re[e];x=n===void 0?ae:n}else x=D;let k=x.length;for(n=0;n<k;n++){ce=x[n];let r=ce.pattern;c=null;let d=ce.short;if(d===!1?ce.isCustom===!0?(g=r.exec(_,y,S,T),g===null?s=null:(s=g[0],u=s.length,g.payload!==void 0&&(c=g.payload))):(r.lastIndex=y,u=this.matchLength(r,e,y)):t===d&&(u=1,s=r),u!==-1){if(o=ce.longerAlt,o!==void 0){s=e.substring(y,y+u);let t=o.length;for(i=0;i<t;i++){let t=D[o[i]],n=t.pattern;if(l=null,t.isCustom===!0?(g=n.exec(_,y,S,T),g===null?a=null:(a=g[0],g.payload!==void 0&&(l=g.payload))):(n.lastIndex=y,a=this.match(n,e,y)),a&&a.length>s.length){s=a,u=a.length,c=l,ce=t;break}}}break}}if(u!==-1){if(d=ce.group,d!==void 0&&(s=s===null?e.substring(y,y+u):s,f=ce.tokenTypeIdx,p=this.createTokenInstance(s,y,f,ce.tokenType,C,w,u),this.handlePayload(p,c),d===!1?b=this.addToken(S,b,p):T[d].push(p)),te===!0&&ce.canLineTerminator===!0){let t=0,n,r;ne.lastIndex=0;do s=s===null?e.substring(y,y+u):s,n=ne.test(s),n===!0&&(r=ne.lastIndex-1,t++);while(n===!0);t===0?w=this.computeNewColumn(w,u):(C+=t,w=u-r,this.updateTokenEndLineColumnLocation(p,d,r,t,C,w,u))}else w=this.computeNewColumn(w,u);y+=u,this.handleModes(ce,O,se,p)}else{let t=y,n=C,i=w,a=le===!1;for(;a===!1&&y<v;)for(y++,r=0;r<E;r++){let t=D[r],n=t.pattern,i=t.short;if(i===!1?t.isCustom===!0?a=n.exec(_,y,S,T)!==null:(n.lastIndex=y,a=n.exec(e)!==null):_.charCodeAt(y)===i&&(a=!0),a===!0)break}if(m=y-t,w=this.computeNewColumn(w,m),h=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(_,t,m,n,i,hu(ie)),ee.push({offset:t,line:n,column:i,length:m,message:h}),le===!1)break}}return this.hasCustom||(S.length=b),{tokens:S,groups:T,errors:ee}}handleModes(e,t,n,r){if(e.pop===!0){let i=e.push;t(r),i!==void 0&&n.call(this,i)}else e.push!==void 0&&n.call(this,e.push)}updateTokenEndLineColumnLocation(e,t,n,r,i,a,o){let s,c;t!==void 0&&(s=n===o-1,c=s?-1:0,r===1&&s===!0||(e.endLine=i+c,e.endColumn=a-1+-c))}computeNewColumn(e,t){return e+t}createOffsetOnlyToken(e,t,n,r){return{image:e,startOffset:t,tokenTypeIdx:n,tokenType:r}}createStartOnlyToken(e,t,n,r,i,a){return{image:e,startOffset:t,startLine:i,startColumn:a,tokenTypeIdx:n,tokenType:r}}createFullToken(e,t,n,r,i,a,o){return{image:e,startOffset:t,endOffset:t+o-1,startLine:i,endLine:i,startColumn:a,endColumn:a+o-1,tokenTypeIdx:n,tokenType:r}}addTokenUsingPush(e,t,n){return e.push(n),t}addTokenUsingMemberAccess(e,t,n){return e[t]=n,t++,t}handlePayloadNoCustom(e,t){}handlePayloadWithCustom(e,t){t!==null&&(e.payload=t)}match(e,t,n){return e.test(t)===!0?t.substring(n,e.lastIndex):null}matchLength(e,t,n){return e.test(t)===!0?e.lastIndex-n:-1}};Bv.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.`,Bv.NA=/NOT_APPLICABLE/;function Vv(e){return Hv(e)?e.LABEL:e.name}function Hv(e){return Iu(e.LABEL)&&e.LABEL!==``}var Uv=`parent`,Wv=`categories`,Gv=`label`,Kv=`group`,qv=`push_mode`,Jv=`pop_mode`,Yv=`longer_alt`,Xv=`line_breaks`,Zv=`start_chars_hint`;function Qv(e){return $v(e)}function $v(e){let t=e.pattern,n={};if(n.name=e.name,Yu(t)||(n.PATTERN=t),R(e,Uv))throw`The parent property is no longer supported.
|
|
42
|
+
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return R(e,Wv)&&(n.CATEGORIES=e[Wv]),Dv([n]),R(e,Gv)&&(n.LABEL=e[Gv]),R(e,Kv)&&(n.GROUP=e[Kv]),R(e,Jv)&&(n.POP_MODE=e[Jv]),R(e,qv)&&(n.PUSH_MODE=e[qv]),R(e,Yv)&&(n.LONGER_ALT=e[Yv]),R(e,Xv)&&(n.LINE_BREAKS=e[Xv]),R(e,Zv)&&(n.START_CHARS_HINT=e[Zv]),n}var ey=Qv({name:`EOF`,pattern:Bv.NA});Dv([ey]);function ty(e,t,n,r,i,a,o,s){return{image:t,startOffset:n,endOffset:r,startLine:i,endLine:a,startColumn:o,endColumn:s,tokenTypeIdx:e.tokenTypeIdx,tokenType:e}}function ny(e,t){return Cv(e,t)}var ry={buildMismatchTokenMessage({expected:e,actual:t,previous:n,ruleName:r}){return`Expecting ${Hv(e)?`--> ${Vv(e)} <--`:`token of type --> ${e.name} <--`} but found --> '${t.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:e,ruleName:t}){return`Redundant input, expecting EOF but found: `+e.image},buildNoViableAltMessage({expectedPathsPerAlt:e,actual:t,previous:n,customUserDescription:r,ruleName:i}){let a=`
|
|
43
|
+
but found: '`+Ou(t).image+`'`;return r?`Expecting: `+r+a:`Expecting: one of these possible Token sequences:\n${L(L(nd(e,(e,t)=>e.concat(t),[]),e=>`[${L(e,e=>Vv(e)).join(`, `)}]`),(e,t)=>` ${t+1}. ${e}`).join(`
|
|
44
|
+
`)}`+a},buildEarlyExitMessage({expectedIterationPaths:e,actual:t,customUserDescription:n,ruleName:r}){let i=`
|
|
45
|
+
but found: '`+Ou(t).image+`'`;return n?`Expecting: `+n+i:`Expecting: expecting at least one iteration which starts with one of these possible Token sequences::\n <${L(e,e=>`[${L(e,e=>Vv(e)).join(`,`)}]`).join(` ,`)}>`+i}};Object.freeze(ry);var iy={buildRuleNotFoundError(e,t){return`Invalid grammar, reference to a rule which is not defined: ->`+t.nonTerminalName+`<-
|
|
46
|
+
inside top level rule: ->`+e.name+`<-`}},ay={buildDuplicateFoundError(e,t){function n(e){return e instanceof U?e.terminalType.name:e instanceof r_?e.nonTerminalName:``}let r=e.name,i=Ou(t),a=i.idx,o=__(i),s=n(i),c=`->${o}${a>0?a:``}<- ${s?`with argument: ->${s}<-`:``}
|
|
47
|
+
appears more than once (${t.length} times) in the top level rule: ->${r}<-.
|
|
48
|
+
For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
|
|
49
|
+
`;return c=c.replace(/[ \t]+/g,` `),c=c.replace(/\s\s+/g,`
|
|
50
|
+
`),c},buildNamespaceConflictError(e){return`Namespace conflict found in grammar.\nThe grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${e.name}>.\nTo resolve this make sure each Terminal and Non-Terminal names are unique\nThis is easy to accomplish by using the convention that Terminal names start with an uppercase letter\nand Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(e){let t=L(e.prefixPath,e=>Vv(e)).join(`, `),n=e.alternation.idx===0?``:e.alternation.idx;return`Ambiguous alternatives: <${e.ambiguityIndices.join(` ,`)}> due to common lookahead prefix\nin <OR${n}> inside <${e.topLevelRule.name}> Rule,\n<${t}> may appears as a prefix path in all these alternatives.\nSee: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX\nFor Further details.`},buildAlternationAmbiguityError(e){let t=e.alternation.idx===0?``:e.alternation.idx,n=e.prefixPath.length===0,r=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(` ,`)}> in <OR${t}> inside <${e.topLevelRule.name}> Rule,\n`;if(n)r+=`These alternatives are all empty (match no tokens), making them indistinguishable.
|
|
51
|
+
Only the last alternative may be empty.
|
|
52
|
+
`;else{let t=L(e.prefixPath,e=>Vv(e)).join(`, `);r+=`<${t}> may appears as a prefix path in all these alternatives.\n`}return r+=`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
53
|
+
For Further details.`,r},buildEmptyRepetitionError(e){let t=__(e.repetition);return e.repetition.idx!==0&&(t+=e.repetition.idx),`The repetition <${t}> within Rule <${e.topLevelRule.name}> can never consume any tokens.\nThis could lead to an infinite loop.`},buildTokenNameError(e){return`deprecated`},buildEmptyAlternationError(e){return`Ambiguous empty alternative: <${e.emptyChoiceIdx+1}> in <OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule.\nOnly the last alternative may be an empty alternative.`},buildTooManyAlternativesError(e){return`An Alternation cannot have more than 256 alternatives:\n<OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule.\n has ${e.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(e){let t=e.topLevelRule.name;return`Left Recursion found in grammar.\nrule: <${t}> can be invoked from itself (directly or indirectly)\nwithout consuming any Tokens. The grammar path that causes this is: \n ${`${t} --> ${L(e.leftRecursionPath,e=>e.name).concat([t]).join(` --> `)}`}\n To fix this refactor your grammar to remove the left recursion.\nsee: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(e){return`deprecated`},buildDuplicateRuleNameError(e){let t;return t=e.topLevelRule instanceof i_?e.topLevelRule.name:e.topLevelRule,`Duplicate definition, rule: ->${t}<- is already defined in the grammar: ->${e.grammarName}<-`}};function oy(e,t){let n=new sy(e,t);return n.resolveRefs(),n.errors}var sy=class extends p_{constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){I(z(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let t=this.nameToTopRule[e.nonTerminalName];if(t)e.referencedRule=t;else{let t=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:t,type:ox.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}},cy=class extends v_{constructor(e,t){super(),this.topProd=e,this.path=t,this.possibleTokTypes=[],this.nextProductionName=``,this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error(`The path does not start with the walker's top Rule!`);return this.ruleStack=Zc(this.path.ruleStack).reverse(),this.occurrenceStack=Zc(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,t=[]){this.found||super.walk(e,t)}walkProdRef(e,t,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let r=t.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,r)}}updateExpectedNext(){B(this.ruleStack)?(this.nextProductionName=``,this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},ly=class extends cy{constructor(e,t){super(e,t),this.path=t,this.nextTerminalName=``,this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,t,n){this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found&&(this.possibleTokTypes=b_(new a_({definition:t.concat(n)})),this.found=!0)}},uy=class extends v_{constructor(e,t){super(),this.topRule=e,this.occurrence=t,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},dy=class extends uy{walkMany(e,t,n){if(e.idx===this.occurrence){let e=Ou(t.concat(n));this.result.isEndOfRule=e===void 0,e instanceof U&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkMany(e,t,n)}},fy=class extends uy{walkManySep(e,t,n){if(e.idx===this.occurrence){let e=Ou(t.concat(n));this.result.isEndOfRule=e===void 0,e instanceof U&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkManySep(e,t,n)}},py=class extends uy{walkAtLeastOne(e,t,n){if(e.idx===this.occurrence){let e=Ou(t.concat(n));this.result.isEndOfRule=e===void 0,e instanceof U&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOne(e,t,n)}},my=class extends uy{walkAtLeastOneSep(e,t,n){if(e.idx===this.occurrence){let e=Ou(t.concat(n));this.result.isEndOfRule=e===void 0,e instanceof U&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOneSep(e,t,n)}};function hy(e,t,n=[]){n=Zc(n);let r=[],i=0;function a(t){return t.concat(gu(e,i+1))}function o(e){let i=hy(a(e),t,n);return r.concat(i)}for(;n.length<t&&i<e.length;){let t=e[i];if(t instanceof a_||t instanceof r_)return o(t.definition);if(t instanceof o_)r=o(t.definition);else if(t instanceof s_)return o(t.definition.concat([new H({definition:t.definition})]));else if(t instanceof c_)return o([new a_({definition:t.definition}),new H({definition:[new U({terminalType:t.separator})].concat(t.definition)})]);else if(t instanceof l_)r=o(t.definition.concat([new H({definition:[new U({terminalType:t.separator})].concat(t.definition)})]));else if(t instanceof H)r=o(t.definition.concat([new H({definition:t.definition})]));else if(t instanceof u_)return I(t.definition,e=>{B(e.definition)===!1&&(r=o(e.definition))}),r;else if(t instanceof U)n.push(t.terminalType);else throw Error(`non exhaustive match`);i++}return r.push({partialPath:n,suffixDef:gu(e,i)}),r}function gy(e,t,n,r){let i=`EXIT_NONE_TERMINAL`,a=[i],o=`EXIT_ALTERNATIVE`,s=!1,c=t.length,l=c-r-1,u=[],d=[];for(d.push({idx:-1,def:e,ruleStack:[],occurrenceStack:[]});!B(d);){let e=d.pop();if(e===o){s&&hu(d).idx<=l&&d.pop();continue}let r=e.def,f=e.idx,p=e.ruleStack,m=e.occurrenceStack;if(B(r))continue;let h=r[0];if(h===i){let e={idx:f,def:gu(r),ruleStack:_u(p),occurrenceStack:_u(m)};d.push(e)}else if(h instanceof U)if(f<c-1){let e=f+1,i=t[e];if(n(i,h.terminalType)){let t={idx:e,def:gu(r),ruleStack:p,occurrenceStack:m};d.push(t)}}else if(f===c-1)u.push({nextTokenType:h.terminalType,nextTokenOccurrence:h.idx,ruleStack:p,occurrenceStack:m}),s=!0;else throw Error(`non exhaustive match`);else if(h instanceof r_){let e=Zc(p);e.push(h.nonTerminalName);let t=Zc(m);t.push(h.idx);let n={idx:f,def:h.definition.concat(a,gu(r)),ruleStack:e,occurrenceStack:t};d.push(n)}else if(h instanceof o_){let e={idx:f,def:gu(r),ruleStack:p,occurrenceStack:m};d.push(e),d.push(o);let t={idx:f,def:h.definition.concat(gu(r)),ruleStack:p,occurrenceStack:m};d.push(t)}else if(h instanceof s_){let e=new H({definition:h.definition,idx:h.idx}),t={idx:f,def:h.definition.concat([e],gu(r)),ruleStack:p,occurrenceStack:m};d.push(t)}else if(h instanceof c_){let e=new H({definition:[new U({terminalType:h.separator})].concat(h.definition),idx:h.idx}),t={idx:f,def:h.definition.concat([e],gu(r)),ruleStack:p,occurrenceStack:m};d.push(t)}else if(h instanceof l_){let e={idx:f,def:gu(r),ruleStack:p,occurrenceStack:m};d.push(e),d.push(o);let t=new H({definition:[new U({terminalType:h.separator})].concat(h.definition),idx:h.idx}),n={idx:f,def:h.definition.concat([t],gu(r)),ruleStack:p,occurrenceStack:m};d.push(n)}else if(h instanceof H){let e={idx:f,def:gu(r),ruleStack:p,occurrenceStack:m};d.push(e),d.push(o);let t=new H({definition:h.definition,idx:h.idx}),n={idx:f,def:h.definition.concat([t],gu(r)),ruleStack:p,occurrenceStack:m};d.push(n)}else if(h instanceof u_)for(let e=h.definition.length-1;e>=0;e--){let t={idx:f,def:h.definition[e].definition.concat(gu(r)),ruleStack:p,occurrenceStack:m};d.push(t),d.push(o)}else if(h instanceof a_)d.push({idx:f,def:h.definition.concat(gu(r)),ruleStack:p,occurrenceStack:m});else if(h instanceof i_)d.push(_y(h,f,p,m));else throw Error(`non exhaustive match`)}return u}function _y(e,t,n,r){let i=Zc(n);i.push(e.name);let a=Zc(r);return a.push(1),{idx:t,def:e.definition,ruleStack:i,occurrenceStack:a}}var G;(function(e){e[e.OPTION=0]=`OPTION`,e[e.REPETITION=1]=`REPETITION`,e[e.REPETITION_MANDATORY=2]=`REPETITION_MANDATORY`,e[e.REPETITION_MANDATORY_WITH_SEPARATOR=3]=`REPETITION_MANDATORY_WITH_SEPARATOR`,e[e.REPETITION_WITH_SEPARATOR=4]=`REPETITION_WITH_SEPARATOR`,e[e.ALTERNATION=5]=`ALTERNATION`})(G||={});function vy(e){if(e instanceof o_||e===`Option`)return G.OPTION;if(e instanceof H||e===`Repetition`)return G.REPETITION;if(e instanceof s_||e===`RepetitionMandatory`)return G.REPETITION_MANDATORY;if(e instanceof c_||e===`RepetitionMandatoryWithSeparator`)return G.REPETITION_MANDATORY_WITH_SEPARATOR;if(e instanceof l_||e===`RepetitionWithSeparator`)return G.REPETITION_WITH_SEPARATOR;if(e instanceof u_||e===`Alternation`)return G.ALTERNATION;throw Error(`non exhaustive match`)}function yy(e){let{occurrence:t,rule:n,prodType:r,maxLookahead:i}=e,a=vy(r);return a===G.ALTERNATION?Ay(t,n,i):jy(t,n,a,i)}function by(e,t,n,r,i,a){let o=Ay(e,t,n);return a(o,r,Py(o)?wv:Cv,i)}function xy(e,t,n,r,i,a){let o=jy(e,t,i,n),s=Py(o)?wv:Cv;return a(o[0],s,r)}function Sy(e,t,n,r){let i=e.length,a=xu(e,e=>xu(e,e=>e.length===1));if(t)return function(t){let r=L(t,e=>e.GATE);for(let t=0;t<i;t++){let i=e[t],a=i.length,o=r[t];if(!(o!==void 0&&o.call(this)===!1))nextPath:for(let e=0;e<a;e++){let r=i[e],a=r.length;for(let e=0;e<a;e++)if(n(this.LA(e+1),r[e])===!1)continue nextPath;return t}}};if(a&&!r){let t=nd(L(e,e=>Uo(e)),(e,t,n)=>(I(t,t=>{R(e,t.tokenTypeIdx)||(e[t.tokenTypeIdx]=n),I(t.categoryMatches,t=>{R(e,t)||(e[t]=n)})}),e),{});return function(){return t[this.LA(1).tokenTypeIdx]}}else return function(){for(let t=0;t<i;t++){let r=e[t],i=r.length;nextPath:for(let e=0;e<i;e++){let i=r[e],a=i.length;for(let e=0;e<a;e++)if(n(this.LA(e+1),i[e])===!1)continue nextPath;return t}}}}function Cy(e,t,n){let r=xu(e,e=>e.length===1),i=e.length;if(r&&!n){let t=Uo(e);if(t.length===1&&B(t[0].categoryMatches)){let e=t[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}else{let e=nd(t,(e,t,n)=>(e[t.tokenTypeIdx]=!0,I(t.categoryMatches,t=>{e[t]=!0}),e),[]);return function(){return e[this.LA(1).tokenTypeIdx]===!0}}}else return function(){nextPath:for(let n=0;n<i;n++){let r=e[n],i=r.length;for(let e=0;e<i;e++)if(t(this.LA(e+1),r[e])===!1)continue nextPath;return!0}return!1}}var wy=class extends v_{constructor(e,t,n){super(),this.topProd=e,this.targetOccurrence=t,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,t,n,r){return e.idx===this.targetOccurrence&&this.targetProdType===t?(this.restDef=n.concat(r),!0):!1}walkOption(e,t,n){this.checkIsTarget(e,G.OPTION,t,n)||super.walkOption(e,t,n)}walkAtLeastOne(e,t,n){this.checkIsTarget(e,G.REPETITION_MANDATORY,t,n)||super.walkOption(e,t,n)}walkAtLeastOneSep(e,t,n){this.checkIsTarget(e,G.REPETITION_MANDATORY_WITH_SEPARATOR,t,n)||super.walkOption(e,t,n)}walkMany(e,t,n){this.checkIsTarget(e,G.REPETITION,t,n)||super.walkOption(e,t,n)}walkManySep(e,t,n){this.checkIsTarget(e,G.REPETITION_WITH_SEPARATOR,t,n)||super.walkOption(e,t,n)}},Ty=class extends p_{constructor(e,t,n){super(),this.targetOccurrence=e,this.targetProdType=t,this.targetRef=n,this.result=[]}checkIsTarget(e,t){e.idx===this.targetOccurrence&&this.targetProdType===t&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,G.OPTION)}visitRepetition(e){this.checkIsTarget(e,G.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,G.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,G.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,G.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,G.ALTERNATION)}};function Ey(e){let t=Array(e);for(let n=0;n<e;n++)t[n]=[];return t}function Dy(e){let t=[``];for(let n=0;n<e.length;n++){let r=e[n],i=[];for(let e=0;e<t.length;e++){let n=t[e];i.push(n+`_`+r.tokenTypeIdx);for(let e=0;e<r.categoryMatches.length;e++){let t=`_`+r.categoryMatches[e];i.push(n+t)}}t=i}return t}function Oy(e,t,n){for(let r=0;r<e.length;r++){if(r===n)continue;let i=e[r];for(let e=0;e<t.length;e++)if(i[t[e]]===!0)return!1}return!0}function ky(e,t){let n=L(e,e=>hy([e],1)),r=Ey(n.length),i=L(n,e=>{let t={};return I(e,e=>{I(Dy(e.partialPath),e=>{t[e]=!0})}),t}),a=n;for(let e=1;e<=t;e++){let n=a;a=Ey(n.length);for(let o=0;o<n.length;o++){let s=n[o];for(let n=0;n<s.length;n++){let c=s[n].partialPath,l=s[n].suffixDef,u=Dy(c);if(Oy(i,u,o)||B(l)||c.length===t){let e=r[o];if(My(e,c)===!1){e.push(c);for(let e=0;e<u.length;e++){let t=u[e];i[o][t]=!0}}}else{let t=hy(l,e+1,c);a[o]=a[o].concat(t),I(t,e=>{I(Dy(e.partialPath),e=>{i[o][e]=!0})})}}}}return r}function Ay(e,t,n,r){let i=new Ty(e,G.ALTERNATION,r);return t.accept(i),ky(i.result,n)}function jy(e,t,n,r){let i=new Ty(e,n);t.accept(i);let a=i.result,o=new wy(t,e,n).startWalking();return ky([new a_({definition:a}),new a_({definition:o})],r)}function My(e,t){compareOtherPath:for(let n=0;n<e.length;n++){let r=e[n];if(r.length===t.length){for(let e=0;e<r.length;e++){let n=t[e],i=r[e];if(!(n===i||i.categoryMatchesMap[n.tokenTypeIdx]!==void 0))continue compareOtherPath}return!0}}return!1}function Ny(e,t){return e.length<t.length&&xu(e,(e,n)=>{let r=t[n];return e===r||r.categoryMatchesMap[e.tokenTypeIdx]})}function Py(e){return xu(e,e=>xu(e,e=>xu(e,e=>B(e.categoryMatches))))}function Fy(e){return L(e.lookaheadStrategy.validate({rules:e.rules,tokenTypes:e.tokenTypes,grammarName:e.grammarName}),e=>Object.assign({type:ox.CUSTOM_LOOKAHEAD_VALIDATION},e))}function Iy(e,t,n,r){let i=Au(e,e=>Ly(e,n)),a=$y(e,t,n),o=Au(e,e=>Yy(e,n)),s=Au(e,t=>Vy(t,e,r,n));return i.concat(a,o,s)}function Ly(e,t){let n=new By;e.accept(n);let r=n.allProductions;return L(z(ed(Mu(r,Ry),e=>e.length>1)),n=>{let r=Ou(n),i=t.buildDuplicateFoundError(e,n),a=__(r),o={message:i,type:ox.DUPLICATE_PRODUCTIONS,ruleName:e.name,dslName:a,occurrence:r.idx},s=zy(r);return s&&(o.parameter=s),o})}function Ry(e){return`${__(e)}_#_${e.idx}_#_${zy(e)}`}function zy(e){return e instanceof U?e.terminalType.name:e instanceof r_?e.nonTerminalName:``}var By=class extends p_{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 Vy(e,t,n,r){let i=[];if(nd(t,(t,n)=>n.name===e.name?t+1:t,0)>1){let t=r.buildDuplicateRuleNameError({topLevelRule:e,grammarName:n});i.push({message:t,type:ox.DUPLICATE_RULE_NAME,ruleName:e.name})}return i}function Hy(e,t,n){let r=[],i;return zu(t,e)||(i=`Invalid rule override, rule: ->${e}<- cannot be overridden in the grammar: ->${n}<-as it is not defined in any of the super grammars `,r.push({message:i,type:ox.INVALID_RULE_OVERRIDE,ruleName:e})),r}function Uy(e,t,n,r=[]){let i=[],a=Wy(t.definition);if(B(a))return[];{let t=e.name;zu(a,e)&&i.push({message:n.buildLeftRecursionError({topLevelRule:e,leftRecursionPath:r}),type:ox.LEFT_RECURSION,ruleName:t});let o=Au(mu(a,r.concat([e])),t=>{let i=Zc(r);return i.push(t),Uy(e,t,n,i)});return i.concat(o)}}function Wy(e){let t=[];if(B(e))return t;let n=Ou(e);if(n instanceof r_)t.push(n.referencedRule);else if(n instanceof a_||n instanceof o_||n instanceof s_||n instanceof c_||n instanceof l_||n instanceof H)t=t.concat(Wy(n.definition));else if(n instanceof u_)t=Uo(L(n.definition,e=>Wy(e.definition)));else if(!(n instanceof U))throw Error(`non exhaustive match`);let r=h_(n),i=e.length>1;if(r&&i){let n=gu(e);return t.concat(Wy(n))}else return t}var Gy=class extends p_{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function Ky(e,t){let n=new Gy;e.accept(n);let r=n.alternations;return Au(r,n=>Au(_u(n.definition),(r,i)=>B(gy([r],[],Cv,1))?[{message:t.buildEmptyAlternationError({topLevelRule:e,alternation:n,emptyChoiceIdx:i}),type:ox.NONE_LAST_EMPTY_ALT,ruleName:e.name,occurrence:n.idx,alternative:i+1}]:[]))}function qy(e,t,n){let r=new Gy;e.accept(r);let i=r.alternations;return i=rd(i,e=>e.ignoreAmbiguities===!0),Au(i,r=>{let i=r.idx,a=Ay(i,e,r.maxLookahead||t,r),o=Zy(a,r,e,n),s=Qy(a,r,e,n);return o.concat(s)})}var Jy=class extends p_{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 Yy(e,t){let n=new Gy;e.accept(n);let r=n.alternations;return Au(r,n=>n.definition.length>255?[{message:t.buildTooManyAlternativesError({topLevelRule:e,alternation:n}),type:ox.TOO_MANY_ALTS,ruleName:e.name,occurrence:n.idx}]:[])}function Xy(e,t,n){let r=[];return I(e,e=>{let i=new Jy;e.accept(i);let a=i.allProductions;I(a,i=>{let a=vy(i),o=i.maxLookahead||t,s=i.idx,c=jy(s,e,a,o)[0];if(B(Uo(c))){let t=n.buildEmptyRepetitionError({topLevelRule:e,repetition:i});r.push({message:t,type:ox.NO_NON_EMPTY_LOOKAHEAD,ruleName:e.name})}})}),r}function Zy(e,t,n,r){let i=[];return L(nd(e,(n,r,a)=>(t.definition[a].ignoreAmbiguities===!0||I(r,r=>{let o=[a];I(e,(e,n)=>{a!==n&&My(e,r)&&t.definition[n].ignoreAmbiguities!==!0&&o.push(n)}),o.length>1&&!My(i,r)&&(i.push(r),n.push({alts:o,path:r}))}),n),[]),e=>{let i=L(e.alts,e=>e+1);return{message:r.buildAlternationAmbiguityError({topLevelRule:n,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:ox.AMBIGUOUS_ALTS,ruleName:n.name,occurrence:t.idx,alternatives:e.alts}})}function Qy(e,t,n,r){let i=nd(e,(e,t,n)=>{let r=L(t,e=>({idx:n,path:e}));return e.concat(r)},[]);return Qc(Au(i,e=>{if(t.definition[e.idx].ignoreAmbiguities===!0)return[];let a=e.idx,o=e.path;return L(Cu(i,e=>t.definition[e.idx].ignoreAmbiguities!==!0&&e.idx<a&&Ny(e.path,o)),e=>{let i=[e.idx+1,a+1],o=t.idx===0?``:t.idx;return{message:r.buildAlternationPrefixAmbiguityError({topLevelRule:n,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:ox.AMBIGUOUS_PREFIX_ALTS,ruleName:n.name,occurrence:o,alternatives:i}})}))}function $y(e,t,n){let r=[],i=L(t,e=>e.name);return I(e,e=>{let t=e.name;if(zu(i,t)){let i=n.buildNamespaceConflictError(e);r.push({message:i,type:ox.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:t})}}),r}function eb(e){let t=lu(e,{errMsgProvider:iy}),n={};return I(e.rules,e=>{n[e.name]=e}),oy(n,t.errMsgProvider)}function tb(e){return e=lu(e,{errMsgProvider:ay}),Iy(e.rules,e.tokenTypes,e.errMsgProvider,e.grammarName)}var nb=`MismatchedTokenException`,rb=`NoViableAltException`,ib=`EarlyExitException`,ab=`NotAllInputParsedException`,ob=[nb,rb,ib,ab];Object.freeze(ob);function sb(e){return zu(ob,e.name)}var cb=class extends Error{constructor(e,t){super(e),this.token=t,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},lb=class extends cb{constructor(e,t,n){super(e,t),this.previousToken=n,this.name=nb}},ub=class extends cb{constructor(e,t,n){super(e,t),this.previousToken=n,this.name=rb}},db=class extends cb{constructor(e,t){super(e,t),this.name=ab}},fb=class extends cb{constructor(e,t,n){super(e,t),this.previousToken=n,this.name=ib}},pb={},mb=`InRuleRecoveryException`,hb=class extends Error{constructor(e){super(e),this.name=mb}},gb=class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=R(e,`recoveryEnabled`)?e.recoveryEnabled:ix.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=_b)}getTokenToInsert(e){let t=ty(e,``,NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,t,n,r){let i=this.findReSyncTokenType(),a=this.exportLexerState(),o=[],s=!1,c=this.LA(1),l=this.LA(1),u=()=>{let e=this.LA(0),t=new lb(this.errorMessageProvider.buildMismatchTokenMessage({expected:r,actual:c,previous:e,ruleName:this.getCurrRuleFullName()}),c,this.LA(0));t.resyncedTokens=_u(o),this.SAVE_ERROR(t)};for(;!s;)if(this.tokenMatcher(l,r)){u();return}else if(n.call(this)){u(),e.apply(this,t);return}else this.tokenMatcher(l,i)?s=!0:(l=this.SKIP_TOKEN(),this.addToResyncTokens(l,o));this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(e,t,n){return!(n===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))}getFollowsForInRuleRecovery(e,t){let n=this.getCurrentGrammarPath(e,t);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let e=this.SKIP_TOKEN();return this.consumeToken(),e}throw new hb(`sad sad panda`)}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,t){if(!this.canTokenTypeBeInsertedInRecovery(e)||B(t))return!1;let n=this.LA(1);return Du(t,e=>this.tokenMatcher(n,e))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let t=this.getCurrFollowKey();return zu(this.getFollowSetFromFollowKey(t),e)}findReSyncTokenType(){let e=this.flattenFollowSet(),t=this.LA(1),n=2;for(;;){let r=Du(e,e=>ny(t,e));if(r!==void 0)return r;t=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return pb;let e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,t=this.RULE_OCCURRENCE_STACK;return L(e,(n,r)=>r===0?pb:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:t[r],inRule:this.shortRuleNameToFullName(e[r-1])})}flattenFollowSet(){return Uo(L(this.buildFullFollowKeyStack(),e=>this.getFollowSetFromFollowKey(e)))}getFollowSetFromFollowKey(e){if(e===pb)return[ey];let t=e.ruleName+e.idxInCallingRule+w_+e.inRule;return this.resyncFollows[t]}addToResyncTokens(e,t){return this.tokenMatcher(e,ey)||t.push(e),t}reSyncTo(e){let t=[],n=this.LA(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,t);return _u(t)}attemptInRepetitionRecovery(e,t,n,r,i,a,o){}getCurrentGrammarPath(e,t){return{ruleStack:this.getHumanReadableRuleStack(),occurrenceStack:Zc(this.RULE_OCCURRENCE_STACK),lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){return L(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};function _b(e,t,n,r,i,a,o){let s=this.getKeyForAutomaticLookahead(r,i),c=this.firstAfterRepMap[s];if(c===void 0){let e=this.getCurrRuleFullName(),t=this.getGAstProductions()[e];c=new a(t,i).startWalking(),this.firstAfterRepMap[s]=c}let l=c.token,u=c.occurrence,d=c.isEndOfRule;this.RULE_STACK.length===1&&d&&l===void 0&&(l=ey,u=1),!(l===void 0||u===void 0)&&this.shouldInRepetitionRecoveryBeTried(l,u,o)&&this.tryInRepetitionRecovery(e,t,n,l)}var vb=1024,yb=1280,bb=1536;function xb(e,t,n){return n|t|e}var Sb=class{constructor(e){this.maxLookahead=e?.maxLookahead??ix.maxLookahead}validate(e){let t=this.validateNoLeftRecursion(e.rules);if(B(t)){let n=this.validateEmptyOrAlternatives(e.rules),r=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),i=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...t,...n,...r,...i]}return t}validateNoLeftRecursion(e){return Au(e,e=>Uy(e,e,ay))}validateEmptyOrAlternatives(e){return Au(e,e=>Ky(e,ay))}validateAmbiguousAlternationAlternatives(e,t){return Au(e,e=>qy(e,t,ay))}validateSomeNonEmptyLookaheadPath(e,t){return Xy(e,t,ay)}buildLookaheadForAlternation(e){return by(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,Sy)}buildLookaheadForOptional(e){return xy(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,vy(e.prodType),Cy)}},Cb=class{initLooksAhead(e){this.dynamicTokensEnabled=R(e,`dynamicTokensEnabled`)?e.dynamicTokensEnabled:ix.dynamicTokensEnabled,this.maxLookahead=R(e,`maxLookahead`)?e.maxLookahead:ix.maxLookahead,this.lookaheadStrategy=R(e,`lookaheadStrategy`)?e.lookaheadStrategy:new Sb({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){I(e,e=>{this.TRACE_INIT(`${e.name} Rule Lookahead`,()=>{let{alternation:t,repetition:n,option:r,repetitionMandatory:i,repetitionMandatoryWithSeparator:a,repetitionWithSeparator:o}=Tb(e);I(t,t=>{let n=t.idx===0?``:t.idx;this.TRACE_INIT(`${__(t)}${n}`,()=>{let n=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:t.idx,rule:e,maxLookahead:t.maxLookahead||this.maxLookahead,hasPredicates:t.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),r=xb(this.fullRuleNameToShort[e.name],256,t.idx);this.setLaFuncCache(r,n)})}),I(n,t=>{this.computeLookaheadFunc(e,t.idx,768,`Repetition`,t.maxLookahead,__(t))}),I(r,t=>{this.computeLookaheadFunc(e,t.idx,512,`Option`,t.maxLookahead,__(t))}),I(i,t=>{this.computeLookaheadFunc(e,t.idx,vb,`RepetitionMandatory`,t.maxLookahead,__(t))}),I(a,t=>{this.computeLookaheadFunc(e,t.idx,bb,`RepetitionMandatoryWithSeparator`,t.maxLookahead,__(t))}),I(o,t=>{this.computeLookaheadFunc(e,t.idx,yb,`RepetitionWithSeparator`,t.maxLookahead,__(t))})})})}computeLookaheadFunc(e,t,n,r,i,a){this.TRACE_INIT(`${a}${t===0?``:t}`,()=>{let a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:t,rule:e,maxLookahead:i||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:r}),o=xb(this.fullRuleNameToShort[e.name],n,t);this.setLaFuncCache(o,a)})}getKeyForAutomaticLookahead(e,t){return xb(this.getLastExplicitRuleShortName(),e,t)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,t){this.lookAheadFuncsCache.set(e,t)}},wb=new class extends p_{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)}};function Tb(e){wb.reset(),e.accept(wb);let t=wb.dslMethods;return wb.reset(),t}function Eb(e,t){isNaN(e.startOffset)===!0?(e.startOffset=t.startOffset,e.endOffset=t.endOffset):e.endOffset<t.endOffset&&(e.endOffset=t.endOffset)}function Db(e,t){isNaN(e.startOffset)===!0?(e.startOffset=t.startOffset,e.startColumn=t.startColumn,e.startLine=t.startLine,e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine):e.endOffset<t.endOffset&&(e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine)}function Ob(e,t,n){e.children[n]===void 0?e.children[n]=[t]:e.children[n].push(t)}function kb(e,t,n){e.children[t]===void 0?e.children[t]=[n]:e.children[t].push(n)}var Ab=`name`;function jb(e,t){Object.defineProperty(e,Ab,{enumerable:!1,configurable:!0,writable:!1,value:t})}function Mb(e,t){let n=Va(e),r=n.length;for(let i=0;i<r;i++){let r=e[n[i]],a=r.length;for(let e=0;e<a;e++){let n=r[e];n.tokenTypeIdx===void 0&&this[n.name](n.children,t)}}}function Nb(e,t){let n=function(){};return jb(n,e+`BaseSemantics`),n.prototype={visit:function(e,t){if(N(e)&&(e=e[0]),!Yu(e))return this[e.name](e.children,t)},validateVisitor:function(){let e=Ib(this,t);if(!B(e)){let t=L(e,e=>e.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:\n\t${t.join(`
|
|
54
|
+
|
|
55
|
+
`).replace(/\n/g,`
|
|
56
|
+
`)}`)}}},n.prototype.constructor=n,n._RULE_NAMES=t,n}function Pb(e,t,n){let r=function(){};jb(r,e+`BaseSemanticsWithDefaults`);let i=Object.create(n.prototype);return I(t,e=>{i[e]=Mb}),r.prototype=i,r.prototype.constructor=r,r}var Fb;(function(e){e[e.REDUNDANT_METHOD=0]=`REDUNDANT_METHOD`,e[e.MISSING_METHOD=1]=`MISSING_METHOD`})(Fb||={});function Ib(e,t){return Lb(e,t)}function Lb(e,t){return Qc(L(Cu(t,t=>Kr(e[t])===!1),t=>({msg:`Missing visitor method: <${t}> on ${e.constructor.name} CST Visitor.`,type:Fb.MISSING_METHOD,methodName:t})))}var Rb=class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=R(e,`nodeLocationTracking`)?e.nodeLocationTracking:ix.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=fi,this.cstFinallyStateUpdate=fi,this.cstPostTerminal=fi,this.cstPostNonTerminal=fi,this.cstPostRule=fi;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Db,this.setNodeLocationFromNode=Db,this.cstPostRule=fi,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=fi,this.setNodeLocationFromNode=fi,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Eb,this.setNodeLocationFromNode=Eb,this.cstPostRule=fi,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=fi,this.setNodeLocationFromNode=fi,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=fi,this.setNodeLocationFromNode=fi,this.cstPostRule=fi,this.setInitialNodeLocation=fi;else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let t={name:e,children:Object.create(null)};this.setInitialNodeLocation(t),this.CST_STACK.push(t)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let t=this.LA(0),n=e.location;n.startOffset<=t.startOffset?(n.endOffset=t.endOffset,n.endLine=t.endLine,n.endColumn=t.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){let t=this.LA(0),n=e.location;n.startOffset<=t.startOffset?n.endOffset=t.endOffset:n.startOffset=NaN}cstPostTerminal(e,t){let n=this.CST_STACK[this.CST_STACK.length-1];Ob(n,t,e),this.setNodeLocationFromToken(n.location,t)}cstPostNonTerminal(e,t){let n=this.CST_STACK[this.CST_STACK.length-1];kb(n,t,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(Yu(this.baseCstVisitorConstructor)){let e=Nb(this.className,Va(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(Yu(this.baseCstVisitorWithDefaultsConstructor)){let e=Pb(this.className,Va(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}},zb=class{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error(`Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.`);this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):rx}LA(e){let t=this.currIdx+e;return t<0||this.tokVectorLength<=t?rx:this.tokVector[t]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}},Bb=class{ACTION(e){return e.call(this)}consume(e,t,n){return this.consumeInternal(t,e,n)}subrule(e,t,n){return this.subruleInternal(t,e,n)}option(e,t){return this.optionInternal(t,e)}or(e,t){return this.orInternal(t,e)}many(e,t){return this.manyInternal(e,t)}atLeastOne(e,t){return this.atLeastOneInternal(e,t)}CONSUME(e,t){return this.consumeInternal(e,0,t)}CONSUME1(e,t){return this.consumeInternal(e,1,t)}CONSUME2(e,t){return this.consumeInternal(e,2,t)}CONSUME3(e,t){return this.consumeInternal(e,3,t)}CONSUME4(e,t){return this.consumeInternal(e,4,t)}CONSUME5(e,t){return this.consumeInternal(e,5,t)}CONSUME6(e,t){return this.consumeInternal(e,6,t)}CONSUME7(e,t){return this.consumeInternal(e,7,t)}CONSUME8(e,t){return this.consumeInternal(e,8,t)}CONSUME9(e,t){return this.consumeInternal(e,9,t)}SUBRULE(e,t){return this.subruleInternal(e,0,t)}SUBRULE1(e,t){return this.subruleInternal(e,1,t)}SUBRULE2(e,t){return this.subruleInternal(e,2,t)}SUBRULE3(e,t){return this.subruleInternal(e,3,t)}SUBRULE4(e,t){return this.subruleInternal(e,4,t)}SUBRULE5(e,t){return this.subruleInternal(e,5,t)}SUBRULE6(e,t){return this.subruleInternal(e,6,t)}SUBRULE7(e,t){return this.subruleInternal(e,7,t)}SUBRULE8(e,t){return this.subruleInternal(e,8,t)}SUBRULE9(e,t){return this.subruleInternal(e,9,t)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,t,n=ax){if(zu(this.definedRulesNames,e)){let t={message:ay.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:ox.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(t)}this.definedRulesNames.push(e);let r=this.defineRule(e,t,n);return this[e]=r,r}OVERRIDE_RULE(e,t,n=ax){let r=Hy(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(r);let i=this.defineRule(e,t,n);return this[e]=i,i}BACKTRACK(e,t){return function(){this.isBackTrackingStack.push(1);let n=this.saveRecogState();try{return e.apply(this,t),!0}catch(e){if(sb(e))return!1;throw e}finally{this.reloadRecogState(n),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return d_(z(this.gastProductionsCache))}},Vb=class{initRecognizerEngine(e,t){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=wv,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},R(t,`serializedGrammar`))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
|
|
57
|
+
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
|
|
58
|
+
For Further details.`);if(N(e)){if(B(e))throw Error(`A Token Vocabulary cannot be empty.
|
|
59
|
+
Note that the first argument for the parser constructor
|
|
60
|
+
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.
|
|
61
|
+
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
|
|
62
|
+
For Further details.`)}if(N(e))this.tokensMap=nd(e,(e,t)=>(e[t.name]=t,e),{});else if(R(e,`modes`)&&xu(Uo(z(e.modes)),Lv))this.tokensMap=nd(ld(Uo(z(e.modes))),(e,t)=>(e[t.name]=t,e),{});else if(Ar(e))this.tokensMap=Zc(e);else throw Error(`<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition`);this.tokensMap.EOF=ey,this.tokenMatcher=xu(R(e,`modes`)?Uo(z(e.modes)):z(e),e=>B(e.categoryMatches))?wv:Cv,Dv(z(this.tokensMap))}defineRule(e,t,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'\nMake sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let r=R(n,`resyncEnabled`)?n.resyncEnabled:ax.resyncEnabled,i=R(n,`recoveryValueFunc`)?n.recoveryValueFunc:ax.recoveryValueFunc,a=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[a]=e,this.fullRuleNameToShort[e]=a;let o;return o=this.outputCst===!0?function(...n){try{this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,n);let r=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(r),r}catch(e){return this.invokeRuleCatch(e,r,i)}finally{this.ruleFinallyStateUpdate()}}:function(...n){try{return this.ruleInvocationStateUpdate(a,e,this.subruleIdx),t.apply(this,n)}catch(e){return this.invokeRuleCatch(e,r,i)}finally{this.ruleFinallyStateUpdate()}},Object.assign(o,{ruleName:e,originalGrammarAction:t})}invokeRuleCatch(e,t,n){let r=this.RULE_STACK.length===1,i=t&&!this.isBackTracking()&&this.recoveryEnabled;if(sb(e)){let t=e;if(i){let r=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(r))if(t.resyncedTokens=this.reSyncTo(r),this.outputCst){let e=this.CST_STACK[this.CST_STACK.length-1];return e.recoveredNode=!0,e}else return n(e);else{if(this.outputCst){let e=this.CST_STACK[this.CST_STACK.length-1];e.recoveredNode=!0,t.partialCstResult=e}throw t}}else if(r)return this.moveToTerminatedState(),n(e);else throw t}else throw e}optionInternal(e,t){let n=this.getKeyForAutomaticLookahead(512,t);return this.optionInternalLogic(e,t,n)}optionInternalLogic(e,t,n){let r=this.getLaFuncFromCache(n),i;if(typeof e!=`function`){i=e.DEF;let t=e.GATE;if(t!==void 0){let e=r;r=()=>t.call(this)&&e.call(this)}}else i=e;if(r.call(this)===!0)return i.call(this)}atLeastOneInternal(e,t){let n=this.getKeyForAutomaticLookahead(vb,e);return this.atLeastOneInternalLogic(e,t,n)}atLeastOneInternalLogic(e,t,n){let r=this.getLaFuncFromCache(n),i;if(typeof t!=`function`){i=t.DEF;let e=t.GATE;if(e!==void 0){let t=r;r=()=>e.call(this)&&t.call(this)}}else i=t;if(r.call(this)===!0){let e=this.doSingleRepetition(i);for(;r.call(this)===!0&&e===!0;)e=this.doSingleRepetition(i)}else throw this.raiseEarlyExitException(e,G.REPETITION_MANDATORY,t.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],r,vb,e,py)}atLeastOneSepFirstInternal(e,t){let n=this.getKeyForAutomaticLookahead(bb,e);this.atLeastOneSepFirstInternalLogic(e,t,n)}atLeastOneSepFirstInternalLogic(e,t,n){let r=t.DEF,i=t.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){r.call(this);let t=()=>this.tokenMatcher(this.LA(1),i);for(;this.tokenMatcher(this.LA(1),i)===!0;)this.CONSUME(i),r.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,r,my],t,bb,e,my)}else throw this.raiseEarlyExitException(e,G.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG)}manyInternal(e,t){let n=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,t,n)}manyInternalLogic(e,t,n){let r=this.getLaFuncFromCache(n),i;if(typeof t!=`function`){i=t.DEF;let e=t.GATE;if(e!==void 0){let t=r;r=()=>e.call(this)&&t.call(this)}}else i=t;let a=!0;for(;r.call(this)===!0&&a===!0;)a=this.doSingleRepetition(i);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],r,768,e,dy,a)}manySepFirstInternal(e,t){let n=this.getKeyForAutomaticLookahead(yb,e);this.manySepFirstInternalLogic(e,t,n)}manySepFirstInternalLogic(e,t,n){let r=t.DEF,i=t.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){r.call(this);let t=()=>this.tokenMatcher(this.LA(1),i);for(;this.tokenMatcher(this.LA(1),i)===!0;)this.CONSUME(i),r.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,r,fy],t,yb,e,fy)}}repetitionSepSecondInternal(e,t,n,r,i){for(;n();)this.CONSUME(t),r.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,n,r,i],n,bb,e,i)}doSingleRepetition(e){let t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){let n=this.getKeyForAutomaticLookahead(256,t),r=N(e)?e:e.DEF,i=this.getLaFuncFromCache(n).call(this,r);if(i!==void 0)return r[i].ALT.call(this);this.raiseNoAltException(t,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){let e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new db(t,e))}}subruleInternal(e,t,n){let r;try{let i=n===void 0?void 0:n.ARGS;return this.subruleIdx=t,r=e.apply(this,i),this.cstPostNonTerminal(r,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),r}catch(t){throw this.subruleInternalError(t,n,e.ruleName)}}subruleInternalError(e,t,n){throw sb(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,t!==void 0&&t.LABEL!==void 0?t.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,t,n){let r;try{let t=this.LA(1);this.tokenMatcher(t,e)===!0?(this.consumeToken(),r=t):this.consumeInternalError(e,t,n)}catch(n){r=this.consumeInternalRecovery(e,t,n)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,r),r}consumeInternalError(e,t,n){let r,i=this.LA(0);throw r=n!==void 0&&n.ERR_MSG?n.ERR_MSG:this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:i,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new lb(r,t,i))}consumeInternalRecovery(e,t,n){if(this.recoveryEnabled&&n.name===`MismatchedTokenException`&&!this.isBackTracking()){let r=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,r)}catch(e){throw e.name===`InRuleRecoveryException`?n:e}}else throw n}saveRecogState(){let e=this.errors,t=Zc(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,t,n){this.RULE_OCCURRENCE_STACK.push(n),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),ey)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}},Hb=class{initErrorHandler(e){this._errors=[],this.errorMessageProvider=R(e,`errorMessageProvider`)?e.errorMessageProvider:ix.errorMessageProvider}SAVE_ERROR(e){if(sb(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:Zc(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error(`Trying to save an Error which is not a RecognitionException`)}get errors(){return Zc(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,t,n){let r=this.getCurrRuleFullName(),i=this.getGAstProductions()[r],a=jy(e,i,t,this.maxLookahead)[0],o=[];for(let e=1;e<=this.maxLookahead;e++)o.push(this.LA(e));let s=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:o,previous:this.LA(0),customUserDescription:n,ruleName:r});throw this.SAVE_ERROR(new fb(s,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){let n=this.getCurrRuleFullName(),r=this.getGAstProductions()[n],i=Ay(e,r,this.maxLookahead),a=[];for(let e=1;e<=this.maxLookahead;e++)a.push(this.LA(e));let o=this.LA(0),s=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:i,actual:a,previous:o,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new ub(s,this.LA(1),o))}},Ub=class{initContentAssist(){}computeContentAssist(e,t){let n=this.gastProductionsCache[e];if(Yu(n))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return gy([n],t,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let t=Ou(e.ruleStack),n=this.getGAstProductions()[t];return new ly(n,e).startWalking()}},Wb={description:`This Object indicates the Parser is during Recording Phase`};Object.freeze(Wb);var Gb=!0,Kb=2**8-1,qb=Qv({name:`RECORDING_PHASE_TOKEN`,pattern:Bv.NA});Dv([qb]);var Jb=ty(qb,`This IToken indicates the Parser is in Recording Phase
|
|
63
|
+
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Jb);var Yb={name:`This CSTNode indicates the Parser is in Recording Phase
|
|
64
|
+
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},Xb=class{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT(`Enable Recording`,()=>{for(let e=0;e<10;e++){let t=e>0?e:``;this[`CONSUME${t}`]=function(t,n){return this.consumeInternalRecord(t,e,n)},this[`SUBRULE${t}`]=function(t,n){return this.subruleInternalRecord(t,e,n)},this[`OPTION${t}`]=function(t){return this.optionInternalRecord(t,e)},this[`OR${t}`]=function(t){return this.orInternalRecord(t,e)},this[`MANY${t}`]=function(t){this.manyInternalRecord(e,t)},this[`MANY_SEP${t}`]=function(t){this.manySepFirstInternalRecord(e,t)},this[`AT_LEAST_ONE${t}`]=function(t){this.atLeastOneInternalRecord(e,t)},this[`AT_LEAST_ONE_SEP${t}`]=function(t){this.atLeastOneSepFirstInternalRecord(e,t)}}this.consume=function(e,t,n){return this.consumeInternalRecord(t,e,n)},this.subrule=function(e,t,n){return this.subruleInternalRecord(t,e,n)},this.option=function(e,t){return this.optionInternalRecord(t,e)},this.or=function(e,t){return this.orInternalRecord(t,e)},this.many=function(e,t){this.manyInternalRecord(e,t)},this.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT(`Deleting Recording methods`,()=>{let e=this;for(let t=0;t<10;t++){let n=t>0?t:``;delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,t){return()=>!0}LA_RECORD(e){return rx}topLevelRuleRecord(e,t){try{let n=new i_({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),t.call(this),this.recordingProdStack.pop(),n}catch(e){if(e.KNOWN_RECORDER_ERROR!==!0)try{e.message+=`
|
|
65
|
+
This error was thrown during the "grammar recording phase" For more info see:
|
|
66
|
+
https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw e}throw e}}optionInternalRecord(e,t){return Zb.call(this,o_,e,t)}atLeastOneInternalRecord(e,t){Zb.call(this,s_,t,e)}atLeastOneSepFirstInternalRecord(e,t){Zb.call(this,c_,t,e,Gb)}manyInternalRecord(e,t){Zb.call(this,H,t,e)}manySepFirstInternalRecord(e,t){Zb.call(this,l_,t,e,Gb)}orInternalRecord(e,t){return Qb.call(this,e,t)}subruleInternalRecord(e,t,n){if(ex(t),!e||R(e,`ruleName`)===!1){let n=Error(`<SUBRULE${$b(t)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>\n inside top level rule: <${this.recordingProdStack[0].name}>`);throw n.KNOWN_RECORDER_ERROR=!0,n}let r=hu(this.recordingProdStack),i=e.ruleName,a=new r_({idx:t,nonTerminalName:i,label:n?.LABEL,referencedRule:void 0});return r.definition.push(a),this.outputCst?Yb:Wb}consumeInternalRecord(e,t,n){if(ex(t),!Nv(e)){let n=Error(`<CONSUME${$b(t)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>\n inside top level rule: <${this.recordingProdStack[0].name}>`);throw n.KNOWN_RECORDER_ERROR=!0,n}let r=hu(this.recordingProdStack),i=new U({idx:t,terminalType:e,label:n?.LABEL});return r.definition.push(i),Jb}};function Zb(e,t,n,r=!1){ex(n);let i=hu(this.recordingProdStack),a=Kr(t)?t:t.DEF,o=new e({definition:[],idx:n});return r&&(o.separator=t.SEP),R(t,`MAX_LOOKAHEAD`)&&(o.maxLookahead=t.MAX_LOOKAHEAD),this.recordingProdStack.push(o),a.call(this),i.definition.push(o),this.recordingProdStack.pop(),Wb}function Qb(e,t){ex(t);let n=hu(this.recordingProdStack),r=N(e)===!1,i=r===!1?e:e.DEF,a=new u_({definition:[],idx:t,ignoreAmbiguities:r&&e.IGNORE_AMBIGUITIES===!0});return R(e,`MAX_LOOKAHEAD`)&&(a.maxLookahead=e.MAX_LOOKAHEAD),a.hasPredicates=ad(i,e=>Kr(e.GATE)),n.definition.push(a),I(i,e=>{let t=new a_({definition:[]});a.definition.push(t),R(e,`IGNORE_AMBIGUITIES`)?t.ignoreAmbiguities=e.IGNORE_AMBIGUITIES:R(e,`GATE`)&&(t.ignoreAmbiguities=!0),this.recordingProdStack.push(t),e.ALT.call(this),this.recordingProdStack.pop()}),Wb}function $b(e){return e===0?``:`${e}`}function ex(e){if(e<0||e>Kb){let t=Error(`Invalid DSL Method idx value: <${e}>\n\tIdx value must be a none negative value smaller than ${Kb+1}`);throw t.KNOWN_RECORDER_ERROR=!0,t}}var tx=class{initPerformanceTracer(e){if(R(e,`traceInitPerf`)){let t=e.traceInitPerf,n=typeof t==`number`;this.traceInitMaxIdent=n?t:1/0,this.traceInitPerf=n?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=ix.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=Array(this.traceInitIndent+1).join(` `);this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${n}--> <${e}>`);let{time:r,value:i}=fd(t),a=r>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&a(`${n}<-- <${e}> time: ${r}ms`),this.traceInitIndent--,i}else return t()}};function nx(e,t){t.forEach(t=>{let n=t.prototype;Object.getOwnPropertyNames(n).forEach(r=>{if(r===`constructor`)return;let i=Object.getOwnPropertyDescriptor(n,r);i&&(i.get||i.set)?Object.defineProperty(e.prototype,r,i):e.prototype[r]=t.prototype[r]})})}var rx=ty(ey,``,NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(rx);var ix=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:ry,nodeLocationTracking:`none`,traceInitPerf:!1,skipValidations:!1}),ax=Object.freeze({recoveryValueFunc:()=>void 0,resyncEnabled:!0}),ox;(function(e){e[e.INVALID_RULE_NAME=0]=`INVALID_RULE_NAME`,e[e.DUPLICATE_RULE_NAME=1]=`DUPLICATE_RULE_NAME`,e[e.INVALID_RULE_OVERRIDE=2]=`INVALID_RULE_OVERRIDE`,e[e.DUPLICATE_PRODUCTIONS=3]=`DUPLICATE_PRODUCTIONS`,e[e.UNRESOLVED_SUBRULE_REF=4]=`UNRESOLVED_SUBRULE_REF`,e[e.LEFT_RECURSION=5]=`LEFT_RECURSION`,e[e.NONE_LAST_EMPTY_ALT=6]=`NONE_LAST_EMPTY_ALT`,e[e.AMBIGUOUS_ALTS=7]=`AMBIGUOUS_ALTS`,e[e.CONFLICT_TOKENS_RULES_NAMESPACE=8]=`CONFLICT_TOKENS_RULES_NAMESPACE`,e[e.INVALID_TOKEN_NAME=9]=`INVALID_TOKEN_NAME`,e[e.NO_NON_EMPTY_LOOKAHEAD=10]=`NO_NON_EMPTY_LOOKAHEAD`,e[e.AMBIGUOUS_PREFIX_ALTS=11]=`AMBIGUOUS_PREFIX_ALTS`,e[e.TOO_MANY_ALTS=12]=`TOO_MANY_ALTS`,e[e.CUSTOM_LOOKAHEAD_VALIDATION=13]=`CUSTOM_LOOKAHEAD_VALIDATION`})(ox||={});function sx(e=void 0){return function(){return e}}var cx=class e{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 t;this.selfAnalysisDone=!0;let n=this.className;this.TRACE_INIT(`toFastProps`,()=>{pd(this)}),this.TRACE_INIT(`Grammar Recording`,()=>{try{this.enableRecording(),I(this.definedRulesNames,e=>{let t=this[e].originalGrammarAction,n;this.TRACE_INIT(`${e} Rule`,()=>{n=this.topLevelRuleRecord(e,t)}),this.gastProductionsCache[e]=n})}finally{this.disableRecording()}});let r=[];if(this.TRACE_INIT(`Grammar Resolving`,()=>{r=eb({rules:z(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT(`Grammar Validations`,()=>{if(B(r)&&this.skipValidations===!1){let e=tb({rules:z(this.gastProductionsCache),tokenTypes:z(this.tokensMap),errMsgProvider:ay,grammarName:n}),t=Fy({lookaheadStrategy:this.lookaheadStrategy,rules:z(this.gastProductionsCache),tokenTypes:z(this.tokensMap),grammarName:n});this.definitionErrors=this.definitionErrors.concat(e,t)}}),B(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT(`computeAllProdsFollows`,()=>{this.resyncFollows=E_(z(this.gastProductionsCache))}),this.TRACE_INIT(`ComputeLookaheadFunctions`,()=>{var e,t;(t=(e=this.lookaheadStrategy).initialize)==null||t.call(e,{rules:z(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(z(this.gastProductionsCache))})),!e.DEFER_DEFINITION_ERRORS_HANDLING&&!B(this.definitionErrors))throw t=L(this.definitionErrors,e=>e.message),Error(`Parser Definition Errors detected:\n ${t.join(`
|
|
67
|
+
-------------------------------
|
|
68
|
+
`)}`)})}constructor(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;let n=this;if(n.initErrorHandler(t),n.initLexerAdapter(),n.initLooksAhead(t),n.initRecognizerEngine(e,t),n.initRecoverable(t),n.initTreeBuilder(t),n.initContentAssist(),n.initGastRecorder(t),n.initPerformanceTracer(t),R(t,`ignoredIssues`))throw Error(`The <ignoredIssues> IParserConfig property has been deprecated.
|
|
69
|
+
Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
|
|
70
|
+
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
|
|
71
|
+
For further details.`);this.skipValidations=R(t,`skipValidations`)?t.skipValidations:ix.skipValidations}};cx.DEFER_DEFINITION_ERRORS_HANDLING=!1,nx(cx,[gb,Cb,Rb,zb,Vb,Bb,Hb,Ub,Xb,tx]);var lx=class extends cx{constructor(e,t=ix){let n=Zc(t);n.outputCst=!1,super(e,n)}};function ux(e,t,n){return`${e.name}_${t}_${n}`}var dx=class{constructor(e){this.target=e}isEpsilon(){return!1}},fx=class extends dx{constructor(e,t){super(e),this.tokenType=t}},px=class extends dx{constructor(e){super(e)}isEpsilon(){return!0}},mx=class extends dx{constructor(e,t,n){super(e),this.rule=t,this.followState=n}isEpsilon(){return!0}};function hx(e){let t={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};gx(t,e);let n=e.length;for(let r=0;r<n;r++){let n=e[r],i=wx(t,n,n);i!==void 0&&Px(t,n,i)}return t}function gx(e,t){let n=t.length;for(let r=0;r<n;r++){let n=t[r],i=Fx(e,n,void 0,{type:2}),a=Fx(e,n,void 0,{type:7});i.stop=a,e.ruleToStartState.set(n,i),e.ruleToStopState.set(n,a)}}function _x(e,t,n){return n instanceof U?Mx(e,t,n.terminalType,n):n instanceof r_?Nx(e,t,n):n instanceof u_?Sx(e,t,n):n instanceof o_?Cx(e,t,n):n instanceof H?vx(e,t,n):n instanceof l_?yx(e,t,n):n instanceof s_?bx(e,t,n):n instanceof c_?xx(e,t,n):wx(e,t,n)}function vx(e,t,n){let r=Fx(e,t,n,{type:5});return Ox(e,r),Ex(e,t,n,kx(e,t,r,n,wx(e,t,n)))}function yx(e,t,n){let r=Fx(e,t,n,{type:5});return Ox(e,r),Ex(e,t,n,kx(e,t,r,n,wx(e,t,n)),Mx(e,t,n.separator,n))}function bx(e,t,n){let r=Fx(e,t,n,{type:4});return Ox(e,r),Tx(e,t,n,kx(e,t,r,n,wx(e,t,n)))}function xx(e,t,n){let r=Fx(e,t,n,{type:4});return Ox(e,r),Tx(e,t,n,kx(e,t,r,n,wx(e,t,n)),Mx(e,t,n.separator,n))}function Sx(e,t,n){let r=Fx(e,t,n,{type:1});return Ox(e,r),kx(e,t,r,n,...p(n.definition,n=>_x(e,t,n)))}function Cx(e,t,n){let r=Fx(e,t,n,{type:1});return Ox(e,r),Dx(e,t,n,kx(e,t,r,n,wx(e,t,n)))}function wx(e,t,n){let r=s(p(n.definition,n=>_x(e,t,n)),e=>e!==void 0);return r.length===1?r[0]:r.length===0?void 0:jx(e,r)}function Tx(e,t,n,r,i){let a=r.left,o=r.right,s=Fx(e,t,n,{type:11});Ox(e,s);let c=Fx(e,t,n,{type:12});return a.loopback=s,c.loopback=s,e.decisionMap[ux(t,i?`RepetitionMandatoryWithSeparator`:`RepetitionMandatory`,n.idx)]=s,K(o,s),i===void 0?(K(s,a),K(s,c)):(K(s,c),K(s,i.left),K(i.right,a)),{left:a,right:c}}function Ex(e,t,n,r,i){let a=r.left,o=r.right,s=Fx(e,t,n,{type:10});Ox(e,s);let c=Fx(e,t,n,{type:12}),l=Fx(e,t,n,{type:9});return s.loopback=l,c.loopback=l,K(s,a),K(s,c),K(o,l),i===void 0?K(l,s):(K(l,c),K(l,i.left),K(i.right,a)),e.decisionMap[ux(t,i?`RepetitionWithSeparator`:`Repetition`,n.idx)]=s,{left:s,right:c}}function Dx(e,t,n,r){let i=r.left,a=r.right;return K(i,a),e.decisionMap[ux(t,`Option`,n.idx)]=i,r}function Ox(e,t){return e.decisionStates.push(t),t.decision=e.decisionStates.length-1,t.decision}function kx(e,t,n,r,...i){let a=Fx(e,t,r,{type:8,start:n});n.end=a;for(let e of i)e===void 0?K(n,a):(K(n,e.left),K(e.right,a));let o={left:n,right:a};return e.decisionMap[ux(t,Ax(r),r.idx)]=n,o}function Ax(e){if(e instanceof u_)return`Alternation`;if(e instanceof o_)return`Option`;if(e instanceof H)return`Repetition`;if(e instanceof l_)return`RepetitionWithSeparator`;if(e instanceof s_)return`RepetitionMandatory`;if(e instanceof c_)return`RepetitionMandatoryWithSeparator`;throw Error(`Invalid production type encountered`)}function jx(e,t){let n=t.length;for(let r=0;r<n-1;r++){let n=t[r],i;n.left.transitions.length===1&&(i=n.left.transitions[0]);let a=i instanceof mx,o=i,s=t[r+1].left;n.left.type===1&&n.right.type===1&&i!==void 0&&(a&&o.followState===n.right||i.target===n.right)?(a?o.followState=s:i.target=s,Lx(e,n.right)):K(n.right,s)}let r=t[0],i=t[n-1];return{left:r.left,right:i.right}}function Mx(e,t,n,r){let i=Fx(e,t,r,{type:1}),a=Fx(e,t,r,{type:1});return Ix(i,new fx(a,n)),{left:i,right:a}}function Nx(e,t,n){let r=n.referencedRule,i=e.ruleToStartState.get(r),a=Fx(e,t,n,{type:1}),o=Fx(e,t,n,{type:1});return Ix(a,new mx(i,r,o)),{left:a,right:o}}function Px(e,t,n){let r=e.ruleToStartState.get(t);K(r,n.left);let i=e.ruleToStopState.get(t);return K(n.right,i),{left:r,right:i}}function K(e,t){Ix(e,new px(t))}function Fx(e,t,n,r){let i=Object.assign({atn:e,production:n,epsilonOnlyTransitions:!1,rule:t,transitions:[],nextTokenWithinRule:[],stateNumber:e.states.length},r);return e.states.push(i),i}function Ix(e,t){e.transitions.length===0&&(e.epsilonOnlyTransitions=t.isEpsilon()),e.transitions.push(t)}function Lx(e,t){e.states.splice(e.states.indexOf(t),1)}var Rx={},zx=class{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let t=Bx(e);t in this.map||(this.map[t]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return p(this.configs,e=>e.alt)}get key(){let e=``;for(let t in this.map)e+=t+`:`;return e}};function Bx(e,t=!0){return`${t?`a${e.alt}`:``}s${e.state.stateNumber}:${e.stack.map(e=>e.stateNumber.toString()).join(`_`)}`}function Vx(e,t){return u(p(e,t),1)}function Hx(e,t){return e&&e.length?o(e,c(t,2)):[]}function Ux(e,t){let n={};return r=>{let i=r.toString(),a=n[i];return a===void 0?(a={atnStartState:e,decision:t,states:{}},n[i]=a,a):a}}var Wx=class{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,t){this.predicates[e]=t}toString(){let e=``,t=this.predicates.length;for(let n=0;n<t;n++)e+=this.predicates[n]===!0?`1`:`0`;return e}},Gx=new Wx,Kx=class extends Sb{constructor(e){super(),this.logging=e?.logging??(e=>console.log(e))}initialize(e){this.atn=hx(e.rules),this.dfas=Jx(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:t,rule:n,hasPredicates:r,dynamicTokensEnabled:i}=e,a=this.dfas,o=this.logging,s=ux(n,`Alternation`,t),c=this.atn.decisionMap[s].decision,u=p(yy({maxLookahead:1,occurrence:t,prodType:`Alternation`,rule:n}),e=>p(e,e=>e[0]));if(qx(u,!1)&&!i){let e=d(u,(e,t,n)=>(l(t,t=>{t&&(e[t.tokenTypeIdx]=n,l(t.categoryMatches,t=>{e[t]=n}))}),e),{});return r?function(t){let n=e[this.LA(1).tokenTypeIdx];if(t!==void 0&&n!==void 0){let e=t[n]?.GATE;if(e!==void 0&&e.call(this)===!1)return}return n}:function(){return e[this.LA(1).tokenTypeIdx]}}else if(r)return function(e){let t=new Wx,n=e===void 0?0:e.length;for(let r=0;r<n;r++){let n=e?.[r].GATE;t.set(r,n===void 0||n.call(this))}let r=Yx.call(this,a,c,t,o);return typeof r==`number`?r:void 0};else return function(){let e=Yx.call(this,a,c,Gx,o);return typeof e==`number`?e:void 0}}buildLookaheadForOptional(e){let{prodOccurrence:t,rule:n,prodType:r,dynamicTokensEnabled:i}=e,a=this.dfas,o=this.logging,s=ux(n,r,t),c=this.atn.decisionMap[s].decision,u=p(yy({maxLookahead:1,occurrence:t,prodType:r,rule:n}),e=>p(e,e=>e[0]));if(qx(u)&&u[0][0]&&!i){let e=u[0],t=h(e);if(t.length===1&&f(t[0].categoryMatches)){let e=t[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}else{let e=d(t,(e,t)=>(t!==void 0&&(e[t.tokenTypeIdx]=!0,l(t.categoryMatches,t=>{e[t]=!0})),e),{});return function(){return e[this.LA(1).tokenTypeIdx]===!0}}}return function(){let e=Yx.call(this,a,c,Gx,o);return typeof e==`object`?!1:e===0}}};function qx(e,t=!0){let n=new Set;for(let r of e){let e=new Set;for(let i of r){if(i===void 0){if(t)break;return!1}let r=[i.tokenTypeIdx].concat(i.categoryMatches);for(let t of r)if(n.has(t)){if(!e.has(t))return!1}else n.add(t),e.add(t)}}return!0}function Jx(e){let t=e.decisionStates.length,n=Array(t);for(let r=0;r<t;r++)n[r]=Ux(e.decisionStates[r],r);return n}function Yx(e,t,n,r){let i=e[t](n),a=i.start;return a===void 0&&(a=cS(i,oS(lS(i.atnStartState))),i.start=a),Xx.apply(this,[i,a,n,r])}function Xx(e,t,n,r){let i=t,a=1,o=[],s=this.LA(a++);for(;;){let t=nS(i,s);if(t===void 0&&(t=Zx.apply(this,[e,i,s,a,n,r])),t===Rx)return tS(o,i,s);if(t.isAcceptState===!0)return t.prediction;i=t,o.push(s),s=this.LA(a++)}}function Zx(e,t,n,r,i,a){let o=rS(t.configs,n,i);if(o.size===0)return sS(e,t,n,Rx),Rx;let s=oS(o),c=aS(o,i);if(c!==void 0)s.isAcceptState=!0,s.prediction=c,s.configs.uniqueAlt=c;else if(mS(o)){let t=m(o.alts);s.isAcceptState=!0,s.prediction=t,s.configs.uniqueAlt=t,Qx.apply(this,[e,r,o.alts,a])}return s=sS(e,t,n,s),s}function Qx(e,t,n,r){let i=[];for(let e=1;e<=t;e++)i.push(this.LA(e).tokenType);let a=e.atnStartState,o=a.rule,s=a.production;r($x({topLevelRule:o,ambiguityIndices:n,production:s,prefixPath:i}))}function $x(e){let t=p(e.prefixPath,e=>Vv(e)).join(`, `),n=e.production.idx===0?``:e.production.idx,r=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(`, `)}> in <${eS(e.production)}${n}> inside <${e.topLevelRule.name}> Rule,\n<${t}> may appears as a prefix path in all these alternatives.\n`;return r+=`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
72
|
+
For Further details.`,r}function eS(e){if(e instanceof r_)return`SUBRULE`;if(e instanceof o_)return`OPTION`;if(e instanceof u_)return`OR`;if(e instanceof s_)return`AT_LEAST_ONE`;if(e instanceof c_)return`AT_LEAST_ONE_SEP`;if(e instanceof l_)return`MANY_SEP`;if(e instanceof H)return`MANY`;if(e instanceof U)return`CONSUME`;throw Error(`non exhaustive match`)}function tS(e,t,n){return{actualToken:n,possibleTokenTypes:Hx(Vx(t.configs.elements,e=>e.state.transitions).filter(e=>e instanceof fx).map(e=>e.tokenType),e=>e.tokenTypeIdx),tokenPath:e}}function nS(e,t){return e.edges[t.tokenTypeIdx]}function rS(e,t,n){let r=new zx,i=[];for(let a of e.elements){if(n.is(a.alt)===!1)continue;if(a.state.type===7){i.push(a);continue}let e=a.state.transitions.length;for(let n=0;n<e;n++){let e=a.state.transitions[n],i=iS(e,t);i!==void 0&&r.add({state:i,alt:a.alt,stack:a.stack})}}let a;if(i.length===0&&r.size===1&&(a=r),a===void 0){a=new zx;for(let e of r.elements)uS(e,a)}if(i.length>0&&!fS(a))for(let e of i)a.add(e);return a}function iS(e,t){if(e instanceof fx&&ny(t,e.tokenType))return e.target}function aS(e,t){let n;for(let r of e.elements)if(t.is(r.alt)===!0){if(n===void 0)n=r.alt;else if(n!==r.alt)return}return n}function oS(e){return{configs:e,edges:{},isAcceptState:!1,prediction:-1}}function sS(e,t,n,r){return r=cS(e,r),t.edges[n.tokenTypeIdx]=r,r}function cS(e,t){if(t===Rx)return t;let n=t.configs.key,r=e.states[n];return r===void 0?(t.configs.finalize(),e.states[n]=t,t):r}function lS(e){let t=new zx,n=e.transitions.length;for(let r=0;r<n;r++)uS({state:e.transitions[r].target,alt:r,stack:[]},t);return t}function uS(e,t){let n=e.state;if(n.type===7){if(e.stack.length>0){let n=[...e.stack];uS({state:n.pop(),alt:e.alt,stack:n},t)}else t.add(e);return}n.epsilonOnlyTransitions||t.add(e);let r=n.transitions.length;for(let i=0;i<r;i++){let r=n.transitions[i],a=dS(e,r);a!==void 0&&uS(a,t)}}function dS(e,t){if(t instanceof px)return{state:t.target,alt:e.alt,stack:e.stack};if(t instanceof mx){let n=[...e.stack,t.followState];return{state:t.target,alt:e.alt,stack:n}}}function fS(e){for(let t of e.elements)if(t.state.type===7)return!0;return!1}function pS(e){for(let t of e.elements)if(t.state.type!==7)return!1;return!0}function mS(e){if(pS(e))return!0;let t=hS(e.elements);return gS(t)&&!_S(t)}function hS(e){let t=new Map;for(let n of e){let e=Bx(n,!1),r=t.get(e);r===void 0&&(r={},t.set(e,r)),r[n.alt]=!0}return t}function gS(e){for(let t of Array.from(e.values()))if(Object.keys(t).length>1)return!0;return!1}function _S(e){for(let t of Array.from(e.values()))if(Object.keys(t).length===1)return!0;return!1}var vS=e({AnnotatedTextEdit:()=>zS,ChangeAnnotation:()=>LS,ChangeAnnotationIdentifier:()=>RS,CodeAction:()=>SC,CodeActionContext:()=>xC,CodeActionKind:()=>yC,CodeActionTriggerKind:()=>bC,CodeDescription:()=>NS,CodeLens:()=>CC,Color:()=>TS,ColorInformation:()=>ES,ColorPresentation:()=>DS,Command:()=>FS,CompletionItem:()=>oC,CompletionItemKind:()=>eC,CompletionItemLabelDetails:()=>aC,CompletionItemTag:()=>nC,CompletionList:()=>sC,CreateFile:()=>VS,DeleteFile:()=>US,Diagnostic:()=>PS,DiagnosticRelatedInformation:()=>AS,DiagnosticSeverity:()=>jS,DiagnosticTag:()=>MS,DocumentHighlight:()=>pC,DocumentHighlightKind:()=>fC,DocumentLink:()=>TC,DocumentSymbol:()=>vC,DocumentUri:()=>yS,EOL:()=>WC,FoldingRange:()=>kS,FoldingRangeKind:()=>OS,FormattingOptions:()=>wC,Hover:()=>lC,InlayHint:()=>IC,InlayHintKind:()=>PC,InlayHintLabelPart:()=>FC,InlineCompletionContext:()=>HC,InlineCompletionItem:()=>RC,InlineCompletionList:()=>zC,InlineCompletionTriggerKind:()=>BC,InlineValueContext:()=>NC,InlineValueEvaluatableExpression:()=>MC,InlineValueText:()=>AC,InlineValueVariableLookup:()=>jC,InsertReplaceEdit:()=>rC,InsertTextFormat:()=>tC,InsertTextMode:()=>iC,Location:()=>CS,LocationLink:()=>wS,MarkedString:()=>cC,MarkupContent:()=>$S,MarkupKind:()=>QS,OptionalVersionedTextDocumentIdentifier:()=>XS,ParameterInformation:()=>uC,Position:()=>q,Range:()=>J,RenameFile:()=>HS,SelectedCompletionInfo:()=>VC,SelectionRange:()=>EC,SemanticTokenModifiers:()=>OC,SemanticTokenTypes:()=>DC,SemanticTokens:()=>kC,SignatureInformation:()=>dC,StringValue:()=>LC,SymbolInformation:()=>gC,SymbolKind:()=>mC,SymbolTag:()=>hC,TextDocument:()=>GC,TextDocumentEdit:()=>BS,TextDocumentIdentifier:()=>JS,TextDocumentItem:()=>ZS,TextEdit:()=>IS,URI:()=>bS,VersionedTextDocumentIdentifier:()=>YS,WorkspaceChange:()=>qS,WorkspaceEdit:()=>WS,WorkspaceFolder:()=>UC,WorkspaceSymbol:()=>_C,integer:()=>xS,uinteger:()=>SS}),yS,bS,xS,SS,q,J,CS,wS,TS,ES,DS,OS,kS,AS,jS,MS,NS,PS,FS,IS,LS,RS,zS,BS,VS,HS,US,WS,GS,KS,qS,JS,YS,XS,ZS,QS,$S,eC,tC,nC,rC,iC,aC,oC,sC,cC,lC,uC,dC,fC,pC,mC,hC,gC,_C,vC,yC,bC,xC,SC,CC,wC,TC,EC,DC,OC,kC,AC,jC,MC,NC,PC,FC,IC,LC,RC,zC,BC,VC,HC,UC,WC,GC,KC,Y,qC=n((()=>{(function(e){function t(e){return typeof e==`string`}e.is=t})(yS||={}),(function(e){function t(e){return typeof e==`string`}e.is=t})(bS||={}),(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(xS||={}),(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(SS||={}),(function(e){function t(e,t){return e===Number.MAX_VALUE&&(e=SS.MAX_VALUE),t===Number.MAX_VALUE&&(t=SS.MAX_VALUE),{line:e,character:t}}e.create=t;function n(e){let t=e;return Y.objectLiteral(t)&&Y.uinteger(t.line)&&Y.uinteger(t.character)}e.is=n})(q||={}),(function(e){function t(e,t,n,r){if(Y.uinteger(e)&&Y.uinteger(t)&&Y.uinteger(n)&&Y.uinteger(r))return{start:q.create(e,t),end:q.create(n,r)};if(q.is(e)&&q.is(t))return{start:e,end:t};throw Error(`Range#create called with invalid arguments[${e}, ${t}, ${n}, ${r}]`)}e.create=t;function n(e){let t=e;return Y.objectLiteral(t)&&q.is(t.start)&&q.is(t.end)}e.is=n})(J||={}),(function(e){function t(e,t){return{uri:e,range:t}}e.create=t;function n(e){let t=e;return Y.objectLiteral(t)&&J.is(t.range)&&(Y.string(t.uri)||Y.undefined(t.uri))}e.is=n})(CS||={}),(function(e){function t(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}}e.create=t;function n(e){let t=e;return Y.objectLiteral(t)&&J.is(t.targetRange)&&Y.string(t.targetUri)&&J.is(t.targetSelectionRange)&&(J.is(t.originSelectionRange)||Y.undefined(t.originSelectionRange))}e.is=n})(wS||={}),(function(e){function t(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}}e.create=t;function n(e){let t=e;return Y.objectLiteral(t)&&Y.numberRange(t.red,0,1)&&Y.numberRange(t.green,0,1)&&Y.numberRange(t.blue,0,1)&&Y.numberRange(t.alpha,0,1)}e.is=n})(TS||={}),(function(e){function t(e,t){return{range:e,color:t}}e.create=t;function n(e){let t=e;return Y.objectLiteral(t)&&J.is(t.range)&&TS.is(t.color)}e.is=n})(ES||={}),(function(e){function t(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}}e.create=t;function n(e){let t=e;return Y.objectLiteral(t)&&Y.string(t.label)&&(Y.undefined(t.textEdit)||IS.is(t))&&(Y.undefined(t.additionalTextEdits)||Y.typedArray(t.additionalTextEdits,IS.is))}e.is=n})(DS||={}),(function(e){e.Comment=`comment`,e.Imports=`imports`,e.Region=`region`})(OS||={}),(function(e){function t(e,t,n,r,i,a){let o={startLine:e,endLine:t};return Y.defined(n)&&(o.startCharacter=n),Y.defined(r)&&(o.endCharacter=r),Y.defined(i)&&(o.kind=i),Y.defined(a)&&(o.collapsedText=a),o}e.create=t;function n(e){let t=e;return Y.objectLiteral(t)&&Y.uinteger(t.startLine)&&Y.uinteger(t.startLine)&&(Y.undefined(t.startCharacter)||Y.uinteger(t.startCharacter))&&(Y.undefined(t.endCharacter)||Y.uinteger(t.endCharacter))&&(Y.undefined(t.kind)||Y.string(t.kind))}e.is=n})(kS||={}),(function(e){function t(e,t){return{location:e,message:t}}e.create=t;function n(e){let t=e;return Y.defined(t)&&CS.is(t.location)&&Y.string(t.message)}e.is=n})(AS||={}),(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(jS||={}),(function(e){e.Unnecessary=1,e.Deprecated=2})(MS||={}),(function(e){function t(e){let t=e;return Y.objectLiteral(t)&&Y.string(t.href)}e.is=t})(NS||={}),(function(e){function t(e,t,n,r,i,a){let o={range:e,message:t};return Y.defined(n)&&(o.severity=n),Y.defined(r)&&(o.code=r),Y.defined(i)&&(o.source=i),Y.defined(a)&&(o.relatedInformation=a),o}e.create=t;function n(e){let t=e;return Y.defined(t)&&J.is(t.range)&&Y.string(t.message)&&(Y.number(t.severity)||Y.undefined(t.severity))&&(Y.integer(t.code)||Y.string(t.code)||Y.undefined(t.code))&&(Y.undefined(t.codeDescription)||Y.string(t.codeDescription?.href))&&(Y.string(t.source)||Y.undefined(t.source))&&(Y.undefined(t.relatedInformation)||Y.typedArray(t.relatedInformation,AS.is))}e.is=n})(PS||={}),(function(e){function t(e,t,...n){let r={title:e,command:t};return Y.defined(n)&&n.length>0&&(r.arguments=n),r}e.create=t;function n(e){let t=e;return Y.defined(t)&&Y.string(t.title)&&Y.string(t.command)}e.is=n})(FS||={}),(function(e){function t(e,t){return{range:e,newText:t}}e.replace=t;function n(e,t){return{range:{start:e,end:e},newText:t}}e.insert=n;function r(e){return{range:e,newText:``}}e.del=r;function i(e){let t=e;return Y.objectLiteral(t)&&Y.string(t.newText)&&J.is(t.range)}e.is=i})(IS||={}),(function(e){function t(e,t,n){let r={label:e};return t!==void 0&&(r.needsConfirmation=t),n!==void 0&&(r.description=n),r}e.create=t;function n(e){let t=e;return Y.objectLiteral(t)&&Y.string(t.label)&&(Y.boolean(t.needsConfirmation)||t.needsConfirmation===void 0)&&(Y.string(t.description)||t.description===void 0)}e.is=n})(LS||={}),(function(e){function t(e){let t=e;return Y.string(t)}e.is=t})(RS||={}),(function(e){function t(e,t,n){return{range:e,newText:t,annotationId:n}}e.replace=t;function n(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}}e.insert=n;function r(e,t){return{range:e,newText:``,annotationId:t}}e.del=r;function i(e){let t=e;return IS.is(t)&&(LS.is(t.annotationId)||RS.is(t.annotationId))}e.is=i})(zS||={}),(function(e){function t(e,t){return{textDocument:e,edits:t}}e.create=t;function n(e){let t=e;return Y.defined(t)&&XS.is(t.textDocument)&&Array.isArray(t.edits)}e.is=n})(BS||={}),(function(e){function t(e,t,n){let r={kind:`create`,uri:e};return t!==void 0&&(t.overwrite!==void 0||t.ignoreIfExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`create`&&Y.string(t.uri)&&(t.options===void 0||(t.options.overwrite===void 0||Y.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||Y.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||RS.is(t.annotationId))}e.is=n})(VS||={}),(function(e){function t(e,t,n,r){let i={kind:`rename`,oldUri:e,newUri:t};return n!==void 0&&(n.overwrite!==void 0||n.ignoreIfExists!==void 0)&&(i.options=n),r!==void 0&&(i.annotationId=r),i}e.create=t;function n(e){let t=e;return t&&t.kind===`rename`&&Y.string(t.oldUri)&&Y.string(t.newUri)&&(t.options===void 0||(t.options.overwrite===void 0||Y.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||Y.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||RS.is(t.annotationId))}e.is=n})(HS||={}),(function(e){function t(e,t,n){let r={kind:`delete`,uri:e};return t!==void 0&&(t.recursive!==void 0||t.ignoreIfNotExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`delete`&&Y.string(t.uri)&&(t.options===void 0||(t.options.recursive===void 0||Y.boolean(t.options.recursive))&&(t.options.ignoreIfNotExists===void 0||Y.boolean(t.options.ignoreIfNotExists)))&&(t.annotationId===void 0||RS.is(t.annotationId))}e.is=n})(US||={}),(function(e){function t(e){let t=e;return t&&(t.changes!==void 0||t.documentChanges!==void 0)&&(t.documentChanges===void 0||t.documentChanges.every(e=>Y.string(e.kind)?VS.is(e)||HS.is(e)||US.is(e):BS.is(e)))}e.is=t})(WS||={}),GS=class{constructor(e,t){this.edits=e,this.changeAnnotations=t}insert(e,t,n){let r,i;if(n===void 0?r=IS.insert(e,t):RS.is(n)?(i=n,r=zS.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=zS.insert(e,t,i)),this.edits.push(r),i!==void 0)return i}replace(e,t,n){let r,i;if(n===void 0?r=IS.replace(e,t):RS.is(n)?(i=n,r=zS.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=zS.replace(e,t,i)),this.edits.push(r),i!==void 0)return i}delete(e,t){let n,r;if(t===void 0?n=IS.del(e):RS.is(t)?(r=t,n=zS.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(t),n=zS.del(e,r)),this.edits.push(n),r!==void 0)return r}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 Error(`Text edit change is not configured to manage change annotations.`)}},KS=class{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,t){let n;if(RS.is(e)?n=e:(n=this.nextId(),t=e),this._annotations[n]!==void 0)throw Error(`Id ${n} is already in use.`);if(t===void 0)throw Error(`No annotation provided for id ${n}`);return this._annotations[n]=t,this._size++,n}nextId(){return this._counter++,this._counter.toString()}},qS=class{constructor(e){this._textEditChanges=Object.create(null),e===void 0?this._workspaceEdit={}:(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new KS(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(e=>{if(BS.is(e)){let t=new GS(e.edits,this._changeAnnotations);this._textEditChanges[e.textDocument.uri]=t}})):e.changes&&Object.keys(e.changes).forEach(t=>{let n=new GS(e.changes[t]);this._textEditChanges[t]=n}))}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(XS.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw Error(`Workspace edit is not configured for document changes.`);let t={uri:e.uri,version:e.version},n=this._textEditChanges[t.uri];if(!n){let e=[],r={textDocument:t,edits:e};this._workspaceEdit.documentChanges.push(r),n=new GS(e,this._changeAnnotations),this._textEditChanges[t.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw Error(`Workspace edit is not configured for normal text edit changes.`);let t=this._textEditChanges[e];if(!t){let n=[];this._workspaceEdit.changes[e]=n,t=new GS(n),this._textEditChanges[e]=t}return t}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new KS,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,t,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw Error(`Workspace edit is not configured for document changes.`);let r;LS.is(t)||RS.is(t)?r=t:n=t;let i,a;if(r===void 0?i=VS.create(e,n):(a=RS.is(r)?r:this._changeAnnotations.manage(r),i=VS.create(e,n,a)),this._workspaceEdit.documentChanges.push(i),a!==void 0)return a}renameFile(e,t,n,r){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw Error(`Workspace edit is not configured for document changes.`);let i;LS.is(n)||RS.is(n)?i=n:r=n;let a,o;if(i===void 0?a=HS.create(e,t,r):(o=RS.is(i)?i:this._changeAnnotations.manage(i),a=HS.create(e,t,r,o)),this._workspaceEdit.documentChanges.push(a),o!==void 0)return o}deleteFile(e,t,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw Error(`Workspace edit is not configured for document changes.`);let r;LS.is(t)||RS.is(t)?r=t:n=t;let i,a;if(r===void 0?i=US.create(e,n):(a=RS.is(r)?r:this._changeAnnotations.manage(r),i=US.create(e,n,a)),this._workspaceEdit.documentChanges.push(i),a!==void 0)return a}},(function(e){function t(e){return{uri:e}}e.create=t;function n(e){let t=e;return Y.defined(t)&&Y.string(t.uri)}e.is=n})(JS||={}),(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return Y.defined(t)&&Y.string(t.uri)&&Y.integer(t.version)}e.is=n})(YS||={}),(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return Y.defined(t)&&Y.string(t.uri)&&(t.version===null||Y.integer(t.version))}e.is=n})(XS||={}),(function(e){function t(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}}e.create=t;function n(e){let t=e;return Y.defined(t)&&Y.string(t.uri)&&Y.string(t.languageId)&&Y.integer(t.version)&&Y.string(t.text)}e.is=n})(ZS||={}),(function(e){e.PlainText=`plaintext`,e.Markdown=`markdown`;function t(t){let n=t;return n===e.PlainText||n===e.Markdown}e.is=t})(QS||={}),(function(e){function t(e){let t=e;return Y.objectLiteral(e)&&QS.is(t.kind)&&Y.string(t.value)}e.is=t})($S||={}),(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(eC||={}),(function(e){e.PlainText=1,e.Snippet=2})(tC||={}),(function(e){e.Deprecated=1})(nC||={}),(function(e){function t(e,t,n){return{newText:e,insert:t,replace:n}}e.create=t;function n(e){let t=e;return t&&Y.string(t.newText)&&J.is(t.insert)&&J.is(t.replace)}e.is=n})(rC||={}),(function(e){e.asIs=1,e.adjustIndentation=2})(iC||={}),(function(e){function t(e){let t=e;return t&&(Y.string(t.detail)||t.detail===void 0)&&(Y.string(t.description)||t.description===void 0)}e.is=t})(aC||={}),(function(e){function t(e){return{label:e}}e.create=t})(oC||={}),(function(e){function t(e,t){return{items:e||[],isIncomplete:!!t}}e.create=t})(sC||={}),(function(e){function t(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,`\\$&`)}e.fromPlainText=t;function n(e){let t=e;return Y.string(t)||Y.objectLiteral(t)&&Y.string(t.language)&&Y.string(t.value)}e.is=n})(cC||={}),(function(e){function t(e){let t=e;return!!t&&Y.objectLiteral(t)&&($S.is(t.contents)||cC.is(t.contents)||Y.typedArray(t.contents,cC.is))&&(e.range===void 0||J.is(e.range))}e.is=t})(lC||={}),(function(e){function t(e,t){return t?{label:e,documentation:t}:{label:e}}e.create=t})(uC||={}),(function(e){function t(e,t,...n){let r={label:e};return Y.defined(t)&&(r.documentation=t),Y.defined(n)?r.parameters=n:r.parameters=[],r}e.create=t})(dC||={}),(function(e){e.Text=1,e.Read=2,e.Write=3})(fC||={}),(function(e){function t(e,t){let n={range:e};return Y.number(t)&&(n.kind=t),n}e.create=t})(pC||={}),(function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26})(mC||={}),(function(e){e.Deprecated=1})(hC||={}),(function(e){function t(e,t,n,r,i){let a={name:e,kind:t,location:{uri:r,range:n}};return i&&(a.containerName=i),a}e.create=t})(gC||={}),(function(e){function t(e,t,n,r){return r===void 0?{name:e,kind:t,location:{uri:n}}:{name:e,kind:t,location:{uri:n,range:r}}}e.create=t})(_C||={}),(function(e){function t(e,t,n,r,i,a){let o={name:e,detail:t,kind:n,range:r,selectionRange:i};return a!==void 0&&(o.children=a),o}e.create=t;function n(e){let t=e;return t&&Y.string(t.name)&&Y.number(t.kind)&&J.is(t.range)&&J.is(t.selectionRange)&&(t.detail===void 0||Y.string(t.detail))&&(t.deprecated===void 0||Y.boolean(t.deprecated))&&(t.children===void 0||Array.isArray(t.children))&&(t.tags===void 0||Array.isArray(t.tags))}e.is=n})(vC||={}),(function(e){e.Empty=``,e.QuickFix=`quickfix`,e.Refactor=`refactor`,e.RefactorExtract=`refactor.extract`,e.RefactorInline=`refactor.inline`,e.RefactorRewrite=`refactor.rewrite`,e.Source=`source`,e.SourceOrganizeImports=`source.organizeImports`,e.SourceFixAll=`source.fixAll`})(yC||={}),(function(e){e.Invoked=1,e.Automatic=2})(bC||={}),(function(e){function t(e,t,n){let r={diagnostics:e};return t!=null&&(r.only=t),n!=null&&(r.triggerKind=n),r}e.create=t;function n(e){let t=e;return Y.defined(t)&&Y.typedArray(t.diagnostics,PS.is)&&(t.only===void 0||Y.typedArray(t.only,Y.string))&&(t.triggerKind===void 0||t.triggerKind===bC.Invoked||t.triggerKind===bC.Automatic)}e.is=n})(xC||={}),(function(e){function t(e,t,n){let r={title:e},i=!0;return typeof t==`string`?(i=!1,r.kind=t):FS.is(t)?r.command=t:r.edit=t,i&&n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return t&&Y.string(t.title)&&(t.diagnostics===void 0||Y.typedArray(t.diagnostics,PS.is))&&(t.kind===void 0||Y.string(t.kind))&&(t.edit!==void 0||t.command!==void 0)&&(t.command===void 0||FS.is(t.command))&&(t.isPreferred===void 0||Y.boolean(t.isPreferred))&&(t.edit===void 0||WS.is(t.edit))}e.is=n})(SC||={}),(function(e){function t(e,t){let n={range:e};return Y.defined(t)&&(n.data=t),n}e.create=t;function n(e){let t=e;return Y.defined(t)&&J.is(t.range)&&(Y.undefined(t.command)||FS.is(t.command))}e.is=n})(CC||={}),(function(e){function t(e,t){return{tabSize:e,insertSpaces:t}}e.create=t;function n(e){let t=e;return Y.defined(t)&&Y.uinteger(t.tabSize)&&Y.boolean(t.insertSpaces)}e.is=n})(wC||={}),(function(e){function t(e,t,n){return{range:e,target:t,data:n}}e.create=t;function n(e){let t=e;return Y.defined(t)&&J.is(t.range)&&(Y.undefined(t.target)||Y.string(t.target))}e.is=n})(TC||={}),(function(e){function t(e,t){return{range:e,parent:t}}e.create=t;function n(t){let n=t;return Y.objectLiteral(n)&&J.is(n.range)&&(n.parent===void 0||e.is(n.parent))}e.is=n})(EC||={}),(function(e){e.namespace=`namespace`,e.type=`type`,e.class=`class`,e.enum=`enum`,e.interface=`interface`,e.struct=`struct`,e.typeParameter=`typeParameter`,e.parameter=`parameter`,e.variable=`variable`,e.property=`property`,e.enumMember=`enumMember`,e.event=`event`,e.function=`function`,e.method=`method`,e.macro=`macro`,e.keyword=`keyword`,e.modifier=`modifier`,e.comment=`comment`,e.string=`string`,e.number=`number`,e.regexp=`regexp`,e.operator=`operator`,e.decorator=`decorator`})(DC||={}),(function(e){e.declaration=`declaration`,e.definition=`definition`,e.readonly=`readonly`,e.static=`static`,e.deprecated=`deprecated`,e.abstract=`abstract`,e.async=`async`,e.modification=`modification`,e.documentation=`documentation`,e.defaultLibrary=`defaultLibrary`})(OC||={}),(function(e){function t(e){let t=e;return Y.objectLiteral(t)&&(t.resultId===void 0||typeof t.resultId==`string`)&&Array.isArray(t.data)&&(t.data.length===0||typeof t.data[0]==`number`)}e.is=t})(kC||={}),(function(e){function t(e,t){return{range:e,text:t}}e.create=t;function n(e){let t=e;return t!=null&&J.is(t.range)&&Y.string(t.text)}e.is=n})(AC||={}),(function(e){function t(e,t,n){return{range:e,variableName:t,caseSensitiveLookup:n}}e.create=t;function n(e){let t=e;return t!=null&&J.is(t.range)&&Y.boolean(t.caseSensitiveLookup)&&(Y.string(t.variableName)||t.variableName===void 0)}e.is=n})(jC||={}),(function(e){function t(e,t){return{range:e,expression:t}}e.create=t;function n(e){let t=e;return t!=null&&J.is(t.range)&&(Y.string(t.expression)||t.expression===void 0)}e.is=n})(MC||={}),(function(e){function t(e,t){return{frameId:e,stoppedLocation:t}}e.create=t;function n(e){let t=e;return Y.defined(t)&&J.is(e.stoppedLocation)}e.is=n})(NC||={}),(function(e){e.Type=1,e.Parameter=2;function t(e){return e===1||e===2}e.is=t})(PC||={}),(function(e){function t(e){return{value:e}}e.create=t;function n(e){let t=e;return Y.objectLiteral(t)&&(t.tooltip===void 0||Y.string(t.tooltip)||$S.is(t.tooltip))&&(t.location===void 0||CS.is(t.location))&&(t.command===void 0||FS.is(t.command))}e.is=n})(FC||={}),(function(e){function t(e,t,n){let r={position:e,label:t};return n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return Y.objectLiteral(t)&&q.is(t.position)&&(Y.string(t.label)||Y.typedArray(t.label,FC.is))&&(t.kind===void 0||PC.is(t.kind))&&t.textEdits===void 0||Y.typedArray(t.textEdits,IS.is)&&(t.tooltip===void 0||Y.string(t.tooltip)||$S.is(t.tooltip))&&(t.paddingLeft===void 0||Y.boolean(t.paddingLeft))&&(t.paddingRight===void 0||Y.boolean(t.paddingRight))}e.is=n})(IC||={}),(function(e){function t(e){return{kind:`snippet`,value:e}}e.createSnippet=t})(LC||={}),(function(e){function t(e,t,n,r){return{insertText:e,filterText:t,range:n,command:r}}e.create=t})(RC||={}),(function(e){function t(e){return{items:e}}e.create=t})(zC||={}),(function(e){e.Invoked=0,e.Automatic=1})(BC||={}),(function(e){function t(e,t){return{range:e,text:t}}e.create=t})(VC||={}),(function(e){function t(e,t){return{triggerKind:e,selectedCompletionInfo:t}}e.create=t})(HC||={}),(function(e){function t(e){let t=e;return Y.objectLiteral(t)&&bS.is(t.uri)&&Y.string(t.name)}e.is=t})(UC||={}),WC=[`
|
|
73
|
+
`,`\r
|
|
74
|
+
`,`\r`],(function(e){function t(e,t,n,r){return new KC(e,t,n,r)}e.create=t;function n(e){let t=e;return!!(Y.defined(t)&&Y.string(t.uri)&&(Y.undefined(t.languageId)||Y.string(t.languageId))&&Y.uinteger(t.lineCount)&&Y.func(t.getText)&&Y.func(t.positionAt)&&Y.func(t.offsetAt))}e.is=n;function r(e,t){let n=e.getText(),r=i(t,(e,t)=>{let n=e.range.start.line-t.range.start.line;return n===0?e.range.start.character-t.range.start.character:n}),a=n.length;for(let t=r.length-1;t>=0;t--){let i=r[t],o=e.offsetAt(i.range.start),s=e.offsetAt(i.range.end);if(s<=a)n=n.substring(0,o)+i.newText+n.substring(s,n.length);else throw Error(`Overlapping edit`);a=o}return n}e.applyEdits=r;function i(e,t){if(e.length<=1)return e;let n=e.length/2|0,r=e.slice(0,n),a=e.slice(n);i(r,t),i(a,t);let o=0,s=0,c=0;for(;o<r.length&&s<a.length;)t(r[o],a[s])<=0?e[c++]=r[o++]:e[c++]=a[s++];for(;o<r.length;)e[c++]=r[o++];for(;s<a.length;)e[c++]=a[s++];return e}})(GC||={}),KC=class{constructor(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],t=this._content,n=!0;for(let r=0;r<t.length;r++){n&&=(e.push(r),!1);let i=t.charAt(r);n=i===`\r`||i===`
|
|
75
|
+
`,i===`\r`&&r+1<t.length&&t.charAt(r+1)===`
|
|
76
|
+
`&&r++}n&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),n=0,r=t.length;if(r===0)return q.create(0,e);for(;n<r;){let i=Math.floor((n+r)/2);t[i]>e?r=i:n=i+1}let i=n-1;return q.create(i,e-t[i])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],r=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,r),n)}get lineCount(){return this.getLineOffsets().length}},(function(e){let t=Object.prototype.toString;function n(e){return e!==void 0}e.defined=n;function r(e){return e===void 0}e.undefined=r;function i(e){return e===!0||e===!1}e.boolean=i;function a(e){return t.call(e)===`[object String]`}e.string=a;function o(e){return t.call(e)===`[object Number]`}e.number=o;function s(e,n,r){return t.call(e)===`[object Number]`&&n<=e&&e<=r}e.numberRange=s;function c(e){return t.call(e)===`[object Number]`&&-2147483648<=e&&e<=2147483647}e.integer=c;function l(e){return t.call(e)===`[object Number]`&&0<=e&&e<=2147483647}e.uinteger=l;function u(e){return t.call(e)===`[object Function]`}e.func=u;function d(e){return typeof e==`object`&&!!e}e.objectLiteral=d;function f(e,t){return Array.isArray(e)&&e.every(t)}e.typedArray=f})(Y||={})}));qC();var JC=class{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new $C(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let t=new ZC;return t.grammarSource=e,t.root=this.rootNode,this.current.content.push(t),this.nodeStack.push(t),t}buildLeafNode(e,t){let n=new XC(e.startOffset,e.image.length,Kt(e),e.tokenType,!t);return n.grammarSource=t,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){let t=e.container;if(t){let n=t.content.indexOf(e);n>=0&&t.content.splice(n,1)}}addHiddenNodes(e){let t=[];for(let n of e){let e=new XC(n.startOffset,n.image.length,Kt(n),n.tokenType,!0);e.root=this.rootNode,t.push(e)}let n=this.current,r=!1;if(n.content.length>0){n.content.push(...t);return}for(;n.container;){let e=n.container.content.indexOf(n);if(e>0){n.container.content.splice(e,0,...t),r=!0;break}n=n.container}r||this.rootNode.content.unshift(...t)}construct(e){let t=this.current;typeof e.$type==`string`&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=t;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}},YC=class{get hidden(){return!1}get astNode(){let e=typeof this._astNode?.$type==`string`?this._astNode:this.container?.astNode;if(!e)throw 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)}},XC=class extends YC{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,t,n,r,i=!1){super(),this._hidden=i,this._offset=e,this._tokenType=r,this._length=t,this._range=n}},ZC=class extends YC{constructor(){super(...arguments),this.content=new QC(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){let e=this.firstNonHiddenNode,t=this.lastNonHiddenNode;if(e&&t){if(this._rangeCache===void 0){let{range:n}=e,{range:r}=t;this._rangeCache={start:n.start,end:r.end.line<n.start.line?n.start:r.end}}return this._rangeCache}else return{start:q.create(0,0),end:q.create(0,0)}}get firstNonHiddenNode(){for(let e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){let t=this.content[e];if(!t.hidden)return t}return this.content[this.content.length-1]}},QC=class e extends Array{constructor(t){super(),this.parent=t,Object.setPrototypeOf(this,e.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,t,...n){return this.addParents(n),super.splice(e,t,...n)}addParents(e){for(let t of e)t.container=this.parent}},$C=class extends ZC{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text=``,this._text=e??``}},ew=Symbol(`Datatype`);function tw(e){return e.$type===ew}var nw=``,rw=e=>e.endsWith(nw)?e:e+nw,iw=class{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let t=this.lexer.definition,n=e.LanguageMetaData.mode===`production`;e.shared.profilers.LangiumProfiler?.isActive(`parsing`)?this.wrapper=new dw(t,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask(`parsing`,e.LanguageMetaData.languageId)):this.wrapper=new uw(t,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,t){this.wrapper.wrapOr(e,t)}optional(e,t){this.wrapper.wrapOption(e,t)}many(e,t){this.wrapper.wrapMany(e,t)}atLeastOne(e,t){this.wrapper.wrapAtLeastOne(e,t)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},aw=class extends iw{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new JC,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,t){let n=this.computeRuleType(e),r;Je(e)&&(r=e.name,this.registerPrecedenceMap(e));let i=this.wrapper.DEFINE_RULE(rw(e.name),this.startImplementation(n,r,t).bind(this));return this.allRules.set(e.name,i),dt(e)&&e.entry&&(this.mainRule=i),i}registerPrecedenceMap(e){let t=e.name,n=new Map;for(let t=0;t<e.operators.precedences.length;t++){let r=e.operators.precedences[t];for(let e of r.operators)n.set(e.value,{precedence:t,rightAssoc:r.associativity===`right`})}this.operatorPrecedence.set(t,n)}computeRuleType(e){return Je(e)?Un(e):e.fragment?void 0:Bn(e)?ew:Un(e)}parse(e,t={}){this.nodeBuilder.buildRootNode(e);let n=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=n.tokens;let r=t.rule?this.allRules.get(t.rule):this.mainRule;if(!r)throw Error(t.rule?`No rule found with name '${t.rule}'`:`No main rule available.`);let i=this.doParse(r);return this.nodeBuilder.addHiddenNodes(n.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,ae(i,{deep:!0}),{value:i,lexerErrors:n.errors,lexerReport:n.report,parserErrors:this.wrapper.errors}}doParse(e){let t=this.wrapper.rule(e);if(this.stack.length>0&&(t=this.construct()),t===void 0)throw Error(`No result from parser`);if(this.stack.length>0)throw Error(`Parser stack is not empty after parsing`);return t}startImplementation(e,t,n){return r=>{let i=!this.isRecording()&&e!==void 0;if(i){let n={$type:e};this.stack.push(n),e===ew?n.value=``:t!==void 0&&(n.$infixName=t)}return n(r),i?this.construct():void 0}}extractHiddenTokens(e){let t=this.lexerResult.hidden;if(!t.length)return[];let n=e.startOffset;for(let e=0;e<t.length;e++)if(t[e].startOffset>n)return t.splice(0,e);return t.splice(0,t.length)}consume(e,t,n){let r=this.wrapper.wrapConsume(e,t);if(!this.isRecording()&&this.isValidToken(r)){let e=this.extractHiddenTokens(r);this.nodeBuilder.addHiddenNodes(e);let t=this.nodeBuilder.buildLeafNode(r,n),{assignment:i,crossRef:a}=this.getAssignment(n),o=this.current;if(i){let e=et(n)?r.image:this.converter.convert(r.image,t);this.assign(i.operator,i.feature,e,t,a)}else if(tw(o)){let e=r.image;et(n)||(e=this.converter.convert(e,t).toString()),o.value+=e}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset==`number`&&!isNaN(e.endOffset)}subrule(e,t,n,r,i){let a;!this.isRecording()&&!n&&(a=this.nodeBuilder.buildCompositeNode(r));let o;try{o=this.wrapper.wrapSubrule(e,t,i)}finally{this.isRecording()||(o===void 0&&!n&&(o=this.construct()),o!==void 0&&a&&a.length>0&&this.performSubruleAssignment(o,r,a))}}performSubruleAssignment(e,t,n){let{assignment:r,crossRef:i}=this.getAssignment(t);if(r)this.assign(r.operator,r.feature,e,n,i);else if(!r){let t=this.current;if(tw(t))t.value+=e.toString();else if(typeof e==`object`&&e){let n=this.assignWithoutOverride(e,t);this.stack.pop(),this.stack.push(n)}}}action(e,t){if(!this.isRecording()){let n=this.current;if(t.feature&&t.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(t).content.push(n.$cstNode);let r={$type:e};this.stack.push(r),this.assign(t.operator,t.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;let e=this.stack.pop();return this.nodeBuilder.construct(e),`$infixName`in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):tw(e)?this.converter.convert(e.value,e.$cstNode):(fe(this.astReflection,e),e)}constructInfix(e,t){let n=e.parts;if(!Array.isArray(n)||n.length===0)return;let r=e.operators;if(!Array.isArray(r)||n.length<2)return n[0];let i=0,a=-1;for(let e=0;e<r.length;e++){let n=r[e],o=t.get(n)??{precedence:1/0,rightAssoc:!1};o.precedence>a?(a=o.precedence,i=e):o.precedence===a&&(o.rightAssoc||(i=e))}let o=r.slice(0,i),s=r.slice(i+1),c=n.slice(0,i+1),l=n.slice(i+1),u={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:c,operators:o},d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:l,operators:s},f=this.constructInfix(u,t),p=this.constructInfix(d,t);return{$type:e.$type,$cstNode:e.$cstNode,left:f,operator:r[i],right:p}}getAssignment(e){if(!this.assignmentMap.has(e)){let t=oe(e,De);this.assignmentMap.set(e,{assignment:t,crossRef:t&&Ie(t.terminal)?t.terminal.isMulti?`multi`:`single`:void 0})}return this.assignmentMap.get(e)}assign(e,t,n,r,i){let a=this.current,o;switch(o=i===`single`&&typeof n==`string`?this.linker.buildReference(a,t,r,n):i===`multi`&&typeof n==`string`?this.linker.buildMultiReference(a,t,r,n):n,e){case`=`:a[t]=o;break;case`?=`:a[t]=!0;break;case`+=`:Array.isArray(a[t])||(a[t]=[]),a[t].push(o)}}assignWithoutOverride(e,t){for(let[n,r]of Object.entries(t)){let t=e[n];t===void 0?e[n]=r:Array.isArray(t)&&Array.isArray(r)&&(r.push(...t),e[n]=r)}let n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},ow=class{buildMismatchTokenMessage(e){return ry.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return ry.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return ry.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return ry.buildEarlyExitMessage(e)}},sw=class extends ow{buildMismatchTokenMessage({expected:e,actual:t}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(`:KW`)?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${t.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},cw=class extends iw{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){return this.resetState(),this.tokens=this.lexer.tokenize(e,{mode:`partial`}).tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,t){let n=this.wrapper.DEFINE_RULE(rw(e.name),this.startImplementation(t).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return t=>{let n=this.keepStackSize();try{e(t)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,t,n){this.wrapper.wrapConsume(e,t),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,t,n,r,i){this.before(r),this.wrapper.wrapSubrule(e,t,i),this.after(r)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let t=this.elementStack.lastIndexOf(e);t>=0&&this.elementStack.splice(t)}}get currIdx(){return this.wrapper.currIdx}},lw={recoveryEnabled:!0,nodeLocationTracking:`full`,skipValidations:!0,errorMessageProvider:new sw},uw=class extends lx{constructor(e,t){let n=t&&`maxLookahead`in t;super(e,{...lw,lookaheadStrategy:n?new Sb({maxLookahead:t.maxLookahead}):new Kx({logging:t.skipValidations?()=>{}:void 0}),...t})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,t,n){return this.RULE(e,t,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,t){return this.consume(e,t,void 0)}wrapSubrule(e,t,n){return this.subrule(e,t,{ARGS:[n]})}wrapOr(e,t){this.or(e,t)}wrapOption(e,t){this.option(e,t)}wrapMany(e,t){this.many(e,t)}wrapAtLeastOne(e,t){this.atLeastOne(e,t)}rule(e){return e.call(this,{})}},dw=class extends uw{constructor(e,t,n){super(e,t),this.task=n}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,t,n){this.task.startSubTask(this.ruleName(t));try{return super.subrule(e,t,n)}finally{this.task.stopSubTask(this.ruleName(t))}}};function fw(e,t,n){return pw({parser:t,tokens:n,ruleNames:new Map},e),t}function pw(e,t){let n=On(t,!1),r=D(t.rules).filter(dt).filter(e=>n.has(e));for(let t of r){let n={...e,consume:1,optional:1,subrule:1,many:1,or:1};e.parser.rule(t,hw(n,t.definition))}let i=D(t.rules).filter(Je).filter(e=>n.has(e));for(let t of i)e.parser.rule(t,mw(e,t))}function mw(e,t){let n=t.call.rule.ref;if(!n)throw Error(`Could not resolve reference to infix operator rule: `+t.call.rule.$refText);if(Ot(n))throw Error(`Cannot use terminal rule in infix expression`);let r=t.operators.precedences.flatMap(e=>e.operators),i={$type:`Group`,elements:[]},a={$container:i,$type:`Assignment`,feature:`parts`,operator:`+=`,terminal:t.call},o={$container:i,$type:`Group`,elements:[],cardinality:`*`};i.elements.push(a,o);let s={$container:o,$type:`Assignment`,feature:`operators`,operator:`+=`,terminal:{$type:`Alternatives`,elements:r}},c={...a,$container:o};o.elements.push(s,c);let l=r.map(t=>e.tokens[t.value]).map((t,n)=>({ALT:()=>e.parser.consume(n,t,s)})),u;return t=>{u??=Dw(e,n),e.parser.subrule(0,u,!1,a,t),e.parser.many(0,{DEF:()=>{e.parser.alternatives(0,l),e.parser.subrule(1,u,!1,c,t)}})}}function hw(e,t,n=!1){let r;if(et(t))r=Tw(e,t);else if(xe(t))r=gw(e,t);else if(De(t))r=hw(e,t.terminal);else if(Ie(t))r=ww(e,t);else if(vt(t))r=_w(e,t);else if(Ce(t))r=bw(e,t);else if(Lt(t))r=xw(e,t);else if(We(t))r=Sw(e,t);else if(Be(t)){let n=e.consume++;r=()=>e.parser.consume(n,ey,t)}else throw new tn(t.$cstNode,`Unexpected element type: ${t.$type}`);return Ew(e,n?void 0:Cw(t),r,t.cardinality)}function gw(e,t){let n=Un(t);return()=>e.parser.action(n,t)}function _w(e,t){let n=t.rule.ref;if(_e(n)){let r=e.subrule++,i=dt(n)&&n.fragment,a=t.arguments.length>0?vw(n,t.arguments):()=>({}),o;return s=>{o??=Dw(e,n),e.parser.subrule(r,o,i,t,a(s))}}else if(Ot(n)){let r=e.consume++,i=kw(e,n.name);return()=>e.parser.consume(r,i,t)}else if(n)nn(n);else throw new tn(t.$cstNode,`Undefined rule: ${t.rule.$refText}`)}function vw(e,t){if(t.some(e=>e.calledByName)){let e=t.map(e=>({parameterName:e.parameter?.ref?.name,predicate:yw(e.value)}));return t=>{let n={};for(let{parameterName:r,predicate:i}of e)r&&(n[r]=i(t));return n}}else{let n=t.map(e=>yw(e.value));return t=>{let r={};for(let i=0;i<n.length;i++)if(i<e.parameters.length){let a=e.parameters[i].name,o=n[i];r[a]=o(t)}return r}}}function yw(e){if(Re(e)){let t=yw(e.left),n=yw(e.right);return e=>t(e)||n(e)}else if(Pe(e)){let t=yw(e.left),n=yw(e.right);return e=>t(e)&&n(e)}else if(at(e)){let t=yw(e.value);return e=>!t(e)}else if(lt(e)){let t=e.parameter.ref.name;return e=>e!==void 0&&e[t]===!0}else if(ke(e)){let t=!!e.true;return()=>t}nn(e)}function bw(e,t){if(t.elements.length===1)return hw(e,t.elements[0]);{let n=[];for(let r of t.elements){let t={ALT:hw(e,r,!0)},i=Cw(r);i&&(t.GATE=yw(i)),n.push(t)}let r=e.or++;return t=>e.parser.alternatives(r,n.map(e=>{let n={ALT:()=>e.ALT(t)},r=e.GATE;return r&&(n.GATE=()=>r(t)),n}))}}function xw(e,t){if(t.elements.length===1)return hw(e,t.elements[0]);let n=[];for(let r of t.elements){let t={ALT:hw(e,r,!0)},i=Cw(r);i&&(t.GATE=yw(i)),n.push(t)}let r=e.or++,i=(e,t)=>`uGroup_${e}_${t.getRuleStack().join(`-`)}`,a=Ew(e,Cw(t),t=>e.parser.alternatives(r,n.map((n,a)=>{let o={ALT:()=>!0},s=e.parser;o.ALT=()=>{if(n.ALT(t),!s.isRecording()){let e=i(r,s);s.unorderedGroups.get(e)||s.unorderedGroups.set(e,[]);let t=s.unorderedGroups.get(e);t?.[a]===void 0&&(t[a]=!0)}};let c=n.GATE;return c?o.GATE=()=>c(t):o.GATE=()=>!s.unorderedGroups.get(i(r,s))?.[a],o})),`*`);return t=>{a(t),e.parser.isRecording()||e.parser.unorderedGroups.delete(i(r,e.parser))}}function Sw(e,t){let n=t.elements.map(t=>hw(e,t));return e=>n.forEach(t=>t(e))}function Cw(e){if(We(e))return e.guardCondition}function ww(e,t,n=t.terminal){if(!n){if(!t.type.ref)throw Error(`Could not resolve reference to type: `+t.type.$refText);let n=Rn(t.type.ref)?.terminal;if(!n)throw Error(`Could not find name assignment for type: `+Un(t.type.ref));return ww(e,t,n)}else if(vt(n)&&dt(n.rule.ref)){let r=n.rule.ref,i=e.subrule++,a;return n=>{a??=Dw(e,r),e.parser.subrule(i,a,!1,t,n)}}else if(vt(n)&&Ot(n.rule.ref)){let r=e.consume++,i=kw(e,n.rule.ref.name);return()=>e.parser.consume(r,i,t)}else if(et(n)){let r=e.consume++,i=kw(e,n.value);return()=>e.parser.consume(r,i,t)}else throw Error(`Could not build cross reference parser`)}function Tw(e,t){let n=e.consume++,r=e.tokens[t.value];if(!r)throw Error(`Could not find token for keyword: `+t.value);return()=>e.parser.consume(n,r,t)}function Ew(e,t,n,r){let i=t&&yw(t);if(!r)if(i){let t=e.or++;return r=>e.parser.alternatives(t,[{ALT:()=>n(r),GATE:()=>i(r)},{ALT:sx(),GATE:()=>!i(r)}])}else return n;if(r===`*`){let t=e.many++;return r=>e.parser.many(t,{DEF:()=>n(r),GATE:i?()=>i(r):void 0})}else if(r===`+`){let t=e.many++;if(i){let r=e.or++;return a=>e.parser.alternatives(r,[{ALT:()=>e.parser.atLeastOne(t,{DEF:()=>n(a)}),GATE:()=>i(a)},{ALT:sx(),GATE:()=>!i(a)}])}else return r=>e.parser.atLeastOne(t,{DEF:()=>n(r)})}else if(r===`?`){let t=e.optional++;return r=>e.parser.optional(t,{DEF:()=>n(r),GATE:i?()=>i(r):void 0})}else nn(r)}function Dw(e,t){let n=Ow(e,t),r=e.parser.getRule(n);if(!r)throw Error(`Rule "${n}" not found."`);return r}function Ow(e,t){if(_e(t))return t.name;if(e.ruleNames.has(t))return e.ruleNames.get(t);{let n=t,r=n.$container,i=t.$type;for(;!dt(r);)(We(r)||Ce(r)||Lt(r))&&(i=r.elements.indexOf(n).toString()+`:`+i),n=r,r=r.$container;return i=r.name+`:`+i,e.ruleNames.set(t,i),i}}function kw(e,t){let n=e.tokens[t];if(!n)throw Error(`Token "${t}" not found."`);return n}function Aw(e){let t=e.Grammar,n=e.parser.Lexer,r=new cw(e);return fw(t,r,n.definition),r.finalize(),r}function jw(e){let t=Mw(e);return t.finalize(),t}function Mw(e){let t=e.Grammar,n=e.parser.Lexer;return fw(t,new aw(e),n.definition)}var Nw=class{constructor(){this.diagnostics=[]}buildTokens(e,t){let n=D(On(e,!1)),r=this.buildTerminalTokens(n),i=this.buildKeywordTokens(n,r,t);return i.push(...r),i}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Ot).filter(e=>!e.fragment).map(e=>this.buildTerminalToken(e)).toArray()}buildTerminalToken(e){let t=Kn(e),n=this.requiresCustomPattern(t)?this.regexPatternFunction(t):t,r={name:e.name,PATTERN:n};return typeof n==`function`&&(r.LINE_BREAKS=!0),e.hidden&&(r.GROUP=Sn(t)?Bv.SKIPPED:`hidden`),r}requiresCustomPattern(e){return!!(e.flags.includes(`u`)||e.flags.includes(`s`))}regexPatternFunction(e){let t=new RegExp(e,e.flags+`y`);return(e,n)=>(t.lastIndex=n,t.exec(e))}buildKeywordTokens(e,t,n){return e.filter(_e).flatMap(e=>k(e).filter(et)).distinct(e=>e.value).toArray().sort((e,t)=>t.value.length-e.value.length).map(e=>this.buildKeywordToken(e,t,!!n?.caseInsensitive))}buildKeywordToken(e,t,n){let r=this.buildKeywordPattern(e,n),i={name:e.value,PATTERN:r,LONGER_ALT:this.findLongerAlt(e,t)};return typeof r==`function`&&(i.LINE_BREAKS=!0),i}buildKeywordPattern(e,t){return t?new RegExp(Cn(e.value),`i`):e.value}findLongerAlt(e,t){return t.reduce((t,n)=>{let r=n?.PATTERN;return r?.source&&wn(`^`+r.source+`$`,e.value)&&t.push(n),t},[])}},Pw=class{convert(e,t){let n=t.grammarSource;if(Ie(n)&&(n=An(n)),vt(n)){let r=n.rule.ref;if(!r)throw Error(`This cst node was not parsed by a rule.`);return this.runConverter(r,e,t)}return e}runConverter(e,t,n){switch(e.name.toUpperCase()){case`INT`:return Fw.convertInt(t);case`STRING`:return Fw.convertString(t);case`ID`:return Fw.convertID(t)}switch(Gn(e)?.toLowerCase()){case`number`:return Fw.convertNumber(t);case`boolean`:return Fw.convertBoolean(t);case`bigint`:return Fw.convertBigint(t);case`date`:return Fw.convertDate(t);default:return t}}},Fw;(function(e){function t(e){let t=``;for(let r=1;r<e.length-1;r++){let i=e.charAt(r);if(i===`\\`){let i=e.charAt(++r);t+=n(i)}else t+=i}return t}e.convertString=t;function n(e){switch(e){case`b`:return`\b`;case`f`:return`\f`;case`n`:return`
|
|
77
|
+
`;case`r`:return`\r`;case`t`:return` `;case`v`:return`\v`;case`0`:return`\0`;default:return e}}function r(e){return e.charAt(0)===`^`?e.substring(1):e}e.convertID=r;function i(e){return parseInt(e)}e.convertInt=i;function a(e){return BigInt(e)}e.convertBigint=a;function o(e){return new Date(e)}e.convertDate=o;function s(e){return Number(e)}e.convertNumber=s;function c(e){return e.toLowerCase()===`true`}e.convertBoolean=c})(Fw||={});var Iw=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t;function n(){if(t===void 0)throw Error(`No runtime abstraction layer installed`);return t}(function(e){function n(e){if(e===void 0)throw Error(`No runtime abstraction layer provided`);t=e}e.install=n})(n||={}),e.default=n})),Lw=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0;function t(e){return e===!0||e===!1}e.boolean=t;function n(e){return typeof e==`string`||e instanceof String}e.string=n;function r(e){return typeof e==`number`||e instanceof Number}e.number=r;function i(e){return e instanceof Error}e.error=i;function a(e){return typeof e==`function`}e.func=a;function o(e){return Array.isArray(e)}e.array=o;function s(e){return o(e)&&e.every(e=>n(e))}e.stringArray=s})),Rw=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.Emitter=e.Event=void 0;var t=Iw(),n;(function(e){let t={dispose(){}};e.None=function(){return t}})(n||(e.Event=n={}));var r=class{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let r=0,i=this._callbacks.length;r<i;r++)if(this._callbacks[r]===e)if(this._contexts[r]===t){this._callbacks.splice(r,1),this._contexts.splice(r,1);return}else n=!0;if(n)throw Error(`When adding a listener with a context, you should remove it with the same context`)}invoke(...e){if(!this._callbacks)return[];let n=[],r=this._callbacks.slice(0),i=this._contexts.slice(0);for(let a=0,o=r.length;a<o;a++)try{n.push(r[a].apply(i[a],e))}catch(e){(0,t.default)().console.error(e)}return n}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},i=class e{constructor(e){this._options=e}get event(){return this._event||=(t,n,i)=>{this._callbacks||=new r,this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(t,n);let a={dispose:()=>{this._callbacks&&(this._callbacks.remove(t,n),a.dispose=e._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(i)&&i.push(a),a},this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&=(this._callbacks.dispose(),void 0)}};e.Emitter=i,i._noop=function(){}})),zw=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.CancellationTokenSource=e.CancellationToken=void 0;var t=Iw(),n=Lw(),r=Rw(),i;(function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:r.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r.Event.None});function t(t){let r=t;return r&&(r===e.None||r===e.Cancelled||n.boolean(r.isCancellationRequested)&&!!r.onCancellationRequested)}e.is=t})(i||(e.CancellationToken=i={}));var a=Object.freeze(function(e,n){let r=(0,t.default)().timer.setTimeout(e.bind(n),0);return{dispose(){r.dispose()}}}),o=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||=new r.Emitter,this._emitter.event)}dispose(){this._emitter&&=(this._emitter.dispose(),void 0)}};e.CancellationTokenSource=class{get token(){return this._token||=new o,this._token}cancel(){this._token?this._token.cancel():this._token=i.Cancelled}dispose(){this._token?this._token instanceof o&&this._token.dispose():this._token=i.None}}})),X=e({});r(X,t(zw(),1));function Bw(){return new Promise(e=>{typeof setImmediate>`u`?setTimeout(e,0):setImmediate(e)})}var Vw=0,Hw=10;function Uw(){return Vw=performance.now(),new X.CancellationTokenSource}var Ww=Symbol(`OperationCancelled`);function Gw(e){return e===Ww}async function Kw(e){if(e===X.CancellationToken.None)return;let t=performance.now();if(t-Vw>=Hw&&(Vw=t,await Bw(),Vw=performance.now()),e.isCancellationRequested)throw Ww}var qw=class{constructor(){this.promise=new Promise((e,t)=>{this.resolve=t=>(e(t),this),this.reject=e=>(t(e),this)})}},Jw=class e{constructor(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(t,n){for(let n of t)if(e.isIncremental(n)){let e=$w(n.range),t=this.offsetAt(e.start),r=this.offsetAt(e.end);this._content=this._content.substring(0,t)+n.text+this._content.substring(r,this._content.length);let i=Math.max(e.start.line,0),a=Math.max(e.end.line,0),o=this._lineOffsets,s=Zw(n.text,!1,t);if(a-i===s.length)for(let e=0,t=s.length;e<t;e++)o[e+i+1]=s[e];else s.length<1e4?o.splice(i+1,a-i,...s):this._lineOffsets=o=o.slice(0,i+1).concat(s,o.slice(a+1));let c=n.text.length-(r-t);if(c!==0)for(let e=i+1+s.length,t=o.length;e<t;e++)o[e]=o[e]+c}else if(e.isFull(n))this._content=n.text,this._lineOffsets=void 0;else throw Error(`Unknown change event received`);this._version=n}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=Zw(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),n=0,r=t.length;if(r===0)return{line:0,character:e};for(;n<r;){let i=Math.floor((n+r)/2);t[i]>e?r=i:n=i+1}let i=n-1;return e=this.ensureBeforeEOL(e,t[i]),{line:i,character:e-t[i]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line];if(e.character<=0)return n;let r=e.line+1<t.length?t[e.line+1]:this._content.length,i=Math.min(n+e.character,r);return this.ensureBeforeEOL(i,n)}ensureBeforeEOL(e,t){for(;e>t&&Qw(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let t=e;return t!=null&&typeof t.text==`string`&&t.range!==void 0&&(t.rangeLength===void 0||typeof t.rangeLength==`number`)}static isFull(e){let t=e;return t!=null&&typeof t.text==`string`&&t.range===void 0&&t.rangeLength===void 0}},Yw;(function(e){function t(e,t,n,r){return new Jw(e,t,n,r)}e.create=t;function n(e,t,n){if(e instanceof Jw)return e.update(t,n),e;throw Error(`TextDocument.update: document must be created by TextDocument.create`)}e.update=n;function r(e,t){let n=e.getText(),r=Xw(t.map(eT),(e,t)=>{let n=e.range.start.line-t.range.start.line;return n===0?e.range.start.character-t.range.start.character:n}),i=0,a=[];for(let t of r){let r=e.offsetAt(t.range.start);if(r<i)throw Error(`Overlapping edit`);r>i&&a.push(n.substring(i,r)),t.newText.length&&a.push(t.newText),i=e.offsetAt(t.range.end)}return a.push(n.substr(i)),a.join(``)}e.applyEdits=r})(Yw||={});function Xw(e,t){if(e.length<=1)return e;let n=e.length/2|0,r=e.slice(0,n),i=e.slice(n);Xw(r,t),Xw(i,t);let a=0,o=0,s=0;for(;a<r.length&&o<i.length;)t(r[a],i[o])<=0?e[s++]=r[a++]:e[s++]=i[o++];for(;a<r.length;)e[s++]=r[a++];for(;o<i.length;)e[s++]=i[o++];return e}function Zw(e,t,n=0){let r=t?[n]:[];for(let t=0;t<e.length;t++){let i=e.charCodeAt(t);Qw(i)&&(i===13&&t+1<e.length&&e.charCodeAt(t+1)===10&&t++,r.push(n+t+1))}return r}function Qw(e){return e===13||e===10}function $w(e){let t=e.start,n=e.end;return t.line>n.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function eT(e){let t=$w(e.range);return t===e.range?e:{newText:e.newText,range:t}}var tT;(()=>{var e={975:e=>{function t(e){if(typeof e!=`string`)throw TypeError(`Path must be a string. Received `+JSON.stringify(e))}function n(e,t){for(var n,r=``,i=0,a=-1,o=0,s=0;s<=e.length;++s){if(s<e.length)n=e.charCodeAt(s);else{if(n===47)break;n=47}if(n===47){if(!(a===s-1||o===1))if(a!==s-1&&o===2){if(r.length<2||i!==2||r.charCodeAt(r.length-1)!==46||r.charCodeAt(r.length-2)!==46){if(r.length>2){var c=r.lastIndexOf(`/`);if(c!==r.length-1){c===-1?(r=``,i=0):i=(r=r.slice(0,c)).length-1-r.lastIndexOf(`/`),a=s,o=0;continue}}else if(r.length===2||r.length===1){r=``,i=0,a=s,o=0;continue}}t&&(r.length>0?r+=`/..`:r=`..`,i=2)}else r.length>0?r+=`/`+e.slice(a+1,s):r=e.slice(a+1,s),i=s-a-1;a=s,o=0}else n===46&&o!==-1?++o:o=-1}return r}var r={resolve:function(){for(var e,r=``,i=!1,a=arguments.length-1;a>=-1&&!i;a--){var o;a>=0?o=arguments[a]:(e===void 0&&(e=process.cwd()),o=e),t(o),o.length!==0&&(r=o+`/`+r,i=o.charCodeAt(0)===47)}return r=n(r,!i),i?r.length>0?`/`+r:`/`:r.length>0?r:`.`},normalize:function(e){if(t(e),e.length===0)return`.`;var r=e.charCodeAt(0)===47,i=e.charCodeAt(e.length-1)===47;return(e=n(e,!r)).length!==0||r||(e=`.`),e.length>0&&i&&(e+=`/`),r?`/`+e:e},isAbsolute:function(e){return t(e),e.length>0&&e.charCodeAt(0)===47},join:function(){if(arguments.length===0)return`.`;for(var e,n=0;n<arguments.length;++n){var i=arguments[n];t(i),i.length>0&&(e===void 0?e=i:e+=`/`+i)}return e===void 0?`.`:r.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n||(e=r.resolve(e))===(n=r.resolve(n)))return``;for(var i=1;i<e.length&&e.charCodeAt(i)===47;++i);for(var a=e.length,o=a-i,s=1;s<n.length&&n.charCodeAt(s)===47;++s);for(var c=n.length-s,l=o<c?o:c,u=-1,d=0;d<=l;++d){if(d===l){if(c>l){if(n.charCodeAt(s+d)===47)return n.slice(s+d+1);if(d===0)return n.slice(s+d)}else o>l&&(e.charCodeAt(i+d)===47?u=d:d===0&&(u=0));break}var f=e.charCodeAt(i+d);if(f!==n.charCodeAt(s+d))break;f===47&&(u=d)}var p=``;for(d=i+u+1;d<=a;++d)d!==a&&e.charCodeAt(d)!==47||(p.length===0?p+=`..`:p+=`/..`);return p.length>0?p+n.slice(s+u):(s+=u,n.charCodeAt(s)===47&&++s,n.slice(s))},_makeLong:function(e){return e},dirname:function(e){if(t(e),e.length===0)return`.`;for(var n=e.charCodeAt(0),r=n===47,i=-1,a=!0,o=e.length-1;o>=1;--o)if((n=e.charCodeAt(o))===47){if(!a){i=o;break}}else a=!1;return i===-1?r?`/`:`.`:r&&i===1?`//`:e.slice(0,i)},basename:function(e,n){if(n!==void 0&&typeof n!=`string`)throw TypeError(`"ext" argument must be a string`);t(e);var r,i=0,a=-1,o=!0;if(n!==void 0&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return``;var s=n.length-1,c=-1;for(r=e.length-1;r>=0;--r){var l=e.charCodeAt(r);if(l===47){if(!o){i=r+1;break}}else c===-1&&(o=!1,c=r+1),s>=0&&(l===n.charCodeAt(s)?--s==-1&&(a=r):(s=-1,a=c))}return i===a?a=c:a===-1&&(a=e.length),e.slice(i,a)}for(r=e.length-1;r>=0;--r)if(e.charCodeAt(r)===47){if(!o){i=r+1;break}}else a===-1&&(o=!1,a=r+1);return a===-1?``:e.slice(i,a)},extname:function(e){t(e);for(var n=-1,r=0,i=-1,a=!0,o=0,s=e.length-1;s>=0;--s){var c=e.charCodeAt(s);if(c!==47)i===-1&&(a=!1,i=s+1),c===46?n===-1?n=s:o!==1&&(o=1):n!==-1&&(o=-1);else if(!a){r=s+1;break}}return n===-1||i===-1||o===0||o===1&&n===i-1&&n===r+1?``:e.slice(n,i)},format:function(e){if(typeof e!=`object`||!e)throw TypeError(`The "pathObject" argument must be of type Object. Received type `+typeof e);return function(e,t){var n=t.dir||t.root,r=t.base||(t.name||``)+(t.ext||``);return n?n===t.root?n+r:n+`/`+r:r}(0,e)},parse:function(e){t(e);var n={root:``,dir:``,base:``,ext:``,name:``};if(e.length===0)return n;var r,i=e.charCodeAt(0),a=i===47;a?(n.root=`/`,r=1):r=0;for(var o=-1,s=0,c=-1,l=!0,u=e.length-1,d=0;u>=r;--u)if((i=e.charCodeAt(u))!==47)c===-1&&(l=!1,c=u+1),i===46?o===-1?o=u:d!==1&&(d=1):o!==-1&&(d=-1);else if(!l){s=u+1;break}return o===-1||c===-1||d===0||d===1&&o===c-1&&o===s+1?c!==-1&&(n.base=n.name=s===0&&a?e.slice(1,c):e.slice(s,c)):(s===0&&a?(n.name=e.slice(1,o),n.base=e.slice(1,c)):(n.name=e.slice(s,o),n.base=e.slice(s,c)),n.ext=e.slice(o,c)),s>0?n.dir=e.slice(0,s-1):a&&(n.dir=`/`),n},sep:`/`,delimiter:`:`,win32:null,posix:null};r.posix=r,e.exports=r}},t={};function n(r){var i=t[r];if(i!==void 0)return i.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{typeof Symbol<`u`&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:`Module`}),Object.defineProperty(e,`__esModule`,{value:!0})};var r={};let i;n.r(r),n.d(r,{URI:()=>u,Utils:()=>ee}),typeof process==`object`?i=process.platform===`win32`:typeof navigator==`object`&&(i=navigator.userAgent.indexOf(`Windows`)>=0);let a=/^\w[\w\d+.-]*$/,o=/^\//,s=/^\/\//;function c(e,t){if(!e.scheme&&t)throw Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!a.test(e.scheme))throw Error(`[UriError]: Scheme contains illegal characters.`);if(e.path){if(e.authority){if(!o.test(e.path))throw Error(`[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character`)}else if(s.test(e.path))throw Error(`[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")`)}}let l=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class u{static isUri(e){return e instanceof u||!!e&&typeof e.authority==`string`&&typeof e.fragment==`string`&&typeof e.path==`string`&&typeof e.query==`string`&&typeof e.scheme==`string`&&typeof e.fsPath==`string`&&typeof e.with==`function`&&typeof e.toString==`function`}scheme;authority;path;query;fragment;constructor(e,t,n,r,i,a=!1){typeof e==`object`?(this.scheme=e.scheme||``,this.authority=e.authority||``,this.path=e.path||``,this.query=e.query||``,this.fragment=e.fragment||``):(this.scheme=function(e,t){return e||t?e:`file`}(e,a),this.authority=t||``,this.path=function(e,t){switch(e){case`https`:case`http`:case`file`:t?t[0]!==`/`&&(t=`/`+t):t=`/`}return t}(this.scheme,n||``),this.query=r||``,this.fragment=i||``,c(this,a))}get fsPath(){return g(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:n,path:r,query:i,fragment:a}=e;return t===void 0?t=this.scheme:t===null&&(t=``),n===void 0?n=this.authority:n===null&&(n=``),r===void 0?r=this.path:r===null&&(r=``),i===void 0?i=this.query:i===null&&(i=``),a===void 0?a=this.fragment:a===null&&(a=``),t===this.scheme&&n===this.authority&&r===this.path&&i===this.query&&a===this.fragment?this:new f(t,n,r,i,a)}static parse(e,t=!1){let n=l.exec(e);return n?new f(n[2]||``,b(n[4]||``),b(n[5]||``),b(n[7]||``),b(n[9]||``),t):new f(``,``,``,``,``)}static file(e){let t=``;if(i&&(e=e.replace(/\\/g,`/`)),e[0]===`/`&&e[1]===`/`){let n=e.indexOf(`/`,2);n===-1?(t=e.substring(2),e=`/`):(t=e.substring(2,n),e=e.substring(n)||`/`)}return new f(`file`,t,e,``,``)}static from(e){let t=new f(e.scheme,e.authority,e.path,e.query,e.fragment);return c(t,!0),t}toString(e=!1){return _(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof u)return e;{let t=new f(e);return t._formatted=e.external,t._fsPath=e._sep===d?e.fsPath:null,t}}return e}}let d=i?1:void 0;class f extends u{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||=g(this,!1),this._fsPath}toString(e=!1){return e?_(this,!0):(this._formatted||=_(this,!1),this._formatted)}toJSON(){let e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=d),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}let p={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 m(e,t,n){let r,i=-1;for(let a=0;a<e.length;a++){let o=e.charCodeAt(a);if(o>=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||o===45||o===46||o===95||o===126||t&&o===47||n&&o===91||n&&o===93||n&&o===58)i!==-1&&(r+=encodeURIComponent(e.substring(i,a)),i=-1),r!==void 0&&(r+=e.charAt(a));else{r===void 0&&(r=e.substr(0,a));let t=p[o];t===void 0?i===-1&&(i=a):(i!==-1&&(r+=encodeURIComponent(e.substring(i,a)),i=-1),r+=t)}}return i!==-1&&(r+=encodeURIComponent(e.substring(i))),r===void 0?e:r}function h(e){let t;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);r===35||r===63?(t===void 0&&(t=e.substr(0,n)),t+=p[r]):t!==void 0&&(t+=e[n])}return t===void 0?e:t}function g(e,t){let n;return n=e.authority&&e.path.length>1&&e.scheme===`file`?`//${e.authority}${e.path}`:e.path.charCodeAt(0)===47&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&e.path.charCodeAt(2)===58?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,i&&(n=n.replace(/\//g,`\\`)),n}function _(e,t){let n=t?h:m,r=``,{scheme:i,authority:a,path:o,query:s,fragment:c}=e;if(i&&(r+=i,r+=`:`),(a||i===`file`)&&(r+=`/`,r+=`/`),a){let e=a.indexOf(`@`);if(e!==-1){let t=a.substr(0,e);a=a.substr(e+1),e=t.lastIndexOf(`:`),e===-1?r+=n(t,!1,!1):(r+=n(t.substr(0,e),!1,!1),r+=`:`,r+=n(t.substr(e+1),!1,!0)),r+=`@`}a=a.toLowerCase(),e=a.lastIndexOf(`:`),e===-1?r+=n(a,!1,!0):(r+=n(a.substr(0,e),!1,!0),r+=a.substr(e))}if(o){if(o.length>=3&&o.charCodeAt(0)===47&&o.charCodeAt(2)===58){let e=o.charCodeAt(1);e>=65&&e<=90&&(o=`/${String.fromCharCode(e+32)}:${o.substr(3)}`)}else if(o.length>=2&&o.charCodeAt(1)===58){let e=o.charCodeAt(0);e>=65&&e<=90&&(o=`${String.fromCharCode(e+32)}:${o.substr(2)}`)}r+=n(o,!0,!1)}return s&&(r+=`?`,r+=n(s,!1,!1)),c&&(r+=`#`,r+=t?c:m(c,!1,!1)),r}function v(e){try{return decodeURIComponent(e)}catch{return e.length>3?e.substr(0,3)+v(e.substr(3)):e}}let y=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function b(e){return e.match(y)?e.replace(y,(e=>v(e))):e}var x=n(975);let S=x.posix||x;var ee;(function(e){e.joinPath=function(e,...t){return e.with({path:S.join(e.path,...t)})},e.resolvePath=function(e,...t){let n=e.path,r=!1;n[0]!==`/`&&(n=`/`+n,r=!0);let i=S.resolve(n,...t);return r&&i[0]===`/`&&!e.authority&&(i=i.substring(1)),e.with({path:i})},e.dirname=function(e){if(e.path.length===0||e.path===`/`)return e;let t=S.dirname(e.path);return t.length===1&&t.charCodeAt(0)===46&&(t=``),e.with({path:t})},e.basename=function(e){return S.basename(e.path)},e.extname=function(e){return S.extname(e.path)}})(ee||={}),tT=r})();var{URI:nT,Utils:rT}=tT,iT;(function(e){e.basename=rT.basename,e.dirname=rT.dirname,e.extname=rT.extname,e.joinPath=rT.joinPath,e.resolvePath=rT.resolvePath;let t=typeof process==`object`&&process?.platform===`win32`;function n(e,t){return e?.toString()===t?.toString()}e.equals=n;function r(e,n){let r=typeof e==`string`?nT.parse(e).path:e.path,i=typeof n==`string`?nT.parse(n).path:n.path,a=r.split(`/`).filter(e=>e.length>0),o=i.split(`/`).filter(e=>e.length>0);if(t){let e=/^[A-Z]:$/;if(a[0]&&e.test(a[0])&&(a[0]=a[0].toLowerCase()),o[0]&&e.test(o[0])&&(o[0]=o[0].toLowerCase()),a[0]!==o[0])return i.substring(1)}let s=0;for(;s<a.length&&a[s]===o[s];s++);return`../`.repeat(a.length-s)+o.slice(s).join(`/`)}e.relative=r;function i(e){return nT.parse(e.toString()).toString()}e.normalize=i;function a(e,t){let n=typeof e==`string`?e:e.path,r=typeof t==`string`?t:t.path;return r.charAt(r.length-1)===`/`&&(r=r.slice(0,-1)),n.charAt(n.length-1)===`/`&&(n=n.slice(0,-1)),r===n?!0:r.length<n.length||r.charAt(n.length)!==`/`?!1:r.startsWith(n)}e.contains=a})(iT||={});var aT=class{constructor(){this.root={name:``,children:new Map}}normalizeUri(e){return iT.normalize(e)}clear(){this.root.children.clear()}insert(e,t){let n=this.getNode(this.normalizeUri(e),!0);n.element=t}delete(e){let t=this.getNode(this.normalizeUri(e),!1);t?.parent&&t.parent.children.delete(t.name)}has(e){return this.getNode(this.normalizeUri(e),!1)?.element!==void 0}hasNode(e){return this.getNode(this.normalizeUri(e),!1)!==void 0}find(e){return this.getNode(this.normalizeUri(e),!1)?.element}findNode(e){let t=this.normalizeUri(e),n=this.getNode(t,!1);if(n)return{name:n.name,uri:iT.joinPath(nT.parse(t),n.name).toString(),element:n.element}}findChildren(e){let t=this.normalizeUri(e),n=this.getNode(t,!1);return n?Array.from(n.children.values()).map(e=>({name:e.name,uri:iT.joinPath(nT.parse(t),e.name).toString(),element:e.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let t=this.getNode(iT.normalize(e),!1);return t?this.collectValues(t):[]}getNode(e,t){let n=e.split(`/`);e.charAt(e.length-1)===`/`&&n.pop();let r=this.root;for(let e of n){let n=r.children.get(e);if(!n)if(t)n={name:e,children:new Map,parent:r},r.children.set(e,n);else return;r=n}return r}collectValues(e){let t=[];e.element&&t.push(e.element);for(let n of e.children.values())t.push(...this.collectValues(n));return t}},Z;(function(e){e[e.Changed=0]=`Changed`,e[e.Parsed=1]=`Parsed`,e[e.IndexedContent=2]=`IndexedContent`,e[e.ComputedScopes=3]=`ComputedScopes`,e[e.Linked=4]=`Linked`,e[e.IndexedReferences=5]=`IndexedReferences`,e[e.Validated=6]=`Validated`})(Z||={});var oT=class{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,t=X.CancellationToken.None){let n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,t)}fromTextDocument(e,t,n){return t??=nT.parse(e.uri),X.CancellationToken.is(n)?this.createAsync(t,e,n):this.create(t,e,n)}fromString(e,t,n){return X.CancellationToken.is(n)?this.createAsync(t,e,n):this.create(t,e,n)}fromModel(e,t){return this.create(t,{$model:e})}create(e,t,n){if(typeof t==`string`){let r=this.parse(e,t,n);return this.createLangiumDocument(r,e,void 0,t)}else if(`$model`in t){let n={value:t.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(n,e)}else{let r=this.parse(e,t.getText(),n);return this.createLangiumDocument(r,e,t)}}async createAsync(e,t,n){if(typeof t==`string`){let r=await this.parseAsync(e,t,n);return this.createLangiumDocument(r,e,void 0,t)}else{let r=await this.parseAsync(e,t.getText(),n);return this.createLangiumDocument(r,e,t)}}createLangiumDocument(e,t,n,r){let i;if(n)i={parseResult:e,uri:t,state:Z.Parsed,references:[],textDocument:n};else{let n=this.createTextDocumentGetter(t,r);i={parseResult:e,uri:t,state:Z.Parsed,references:[],get textDocument(){return n()}}}return e.value.$document=i,i}async update(e,t){let n=e.parseResult.value.$cstNode?.root.fullText,r=this.textDocuments?.get(e.uri.toString()),i=r?r.getText():await this.fileSystemProvider.readFile(e.uri);if(r)Object.defineProperty(e,`textDocument`,{value:r});else{let t=this.createTextDocumentGetter(e.uri,i);Object.defineProperty(e,`textDocument`,{get:t})}return n!==i&&(e.parseResult=await this.parseAsync(e.uri,i,t),e.parseResult.value.$document=e),e.state=Z.Parsed,e}parse(e,t,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(t,n)}parseAsync(e,t,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(t,n)}createTextDocumentGetter(e,t){let n=this.serviceRegistry,r;return()=>r??=Yw.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,t??``)}},sT=class{constructor(e){this.documentTrie=new aT,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return D(this.documentTrie.all())}addDocument(e){let t=e.uri.toString();if(this.documentTrie.has(t))throw Error(`A document with the URI '${t}' is already present.`);this.documentTrie.insert(t,e)}getDocument(e){let t=e.toString();return this.documentTrie.find(t)}getDocuments(e){let t=e.toString();return this.documentTrie.findAll(t)}async getOrCreateDocument(e,t){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,t),this.addDocument(n),n)}createDocument(e,t,n){if(n)return this.langiumDocumentFactory.fromString(t,e,n).then(e=>(this.addDocument(e),e));{let n=this.langiumDocumentFactory.fromString(t,e);return this.addDocument(n),n}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let t=e.toString(),n=this.documentTrie.find(t);return n&&this.documentBuilder().resetToState(n,Z.Changed),n}deleteDocument(e){let t=e.toString(),n=this.documentTrie.find(t);return n&&(n.state=Z.Changed,this.documentTrie.delete(t)),n}deleteDocuments(e){let t=e.toString(),n=this.documentTrie.findAll(t);for(let e of n)e.state=Z.Changed;return this.documentTrie.delete(t),n}},cT=Symbol(`RefResolving`),lT=class{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,t=X.CancellationToken.None){if(this.profiler?.isActive(`linking`)){let n=this.profiler.createTask(`linking`,this.languageId);n.start();try{for(let r of ue(e.parseResult.value))await Kw(t),de(r).forEach(t=>{let i=`${r.$type}:${t.property}`;n.startSubTask(i);try{this.doLink(t,e)}finally{n.stopSubTask(i)}})}finally{n.stop()}}else for(let n of ue(e.parseResult.value))await Kw(t),de(n).forEach(t=>this.doLink(t,e))}doLink(e,t){let n=e.reference;if(`_ref`in n&&n._ref===void 0){n._ref=cT;try{let t=this.getCandidate(e);b(t)?n._ref=t:(n._nodeDescription=t,n._ref=this.loadAstNode(t)??this.createLinkingError(e,t))}catch(t){console.error(`An error occurred while resolving reference to '${n.$refText}':`,t);let r=t.message??String(t);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${r}`}}t.references.push(n)}else if(`_items`in n&&n._items===void 0){n._items=cT;try{let t=this.getCandidates(e),r=[];if(b(t))n._linkingError=t;else for(let e of t){let t=this.loadAstNode(e);t&&r.push({ref:t,$nodeDescription:e})}n._items=r}catch(t){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${t}`},n._items=[]}t.references.push(n)}}unlink(e){for(let t of e.references)`_ref`in t?(t._ref=void 0,delete t._nodeDescription):`_items`in t&&(t._items=void 0,delete t._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let t=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(e=>`${e.documentUri}#${e.path}`).toArray();return t.length>0?t:this.createLinkingError(e)}buildReference(e,t,n,r){let i=this,a={$refNode:n,$refText:r,_ref:void 0,get ref(){if(g(this._ref))return this._ref;if(y(this._nodeDescription))this._ref=i.loadAstNode(this._nodeDescription)??i.createLinkingError({reference:a,container:e,property:t},this._nodeDescription);else if(this._ref===void 0){this._ref=cT;let n=se(e).$document,r=i.getLinkedNode({reference:a,container:e,property:t});if(r.error&&n&&n.state<Z.ComputedScopes){this._ref=void 0;return}this._ref=r.node??r.error,this._nodeDescription=r.descr,n?.references.push(this)}else this._ref===cT&&i.throwCyclicReferenceError(e,t,r);return g(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return b(this._ref)?this._ref:void 0}};return a}buildMultiReference(e,t,n,r){let i=this,a={$refNode:n,$refText:r,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(this._items===void 0){this._items=cT;let n=se(e).$document,r=i.getCandidates({reference:a,container:e,property:t}),o=[];if(b(r))this._linkingError=r;else for(let e of r){let t=i.loadAstNode(e);t&&o.push({ref:t,$nodeDescription:e})}this._items=o,n?.references.push(this)}else this._items===cT&&i.throwCyclicReferenceError(e,t,r);return Array.isArray(this._items)?this._items:[]},get error(){if(this._linkingError)return this._linkingError;if(!(this.items.length>0))return this._linkingError=i.createLinkingError({reference:a,container:e,property:t})}};return a}throwCyclicReferenceError(e,t,n){throw Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${t} (symbol '${n}')`)}getLinkedNode(e){try{let t=this.getCandidate(e);if(b(t))return{error:t};let n=this.loadAstNode(t);return n?{node:n,descr:t}:{descr:t,error:this.createLinkingError(e,t)}}catch(t){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,t);let n=t.message??String(t);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;let t=this.langiumDocuments().getDocument(e.documentUri);if(t)return this.astNodeLocator.getAstNode(t.parseResult.value,e.path)}createLinkingError(e,t){let n=se(e.container).$document;return n&&n.state<Z.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${n.uri}).`),{info:e,message:`Could not resolve reference to ${this.reflection.getReferenceType(e)} named '${e.reference.$refText}'.`,targetDescription:t}}};function uT(e){return typeof e.name==`string`}var dT=class{getName(e){if(uT(e))return e.name}getNameNode(e){return Nn(e.$cstNode,`name`)}},fT=class{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator,this.documents=e.shared.workspace.LangiumDocuments,this.hasMultiReference=ue(e.Grammar).some(e=>Ie(e)&&e.isMulti)}findDeclarations(e){if(e){let t=Ln(e),n=e.astNode;if(t&&n){let r=n[t.feature];if(_(r)||v(r))return ce(r);if(Array.isArray(r)){for(let t of r)if((_(t)||v(t))&&t.$refNode&&t.$refNode.offset<=e.offset&&t.$refNode.end>=e.end)return ce(t)}}if(n){let t=this.nameProvider.getNameNode(n);if(t&&(t===e||Gt(e,t)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){let t=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(t.head());if(n){for(let t of de(n))if(v(t.reference)&&t.reference.items.some(t=>t.ref===e))return t.reference.items.map(e=>e.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;let t=this.documents.getDocument(e.sourceUri);if(t)return this.nodeLocator.getAstNode(t.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let t=this.findDeclarations(e),n=[];for(let e of t){let t=this.nameProvider.getNameNode(e)??e.$cstNode;t&&n.push(t)}return n}findReferences(e,t){let n=[];t.includeDeclaration&&n.push(...this.getSelfReferences(e));let r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return t.documentUri&&(r=r.filter(e=>iT.equals(e.sourceUri,t.documentUri))),n.push(...r),D(n)}getSelfReferences(e){let t=this.getSelfNodes(e),n=[];for(let e of t){let t=this.nameProvider.getNameNode(e);if(t){let r=O(e),i=this.nodeLocator.getAstNodePath(e);n.push({sourceUri:r.uri,sourcePath:i,targetUri:r.uri,targetPath:i,segment:qt(t),local:!0})}}return n}},pT=class{constructor(e){if(this.map=new Map,e)for(let[t,n]of e)this.add(t,n)}get size(){return ie.sum(D(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,t){if(t===void 0)return this.map.delete(e);{let n=this.map.get(e);if(n){let r=n.indexOf(t);if(r>=0)return n.length===1?this.map.delete(e):n.splice(r,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){let t=this.map.get(e);return t?D(t):ne}has(e,t){if(t===void 0)return this.map.has(e);{let n=this.map.get(e);return n?n.indexOf(t)>=0:!1}}add(e,t){return this.map.has(e)?this.map.get(e).push(t):this.map.set(e,[t]),this}addAll(e,t){return this.map.has(e)?this.map.get(e).push(...t):this.map.set(e,Array.from(t)),this}forEach(e){this.map.forEach((t,n)=>t.forEach(t=>e(t,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return D(this.map.entries()).flatMap(([e,t])=>t.map(t=>[e,t]))}keys(){return D(this.map.keys())}values(){return D(this.map.values()).flat()}entriesGroupedByKey(){return D(this.map.entries())}},mT=class{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[t,n]of e)this.set(t,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,t){return this.map.set(e,t),this.inverse.set(t,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let t=this.map.get(e);return t===void 0?!1:(this.map.delete(e),this.inverse.delete(t),!0)}},hT=class{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,t=X.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,t)}async collectExportedSymbolsForNode(e,t,n=le,r=X.CancellationToken.None){let i=[];this.addExportedSymbol(e,i,t);for(let a of n(e))await Kw(r),this.addExportedSymbol(a,i,t);return i}addExportedSymbol(e,t,n){let r=this.nameProvider.getName(e);r&&t.push(this.descriptions.createDescription(e,r,n))}async collectLocalSymbols(e,t=X.CancellationToken.None){let n=e.parseResult.value,r=new pT;for(let i of k(n))await Kw(t),this.addLocalSymbol(i,e,r);return r}addLocalSymbol(e,t,n){let r=e.$container;if(r){let i=this.nameProvider.getName(e);i&&n.add(r,this.descriptions.createDescription(e,i,t))}}},gT=class{constructor(e,t,n){this.elements=e,this.outerScope=t,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(e=>e.name.toLowerCase()===t):this.elements.find(t=>t.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(e=>e.name.toLowerCase()===t):this.elements.filter(t=>t.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}},_T=class{constructor(e,t,n){this.elements=new pT,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let t of e){let e=this.caseInsensitive?t.name.toLowerCase():t.name;this.elements.add(e,t)}this.outerScope=t}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(t)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(t);return(this.concatOuterScope||n.length===0)&&this.outerScope?D(n).concat(this.outerScope.getElements(e)):D(n)}getAllElements(){let e=D(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},vT=class{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw Error(`This cache has already been disposed`)}},yT=class extends vT{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,t){this.throwIfDisposed(),this.cache.set(e,t)}get(e,t){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(t){let n=t();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},bT=class extends vT{constructor(e){super(),this.cache=new Map,this.converter=e??(e=>e)}has(e,t){return this.throwIfDisposed(),this.cacheForContext(e).has(t)}set(e,t,n){this.throwIfDisposed(),this.cacheForContext(e).set(t,n)}get(e,t,n){this.throwIfDisposed();let r=this.cacheForContext(e);if(r.has(t))return r.get(t);if(n){let e=n();return r.set(t,e),e}else return}delete(e,t){return this.throwIfDisposed(),this.cacheForContext(e).delete(t)}clear(e){if(this.throwIfDisposed(),e){let t=this.converter(e);this.cache.delete(t)}else this.cache.clear()}cacheForContext(e){let t=this.converter(e),n=this.cache.get(t);return n||(n=new Map,this.cache.set(t,n)),n}},xT=class extends yT{constructor(e,t){super(),t?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(t,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((e,t)=>{t.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}},ST=class{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new xT(e.shared)}getScope(e){let t=[],n=this.reflection.getReferenceType(e),r=O(e.container).localSymbols;if(r){let i=e.container;do r.has(i)&&t.push(r.getStream(i).filter(e=>this.reflection.isSubtype(e.type,n))),i=i.$container;while(i)}let i=this.getGlobalScope(n,e);for(let e=t.length-1;e>=0;e--)i=this.createScope(t[e],i);return i}createScope(e,t,n){return new gT(D(e),t,n)}createScopeForNodes(e,t,n){return new gT(D(e).map(e=>{let t=this.nameProvider.getName(e);if(t)return this.descriptions.createDescription(e,t)}).nonNullable(),t,n)}getGlobalScope(e,t){return this.globalScopeCache.get(e,()=>new _T(this.indexManager.allElements(e)))}};function CT(e){return typeof e.$comment==`string`}function wT(e){return typeof e==`object`&&!!e&&(`$ref`in e||`$error`in e)}var TT=class{constructor(e){this.ignoreProperties=new Set([`$container`,`$containerProperty`,`$containerIndex`,`$document`,`$cstNode`]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,t){let n=t??{},r=t?.replacer,i=(e,t)=>this.replacer(e,t,n),a=r?(e,t)=>r(e,t,i):i;try{return this.currentDocument=O(e),JSON.stringify(e,a,t?.space)}finally{this.currentDocument=void 0}}deserialize(e,t){let n=t??{},r=JSON.parse(e);return this.linkNode(r,r,n),r}replacer(e,t,{refText:n,sourceText:r,textRegions:i,comments:a,uriConverter:o}){if(!this.ignoreProperties.has(e))if(_(t)){let e=t.ref,r=n?t.$refText:void 0;if(e){let t=O(e),n=``;this.currentDocument&&this.currentDocument!==t&&(n=o?o(t.uri,e):t.uri.toString());let i=this.astNodeLocator.getAstNodePath(e);return{$ref:`${n}#${i}`,$refText:r}}else return{$error:t.error?.message??`Could not resolve reference`,$refText:r}}else if(v(t)){let e=n?t.$refText:void 0,r=[];for(let e of t.items){let t=e.ref,n=O(e.ref),i=``;this.currentDocument&&this.currentDocument!==n&&(i=o?o(n.uri,t):n.uri.toString());let a=this.astNodeLocator.getAstNodePath(t);r.push(`${i}#${a}`)}return{$refs:r,$refText:e}}else if(g(t)){let n;if(i&&(n=this.addAstNodeRegionWithAssignmentsTo({...t}),(!e||t.$document)&&n?.$textRegion&&(n.$textRegion.documentURI=this.currentDocument?.uri.toString())),r&&!e&&(n??={...t},n.$sourceText=t.$cstNode?.text),a){n??={...t};let e=this.commentProvider.getComment(t);e&&(n.$comment=e.replace(/\r/g,``))}return n??t}else return t}addAstNodeRegionWithAssignmentsTo(e){let t=e=>({offset:e.offset,end:e.end,length:e.length,range:e.range});if(e.$cstNode){let n=e.$textRegion=t(e.$cstNode),r=n.assignments={};return Object.keys(e).filter(e=>!e.startsWith(`$`)).forEach(n=>{let i=Mn(e.$cstNode,n).map(t);i.length!==0&&(r[n]=i)}),e}}linkNode(e,t,n,r,i,a){for(let[r,i]of Object.entries(e))if(Array.isArray(i))for(let a=0;a<i.length;a++){let o=i[a];wT(o)?i[a]=this.reviveReference(e,r,t,o,n):g(o)&&this.linkNode(o,t,n,e,r,a)}else wT(i)?e[r]=this.reviveReference(e,r,t,i,n):g(i)&&this.linkNode(i,t,n,e,r);let o=e;o.$container=r,o.$containerProperty=i,o.$containerIndex=a}reviveReference(e,t,n,r,i){let a=r.$refText,o=r.$error,s;if(r.$ref){let e=this.getRefNode(n,r.$ref,i.uriConverter);if(g(e))return a||=this.nameProvider.getName(e),{$refText:a??``,ref:e};o=e}else if(r.$refs){let e=[];for(let t of r.$refs){let r=this.getRefNode(n,t,i.uriConverter);g(r)&&e.push({ref:r})}if(e.length===0)s={$refText:a??``,items:e},o??=`Could not resolve multi-reference`;else return{$refText:a??``,items:e}}if(o)return s??={$refText:a??``,ref:void 0},s.error={info:{container:e,property:t,reference:s},message:o},s}getRefNode(e,t,n){try{let r=t.indexOf(`#`);if(r===0)return this.astNodeLocator.getAstNode(e,t.substring(1))||`Could not resolve path: `+t;if(r<0){let e=n?n(t):nT.parse(t),r=this.langiumDocuments.getDocument(e);return r?r.parseResult.value:`Could not find document for URI: `+t}let i=n?n(t.substring(0,r)):nT.parse(t.substring(0,r)),a=this.langiumDocuments.getDocument(i);return a?r===t.length-1?a.parseResult.value:this.astNodeLocator.getAstNode(a.parseResult.value,t.substring(r+1))||`Could not resolve URI: `+t:`Could not find document for URI: `+t}catch(e){return String(e)}}},ET=class{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){let t=e.LanguageMetaData;for(let n of t.fileExtensions)this.fileExtensionMap.has(n)&&console.warn(`The file extension ${n} is used by multiple languages. It is now assigned to '${t.languageId}'.`),this.fileExtensionMap.set(n,e);if(t.fileNames)for(let n of t.fileNames)this.fileNameMap.has(n)&&console.warn(`The file name ${n} is used by multiple languages. It is now assigned to '${t.languageId}'.`),this.fileNameMap.set(n,e);this.languageIdMap.set(t.languageId,e)}getServices(e){if(this.languageIdMap.size===0)throw Error("The service registry is empty. Use `register` to register the services of a language.");let t=this.textDocuments?.get(e)?.languageId;if(t!==void 0){let e=this.languageIdMap.get(t);if(e)return e}let n=iT.extname(e),r=iT.basename(e),i=this.fileNameMap.get(r)??this.fileExtensionMap.get(n);if(!i)throw t?Error(`The service registry contains no services for the extension '${n}' for language '${t}'.`):Error(`The service registry contains no services for the extension '${n}'.`);return i}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}};function DT(e){return{code:e}}var OT;(function(e){e.defaults=[`fast`,`slow`,`built-in`],e.all=e.defaults})(OT||={});var kT=class{constructor(e){this.entries=new pT,this.knownCategories=new Set(OT.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,t=this,n=`fast`){if(n===`built-in`)throw Error(`The 'built-in' category is reserved for lexer, parser, and linker errors.`);this.knownCategories.add(n);for(let[r,i]of Object.entries(e)){let e=i;if(Array.isArray(e))for(let i of e){let e={check:this.wrapValidationException(i,t),category:n};this.addEntry(r,e)}else if(typeof e==`function`){let i={check:this.wrapValidationException(e,t),category:n};this.addEntry(r,i)}else nn(e)}}wrapValidationException(e,t){return async(n,r,i)=>{await this.handleException(()=>e.call(t,n,r,i),`An error occurred during validation`,r,n)}}async handleException(e,t,n,r){try{await e()}catch(e){if(Gw(e))throw e;console.error(`${t}:`,e),e instanceof Error&&e.stack&&console.error(e.stack),n(`error`,`${t}: ${e instanceof Error?e.message:String(e)}`,{node:r})}}addEntry(e,t){if(e===`AstNode`){this.entries.add(`AstNode`,t);return}for(let n of this.reflection.getAllSubTypes(e))this.entries.add(n,t)}getChecks(e,t){let n=D(this.entries.get(e)).concat(this.entries.get(`AstNode`));return t&&(n=n.filter(e=>t.includes(e.category))),n.map(e=>e.check)}registerBeforeDocument(e,t=this){this.entriesBefore.push(this.wrapPreparationException(e,`An error occurred during set-up of the validation`,t))}registerAfterDocument(e,t=this){this.entriesAfter.push(this.wrapPreparationException(e,`An error occurred during tear-down of the validation`,t))}wrapPreparationException(e,t,n){return async(r,i,a,o)=>{await this.handleException(()=>e.call(n,r,i,a,o),t,i,r)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}},AT=Object.freeze({validateNode:!0,validateChildren:!0}),jT=class{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,t={},n=X.CancellationToken.None){let r=e.parseResult,i=[];if(await Kw(n),(!t.categories||t.categories.includes(`built-in`))&&(this.processLexingErrors(r,i,t),t.stopAfterLexingErrors&&i.some(e=>e.data?.code===FT.LexingError)||(this.processParsingErrors(r,i,t),t.stopAfterParsingErrors&&i.some(e=>e.data?.code===FT.ParsingError))||(this.processLinkingErrors(e,i,t),t.stopAfterLinkingErrors&&i.some(e=>e.data?.code===FT.LinkingError))))return i;try{i.push(...await this.validateAst(r.value,t,n))}catch(e){if(Gw(e))throw e;console.error(`An error occurred during validation:`,e)}return await Kw(n),i}processLexingErrors(e,t,n){let r=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(let e of r){let n=e.severity??`error`,r={severity:NT(n),range:{start:{line:e.line-1,character:e.column-1},end:{line:e.line-1,character:e.column+e.length-1}},message:e.message,data:PT(n),source:this.getSource()};t.push(r)}}processParsingErrors(e,t,n){for(let n of e.parserErrors){let e;if(isNaN(n.token.startOffset)){if(`previousToken`in n){let t=n.previousToken;if(isNaN(t.startOffset)){let t={line:0,character:0};e={start:t,end:t}}else{let n={line:t.endLine-1,character:t.endColumn};e={start:n,end:n}}}}else e=Kt(n.token);if(e){let r={severity:NT(`error`),range:e,message:n.message,data:DT(FT.ParsingError),source:this.getSource()};t.push(r)}}}processLinkingErrors(e,t,n){for(let n of e.references){let e=n.error;if(e){let r={node:e.info.container,range:n.$refNode?.range,property:e.info.property,index:e.info.index,data:{code:FT.LinkingError,containerType:e.info.container.$type,property:e.info.property,refText:e.info.reference.$refText}};t.push(this.toDiagnostic(`error`,e.message,r))}}}async validateAst(e,t,n=X.CancellationToken.None){let r=[],i=(e,t,n)=>{r.push(this.toDiagnostic(e,t,n))};return await this.validateAstBefore(e,t,i,n),await this.validateAstNodes(e,t,i,n),await this.validateAstAfter(e,t,i,n),r}async validateAstBefore(e,t,n,r=X.CancellationToken.None){let i=this.validationRegistry.checksBefore;for(let a of i)await Kw(r),await a(e,n,t.categories??[],r)}async validateAstNodes(e,t,n,r=X.CancellationToken.None){if(this.profiler?.isActive(`validating`)){let i=this.profiler.createTask(`validating`,this.languageId);i.start();try{let a=ue(e).iterator();for(let e of a){i.startSubTask(e.$type);let o=this.validateSingleNodeOptions(e,t);if(o.validateNode)try{let i=this.validationRegistry.getChecks(e.$type,t.categories);for(let t of i)await t(e,n,r)}finally{i.stopSubTask(e.$type)}o.validateChildren||a.prune()}}finally{i.stop()}}else{let i=ue(e).iterator();for(let e of i){await Kw(r);let a=this.validateSingleNodeOptions(e,t);if(a.validateNode){let i=this.validationRegistry.getChecks(e.$type,t.categories);for(let t of i)await t(e,n,r)}a.validateChildren||i.prune()}}}validateSingleNodeOptions(e,t){return AT}async validateAstAfter(e,t,n,r=X.CancellationToken.None){let i=this.validationRegistry.checksAfter;for(let a of i)await Kw(r),await a(e,n,t.categories??[],r)}toDiagnostic(e,t,n){return{message:t,range:MT(n),severity:NT(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};function MT(e){if(e.range)return e.range;let t;return typeof e.property==`string`?t=Nn(e.node.$cstNode,e.property,e.index):typeof e.keyword==`string`&&(t=Fn(e.node.$cstNode,e.keyword,e.index)),t??=e.node.$cstNode,t?t.range:{start:{line:0,character:0},end:{line:0,character:0}}}function NT(e){switch(e){case`error`:return 1;case`warning`:return 2;case`info`:return 3;case`hint`:return 4;default:throw Error(`Invalid diagnostic severity: `+e)}}function PT(e){switch(e){case`error`:return DT(FT.LexingError);case`warning`:return DT(FT.LexingWarning);case`info`:return DT(FT.LexingInfo);case`hint`:return DT(FT.LexingHint);default:throw Error(`Invalid diagnostic severity: `+e)}}var FT;(function(e){e.LexingError=`lexing-error`,e.LexingWarning=`lexing-warning`,e.LexingInfo=`lexing-info`,e.LexingHint=`lexing-hint`,e.ParsingError=`parsing-error`,e.LinkingError=`linking-error`})(FT||={});var IT=class{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,t,n){let r=n??O(e);t??=this.nameProvider.getName(e);let i=this.astNodeLocator.getAstNodePath(e);if(!t)throw Error(`Node at path ${i} has no name.`);let a,o=()=>a??=qt(this.nameProvider.getNameNode(e)??e.$cstNode);return{node:e,name:t,get nameSegment(){return o()},selectionSegment:qt(e.$cstNode),type:e.$type,documentUri:r.uri,path:i}}},LT=class{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,t=X.CancellationToken.None){let n=[],r=e.parseResult.value;for(let e of ue(r))await Kw(t),de(e).forEach(e=>{e.reference.error||n.push(...this.createInfoDescriptions(e))});return n}createInfoDescriptions(e){let t=e.reference;if(t.error||!t.$refNode)return[];let n=[];_(t)&&t.$nodeDescription?n=[t.$nodeDescription]:v(t)&&(n=t.items.map(e=>e.$nodeDescription).filter(e=>e!==void 0));let r=O(e.container).uri,i=this.nodeLocator.getAstNodePath(e.container),a=[],o=qt(t.$refNode);for(let e of n)a.push({sourceUri:r,sourcePath:i,targetUri:e.documentUri,targetPath:e.path,segment:o,local:iT.equals(e.documentUri,r)});return a}},RT=class{constructor(){this.segmentSeparator=`/`,this.indexSeparator=`@`}getAstNodePath(e){if(e.$container){let t=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return t+this.segmentSeparator+n}return``}getPathSegment({$containerProperty:e,$containerIndex:t}){if(!e)throw Error(`Missing '$containerProperty' in AST node.`);return t===void 0?e:e+this.indexSeparator+t}getAstNode(e,t){return t.split(this.segmentSeparator).reduce((e,t)=>{if(!e||t.length===0)return e;let n=t.indexOf(this.indexSeparator);if(n>0){let r=t.substring(0,n),i=parseInt(t.substring(n+1));return e[r]?.[i]}return e[t]},e)}},zT=e({});r(zT,t(Rw(),1));var BT=class{constructor(e){this._ready=new qw,this.onConfigurationSectionUpdateEmitter=new zT.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){let t=this.serviceRegistry.all;e.register({section:t.map(e=>this.toSectionName(e.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let t=this.serviceRegistry.all.map(e=>({section:this.toSectionName(e.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(t);t.forEach((e,t)=>{this.updateSectionConfiguration(e.section,n[t])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!=`object`||e.settings===null||Object.entries(e.settings).forEach(([e,t])=>{this.updateSectionConfiguration(e,t),this.onConfigurationSectionUpdateEmitter.fire({section:e,configuration:t})})}updateSectionConfiguration(e,t){this.settings[e]=t}async getConfiguration(e,t){await this.ready;let n=this.toSectionName(e);if(this.settings[n])return this.settings[n][t]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}},VT=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.Message=e.NotificationType9=e.NotificationType8=e.NotificationType7=e.NotificationType6=e.NotificationType5=e.NotificationType4=e.NotificationType3=e.NotificationType2=e.NotificationType1=e.NotificationType0=e.NotificationType=e.RequestType9=e.RequestType8=e.RequestType7=e.RequestType6=e.RequestType5=e.RequestType4=e.RequestType3=e.RequestType2=e.RequestType1=e.RequestType=e.RequestType0=e.AbstractMessageSignature=e.ParameterStructures=e.ResponseError=e.ErrorCodes=void 0;var t=Lw(),n;(function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=-32099,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.PendingResponseRejected=-32097,e.ConnectionInactive=-32096,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=-32e3})(n||(e.ErrorCodes=n={})),e.ResponseError=class e extends Error{constructor(r,i,a){super(i),this.code=t.number(r)?r:n.UnknownErrorCode,this.data=a,Object.setPrototypeOf(this,e.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};var r=class e{constructor(e){this.kind=e}static is(t){return t===e.auto||t===e.byName||t===e.byPosition}toString(){return this.kind}};e.ParameterStructures=r,r.auto=new r(`auto`),r.byPosition=new r(`byPosition`),r.byName=new r(`byName`);var i=class{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return r.auto}};e.AbstractMessageSignature=i,e.RequestType0=class extends i{constructor(e){super(e,0)}},e.RequestType=class extends i{constructor(e,t=r.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.RequestType1=class extends i{constructor(e,t=r.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.RequestType2=class extends i{constructor(e){super(e,2)}},e.RequestType3=class extends i{constructor(e){super(e,3)}},e.RequestType4=class extends i{constructor(e){super(e,4)}},e.RequestType5=class extends i{constructor(e){super(e,5)}},e.RequestType6=class extends i{constructor(e){super(e,6)}},e.RequestType7=class extends i{constructor(e){super(e,7)}},e.RequestType8=class extends i{constructor(e){super(e,8)}},e.RequestType9=class extends i{constructor(e){super(e,9)}},e.NotificationType=class extends i{constructor(e,t=r.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.NotificationType0=class extends i{constructor(e){super(e,0)}},e.NotificationType1=class extends i{constructor(e,t=r.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},e.NotificationType2=class extends i{constructor(e){super(e,2)}},e.NotificationType3=class extends i{constructor(e){super(e,3)}},e.NotificationType4=class extends i{constructor(e){super(e,4)}},e.NotificationType5=class extends i{constructor(e){super(e,5)}},e.NotificationType6=class extends i{constructor(e){super(e,6)}},e.NotificationType7=class extends i{constructor(e){super(e,7)}},e.NotificationType8=class extends i{constructor(e){super(e,8)}},e.NotificationType9=class extends i{constructor(e){super(e,9)}};var a;(function(e){function n(e){let n=e;return n&&t.string(n.method)&&(t.string(n.id)||t.number(n.id))}e.isRequest=n;function r(e){let n=e;return n&&t.string(n.method)&&e.id===void 0}e.isNotification=r;function i(e){let n=e;return n&&(n.result!==void 0||!!n.error)&&(t.string(n.id)||t.number(n.id)||n.id===null)}e.isResponse=i})(a||(e.Message=a={}))})),HT=i((e=>{var t;Object.defineProperty(e,`__esModule`,{value:!0}),e.LRUCache=e.LinkedMap=e.Touch=void 0;var n;(function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last})(n||(e.Touch=n={}));var r=class{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(e){return this._map.has(e)}get(e,t=n.None){let r=this._map.get(e);if(r)return t!==n.None&&this.touch(r,t),r.value}set(e,t,r=n.None){let i=this._map.get(e);if(i)i.value=t,r!==n.None&&this.touch(i,r);else{switch(i={key:e,value:t,next:void 0,previous:void 0},r){case n.None:this.addItemLast(i);break;case n.First:this.addItemFirst(i);break;case n.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw Error(`Invalid list`);let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){let n=this._state,r=this._head;for(;r;){if(t?e.bind(t)(r.value,r.key,this):e(r.value,r.key,this),this._state!==n)throw Error(`LinkedMap got modified during iteration.`);r=r.next}}keys(){let e=this._state,t=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw Error(`LinkedMap got modified during iteration.`);if(t){let e={value:t.key,done:!1};return t=t.next,e}else return{value:void 0,done:!0}}};return n}values(){let e=this._state,t=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw Error(`LinkedMap got modified during iteration.`);if(t){let e={value:t.value,done:!1};return t=t.next,e}else return{value:void 0,done:!0}}};return n}entries(){let e=this._state,t=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw Error(`LinkedMap got modified during iteration.`);if(t){let e={value:[t.key,t.value],done:!1};return t=t.next,e}else return{value:void 0,done:!0}}};return n}[(t=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw Error(`Invalid list`);this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw Error(`Invalid list`);this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw Error(`Invalid list`);e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw Error(`Invalid list`);e.previous.next=void 0,this._tail=e.previous}else{let t=e.next,n=e.previous;if(!t||!n)throw Error(`Invalid list`);t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw Error(`Invalid list`);if(!(t!==n.First&&t!==n.Last)){if(t===n.First){if(e===this._head)return;let t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;let t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((t,n)=>{e.push([n,t])}),e}fromJSON(e){this.clear();for(let[t,n]of e)this.set(t,n)}};e.LinkedMap=r,e.LRUCache=class extends r{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}})),UT=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.Disposable=void 0;var t;(function(e){function t(e){return{dispose:e}}e.create=t})(t||(e.Disposable=t={}))})),WT=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.SharedArrayReceiverStrategy=e.SharedArraySenderStrategy=void 0;var t=zw(),n;(function(e){e.Continue=0,e.Cancelled=1})(n||={}),e.SharedArraySenderStrategy=class{constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let t=new SharedArrayBuffer(4),r=new Int32Array(t,0,1);r[0]=n.Continue,this.buffers.set(e.id,t),e.$cancellationData=t}async sendCancellation(e,t){let r=this.buffers.get(t);if(r===void 0)return;let i=new Int32Array(r,0,1);Atomics.store(i,0,n.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};var r=class{constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===n.Cancelled}get onCancellationRequested(){throw Error(`Cancellation over SharedArrayBuffer doesn't support cancellation events`)}},i=class{constructor(e){this.token=new r(e)}cancel(){}dispose(){}};e.SharedArrayReceiverStrategy=class{constructor(){this.kind=`request`}createCancellationTokenSource(e){let n=e.$cancellationData;return n===void 0?new t.CancellationTokenSource:new i(n)}}})),GT=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.Semaphore=void 0;var t=Iw();e.Semaphore=class{constructor(e=1){if(e<=0)throw Error(`Capacity must be greater than 0`);this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((t,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,t.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw Error(`To many thunks active`);try{let t=e.thunk();t instanceof Promise?t.then(t=>{this._active--,e.resolve(t),this.runNext()},t=>{this._active--,e.reject(t),this.runNext()}):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}})),KT=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.ReadableStreamMessageReader=e.AbstractMessageReader=e.MessageReader=void 0;var t=Iw(),n=Lw(),r=Rw(),i=GT(),a;(function(e){function t(e){let t=e;return t&&n.func(t.listen)&&n.func(t.dispose)&&n.func(t.onError)&&n.func(t.onClose)&&n.func(t.onPartialMessage)}e.is=t})(a||(e.MessageReader=a={}));var o=class{constructor(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter,this.partialMessageEmitter=new r.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:Error(`Reader received error. Reason: ${n.string(e.message)?e.message:`unknown`}`)}};e.AbstractMessageReader=o;var s;(function(e){function n(e){let n,r,i=new Map,a,o=new Map;if(e===void 0||typeof e==`string`)n=e??`utf-8`;else{if(n=e.charset??`utf-8`,e.contentDecoder!==void 0&&(r=e.contentDecoder,i.set(r.name,r)),e.contentDecoders!==void 0)for(let t of e.contentDecoders)i.set(t.name,t);if(e.contentTypeDecoder!==void 0&&(a=e.contentTypeDecoder,o.set(a.name,a)),e.contentTypeDecoders!==void 0)for(let t of e.contentTypeDecoders)o.set(t.name,t)}return a===void 0&&(a=(0,t.default)().applicationJson.decoder,o.set(a.name,a)),{charset:n,contentDecoder:r,contentDecoders:i,contentTypeDecoder:a,contentTypeDecoders:o}}e.fromOptions=n})(s||={}),e.ReadableStreamMessageReader=class extends o{constructor(e,n){super(),this.readable=e,this.options=s.fromOptions(n),this.buffer=(0,t.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new i.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let t=this.readable.onData(e=>{this.onData(e)});return this.readable.onError(e=>this.fireError(e)),this.readable.onClose(()=>this.fireClose()),t}onData(e){try{for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let e=this.buffer.tryReadHeaders(!0);if(!e)return;let t=e.get(`content-length`);if(!t){this.fireError(Error(`Header must provide a Content-Length property.\n${JSON.stringify(Object.fromEntries(e))}`));return}let n=parseInt(t);if(isNaN(n)){this.fireError(Error(`Content-Length value must be a number. Got ${t}`));return}this.nextMessageLength=n}let e=this.buffer.tryReadBody(this.nextMessageLength);if(e===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let t=this.options.contentDecoder===void 0?e:await this.options.contentDecoder.decode(e),n=await this.options.contentTypeDecoder.decode(t,this.options);this.callback(n)}).catch(e=>{this.fireError(e)})}}catch(e){this.fireError(e)}}clearPartialMessageTimer(){this.partialMessageTimer&&=(this.partialMessageTimer.dispose(),void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,t.default)().timer.setTimeout((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}})),qT=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.WriteableStreamMessageWriter=e.AbstractMessageWriter=e.MessageWriter=void 0;var t=Iw(),n=Lw(),r=GT(),i=Rw(),a=`Content-Length: `,o=`\r
|
|
78
|
+
`,s;(function(e){function t(e){let t=e;return t&&n.func(t.dispose)&&n.func(t.onClose)&&n.func(t.onError)&&n.func(t.write)}e.is=t})(s||(e.MessageWriter=s={}));var c=class{constructor(){this.errorEmitter=new i.Emitter,this.closeEmitter=new i.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,n){this.errorEmitter.fire([this.asError(e),t,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:Error(`Writer received error. Reason: ${n.string(e.message)?e.message:`unknown`}`)}};e.AbstractMessageWriter=c;var l;(function(e){function n(e){return e===void 0||typeof e==`string`?{charset:e??`utf-8`,contentTypeEncoder:(0,t.default)().applicationJson.encoder}:{charset:e.charset??`utf-8`,contentEncoder:e.contentEncoder,contentTypeEncoder:e.contentTypeEncoder??(0,t.default)().applicationJson.encoder}}e.fromOptions=n})(l||={}),e.WriteableStreamMessageWriter=class extends c{constructor(e,t){super(),this.writable=e,this.options=l.fromOptions(t),this.errorCount=0,this.writeSemaphore=new r.Semaphore(1),this.writable.onError(e=>this.fireError(e)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(e=>this.options.contentEncoder===void 0?e:this.options.contentEncoder.encode(e)).then(t=>{let n=[];return n.push(a,t.byteLength.toString(),o),n.push(o),this.doWrite(e,n,t)},e=>{throw this.fireError(e),e}))}async doWrite(e,t,n){try{return await this.writable.write(t.join(``),`ascii`),this.writable.write(n)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}})),JT=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.AbstractMessageBuffer=void 0;var t=13,n=10,r=`\r
|
|
79
|
+
`;e.AbstractMessageBuffer=class{constructor(e=`utf-8`){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let t=typeof e==`string`?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(e=!1){if(this._chunks.length===0)return;let i=0,a=0,o=0,s=0;row:for(;a<this._chunks.length;){let e=this._chunks[a];o=0;column:for(;o<e.length;){switch(e[o]){case t:switch(i){case 0:i=1;break;case 2:i=3;break;default:i=0}break;case n:switch(i){case 1:i=2;break;case 3:i=4,o++;break row;default:i=0}break;default:i=0}o++}s+=e.byteLength,a++}if(i!==4)return;let c=this._read(s+o),l=new Map,u=this.toString(c,`ascii`).split(r);if(u.length<2)return l;for(let t=0;t<u.length-2;t++){let n=u[t],r=n.indexOf(`:`);if(r===-1)throw Error(`Message header must separate key and value using ':'\n${n}`);let i=n.substr(0,r),a=n.substr(r+1).trim();l.set(e?i.toLowerCase():i,a)}return l}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(e===0)return this.emptyBuffer();if(e>this._totalLength)throw Error(`Cannot read so many bytes!`);if(this._chunks[0].byteLength===e){let t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){let t=this._chunks[0],n=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,n}let t=this.allocNative(e),n=0;for(;e>0;){let r=this._chunks[0];if(r.byteLength>e){let i=r.slice(0,e);t.set(i,n),n+=e,this._chunks[0]=r.slice(e),this._totalLength-=e,e-=e}else t.set(r,n),n+=r.byteLength,this._chunks.shift(),this._totalLength-=r.byteLength,e-=r.byteLength}return t}}})),YT=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.createMessageConnection=e.ConnectionOptions=e.MessageStrategy=e.CancellationStrategy=e.CancellationSenderStrategy=e.CancellationReceiverStrategy=e.RequestCancellationReceiverStrategy=e.IdCancellationReceiverStrategy=e.ConnectionStrategy=e.ConnectionError=e.ConnectionErrors=e.LogTraceNotification=e.SetTraceNotification=e.TraceFormat=e.TraceValues=e.Trace=e.NullLogger=e.ProgressType=e.ProgressToken=void 0;var t=Iw(),n=Lw(),r=VT(),i=HT(),a=Rw(),o=zw(),s;(function(e){e.type=new r.NotificationType(`$/cancelRequest`)})(s||={});var c;(function(e){function t(e){return typeof e==`string`||typeof e==`number`}e.is=t})(c||(e.ProgressToken=c={}));var l;(function(e){e.type=new r.NotificationType(`$/progress`)})(l||={}),e.ProgressType=class{constructor(){}};var u;(function(e){function t(e){return n.func(e)}e.is=t})(u||={}),e.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var d;(function(e){e[e.Off=0]=`Off`,e[e.Messages=1]=`Messages`,e[e.Compact=2]=`Compact`,e[e.Verbose=3]=`Verbose`})(d||(e.Trace=d={}));var f;(function(e){e.Off=`off`,e.Messages=`messages`,e.Compact=`compact`,e.Verbose=`verbose`})(f||(e.TraceValues=f={})),(function(e){function t(t){if(!n.string(t))return e.Off;switch(t=t.toLowerCase(),t){case`off`:return e.Off;case`messages`:return e.Messages;case`compact`:return e.Compact;case`verbose`:return e.Verbose;default:return e.Off}}e.fromString=t;function r(t){switch(t){case e.Off:return`off`;case e.Messages:return`messages`;case e.Compact:return`compact`;case e.Verbose:return`verbose`;default:return`off`}}e.toString=r})(d||(e.Trace=d={}));var p;(function(e){e.Text=`text`,e.JSON=`json`})(p||(e.TraceFormat=p={})),(function(e){function t(t){return n.string(t)?(t=t.toLowerCase(),t===`json`?e.JSON:e.Text):e.Text}e.fromString=t})(p||(e.TraceFormat=p={}));var m;(function(e){e.type=new r.NotificationType(`$/setTrace`)})(m||(e.SetTraceNotification=m={}));var h;(function(e){e.type=new r.NotificationType(`$/logTrace`)})(h||(e.LogTraceNotification=h={}));var g;(function(e){e[e.Closed=1]=`Closed`,e[e.Disposed=2]=`Disposed`,e[e.AlreadyListening=3]=`AlreadyListening`})(g||(e.ConnectionErrors=g={}));var _=class e extends Error{constructor(t,n){super(n),this.code=t,Object.setPrototypeOf(this,e.prototype)}};e.ConnectionError=_;var v;(function(e){function t(e){let t=e;return t&&n.func(t.cancelUndispatched)}e.is=t})(v||(e.ConnectionStrategy=v={}));var y;(function(e){function t(e){let t=e;return t&&(t.kind===void 0||t.kind===`id`)&&n.func(t.createCancellationTokenSource)&&(t.dispose===void 0||n.func(t.dispose))}e.is=t})(y||(e.IdCancellationReceiverStrategy=y={}));var b;(function(e){function t(e){let t=e;return t&&t.kind===`request`&&n.func(t.createCancellationTokenSource)&&(t.dispose===void 0||n.func(t.dispose))}e.is=t})(b||(e.RequestCancellationReceiverStrategy=b={}));var x;(function(e){e.Message=Object.freeze({createCancellationTokenSource(e){return new o.CancellationTokenSource}});function t(e){return y.is(e)||b.is(e)}e.is=t})(x||(e.CancellationReceiverStrategy=x={}));var S;(function(e){e.Message=Object.freeze({sendCancellation(e,t){return e.sendNotification(s.type,{id:t})},cleanup(e){}});function t(e){let t=e;return t&&n.func(t.sendCancellation)&&n.func(t.cleanup)}e.is=t})(S||(e.CancellationSenderStrategy=S={}));var ee;(function(e){e.Message=Object.freeze({receiver:x.Message,sender:S.Message});function t(e){let t=e;return t&&x.is(t.receiver)&&S.is(t.sender)}e.is=t})(ee||(e.CancellationStrategy=ee={}));var C;(function(e){function t(e){let t=e;return t&&n.func(t.handleMessage)}e.is=t})(C||(e.MessageStrategy=C={}));var w;(function(e){function t(e){let t=e;return t&&(ee.is(t.cancellationStrategy)||v.is(t.connectionStrategy)||C.is(t.messageStrategy))}e.is=t})(w||(e.ConnectionOptions=w={}));var T;(function(e){e[e.New=1]=`New`,e[e.Listening=2]=`Listening`,e[e.Closed=3]=`Closed`,e[e.Disposed=4]=`Disposed`})(T||={});function te(f,v,b,x){let S=b===void 0?e.NullLogger:b,w=0,te=0,ne=0,E,D=new Map,re,ie=new Map,ae=new Map,oe,O=new i.LinkedMap,se=new Map,ce=new Set,le=new Map,k=d.Off,ue=p.Text,A,de=T.New,fe=new a.Emitter,pe=new a.Emitter,me=new a.Emitter,he=new a.Emitter,ge=new a.Emitter,_e=x&&x.cancellationStrategy?x.cancellationStrategy:ee.Message;function ve(e){if(e===null)throw Error(`Can't send requests with id null since the response can't be correlated.`);return`req-`+e.toString()}function ye(e){return e===null?`res-unknown-`+(++ne).toString():`res-`+e.toString()}function be(){return`not-`+(++te).toString()}function xe(e,t){r.Message.isRequest(t)?e.set(ve(t.id),t):r.Message.isResponse(t)?e.set(ye(t.id),t):e.set(be(),t)}function Se(e){}function Ce(){return de===T.Listening}function we(){return de===T.Closed}function Te(){return de===T.Disposed}function Ee(){(de===T.New||de===T.Listening)&&(de=T.Closed,pe.fire(void 0))}function De(e){fe.fire([e,void 0,void 0])}function Oe(e){fe.fire(e)}f.onClose(Ee),f.onError(De),v.onClose(Ee),v.onError(Oe);function ke(){oe||O.size===0||(oe=(0,t.default)().timer.setImmediate(()=>{oe=void 0,je()}))}function Ae(e){r.Message.isRequest(e)?Ne(e):r.Message.isNotification(e)?Fe(e):r.Message.isResponse(e)?Pe(e):Ie(e)}function je(){if(O.size===0)return;let e=O.shift();try{let t=x?.messageStrategy;C.is(t)?t.handleMessage(e,Ae):Ae(e)}finally{ke()}}let Me=e=>{try{if(r.Message.isNotification(e)&&e.method===s.type.method){let t=e.params.id,n=ve(t),i=O.get(n);if(r.Message.isRequest(i)){let r=x?.connectionStrategy,a=r&&r.cancelUndispatched?r.cancelUndispatched(i,Se):void 0;if(a&&(a.error!==void 0||a.result!==void 0)){O.delete(n),le.delete(t),a.id=i.id,Be(a,e.method,Date.now()),v.write(a).catch(()=>S.error(`Sending response for canceled message failed.`));return}}let a=le.get(t);if(a!==void 0){a.cancel(),He(e);return}else ce.add(t)}xe(O,e)}finally{ke()}};function Ne(e){if(Te())return;function t(t,n,i){let a={jsonrpc:`2.0`,id:e.id};t instanceof r.ResponseError?a.error=t.toJson():a.result=t===void 0?null:t,Be(a,n,i),v.write(a).catch(()=>S.error(`Sending response failed.`))}function i(t,n,r){let i={jsonrpc:`2.0`,id:e.id,error:t.toJson()};Be(i,n,r),v.write(i).catch(()=>S.error(`Sending response failed.`))}function a(t,n,r){t===void 0&&(t=null);let i={jsonrpc:`2.0`,id:e.id,result:t};Be(i,n,r),v.write(i).catch(()=>S.error(`Sending response failed.`))}Ve(e);let o=D.get(e.method),s,c;o&&(s=o.type,c=o.handler);let l=Date.now();if(c||E){let o=e.id??String(Date.now()),u=y.is(_e.receiver)?_e.receiver.createCancellationTokenSource(o):_e.receiver.createCancellationTokenSource(e);e.id!==null&&ce.has(e.id)&&u.cancel(),e.id!==null&&le.set(o,u);try{let d;if(c)if(e.params===void 0){if(s!==void 0&&s.numberOfParams!==0){i(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${e.method} defines ${s.numberOfParams} params but received none.`),e.method,l);return}d=c(u.token)}else if(Array.isArray(e.params)){if(s!==void 0&&s.parameterStructures===r.ParameterStructures.byName){i(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,l);return}d=c(...e.params,u.token)}else{if(s!==void 0&&s.parameterStructures===r.ParameterStructures.byPosition){i(new r.ResponseError(r.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,l);return}d=c(e.params,u.token)}else E&&(d=E(e.method,e.params,u.token));let f=d;d?f.then?f.then(n=>{le.delete(o),t(n,e.method,l)},t=>{le.delete(o),t instanceof r.ResponseError?i(t,e.method,l):t&&n.string(t.message)?i(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,l):i(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,l)}):(le.delete(o),t(d,e.method,l)):(le.delete(o),a(d,e.method,l))}catch(a){le.delete(o),a instanceof r.ResponseError?t(a,e.method,l):a&&n.string(a.message)?i(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${a.message}`),e.method,l):i(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,l)}}else i(new r.ResponseError(r.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,l)}function Pe(e){if(!Te())if(e.id===null)e.error?S.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):S.error(`Received response message without id. No further error information provided.`);else{let t=e.id,n=se.get(t);if(Ue(e,n),n!==void 0){se.delete(t);try{if(e.error){let t=e.error;n.reject(new r.ResponseError(t.code,t.message,t.data))}else if(e.result!==void 0)n.resolve(e.result);else throw Error(`Should never happen.`)}catch(e){e.message?S.error(`Response handler '${n.method}' failed with message: ${e.message}`):S.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}function Fe(e){if(Te())return;let t,n;if(e.method===s.type.method){let t=e.params.id;ce.delete(t),He(e);return}else{let r=ie.get(e.method);r&&(n=r.handler,t=r.type)}if(n||re)try{if(He(e),n)if(e.params===void 0)t!==void 0&&t.numberOfParams!==0&&t.parameterStructures!==r.ParameterStructures.byName&&S.error(`Notification ${e.method} defines ${t.numberOfParams} params but received none.`),n();else if(Array.isArray(e.params)){let i=e.params;e.method===l.type.method&&i.length===2&&c.is(i[0])?n({token:i[0],value:i[1]}):(t!==void 0&&(t.parameterStructures===r.ParameterStructures.byName&&S.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&S.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${i.length} arguments`)),n(...i))}else t!==void 0&&t.parameterStructures===r.ParameterStructures.byPosition&&S.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params);else re&&re(e.method,e.params)}catch(t){t.message?S.error(`Notification handler '${e.method}' failed with message: ${t.message}`):S.error(`Notification handler '${e.method}' failed unexpectedly.`)}else me.fire(e)}function Ie(e){if(!e){S.error(`Received empty message.`);return}S.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);let t=e;if(n.string(t.id)||n.number(t.id)){let e=t.id,n=se.get(e);n&&n.reject(Error(`The received response has neither a result nor an error property.`))}}function Le(e){if(e!=null)switch(k){case d.Verbose:return JSON.stringify(e,null,4);case d.Compact:return JSON.stringify(e);default:return}}function Re(e){if(!(k===d.Off||!A))if(ue===p.Text){let t;(k===d.Verbose||k===d.Compact)&&e.params&&(t=`Params: ${Le(e.params)}\n\n`),A.log(`Sending request '${e.method} - (${e.id})'.`,t)}else We(`send-request`,e)}function ze(e){if(!(k===d.Off||!A))if(ue===p.Text){let t;(k===d.Verbose||k===d.Compact)&&(t=e.params?`Params: ${Le(e.params)}\n\n`:`No parameters provided.
|
|
80
|
+
|
|
81
|
+
`),A.log(`Sending notification '${e.method}'.`,t)}else We(`send-notification`,e)}function Be(e,t,n){if(!(k===d.Off||!A))if(ue===p.Text){let r;(k===d.Verbose||k===d.Compact)&&(e.error&&e.error.data?r=`Error data: ${Le(e.error.data)}\n\n`:e.result?r=`Result: ${Le(e.result)}\n\n`:e.error===void 0&&(r=`No result returned.
|
|
82
|
+
|
|
83
|
+
`)),A.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,r)}else We(`send-response`,e)}function Ve(e){if(!(k===d.Off||!A))if(ue===p.Text){let t;(k===d.Verbose||k===d.Compact)&&e.params&&(t=`Params: ${Le(e.params)}\n\n`),A.log(`Received request '${e.method} - (${e.id})'.`,t)}else We(`receive-request`,e)}function He(e){if(!(k===d.Off||!A||e.method===h.type.method))if(ue===p.Text){let t;(k===d.Verbose||k===d.Compact)&&(t=e.params?`Params: ${Le(e.params)}\n\n`:`No parameters provided.
|
|
84
|
+
|
|
85
|
+
`),A.log(`Received notification '${e.method}'.`,t)}else We(`receive-notification`,e)}function Ue(e,t){if(!(k===d.Off||!A))if(ue===p.Text){let n;if((k===d.Verbose||k===d.Compact)&&(e.error&&e.error.data?n=`Error data: ${Le(e.error.data)}\n\n`:e.result?n=`Result: ${Le(e.result)}\n\n`:e.error===void 0&&(n=`No result returned.
|
|
86
|
+
|
|
87
|
+
`)),t){let r=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:``;A.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${r}`,n)}else A.log(`Received response ${e.id} without active response promise.`,n)}else We(`receive-response`,e)}function We(e,t){if(!A||k===d.Off)return;let n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};A.log(n)}function Ge(){if(we())throw new _(g.Closed,`Connection is closed.`);if(Te())throw new _(g.Disposed,`Connection is disposed.`)}function Ke(){if(Ce())throw new _(g.AlreadyListening,`Connection is already listening`)}function qe(){if(!Ce())throw Error(`Call listen() first.`)}function Je(e){return e===void 0?null:e}function Ye(e){if(e!==null)return e}function Xe(e){return e!=null&&!Array.isArray(e)&&typeof e==`object`}function Ze(e,t){switch(e){case r.ParameterStructures.auto:return Xe(t)?Ye(t):[Je(t)];case r.ParameterStructures.byName:if(!Xe(t))throw Error(`Received parameters by name but param is not an object literal.`);return Ye(t);case r.ParameterStructures.byPosition:return[Je(t)];default:throw Error(`Unknown parameter structure ${e.toString()}`)}}function Qe(e,t){let n,r=e.numberOfParams;switch(r){case 0:n=void 0;break;case 1:n=Ze(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e<t.length&&e<r;e++)n.push(Je(t[e]));if(t.length<r)for(let e=t.length;e<r;e++)n.push(null);break}return n}let $e={sendNotification:(e,...t)=>{Ge();let i,a;if(n.string(e)){i=e;let n=t[0],o=0,s=r.ParameterStructures.auto;r.ParameterStructures.is(n)&&(o=1,s=n);let c=t.length,l=c-o;switch(l){case 0:a=void 0;break;case 1:a=Ze(s,t[o]);break;default:if(s===r.ParameterStructures.byName)throw Error(`Received ${l} parameters for 'by Name' notification parameter structure.`);a=t.slice(o,c).map(e=>Je(e));break}}else{let n=t;i=e.method,a=Qe(e,n)}let o={jsonrpc:`2.0`,method:i,params:a};return ze(o),v.write(o).catch(e=>{throw S.error(`Sending notification failed.`),e})},onNotification:(e,t)=>{Ge();let r;return n.func(e)?re=e:t&&(n.string(e)?(r=e,ie.set(e,{type:void 0,handler:t})):(r=e.method,ie.set(e.method,{type:e,handler:t}))),{dispose:()=>{r===void 0?re=void 0:ie.delete(r)}}},onProgress:(e,t,n)=>{if(ae.has(t))throw Error(`Progress handler for token ${t} already registered`);return ae.set(t,n),{dispose:()=>{ae.delete(t)}}},sendProgress:(e,t,n)=>$e.sendNotification(l.type,{token:t,value:n}),onUnhandledProgress:he.event,sendRequest:(e,...t)=>{Ge(),qe();let i,a,s;if(n.string(e)){i=e;let n=t[0],c=t[t.length-1],l=0,u=r.ParameterStructures.auto;r.ParameterStructures.is(n)&&(l=1,u=n);let d=t.length;o.CancellationToken.is(c)&&(--d,s=c);let f=d-l;switch(f){case 0:a=void 0;break;case 1:a=Ze(u,t[l]);break;default:if(u===r.ParameterStructures.byName)throw Error(`Received ${f} parameters for 'by Name' request parameter structure.`);a=t.slice(l,d).map(e=>Je(e));break}}else{let n=t;i=e.method,a=Qe(e,n);let r=e.numberOfParams;s=o.CancellationToken.is(n[r])?n[r]:void 0}let c=w++,l;s&&(l=s.onCancellationRequested(()=>{let e=_e.sender.sendCancellation($e,c);return e===void 0?(S.log(`Received no promise from cancellation strategy when cancelling id ${c}`),Promise.resolve()):e.catch(()=>{S.log(`Sending cancellation messages for id ${c} failed`)})}));let u={jsonrpc:`2.0`,id:c,method:i,params:a};return Re(u),typeof _e.sender.enableCancellation==`function`&&_e.sender.enableCancellation(u),new Promise(async(e,t)=>{let n={method:i,timerStart:Date.now(),resolve:t=>{e(t),_e.sender.cleanup(c),l?.dispose()},reject:e=>{t(e),_e.sender.cleanup(c),l?.dispose()}};try{await v.write(u),se.set(c,n)}catch(e){throw S.error(`Sending request failed.`),n.reject(new r.ResponseError(r.ErrorCodes.MessageWriteError,e.message?e.message:`Unknown reason`)),e}})},onRequest:(e,t)=>{Ge();let r=null;return u.is(e)?(r=void 0,E=e):n.string(e)?(r=null,t!==void 0&&(r=e,D.set(e,{handler:t,type:void 0}))):t!==void 0&&(r=e.method,D.set(e.method,{type:e,handler:t})),{dispose:()=>{r!==null&&(r===void 0?E=void 0:D.delete(r))}}},hasPendingResponse:()=>se.size>0,trace:async(e,t,r)=>{let i=!1,a=p.Text;r!==void 0&&(n.boolean(r)?i=r:(i=r.sendNotification||!1,a=r.traceFormat||p.Text)),k=e,ue=a,A=k===d.Off?void 0:t,i&&!we()&&!Te()&&await $e.sendNotification(m.type,{value:d.toString(e)})},onError:fe.event,onClose:pe.event,onUnhandledNotification:me.event,onDispose:ge.event,end:()=>{v.end()},dispose:()=>{if(Te())return;de=T.Disposed,ge.fire(void 0);let e=new r.ResponseError(r.ErrorCodes.PendingResponseRejected,`Pending response rejected since connection got disposed`);for(let t of se.values())t.reject(e);se=new Map,le=new Map,ce=new Set,O=new i.LinkedMap,n.func(v.dispose)&&v.dispose(),n.func(f.dispose)&&f.dispose()},listen:()=>{Ge(),Ke(),de=T.Listening,f.listen(Me)},inspect:()=>{(0,t.default)().console.log(`inspect`)}};return $e.onNotification(h.type,e=>{if(k===d.Off||!A)return;let t=k===d.Verbose||k===d.Compact;A.log(e.message,t?e.verbose:void 0)}),$e.onNotification(l.type,e=>{let t=ae.get(e.token);t?t(e.value):he.fire(e)}),$e}e.createMessageConnection=te})),XT=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.ProgressType=e.ProgressToken=e.createMessageConnection=e.NullLogger=e.ConnectionOptions=e.ConnectionStrategy=e.AbstractMessageBuffer=e.WriteableStreamMessageWriter=e.AbstractMessageWriter=e.MessageWriter=e.ReadableStreamMessageReader=e.AbstractMessageReader=e.MessageReader=e.SharedArrayReceiverStrategy=e.SharedArraySenderStrategy=e.CancellationToken=e.CancellationTokenSource=e.Emitter=e.Event=e.Disposable=e.LRUCache=e.Touch=e.LinkedMap=e.ParameterStructures=e.NotificationType9=e.NotificationType8=e.NotificationType7=e.NotificationType6=e.NotificationType5=e.NotificationType4=e.NotificationType3=e.NotificationType2=e.NotificationType1=e.NotificationType0=e.NotificationType=e.ErrorCodes=e.ResponseError=e.RequestType9=e.RequestType8=e.RequestType7=e.RequestType6=e.RequestType5=e.RequestType4=e.RequestType3=e.RequestType2=e.RequestType1=e.RequestType0=e.RequestType=e.Message=e.RAL=void 0,e.MessageStrategy=e.CancellationStrategy=e.CancellationSenderStrategy=e.CancellationReceiverStrategy=e.ConnectionError=e.ConnectionErrors=e.LogTraceNotification=e.SetTraceNotification=e.TraceFormat=e.TraceValues=e.Trace=void 0;var t=VT();Object.defineProperty(e,`Message`,{enumerable:!0,get:function(){return t.Message}}),Object.defineProperty(e,`RequestType`,{enumerable:!0,get:function(){return t.RequestType}}),Object.defineProperty(e,`RequestType0`,{enumerable:!0,get:function(){return t.RequestType0}}),Object.defineProperty(e,`RequestType1`,{enumerable:!0,get:function(){return t.RequestType1}}),Object.defineProperty(e,`RequestType2`,{enumerable:!0,get:function(){return t.RequestType2}}),Object.defineProperty(e,`RequestType3`,{enumerable:!0,get:function(){return t.RequestType3}}),Object.defineProperty(e,`RequestType4`,{enumerable:!0,get:function(){return t.RequestType4}}),Object.defineProperty(e,`RequestType5`,{enumerable:!0,get:function(){return t.RequestType5}}),Object.defineProperty(e,`RequestType6`,{enumerable:!0,get:function(){return t.RequestType6}}),Object.defineProperty(e,`RequestType7`,{enumerable:!0,get:function(){return t.RequestType7}}),Object.defineProperty(e,`RequestType8`,{enumerable:!0,get:function(){return t.RequestType8}}),Object.defineProperty(e,`RequestType9`,{enumerable:!0,get:function(){return t.RequestType9}}),Object.defineProperty(e,`ResponseError`,{enumerable:!0,get:function(){return t.ResponseError}}),Object.defineProperty(e,`ErrorCodes`,{enumerable:!0,get:function(){return t.ErrorCodes}}),Object.defineProperty(e,`NotificationType`,{enumerable:!0,get:function(){return t.NotificationType}}),Object.defineProperty(e,`NotificationType0`,{enumerable:!0,get:function(){return t.NotificationType0}}),Object.defineProperty(e,`NotificationType1`,{enumerable:!0,get:function(){return t.NotificationType1}}),Object.defineProperty(e,`NotificationType2`,{enumerable:!0,get:function(){return t.NotificationType2}}),Object.defineProperty(e,`NotificationType3`,{enumerable:!0,get:function(){return t.NotificationType3}}),Object.defineProperty(e,`NotificationType4`,{enumerable:!0,get:function(){return t.NotificationType4}}),Object.defineProperty(e,`NotificationType5`,{enumerable:!0,get:function(){return t.NotificationType5}}),Object.defineProperty(e,`NotificationType6`,{enumerable:!0,get:function(){return t.NotificationType6}}),Object.defineProperty(e,`NotificationType7`,{enumerable:!0,get:function(){return t.NotificationType7}}),Object.defineProperty(e,`NotificationType8`,{enumerable:!0,get:function(){return t.NotificationType8}}),Object.defineProperty(e,`NotificationType9`,{enumerable:!0,get:function(){return t.NotificationType9}}),Object.defineProperty(e,`ParameterStructures`,{enumerable:!0,get:function(){return t.ParameterStructures}});var n=HT();Object.defineProperty(e,`LinkedMap`,{enumerable:!0,get:function(){return n.LinkedMap}}),Object.defineProperty(e,`LRUCache`,{enumerable:!0,get:function(){return n.LRUCache}}),Object.defineProperty(e,`Touch`,{enumerable:!0,get:function(){return n.Touch}});var r=UT();Object.defineProperty(e,`Disposable`,{enumerable:!0,get:function(){return r.Disposable}});var i=Rw();Object.defineProperty(e,`Event`,{enumerable:!0,get:function(){return i.Event}}),Object.defineProperty(e,`Emitter`,{enumerable:!0,get:function(){return i.Emitter}});var a=zw();Object.defineProperty(e,`CancellationTokenSource`,{enumerable:!0,get:function(){return a.CancellationTokenSource}}),Object.defineProperty(e,`CancellationToken`,{enumerable:!0,get:function(){return a.CancellationToken}});var o=WT();Object.defineProperty(e,`SharedArraySenderStrategy`,{enumerable:!0,get:function(){return o.SharedArraySenderStrategy}}),Object.defineProperty(e,`SharedArrayReceiverStrategy`,{enumerable:!0,get:function(){return o.SharedArrayReceiverStrategy}});var s=KT();Object.defineProperty(e,`MessageReader`,{enumerable:!0,get:function(){return s.MessageReader}}),Object.defineProperty(e,`AbstractMessageReader`,{enumerable:!0,get:function(){return s.AbstractMessageReader}}),Object.defineProperty(e,`ReadableStreamMessageReader`,{enumerable:!0,get:function(){return s.ReadableStreamMessageReader}});var c=qT();Object.defineProperty(e,`MessageWriter`,{enumerable:!0,get:function(){return c.MessageWriter}}),Object.defineProperty(e,`AbstractMessageWriter`,{enumerable:!0,get:function(){return c.AbstractMessageWriter}}),Object.defineProperty(e,`WriteableStreamMessageWriter`,{enumerable:!0,get:function(){return c.WriteableStreamMessageWriter}});var l=JT();Object.defineProperty(e,`AbstractMessageBuffer`,{enumerable:!0,get:function(){return l.AbstractMessageBuffer}});var u=YT();Object.defineProperty(e,`ConnectionStrategy`,{enumerable:!0,get:function(){return u.ConnectionStrategy}}),Object.defineProperty(e,`ConnectionOptions`,{enumerable:!0,get:function(){return u.ConnectionOptions}}),Object.defineProperty(e,`NullLogger`,{enumerable:!0,get:function(){return u.NullLogger}}),Object.defineProperty(e,`createMessageConnection`,{enumerable:!0,get:function(){return u.createMessageConnection}}),Object.defineProperty(e,`ProgressToken`,{enumerable:!0,get:function(){return u.ProgressToken}}),Object.defineProperty(e,`ProgressType`,{enumerable:!0,get:function(){return u.ProgressType}}),Object.defineProperty(e,`Trace`,{enumerable:!0,get:function(){return u.Trace}}),Object.defineProperty(e,`TraceValues`,{enumerable:!0,get:function(){return u.TraceValues}}),Object.defineProperty(e,`TraceFormat`,{enumerable:!0,get:function(){return u.TraceFormat}}),Object.defineProperty(e,`SetTraceNotification`,{enumerable:!0,get:function(){return u.SetTraceNotification}}),Object.defineProperty(e,`LogTraceNotification`,{enumerable:!0,get:function(){return u.LogTraceNotification}}),Object.defineProperty(e,`ConnectionErrors`,{enumerable:!0,get:function(){return u.ConnectionErrors}}),Object.defineProperty(e,`ConnectionError`,{enumerable:!0,get:function(){return u.ConnectionError}}),Object.defineProperty(e,`CancellationReceiverStrategy`,{enumerable:!0,get:function(){return u.CancellationReceiverStrategy}}),Object.defineProperty(e,`CancellationSenderStrategy`,{enumerable:!0,get:function(){return u.CancellationSenderStrategy}}),Object.defineProperty(e,`CancellationStrategy`,{enumerable:!0,get:function(){return u.CancellationStrategy}}),Object.defineProperty(e,`MessageStrategy`,{enumerable:!0,get:function(){return u.MessageStrategy}}),e.RAL=Iw().default})),ZT=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=XT(),n=class e extends t.AbstractMessageBuffer{constructor(e=`utf-8`){super(e),this.asciiDecoder=new TextDecoder(`ascii`)}emptyBuffer(){return e.emptyBuffer}fromString(e,t){return new TextEncoder().encode(e)}toString(e,t){return t===`ascii`?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return t===void 0?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}};n.emptyBuffer=new Uint8Array;var r=class{constructor(e){this.socket=e,this._onData=new t.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then(e=>{this._onData.fire(new Uint8Array(e))},()=>{(0,t.RAL)().console.error(`Converting blob to array buffer failed.`)})},this.socket.addEventListener(`message`,this._messageListener)}onClose(e){return this.socket.addEventListener(`close`,e),t.Disposable.create(()=>this.socket.removeEventListener(`close`,e))}onError(e){return this.socket.addEventListener(`error`,e),t.Disposable.create(()=>this.socket.removeEventListener(`error`,e))}onEnd(e){return this.socket.addEventListener(`end`,e),t.Disposable.create(()=>this.socket.removeEventListener(`end`,e))}onData(e){return this._onData.event(e)}},i=class{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener(`close`,e),t.Disposable.create(()=>this.socket.removeEventListener(`close`,e))}onError(e){return this.socket.addEventListener(`error`,e),t.Disposable.create(()=>this.socket.removeEventListener(`error`,e))}onEnd(e){return this.socket.addEventListener(`end`,e),t.Disposable.create(()=>this.socket.removeEventListener(`end`,e))}write(e,t){if(typeof e==`string`){if(t!==void 0&&t!==`utf-8`)throw Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}},a=new TextEncoder,o=Object.freeze({messageBuffer:Object.freeze({create:e=>new n(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:`application/json`,encode:(e,t)=>{if(t.charset!==`utf-8`)throw Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${t.charset}`);return Promise.resolve(a.encode(JSON.stringify(e,void 0,0)))}}),decoder:Object.freeze({name:`application/json`,decode:(e,t)=>{if(!(e instanceof Uint8Array))throw Error(`In a Browser environments only Uint8Arrays are supported.`);return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))}})}),stream:Object.freeze({asReadableStream:e=>new r(e),asWritableStream:e=>new i(e)}),console,timer:Object.freeze({setTimeout(e,t,...n){let r=setTimeout(e,t,...n);return{dispose:()=>clearTimeout(r)}},setImmediate(e,...t){let n=setTimeout(e,0,...t);return{dispose:()=>clearTimeout(n)}},setInterval(e,t,...n){let r=setInterval(e,t,...n);return{dispose:()=>clearInterval(r)}}})});function s(){return o}(function(e){function n(){t.RAL.install(o)}e.install=n})(s||={}),e.default=s})),QT=i((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__exportStar||function(e,n){for(var r in e)r!==`default`&&!Object.prototype.hasOwnProperty.call(n,r)&&t(n,e,r)};Object.defineProperty(e,`__esModule`,{value:!0}),e.createMessageConnection=e.BrowserMessageWriter=e.BrowserMessageReader=void 0,ZT().default.install();var r=XT();n(XT(),e),e.BrowserMessageReader=class extends r.AbstractMessageReader{constructor(e){super(),this._onData=new r.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener(`error`,e=>this.fireError(e)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}},e.BrowserMessageWriter=class extends r.AbstractMessageWriter{constructor(e){super(),this.port=e,this.errorCount=0,e.addEventListener(`error`,e=>this.fireError(e))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}};function i(e,t,n,i){return n===void 0&&(n=r.NullLogger),r.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),(0,r.createMessageConnection)(e,t,n,i)}e.createMessageConnection=i})),$T=i(((e,t)=>{t.exports=QT()})),Q=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.ProtocolNotificationType=e.ProtocolNotificationType0=e.ProtocolRequestType=e.ProtocolRequestType0=e.RegistrationType=e.MessageDirection=void 0;var t=QT(),n;(function(e){e.clientToServer=`clientToServer`,e.serverToClient=`serverToClient`,e.both=`both`})(n||(e.MessageDirection=n={})),e.RegistrationType=class{constructor(e){this.method=e}},e.ProtocolRequestType0=class extends t.RequestType0{constructor(e){super(e)}},e.ProtocolRequestType=class extends t.RequestType{constructor(e){super(e,t.ParameterStructures.byName)}},e.ProtocolNotificationType0=class extends t.NotificationType0{constructor(e){super(e)}},e.ProtocolNotificationType=class extends t.NotificationType{constructor(e){super(e,t.ParameterStructures.byName)}}})),eE=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.objectLiteral=e.typedArray=e.stringArray=e.array=e.func=e.error=e.number=e.string=e.boolean=void 0;function t(e){return e===!0||e===!1}e.boolean=t;function n(e){return typeof e==`string`||e instanceof String}e.string=n;function r(e){return typeof e==`number`||e instanceof Number}e.number=r;function i(e){return e instanceof Error}e.error=i;function a(e){return typeof e==`function`}e.func=a;function o(e){return Array.isArray(e)}e.array=o;function s(e){return o(e)&&e.every(e=>n(e))}e.stringArray=s;function c(e,t){return Array.isArray(e)&&e.every(t)}e.typedArray=c;function l(e){return typeof e==`object`&&!!e}e.objectLiteral=l})),tE=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.ImplementationRequest=void 0;var t=Q(),n;(function(e){e.method=`textDocument/implementation`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(n||(e.ImplementationRequest=n={}))})),nE=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.TypeDefinitionRequest=void 0;var t=Q(),n;(function(e){e.method=`textDocument/typeDefinition`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(n||(e.TypeDefinitionRequest=n={}))})),rE=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.DidChangeWorkspaceFoldersNotification=e.WorkspaceFoldersRequest=void 0;var t=Q(),n;(function(e){e.method=`workspace/workspaceFolders`,e.messageDirection=t.MessageDirection.serverToClient,e.type=new t.ProtocolRequestType0(e.method)})(n||(e.WorkspaceFoldersRequest=n={}));var r;(function(e){e.method=`workspace/didChangeWorkspaceFolders`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolNotificationType(e.method)})(r||(e.DidChangeWorkspaceFoldersNotification=r={}))})),iE=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.ConfigurationRequest=void 0;var t=Q(),n;(function(e){e.method=`workspace/configuration`,e.messageDirection=t.MessageDirection.serverToClient,e.type=new t.ProtocolRequestType(e.method)})(n||(e.ConfigurationRequest=n={}))})),aE=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.ColorPresentationRequest=e.DocumentColorRequest=void 0;var t=Q(),n;(function(e){e.method=`textDocument/documentColor`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(n||(e.DocumentColorRequest=n={}));var r;(function(e){e.method=`textDocument/colorPresentation`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(r||(e.ColorPresentationRequest=r={}))})),oE=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.FoldingRangeRefreshRequest=e.FoldingRangeRequest=void 0;var t=Q(),n;(function(e){e.method=`textDocument/foldingRange`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(n||(e.FoldingRangeRequest=n={}));var r;(function(e){e.method=`workspace/foldingRange/refresh`,e.messageDirection=t.MessageDirection.serverToClient,e.type=new t.ProtocolRequestType0(e.method)})(r||(e.FoldingRangeRefreshRequest=r={}))})),sE=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.DeclarationRequest=void 0;var t=Q(),n;(function(e){e.method=`textDocument/declaration`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(n||(e.DeclarationRequest=n={}))})),cE=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.SelectionRangeRequest=void 0;var t=Q(),n;(function(e){e.method=`textDocument/selectionRange`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(n||(e.SelectionRangeRequest=n={}))})),lE=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.WorkDoneProgressCancelNotification=e.WorkDoneProgressCreateRequest=e.WorkDoneProgress=void 0;var t=QT(),n=Q(),r;(function(e){e.type=new t.ProgressType;function n(t){return t===e.type}e.is=n})(r||(e.WorkDoneProgress=r={}));var i;(function(e){e.method=`window/workDoneProgress/create`,e.messageDirection=n.MessageDirection.serverToClient,e.type=new n.ProtocolRequestType(e.method)})(i||(e.WorkDoneProgressCreateRequest=i={}));var a;(function(e){e.method=`window/workDoneProgress/cancel`,e.messageDirection=n.MessageDirection.clientToServer,e.type=new n.ProtocolNotificationType(e.method)})(a||(e.WorkDoneProgressCancelNotification=a={}))})),uE=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.CallHierarchyOutgoingCallsRequest=e.CallHierarchyIncomingCallsRequest=e.CallHierarchyPrepareRequest=void 0;var t=Q(),n;(function(e){e.method=`textDocument/prepareCallHierarchy`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(n||(e.CallHierarchyPrepareRequest=n={}));var r;(function(e){e.method=`callHierarchy/incomingCalls`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(r||(e.CallHierarchyIncomingCallsRequest=r={}));var i;(function(e){e.method=`callHierarchy/outgoingCalls`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(i||(e.CallHierarchyOutgoingCallsRequest=i={}))})),dE=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.SemanticTokensRefreshRequest=e.SemanticTokensRangeRequest=e.SemanticTokensDeltaRequest=e.SemanticTokensRequest=e.SemanticTokensRegistrationType=e.TokenFormat=void 0;var t=Q(),n;(function(e){e.Relative=`relative`})(n||(e.TokenFormat=n={}));var r;(function(e){e.method=`textDocument/semanticTokens`,e.type=new t.RegistrationType(e.method)})(r||(e.SemanticTokensRegistrationType=r={}));var i;(function(e){e.method=`textDocument/semanticTokens/full`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method),e.registrationMethod=r.method})(i||(e.SemanticTokensRequest=i={}));var a;(function(e){e.method=`textDocument/semanticTokens/full/delta`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method),e.registrationMethod=r.method})(a||(e.SemanticTokensDeltaRequest=a={}));var o;(function(e){e.method=`textDocument/semanticTokens/range`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method),e.registrationMethod=r.method})(o||(e.SemanticTokensRangeRequest=o={}));var s;(function(e){e.method=`workspace/semanticTokens/refresh`,e.messageDirection=t.MessageDirection.serverToClient,e.type=new t.ProtocolRequestType0(e.method)})(s||(e.SemanticTokensRefreshRequest=s={}))})),fE=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.ShowDocumentRequest=void 0;var t=Q(),n;(function(e){e.method=`window/showDocument`,e.messageDirection=t.MessageDirection.serverToClient,e.type=new t.ProtocolRequestType(e.method)})(n||(e.ShowDocumentRequest=n={}))})),pE=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.LinkedEditingRangeRequest=void 0;var t=Q(),n;(function(e){e.method=`textDocument/linkedEditingRange`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(n||(e.LinkedEditingRangeRequest=n={}))})),mE=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.WillDeleteFilesRequest=e.DidDeleteFilesNotification=e.DidRenameFilesNotification=e.WillRenameFilesRequest=e.DidCreateFilesNotification=e.WillCreateFilesRequest=e.FileOperationPatternKind=void 0;var t=Q(),n;(function(e){e.file=`file`,e.folder=`folder`})(n||(e.FileOperationPatternKind=n={}));var r;(function(e){e.method=`workspace/willCreateFiles`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(r||(e.WillCreateFilesRequest=r={}));var i;(function(e){e.method=`workspace/didCreateFiles`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolNotificationType(e.method)})(i||(e.DidCreateFilesNotification=i={}));var a;(function(e){e.method=`workspace/willRenameFiles`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(a||(e.WillRenameFilesRequest=a={}));var o;(function(e){e.method=`workspace/didRenameFiles`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolNotificationType(e.method)})(o||(e.DidRenameFilesNotification=o={}));var s;(function(e){e.method=`workspace/didDeleteFiles`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolNotificationType(e.method)})(s||(e.DidDeleteFilesNotification=s={}));var c;(function(e){e.method=`workspace/willDeleteFiles`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(c||(e.WillDeleteFilesRequest=c={}))})),hE=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.MonikerRequest=e.MonikerKind=e.UniquenessLevel=void 0;var t=Q(),n;(function(e){e.document=`document`,e.project=`project`,e.group=`group`,e.scheme=`scheme`,e.global=`global`})(n||(e.UniquenessLevel=n={}));var r;(function(e){e.$import=`import`,e.$export=`export`,e.local=`local`})(r||(e.MonikerKind=r={}));var i;(function(e){e.method=`textDocument/moniker`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(i||(e.MonikerRequest=i={}))})),gE=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.TypeHierarchySubtypesRequest=e.TypeHierarchySupertypesRequest=e.TypeHierarchyPrepareRequest=void 0;var t=Q(),n;(function(e){e.method=`textDocument/prepareTypeHierarchy`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(n||(e.TypeHierarchyPrepareRequest=n={}));var r;(function(e){e.method=`typeHierarchy/supertypes`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(r||(e.TypeHierarchySupertypesRequest=r={}));var i;(function(e){e.method=`typeHierarchy/subtypes`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(i||(e.TypeHierarchySubtypesRequest=i={}))})),_E=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.InlineValueRefreshRequest=e.InlineValueRequest=void 0;var t=Q(),n;(function(e){e.method=`textDocument/inlineValue`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(n||(e.InlineValueRequest=n={}));var r;(function(e){e.method=`workspace/inlineValue/refresh`,e.messageDirection=t.MessageDirection.serverToClient,e.type=new t.ProtocolRequestType0(e.method)})(r||(e.InlineValueRefreshRequest=r={}))})),vE=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.InlayHintRefreshRequest=e.InlayHintResolveRequest=e.InlayHintRequest=void 0;var t=Q(),n;(function(e){e.method=`textDocument/inlayHint`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(n||(e.InlayHintRequest=n={}));var r;(function(e){e.method=`inlayHint/resolve`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(r||(e.InlayHintResolveRequest=r={}));var i;(function(e){e.method=`workspace/inlayHint/refresh`,e.messageDirection=t.MessageDirection.serverToClient,e.type=new t.ProtocolRequestType0(e.method)})(i||(e.InlayHintRefreshRequest=i={}))})),yE=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.DiagnosticRefreshRequest=e.WorkspaceDiagnosticRequest=e.DocumentDiagnosticRequest=e.DocumentDiagnosticReportKind=e.DiagnosticServerCancellationData=void 0;var t=QT(),n=eE(),r=Q(),i;(function(e){function t(e){let t=e;return t&&n.boolean(t.retriggerRequest)}e.is=t})(i||(e.DiagnosticServerCancellationData=i={}));var a;(function(e){e.Full=`full`,e.Unchanged=`unchanged`})(a||(e.DocumentDiagnosticReportKind=a={}));var o;(function(e){e.method=`textDocument/diagnostic`,e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method),e.partialResult=new t.ProgressType})(o||(e.DocumentDiagnosticRequest=o={}));var s;(function(e){e.method=`workspace/diagnostic`,e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method),e.partialResult=new t.ProgressType})(s||(e.WorkspaceDiagnosticRequest=s={}));var c;(function(e){e.method=`workspace/diagnostic/refresh`,e.messageDirection=r.MessageDirection.serverToClient,e.type=new r.ProtocolRequestType0(e.method)})(c||(e.DiagnosticRefreshRequest=c={}))})),bE=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.DidCloseNotebookDocumentNotification=e.DidSaveNotebookDocumentNotification=e.DidChangeNotebookDocumentNotification=e.NotebookCellArrayChange=e.DidOpenNotebookDocumentNotification=e.NotebookDocumentSyncRegistrationType=e.NotebookDocument=e.NotebookCell=e.ExecutionSummary=e.NotebookCellKind=void 0;var t=(qC(),a(vS)),n=eE(),r=Q(),i;(function(e){e.Markup=1,e.Code=2;function t(e){return e===1||e===2}e.is=t})(i||(e.NotebookCellKind=i={}));var o;(function(e){function r(e,t){let n={executionOrder:e};return(t===!0||t===!1)&&(n.success=t),n}e.create=r;function i(e){let r=e;return n.objectLiteral(r)&&t.uinteger.is(r.executionOrder)&&(r.success===void 0||n.boolean(r.success))}e.is=i;function a(e,t){return e===t?!0:e==null||t==null?!1:e.executionOrder===t.executionOrder&&e.success===t.success}e.equals=a})(o||(e.ExecutionSummary=o={}));var s;(function(e){function r(e,t){return{kind:e,document:t}}e.create=r;function a(e){let r=e;return n.objectLiteral(r)&&i.is(r.kind)&&t.DocumentUri.is(r.document)&&(r.metadata===void 0||n.objectLiteral(r.metadata))}e.is=a;function s(e,t){let n=new Set;return e.document!==t.document&&n.add(`document`),e.kind!==t.kind&&n.add(`kind`),e.executionSummary!==t.executionSummary&&n.add(`executionSummary`),(e.metadata!==void 0||t.metadata!==void 0)&&!c(e.metadata,t.metadata)&&n.add(`metadata`),(e.executionSummary!==void 0||t.executionSummary!==void 0)&&!o.equals(e.executionSummary,t.executionSummary)&&n.add(`executionSummary`),n}e.diff=s;function c(e,t){if(e===t)return!0;if(e==null||t==null||typeof e!=typeof t||typeof e!=`object`)return!1;let r=Array.isArray(e),i=Array.isArray(t);if(r!==i)return!1;if(r&&i){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!c(e[n],t[n]))return!1}if(n.objectLiteral(e)&&n.objectLiteral(t)){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length||(n.sort(),r.sort(),!c(n,r)))return!1;for(let r=0;r<n.length;r++){let i=n[r];if(!c(e[i],t[i]))return!1}}return!0}})(s||(e.NotebookCell=s={}));var c;(function(e){function r(e,t,n,r){return{uri:e,notebookType:t,version:n,cells:r}}e.create=r;function i(e){let r=e;return n.objectLiteral(r)&&n.string(r.uri)&&t.integer.is(r.version)&&n.typedArray(r.cells,s.is)}e.is=i})(c||(e.NotebookDocument=c={}));var l;(function(e){e.method=`notebookDocument/sync`,e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.RegistrationType(e.method)})(l||(e.NotebookDocumentSyncRegistrationType=l={}));var u;(function(e){e.method=`notebookDocument/didOpen`,e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolNotificationType(e.method),e.registrationMethod=l.method})(u||(e.DidOpenNotebookDocumentNotification=u={}));var d;(function(e){function r(e){let r=e;return n.objectLiteral(r)&&t.uinteger.is(r.start)&&t.uinteger.is(r.deleteCount)&&(r.cells===void 0||n.typedArray(r.cells,s.is))}e.is=r;function i(e,t,n){let r={start:e,deleteCount:t};return n!==void 0&&(r.cells=n),r}e.create=i})(d||(e.NotebookCellArrayChange=d={}));var f;(function(e){e.method=`notebookDocument/didChange`,e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolNotificationType(e.method),e.registrationMethod=l.method})(f||(e.DidChangeNotebookDocumentNotification=f={}));var p;(function(e){e.method=`notebookDocument/didSave`,e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolNotificationType(e.method),e.registrationMethod=l.method})(p||(e.DidSaveNotebookDocumentNotification=p={}));var m;(function(e){e.method=`notebookDocument/didClose`,e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolNotificationType(e.method),e.registrationMethod=l.method})(m||(e.DidCloseNotebookDocumentNotification=m={}))})),xE=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.InlineCompletionRequest=void 0;var t=Q(),n;(function(e){e.method=`textDocument/inlineCompletion`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(n||(e.InlineCompletionRequest=n={}))})),SE=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.WorkspaceSymbolRequest=e.CodeActionResolveRequest=e.CodeActionRequest=e.DocumentSymbolRequest=e.DocumentHighlightRequest=e.ReferencesRequest=e.DefinitionRequest=e.SignatureHelpRequest=e.SignatureHelpTriggerKind=e.HoverRequest=e.CompletionResolveRequest=e.CompletionRequest=e.CompletionTriggerKind=e.PublishDiagnosticsNotification=e.WatchKind=e.RelativePattern=e.FileChangeType=e.DidChangeWatchedFilesNotification=e.WillSaveTextDocumentWaitUntilRequest=e.WillSaveTextDocumentNotification=e.TextDocumentSaveReason=e.DidSaveTextDocumentNotification=e.DidCloseTextDocumentNotification=e.DidChangeTextDocumentNotification=e.TextDocumentContentChangeEvent=e.DidOpenTextDocumentNotification=e.TextDocumentSyncKind=e.TelemetryEventNotification=e.LogMessageNotification=e.ShowMessageRequest=e.ShowMessageNotification=e.MessageType=e.DidChangeConfigurationNotification=e.ExitNotification=e.ShutdownRequest=e.InitializedNotification=e.InitializeErrorCodes=e.InitializeRequest=e.WorkDoneProgressOptions=e.TextDocumentRegistrationOptions=e.StaticRegistrationOptions=e.PositionEncodingKind=e.FailureHandlingKind=e.ResourceOperationKind=e.UnregistrationRequest=e.RegistrationRequest=e.DocumentSelector=e.NotebookCellTextDocumentFilter=e.NotebookDocumentFilter=e.TextDocumentFilter=void 0,e.MonikerRequest=e.MonikerKind=e.UniquenessLevel=e.WillDeleteFilesRequest=e.DidDeleteFilesNotification=e.WillRenameFilesRequest=e.DidRenameFilesNotification=e.WillCreateFilesRequest=e.DidCreateFilesNotification=e.FileOperationPatternKind=e.LinkedEditingRangeRequest=e.ShowDocumentRequest=e.SemanticTokensRegistrationType=e.SemanticTokensRefreshRequest=e.SemanticTokensRangeRequest=e.SemanticTokensDeltaRequest=e.SemanticTokensRequest=e.TokenFormat=e.CallHierarchyPrepareRequest=e.CallHierarchyOutgoingCallsRequest=e.CallHierarchyIncomingCallsRequest=e.WorkDoneProgressCancelNotification=e.WorkDoneProgressCreateRequest=e.WorkDoneProgress=e.SelectionRangeRequest=e.DeclarationRequest=e.FoldingRangeRefreshRequest=e.FoldingRangeRequest=e.ColorPresentationRequest=e.DocumentColorRequest=e.ConfigurationRequest=e.DidChangeWorkspaceFoldersNotification=e.WorkspaceFoldersRequest=e.TypeDefinitionRequest=e.ImplementationRequest=e.ApplyWorkspaceEditRequest=e.ExecuteCommandRequest=e.PrepareRenameRequest=e.RenameRequest=e.PrepareSupportDefaultBehavior=e.DocumentOnTypeFormattingRequest=e.DocumentRangesFormattingRequest=e.DocumentRangeFormattingRequest=e.DocumentFormattingRequest=e.DocumentLinkResolveRequest=e.DocumentLinkRequest=e.CodeLensRefreshRequest=e.CodeLensResolveRequest=e.CodeLensRequest=e.WorkspaceSymbolResolveRequest=void 0,e.InlineCompletionRequest=e.DidCloseNotebookDocumentNotification=e.DidSaveNotebookDocumentNotification=e.DidChangeNotebookDocumentNotification=e.NotebookCellArrayChange=e.DidOpenNotebookDocumentNotification=e.NotebookDocumentSyncRegistrationType=e.NotebookDocument=e.NotebookCell=e.ExecutionSummary=e.NotebookCellKind=e.DiagnosticRefreshRequest=e.WorkspaceDiagnosticRequest=e.DocumentDiagnosticRequest=e.DocumentDiagnosticReportKind=e.DiagnosticServerCancellationData=e.InlayHintRefreshRequest=e.InlayHintResolveRequest=e.InlayHintRequest=e.InlineValueRefreshRequest=e.InlineValueRequest=e.TypeHierarchySupertypesRequest=e.TypeHierarchySubtypesRequest=e.TypeHierarchyPrepareRequest=void 0;var t=Q(),n=(qC(),a(vS)),r=eE(),i=tE();Object.defineProperty(e,`ImplementationRequest`,{enumerable:!0,get:function(){return i.ImplementationRequest}});var o=nE();Object.defineProperty(e,`TypeDefinitionRequest`,{enumerable:!0,get:function(){return o.TypeDefinitionRequest}});var s=rE();Object.defineProperty(e,`WorkspaceFoldersRequest`,{enumerable:!0,get:function(){return s.WorkspaceFoldersRequest}}),Object.defineProperty(e,`DidChangeWorkspaceFoldersNotification`,{enumerable:!0,get:function(){return s.DidChangeWorkspaceFoldersNotification}});var c=iE();Object.defineProperty(e,`ConfigurationRequest`,{enumerable:!0,get:function(){return c.ConfigurationRequest}});var l=aE();Object.defineProperty(e,`DocumentColorRequest`,{enumerable:!0,get:function(){return l.DocumentColorRequest}}),Object.defineProperty(e,`ColorPresentationRequest`,{enumerable:!0,get:function(){return l.ColorPresentationRequest}});var u=oE();Object.defineProperty(e,`FoldingRangeRequest`,{enumerable:!0,get:function(){return u.FoldingRangeRequest}}),Object.defineProperty(e,`FoldingRangeRefreshRequest`,{enumerable:!0,get:function(){return u.FoldingRangeRefreshRequest}});var d=sE();Object.defineProperty(e,`DeclarationRequest`,{enumerable:!0,get:function(){return d.DeclarationRequest}});var f=cE();Object.defineProperty(e,`SelectionRangeRequest`,{enumerable:!0,get:function(){return f.SelectionRangeRequest}});var p=lE();Object.defineProperty(e,`WorkDoneProgress`,{enumerable:!0,get:function(){return p.WorkDoneProgress}}),Object.defineProperty(e,`WorkDoneProgressCreateRequest`,{enumerable:!0,get:function(){return p.WorkDoneProgressCreateRequest}}),Object.defineProperty(e,`WorkDoneProgressCancelNotification`,{enumerable:!0,get:function(){return p.WorkDoneProgressCancelNotification}});var m=uE();Object.defineProperty(e,`CallHierarchyIncomingCallsRequest`,{enumerable:!0,get:function(){return m.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(e,`CallHierarchyOutgoingCallsRequest`,{enumerable:!0,get:function(){return m.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(e,`CallHierarchyPrepareRequest`,{enumerable:!0,get:function(){return m.CallHierarchyPrepareRequest}});var h=dE();Object.defineProperty(e,`TokenFormat`,{enumerable:!0,get:function(){return h.TokenFormat}}),Object.defineProperty(e,`SemanticTokensRequest`,{enumerable:!0,get:function(){return h.SemanticTokensRequest}}),Object.defineProperty(e,`SemanticTokensDeltaRequest`,{enumerable:!0,get:function(){return h.SemanticTokensDeltaRequest}}),Object.defineProperty(e,`SemanticTokensRangeRequest`,{enumerable:!0,get:function(){return h.SemanticTokensRangeRequest}}),Object.defineProperty(e,`SemanticTokensRefreshRequest`,{enumerable:!0,get:function(){return h.SemanticTokensRefreshRequest}}),Object.defineProperty(e,`SemanticTokensRegistrationType`,{enumerable:!0,get:function(){return h.SemanticTokensRegistrationType}});var g=fE();Object.defineProperty(e,`ShowDocumentRequest`,{enumerable:!0,get:function(){return g.ShowDocumentRequest}});var _=pE();Object.defineProperty(e,`LinkedEditingRangeRequest`,{enumerable:!0,get:function(){return _.LinkedEditingRangeRequest}});var v=mE();Object.defineProperty(e,`FileOperationPatternKind`,{enumerable:!0,get:function(){return v.FileOperationPatternKind}}),Object.defineProperty(e,`DidCreateFilesNotification`,{enumerable:!0,get:function(){return v.DidCreateFilesNotification}}),Object.defineProperty(e,`WillCreateFilesRequest`,{enumerable:!0,get:function(){return v.WillCreateFilesRequest}}),Object.defineProperty(e,`DidRenameFilesNotification`,{enumerable:!0,get:function(){return v.DidRenameFilesNotification}}),Object.defineProperty(e,`WillRenameFilesRequest`,{enumerable:!0,get:function(){return v.WillRenameFilesRequest}}),Object.defineProperty(e,`DidDeleteFilesNotification`,{enumerable:!0,get:function(){return v.DidDeleteFilesNotification}}),Object.defineProperty(e,`WillDeleteFilesRequest`,{enumerable:!0,get:function(){return v.WillDeleteFilesRequest}});var y=hE();Object.defineProperty(e,`UniquenessLevel`,{enumerable:!0,get:function(){return y.UniquenessLevel}}),Object.defineProperty(e,`MonikerKind`,{enumerable:!0,get:function(){return y.MonikerKind}}),Object.defineProperty(e,`MonikerRequest`,{enumerable:!0,get:function(){return y.MonikerRequest}});var b=gE();Object.defineProperty(e,`TypeHierarchyPrepareRequest`,{enumerable:!0,get:function(){return b.TypeHierarchyPrepareRequest}}),Object.defineProperty(e,`TypeHierarchySubtypesRequest`,{enumerable:!0,get:function(){return b.TypeHierarchySubtypesRequest}}),Object.defineProperty(e,`TypeHierarchySupertypesRequest`,{enumerable:!0,get:function(){return b.TypeHierarchySupertypesRequest}});var x=_E();Object.defineProperty(e,`InlineValueRequest`,{enumerable:!0,get:function(){return x.InlineValueRequest}}),Object.defineProperty(e,`InlineValueRefreshRequest`,{enumerable:!0,get:function(){return x.InlineValueRefreshRequest}});var S=vE();Object.defineProperty(e,`InlayHintRequest`,{enumerable:!0,get:function(){return S.InlayHintRequest}}),Object.defineProperty(e,`InlayHintResolveRequest`,{enumerable:!0,get:function(){return S.InlayHintResolveRequest}}),Object.defineProperty(e,`InlayHintRefreshRequest`,{enumerable:!0,get:function(){return S.InlayHintRefreshRequest}});var ee=yE();Object.defineProperty(e,`DiagnosticServerCancellationData`,{enumerable:!0,get:function(){return ee.DiagnosticServerCancellationData}}),Object.defineProperty(e,`DocumentDiagnosticReportKind`,{enumerable:!0,get:function(){return ee.DocumentDiagnosticReportKind}}),Object.defineProperty(e,`DocumentDiagnosticRequest`,{enumerable:!0,get:function(){return ee.DocumentDiagnosticRequest}}),Object.defineProperty(e,`WorkspaceDiagnosticRequest`,{enumerable:!0,get:function(){return ee.WorkspaceDiagnosticRequest}}),Object.defineProperty(e,`DiagnosticRefreshRequest`,{enumerable:!0,get:function(){return ee.DiagnosticRefreshRequest}});var C=bE();Object.defineProperty(e,`NotebookCellKind`,{enumerable:!0,get:function(){return C.NotebookCellKind}}),Object.defineProperty(e,`ExecutionSummary`,{enumerable:!0,get:function(){return C.ExecutionSummary}}),Object.defineProperty(e,`NotebookCell`,{enumerable:!0,get:function(){return C.NotebookCell}}),Object.defineProperty(e,`NotebookDocument`,{enumerable:!0,get:function(){return C.NotebookDocument}}),Object.defineProperty(e,`NotebookDocumentSyncRegistrationType`,{enumerable:!0,get:function(){return C.NotebookDocumentSyncRegistrationType}}),Object.defineProperty(e,`DidOpenNotebookDocumentNotification`,{enumerable:!0,get:function(){return C.DidOpenNotebookDocumentNotification}}),Object.defineProperty(e,`NotebookCellArrayChange`,{enumerable:!0,get:function(){return C.NotebookCellArrayChange}}),Object.defineProperty(e,`DidChangeNotebookDocumentNotification`,{enumerable:!0,get:function(){return C.DidChangeNotebookDocumentNotification}}),Object.defineProperty(e,`DidSaveNotebookDocumentNotification`,{enumerable:!0,get:function(){return C.DidSaveNotebookDocumentNotification}}),Object.defineProperty(e,`DidCloseNotebookDocumentNotification`,{enumerable:!0,get:function(){return C.DidCloseNotebookDocumentNotification}});var w=xE();Object.defineProperty(e,`InlineCompletionRequest`,{enumerable:!0,get:function(){return w.InlineCompletionRequest}});var T;(function(e){function t(e){let t=e;return r.string(t)||r.string(t.language)||r.string(t.scheme)||r.string(t.pattern)}e.is=t})(T||(e.TextDocumentFilter=T={}));var te;(function(e){function t(e){let t=e;return r.objectLiteral(t)&&(r.string(t.notebookType)||r.string(t.scheme)||r.string(t.pattern))}e.is=t})(te||(e.NotebookDocumentFilter=te={}));var ne;(function(e){function t(e){let t=e;return r.objectLiteral(t)&&(r.string(t.notebook)||te.is(t.notebook))&&(t.language===void 0||r.string(t.language))}e.is=t})(ne||(e.NotebookCellTextDocumentFilter=ne={}));var E;(function(e){function t(e){if(!Array.isArray(e))return!1;for(let t of e)if(!r.string(t)&&!T.is(t)&&!ne.is(t))return!1;return!0}e.is=t})(E||(e.DocumentSelector=E={}));var D;(function(e){e.method=`client/registerCapability`,e.messageDirection=t.MessageDirection.serverToClient,e.type=new t.ProtocolRequestType(e.method)})(D||(e.RegistrationRequest=D={}));var re;(function(e){e.method=`client/unregisterCapability`,e.messageDirection=t.MessageDirection.serverToClient,e.type=new t.ProtocolRequestType(e.method)})(re||(e.UnregistrationRequest=re={}));var ie;(function(e){e.Create=`create`,e.Rename=`rename`,e.Delete=`delete`})(ie||(e.ResourceOperationKind=ie={}));var ae;(function(e){e.Abort=`abort`,e.Transactional=`transactional`,e.TextOnlyTransactional=`textOnlyTransactional`,e.Undo=`undo`})(ae||(e.FailureHandlingKind=ae={}));var oe;(function(e){e.UTF8=`utf-8`,e.UTF16=`utf-16`,e.UTF32=`utf-32`})(oe||(e.PositionEncodingKind=oe={}));var O;(function(e){function t(e){let t=e;return t&&r.string(t.id)&&t.id.length>0}e.hasId=t})(O||(e.StaticRegistrationOptions=O={}));var se;(function(e){function t(e){let t=e;return t&&(t.documentSelector===null||E.is(t.documentSelector))}e.is=t})(se||(e.TextDocumentRegistrationOptions=se={}));var ce;(function(e){function t(e){let t=e;return r.objectLiteral(t)&&(t.workDoneProgress===void 0||r.boolean(t.workDoneProgress))}e.is=t;function n(e){let t=e;return t&&r.boolean(t.workDoneProgress)}e.hasWorkDoneProgress=n})(ce||(e.WorkDoneProgressOptions=ce={}));var le;(function(e){e.method=`initialize`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(le||(e.InitializeRequest=le={}));var k;(function(e){e.unknownProtocolVersion=1})(k||(e.InitializeErrorCodes=k={}));var ue;(function(e){e.method=`initialized`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolNotificationType(e.method)})(ue||(e.InitializedNotification=ue={}));var A;(function(e){e.method=`shutdown`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType0(e.method)})(A||(e.ShutdownRequest=A={}));var de;(function(e){e.method=`exit`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolNotificationType0(e.method)})(de||(e.ExitNotification=de={}));var fe;(function(e){e.method=`workspace/didChangeConfiguration`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolNotificationType(e.method)})(fe||(e.DidChangeConfigurationNotification=fe={}));var pe;(function(e){e.Error=1,e.Warning=2,e.Info=3,e.Log=4,e.Debug=5})(pe||(e.MessageType=pe={}));var me;(function(e){e.method=`window/showMessage`,e.messageDirection=t.MessageDirection.serverToClient,e.type=new t.ProtocolNotificationType(e.method)})(me||(e.ShowMessageNotification=me={}));var he;(function(e){e.method=`window/showMessageRequest`,e.messageDirection=t.MessageDirection.serverToClient,e.type=new t.ProtocolRequestType(e.method)})(he||(e.ShowMessageRequest=he={}));var ge;(function(e){e.method=`window/logMessage`,e.messageDirection=t.MessageDirection.serverToClient,e.type=new t.ProtocolNotificationType(e.method)})(ge||(e.LogMessageNotification=ge={}));var _e;(function(e){e.method=`telemetry/event`,e.messageDirection=t.MessageDirection.serverToClient,e.type=new t.ProtocolNotificationType(e.method)})(_e||(e.TelemetryEventNotification=_e={}));var ve;(function(e){e.None=0,e.Full=1,e.Incremental=2})(ve||(e.TextDocumentSyncKind=ve={}));var ye;(function(e){e.method=`textDocument/didOpen`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolNotificationType(e.method)})(ye||(e.DidOpenTextDocumentNotification=ye={}));var be;(function(e){function t(e){let t=e;return t!=null&&typeof t.text==`string`&&t.range!==void 0&&(t.rangeLength===void 0||typeof t.rangeLength==`number`)}e.isIncremental=t;function n(e){let t=e;return t!=null&&typeof t.text==`string`&&t.range===void 0&&t.rangeLength===void 0}e.isFull=n})(be||(e.TextDocumentContentChangeEvent=be={}));var xe;(function(e){e.method=`textDocument/didChange`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolNotificationType(e.method)})(xe||(e.DidChangeTextDocumentNotification=xe={}));var Se;(function(e){e.method=`textDocument/didClose`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolNotificationType(e.method)})(Se||(e.DidCloseTextDocumentNotification=Se={}));var Ce;(function(e){e.method=`textDocument/didSave`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolNotificationType(e.method)})(Ce||(e.DidSaveTextDocumentNotification=Ce={}));var we;(function(e){e.Manual=1,e.AfterDelay=2,e.FocusOut=3})(we||(e.TextDocumentSaveReason=we={}));var Te;(function(e){e.method=`textDocument/willSave`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolNotificationType(e.method)})(Te||(e.WillSaveTextDocumentNotification=Te={}));var Ee;(function(e){e.method=`textDocument/willSaveWaitUntil`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(Ee||(e.WillSaveTextDocumentWaitUntilRequest=Ee={}));var De;(function(e){e.method=`workspace/didChangeWatchedFiles`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolNotificationType(e.method)})(De||(e.DidChangeWatchedFilesNotification=De={}));var Oe;(function(e){e.Created=1,e.Changed=2,e.Deleted=3})(Oe||(e.FileChangeType=Oe={}));var ke;(function(e){function t(e){let t=e;return r.objectLiteral(t)&&(n.URI.is(t.baseUri)||n.WorkspaceFolder.is(t.baseUri))&&r.string(t.pattern)}e.is=t})(ke||(e.RelativePattern=ke={}));var Ae;(function(e){e.Create=1,e.Change=2,e.Delete=4})(Ae||(e.WatchKind=Ae={}));var je;(function(e){e.method=`textDocument/publishDiagnostics`,e.messageDirection=t.MessageDirection.serverToClient,e.type=new t.ProtocolNotificationType(e.method)})(je||(e.PublishDiagnosticsNotification=je={}));var Me;(function(e){e.Invoked=1,e.TriggerCharacter=2,e.TriggerForIncompleteCompletions=3})(Me||(e.CompletionTriggerKind=Me={}));var Ne;(function(e){e.method=`textDocument/completion`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(Ne||(e.CompletionRequest=Ne={}));var Pe;(function(e){e.method=`completionItem/resolve`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(Pe||(e.CompletionResolveRequest=Pe={}));var Fe;(function(e){e.method=`textDocument/hover`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(Fe||(e.HoverRequest=Fe={}));var Ie;(function(e){e.Invoked=1,e.TriggerCharacter=2,e.ContentChange=3})(Ie||(e.SignatureHelpTriggerKind=Ie={}));var Le;(function(e){e.method=`textDocument/signatureHelp`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(Le||(e.SignatureHelpRequest=Le={}));var Re;(function(e){e.method=`textDocument/definition`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(Re||(e.DefinitionRequest=Re={}));var ze;(function(e){e.method=`textDocument/references`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(ze||(e.ReferencesRequest=ze={}));var Be;(function(e){e.method=`textDocument/documentHighlight`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(Be||(e.DocumentHighlightRequest=Be={}));var Ve;(function(e){e.method=`textDocument/documentSymbol`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(Ve||(e.DocumentSymbolRequest=Ve={}));var He;(function(e){e.method=`textDocument/codeAction`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(He||(e.CodeActionRequest=He={}));var Ue;(function(e){e.method=`codeAction/resolve`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(Ue||(e.CodeActionResolveRequest=Ue={}));var We;(function(e){e.method=`workspace/symbol`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(We||(e.WorkspaceSymbolRequest=We={}));var Ge;(function(e){e.method=`workspaceSymbol/resolve`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(Ge||(e.WorkspaceSymbolResolveRequest=Ge={}));var Ke;(function(e){e.method=`textDocument/codeLens`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(Ke||(e.CodeLensRequest=Ke={}));var qe;(function(e){e.method=`codeLens/resolve`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(qe||(e.CodeLensResolveRequest=qe={}));var Je;(function(e){e.method=`workspace/codeLens/refresh`,e.messageDirection=t.MessageDirection.serverToClient,e.type=new t.ProtocolRequestType0(e.method)})(Je||(e.CodeLensRefreshRequest=Je={}));var Ye;(function(e){e.method=`textDocument/documentLink`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(Ye||(e.DocumentLinkRequest=Ye={}));var Xe;(function(e){e.method=`documentLink/resolve`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(Xe||(e.DocumentLinkResolveRequest=Xe={}));var Ze;(function(e){e.method=`textDocument/formatting`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(Ze||(e.DocumentFormattingRequest=Ze={}));var Qe;(function(e){e.method=`textDocument/rangeFormatting`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(Qe||(e.DocumentRangeFormattingRequest=Qe={}));var $e;(function(e){e.method=`textDocument/rangesFormatting`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})($e||(e.DocumentRangesFormattingRequest=$e={}));var et;(function(e){e.method=`textDocument/onTypeFormatting`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(et||(e.DocumentOnTypeFormattingRequest=et={}));var tt;(function(e){e.Identifier=1})(tt||(e.PrepareSupportDefaultBehavior=tt={}));var nt;(function(e){e.method=`textDocument/rename`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(nt||(e.RenameRequest=nt={}));var rt;(function(e){e.method=`textDocument/prepareRename`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(rt||(e.PrepareRenameRequest=rt={}));var it;(function(e){e.method=`workspace/executeCommand`,e.messageDirection=t.MessageDirection.clientToServer,e.type=new t.ProtocolRequestType(e.method)})(it||(e.ExecuteCommandRequest=it={}));var at;(function(e){e.method=`workspace/applyEdit`,e.messageDirection=t.MessageDirection.serverToClient,e.type=new t.ProtocolRequestType(`workspace/applyEdit`)})(at||(e.ApplyWorkspaceEditRequest=at={}))})),CE=i((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.createProtocolConnection=void 0;var t=QT();function n(e,n,r,i){return t.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),(0,t.createMessageConnection)(e,n,r,i)}e.createProtocolConnection=n})),wE=i((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__exportStar||function(e,n){for(var r in e)r!==`default`&&!Object.prototype.hasOwnProperty.call(n,r)&&t(n,e,r)};Object.defineProperty(e,`__esModule`,{value:!0}),e.LSPErrorCodes=e.createProtocolConnection=void 0,n(QT(),e),n((qC(),a(vS)),e),n(Q(),e),n(SE(),e);var r=CE();Object.defineProperty(e,`createProtocolConnection`,{enumerable:!0,get:function(){return r.createProtocolConnection}});var i;(function(e){e.lspReservedErrorRangeStart=-32899,e.RequestFailed=-32803,e.ServerCancelled=-32802,e.ContentModified=-32801,e.RequestCancelled=-32800,e.lspReservedErrorRangeEnd=-32800})(i||(e.LSPErrorCodes=i={}))})),TE=i((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__exportStar||function(e,n){for(var r in e)r!==`default`&&!Object.prototype.hasOwnProperty.call(n,r)&&t(n,e,r)};Object.defineProperty(e,`__esModule`,{value:!0}),e.createProtocolConnection=void 0;var r=$T();n($T(),e),n(wE(),e);function i(e,t,n,i){return(0,r.createMessageConnection)(e,t,n,i)}e.createProtocolConnection=i})),EE;(function(e){function t(e){return{dispose:async()=>await e()}}e.create=t})(EE||={});var DE=TE(),OE=class{constructor(e){this.updateBuildOptions={validation:{categories:[`built-in`,`fast`]}},this.updateListeners=[],this.buildPhaseListeners=new pT,this.documentPhaseListeners=new pT,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=Z.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,t={},n=X.CancellationToken.None){for(let n of e){let e=n.uri.toString();if(n.state===Z.Validated){if(typeof t.validation==`boolean`&&t.validation)this.resetToState(n,Z.IndexedReferences);else if(typeof t.validation==`object`){let r=this.findMissingValidationCategories(n,t);r.length>0&&(this.buildState.set(e,{completed:!1,options:{validation:{categories:r}},result:this.buildState.get(e)?.result}),n.state=Z.IndexedReferences)}}else this.buildState.delete(e)}this.currentState=Z.Changed,await this.emitUpdate(e.map(e=>e.uri),[]),await this.buildDocuments(e,t,n)}async update(e,t,n=X.CancellationToken.None){this.currentState=Z.Changed;let r=[];for(let e of t){let t=this.langiumDocuments.deleteDocuments(e);for(let e of t)r.push(e.uri),this.cleanUpDeleted(e)}let i=(await Promise.all(e.map(e=>this.findChangedUris(e)))).flat();for(let e of i){let t=this.langiumDocuments.getDocument(e);t===void 0&&(t=this.langiumDocumentFactory.fromModel({$type:`INVALID`},e),t.state=Z.Changed,this.langiumDocuments.addDocument(t)),this.resetToState(t,Z.Changed)}let a=D(i).concat(r).map(e=>e.toString()).toSet();this.langiumDocuments.all.filter(e=>!a.has(e.uri.toString())&&this.shouldRelink(e,a)).forEach(e=>this.resetToState(e,Z.ComputedScopes)),await this.emitUpdate(i,r),await Kw(n);let o=this.sortDocuments(this.langiumDocuments.all.filter(e=>e.state<Z.Validated||!this.buildState.get(e.uri.toString())?.completed||this.resultsAreIncomplete(e,this.updateBuildOptions)).toArray());await this.buildDocuments(o,this.updateBuildOptions,n)}resultsAreIncomplete(e,t){return this.findMissingValidationCategories(e,t).length>=1}findMissingValidationCategories(e,t){let n=this.buildState.get(e.uri.toString()),r=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),i=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?r:new Set;return D(t===void 0||t.validation===!0?r:typeof t.validation==`object`?t.validation.categories??r:[]).filter(e=>!i.has(e)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{let t=await this.fileSystemProvider.stat(e);if(t.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(t))return[e]}catch{}return[]}async emitUpdate(e,t){await Promise.all(this.updateListeners.map(n=>n(e,t)))}sortDocuments(e){let t=0,n=e.length-1;for(;t<n;){for(;t<e.length&&this.hasTextDocument(e[t]);)t++;for(;n>=0&&!this.hasTextDocument(e[n]);)n--;t<n&&([e[t],e[n]]=[e[n],e[t]])}return e}hasTextDocument(e){return!!this.textDocuments?.get(e.uri)}shouldRelink(e,t){return e.references.some(e=>e.error!==void 0)?!0:this.indexManager.isAffected(e,t)}onUpdate(e){return this.updateListeners.push(e),EE.create(()=>{let t=this.updateListeners.indexOf(e);t>=0&&this.updateListeners.splice(t,1)})}resetToState(e,t){switch(t){case Z.Changed:case Z.Parsed:this.indexManager.removeContent(e.uri);case Z.IndexedContent:e.localSymbols=void 0;case Z.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case Z.Linked:this.indexManager.removeReferences(e.uri);case Z.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case Z.Validated:}e.state>t&&(e.state=t)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=Z.Changed}async buildDocuments(e,t,n){this.prepareBuild(e,t),await this.runCancelable(e,Z.Parsed,n,e=>this.langiumDocumentFactory.update(e,n)),await this.runCancelable(e,Z.IndexedContent,n,e=>this.indexManager.updateContent(e,n)),await this.runCancelable(e,Z.ComputedScopes,n,async e=>{e.localSymbols=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectLocalSymbols(e,n)});let r=e.filter(e=>this.shouldLink(e));await this.runCancelable(r,Z.Linked,n,e=>this.serviceRegistry.getServices(e.uri).references.Linker.link(e,n)),await this.runCancelable(r,Z.IndexedReferences,n,e=>this.indexManager.updateReferences(e,n));let i=e.filter(e=>this.shouldValidate(e)?!0:(this.markAsCompleted(e),!1));await this.runCancelable(i,Z.Validated,n,async e=>{await this.validate(e,n),this.markAsCompleted(e)})}markAsCompleted(e){let t=this.buildState.get(e.uri.toString());t&&(t.completed=!0)}prepareBuild(e,t){for(let n of e){let e=n.uri.toString(),r=this.buildState.get(e);(!r||r.completed)&&this.buildState.set(e,{completed:!1,options:t,result:r?.result})}}async runCancelable(e,t,n,r){for(let i of e)i.state<t&&(await Kw(n),await r(i),i.state=t,await this.notifyDocumentPhase(i,t,n));let i=e.filter(e=>e.state===t);await this.notifyBuildPhase(i,t,n),this.currentState=t}onBuildPhase(e,t){return this.buildPhaseListeners.add(e,t),EE.create(()=>{this.buildPhaseListeners.delete(e,t)})}onDocumentPhase(e,t){return this.documentPhaseListeners.add(e,t),EE.create(()=>{this.documentPhaseListeners.delete(e,t)})}waitUntil(e,t,n){let r;return t&&`path`in t?r=t:n=t,n??=X.CancellationToken.None,r?this.awaitDocumentState(e,r,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,t,n){let r=this.langiumDocuments.getDocument(t);return r?r.state>=e?Promise.resolve(t):n.isCancellationRequested?Promise.reject(Ww):this.currentState>=e&&e>r.state?Promise.reject(new DE.ResponseError(DE.LSPErrorCodes.RequestFailed,`Document state of ${t.toString()} is ${Z[r.state]}, requiring ${Z[e]}, but workspace state is already ${Z[this.currentState]}. Returning undefined.`)):new Promise((r,i)=>{let a=this.onDocumentPhase(e,e=>{iT.equals(e.uri,t)&&(a.dispose(),o.dispose(),r(e.uri))}),o=n.onCancellationRequested(()=>{a.dispose(),o.dispose(),i(Ww)})}):Promise.reject(new DE.ResponseError(DE.LSPErrorCodes.ServerCancelled,`No document found for URI: ${t.toString()}`))}awaitBuilderState(e,t){return this.currentState>=e?Promise.resolve():t.isCancellationRequested?Promise.reject(Ww):new Promise((n,r)=>{let i=this.onBuildPhase(e,()=>{i.dispose(),a.dispose(),n()}),a=t.onCancellationRequested(()=>{i.dispose(),a.dispose(),r(Ww)})})}async notifyDocumentPhase(e,t,n){let r=this.documentPhaseListeners.get(t).slice();for(let t of r)try{await Kw(n),await t(e,n)}catch(e){if(!Gw(e))throw e}}async notifyBuildPhase(e,t,n){if(e.length===0)return;let r=this.buildPhaseListeners.get(t).slice();for(let t of r)await Kw(n),await t(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,t){let n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,r=this.getBuildOptions(e),i=typeof r.validation==`object`?{...r.validation}:{};i.categories=this.findMissingValidationCategories(e,r);let a=await n.validateDocument(e,i,t);e.diagnostics?e.diagnostics.push(...a):e.diagnostics=a;let o=this.buildState.get(e.uri.toString());o&&(o.result??={},o.result.validationChecks?o.result.validationChecks=D(o.result.validationChecks).concat(i.categories).distinct().toArray():o.result.validationChecks=[...i.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}},kE=class{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new bT,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,t){let n=O(e).uri,r=[];return this.referenceIndex.forEach(e=>{e.forEach(e=>{iT.equals(e.targetUri,n)&&e.targetPath===t&&r.push(e)})}),D(r)}allElements(e,t){let n=D(this.symbolIndex.keys());return t&&(n=n.filter(e=>!t||t.has(e))),n.map(t=>this.getFileDescriptions(t,e)).flat()}getFileDescriptions(e,t){return t?this.symbolByTypeIndex.get(e,t,()=>(this.symbolIndex.get(e)??[]).filter(e=>this.astReflection.isSubtype(e.type,t))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let t=e.toString();this.symbolIndex.delete(t),this.symbolByTypeIndex.clear(t)}removeReferences(e){let t=e.toString();this.referenceIndex.delete(t)}async updateContent(e,t=X.CancellationToken.None){let n=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,t),r=e.uri.toString();this.symbolIndex.set(r,n),this.symbolByTypeIndex.clear(r)}async updateReferences(e,t=X.CancellationToken.None){let n=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,t);this.referenceIndex.set(e.uri.toString(),n)}isAffected(e,t){let n=this.referenceIndex.get(e.uri.toString());return n?n.some(e=>!e.local&&t.has(e.targetUri.toString())):!1}},AE=class{constructor(e){this.initialBuildOptions={},this._ready=new qw,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(e=>this.initializeWorkspace(this.folders??[],e))}async initializeWorkspace(e,t=X.CancellationToken.None){let n=await this.performStartup(e);await Kw(t),await this.documentBuilder.build(n,this.initialBuildOptions,t)}async performStartup(e){let t=[],n=e=>{t.push(e),this.langiumDocuments.hasDocument(e.uri)||this.langiumDocuments.addDocument(e)};await this.loadAdditionalDocuments(e,n);let r=[];await Promise.all(e.map(e=>this.getRootFolder(e)).map(async e=>this.traverseFolder(e,r)));let i=D(r).distinct(e=>e.toString()).filter(e=>!this.langiumDocuments.hasDocument(e));return await this.loadWorkspaceDocuments(i,n),this._ready.resolve(),t}async loadWorkspaceDocuments(e,t){await Promise.all(e.map(async e=>{t(await this.langiumDocuments.getOrCreateDocument(e))}))}loadAdditionalDocuments(e,t){return Promise.resolve()}getRootFolder(e){return nT.parse(e.uri)}async traverseFolder(e,t){try{let n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async e=>{this.shouldIncludeEntry(e)&&(e.isDirectory?await this.traverseFolder(e.uri,t):e.isFile&&t.push(e.uri))}))}catch(t){console.error(`Failure to read directory content of `+e.toString(!0),t)}}async searchFolder(e){let t=[];return await this.traverseFolder(e,t),t}shouldIncludeEntry(e){let t=iT.basename(e.uri);return t.startsWith(`.`)?!1:e.isDirectory?t!==`node_modules`&&t!==`out`:e.isFile?this.serviceRegistry.hasServices(e.uri):!1}},jE=class{buildUnexpectedCharactersMessage(e,t,n,r,i){return Rv.buildUnexpectedCharactersMessage(e,t,n,r,i)}buildUnableToPopLexerModeMessage(e){return Rv.buildUnableToPopLexerModeMessage(e)}},ME={mode:`full`},NE=class{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let t=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(t),this.chevrotainLexer=new Bv(IE(t)?Object.values(t):t,{positionTracking:`full`,skipValidations:e.LanguageMetaData.mode===`production`,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,t=ME){let n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(IE(e))return e;let t=FE(e)?Object.values(e.modes).flat():e,n={};return t.forEach(e=>n[e.name]=e),n}};function PE(e){return Array.isArray(e)&&(e.length===0||`name`in e[0])}function FE(e){return e&&`modes`in e&&`defaultMode`in e}function IE(e){return!PE(e)&&!FE(e)}qC();function LE(e,t,n){let r,i;typeof e==`string`?(i=t,r=n):(i=e.range.start,r=t),i||=q.create(0,0);let a=zE(e),o=tD(r);return JE({index:0,tokens:HE({lines:a,position:i,options:o}),position:i})}function RE(e,t){let n=tD(t),r=zE(e);if(r.length===0)return!1;let i=r[0],a=r[r.length-1],o=n.start,s=n.end;return!!o?.exec(i)&&!!s?.exec(a)}function zE(e){let t=``;return t=typeof e==`string`?e:e.text,t.split(_n)}var BE=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,VE=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function HE(e){let t=[],n=e.position.line,r=e.position.character;for(let i=0;i<e.lines.length;i++){let a=i===0,o=i===e.lines.length-1,s=e.lines[i],c=0;if(a&&e.options.start){let t=e.options.start?.exec(s);t&&(c=t.index+t[0].length)}else{let t=e.options.line?.exec(s);t&&(c=t.index+t[0].length)}if(o){let t=e.options.end?.exec(s);t&&(s=s.substring(0,t.index))}if(s=s.substring(0,qE(s)),KE(s,c)>=s.length){if(t.length>0){let e=q.create(n,r);t.push({type:`break`,content:``,range:J.create(e,e)})}}else{BE.lastIndex=c;let e=BE.exec(s);if(e){let i=e[0],a=e[1],o=q.create(n,r+c),l=q.create(n,r+c+i.length);t.push({type:`tag`,content:a,range:J.create(o,l)}),c+=i.length,c=KE(s,c)}if(c<s.length){let e=s.substring(c),i=Array.from(e.matchAll(VE));t.push(...UE(i,e,n,r+c))}}n++,r=0}return t.length>0&&t[t.length-1].type===`break`?t.slice(0,-1):t}function UE(e,t,n,r){let i=[];if(e.length===0){let e=q.create(n,r),a=q.create(n,r+t.length);i.push({type:`text`,content:t,range:J.create(e,a)})}else{let a=0;for(let o of e){let e=o.index,s=t.substring(a,e);s.length>0&&i.push({type:`text`,content:t.substring(a,e),range:J.create(q.create(n,a+r),q.create(n,e+r))});let c=s.length+1,l=o[1];if(i.push({type:`inline-tag`,content:l,range:J.create(q.create(n,a+c+r),q.create(n,a+c+l.length+r))}),c+=l.length,o.length===4){c+=o[2].length;let e=o[3];i.push({type:`text`,content:e,range:J.create(q.create(n,a+c+r),q.create(n,a+c+e.length+r))})}else i.push({type:`text`,content:``,range:J.create(q.create(n,a+c+r),q.create(n,a+c+r))});a=e+o[0].length}let o=t.substring(a);o.length>0&&i.push({type:`text`,content:o,range:J.create(q.create(n,a+r),q.create(n,a+r+o.length))})}return i}var WE=/\S/,GE=/\s*$/;function KE(e,t){let n=e.substring(t).match(WE);return n?t+n.index:e.length}function qE(e){let t=e.match(GE);if(t&&typeof t.index==`number`)return t.index}function JE(e){let t=q.create(e.position.line,e.position.character);if(e.tokens.length===0)return new rD([],J.create(t,t));let n=[];for(;e.index<e.tokens.length;){let t=YE(e,n[n.length-1]);t&&n.push(t)}let r=n[0]?.range.start??t,i=n[n.length-1]?.range.end??t;return new rD(n,J.create(r,i))}function YE(e,t){let n=e.tokens[e.index];if(n.type===`tag`)return $E(e,!1);if(n.type===`text`||n.type===`inline-tag`)return ZE(e);XE(n,t),e.index++}function XE(e,t){if(t){let n=new cD(``,e.range);`inlines`in t?t.inlines.push(n):t.content.inlines.push(n)}}function ZE(e){let t=e.tokens[e.index],n=t,r=t,i=[];for(;t&&t.type!==`break`&&t.type!==`tag`;)i.push(QE(e)),r=t,t=e.tokens[e.index];return new sD(i,J.create(n.range.start,r.range.end))}function QE(e){return e.tokens[e.index].type===`inline-tag`?$E(e,!0):eD(e)}function $E(e,t){let n=e.tokens[e.index++],r=n.content.substring(1);if(e.tokens[e.index]?.type===`text`)if(t){let i=eD(e);return new iD(r,new sD([i],i.range),t,J.create(n.range.start,i.range.end))}else{let i=ZE(e);return new iD(r,i,t,J.create(n.range.start,i.range.end))}else{let e=n.range;return new iD(r,new sD([],e),t,e)}}function eD(e){let t=e.tokens[e.index++];return new cD(t.content,t.range)}function tD(e){if(!e)return tD({start:`/**`,end:`*/`,line:`*`});let{start:t,end:n,line:r}=e;return{start:nD(t,!0),end:nD(n,!1),line:nD(r,!0)}}function nD(e,t){if(typeof e==`string`||typeof e==`object`){let n=typeof e==`string`?Cn(e):e.source;return t?RegExp(`^\\s*${n}`):RegExp(`\\s*${n}\\s*$`)}else return e}var rD=class{constructor(e,t){this.elements=e,this.range=t}getTag(e){return this.getAllTags().find(t=>t.name===e)}getTags(e){return this.getAllTags().filter(t=>t.name===e)}getAllTags(){return this.elements.filter(e=>`name`in e)}toString(){let e=``;for(let t of this.elements)if(e.length===0)e=t.toString();else{let n=t.toString();e+=lD(e)+n}return e.trim()}toMarkdown(e){let t=``;for(let n of this.elements)if(t.length===0)t=n.toMarkdown(e);else{let r=n.toMarkdown(e);t+=lD(t)+r}return t.trim()}},iD=class{constructor(e,t,n,r){this.name=e,this.content=t,this.inline=n,this.range=r}toString(){let e=`@${this.name}`,t=this.content.toString();return this.content.inlines.length===1?e=`${e} ${t}`:this.content.inlines.length>1&&(e=`${e}\n${t}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let t=this.content.toMarkdown(e);if(this.inline){let n=aD(this.name,t,e??{});if(typeof n==`string`)return n}let n=``;e?.tag===`italic`||e?.tag===void 0?n=`*`:e?.tag===`bold`?n=`**`:e?.tag===`bold-italic`&&(n=`***`);let r=`${n}@${this.name}${n}`;return this.content.inlines.length===1?r=`${r} — ${t}`:this.content.inlines.length>1&&(r=`${r}\n${t}`),this.inline?`{${r}}`:r}};function aD(e,t,n){if(e===`linkplain`||e===`linkcode`||e===`link`){let r=t.indexOf(` `),i=t;if(r>0){let e=KE(t,r);i=t.substring(e),t=t.substring(0,r)}return(e===`linkcode`||e===`link`&&n.link===`code`)&&(i=`\`${i}\``),n.renderLink?.(t,i)??oD(t,i)}}function oD(e,t){try{return nT.parse(e,!0),`[${t}](${e})`}catch{return e}}var sD=class{constructor(e,t){this.inlines=e,this.range=t}toString(){let e=``;for(let t=0;t<this.inlines.length;t++){let n=this.inlines[t],r=this.inlines[t+1];e+=n.toString(),r&&r.range.start.line>n.range.start.line&&(e+=`
|
|
88
|
+
`)}return e}toMarkdown(e){let t=``;for(let n=0;n<this.inlines.length;n++){let r=this.inlines[n],i=this.inlines[n+1];t+=r.toMarkdown(e),i&&i.range.start.line>r.range.start.line&&(t+=`
|
|
89
|
+
`)}return t}},cD=class{constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}};function lD(e){return e.endsWith(`
|
|
90
|
+
`)?`
|
|
91
|
+
`:`
|
|
92
|
+
|
|
93
|
+
`}var uD=class{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let t=this.commentProvider.getComment(e);if(t&&RE(t))return LE(t).toMarkdown({renderLink:(t,n)=>this.documentationLinkRenderer(e,t,n),renderTag:t=>this.documentationTagRenderer(e,t)})}documentationLinkRenderer(e,t,n){let r=this.findNameInLocalSymbols(e,t)??this.findNameInGlobalScope(e,t);if(r&&r.nameSegment){let e=r.nameSegment.range.start.line+1,t=r.nameSegment.range.start.character+1;return`[${n}](${r.documentUri.with({fragment:`L${e},${t}`}).toString()})`}else return}documentationTagRenderer(e,t){}findNameInLocalSymbols(e,t){let n=O(e).localSymbols;if(!n)return;let r=e;do{let e=n.getStream(r).find(e=>e.name===t);if(e)return e;r=r.$container}while(r)}findNameInGlobalScope(e,t){return this.indexManager.allElements().find(e=>e.name===t)}},dD=class{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return CT(e)?e.$comment:Qt(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}},fD=class{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}},pD=class{constructor(){this.previousTokenSource=new X.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let t=Uw();return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,n=X.CancellationToken.None){let r=new qw,i={action:t,deferred:r,cancellationToken:n};return e.push(i),this.performNextOperation(),r.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:e,deferred:t,cancellationToken:n})=>{try{let r=await Promise.resolve().then(()=>e(n));t.resolve(r)}catch(e){Gw(e)?t.resolve(void 0):t.reject(e)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}},mD=class{constructor(e){this.grammarElementIdMap=new mT,this.tokenTypeIdMap=new mT,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(e=>({...e,message:e.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let t=new Map,n=new Map;for(let n of ue(e))t.set(n,{});if(e.$cstNode)for(let t of Wt(e.$cstNode))n.set(t,{});return{astNodes:t,cstNodes:n}}dehydrateAstNode(e,t){let n=t.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,t));for(let[r,i]of Object.entries(e))if(!r.startsWith(`$`))if(Array.isArray(i)){let e=[];n[r]=e;for(let n of i)g(n)?e.push(this.dehydrateAstNode(n,t)):_(n)?e.push(this.dehydrateReference(n,t)):e.push(n)}else g(i)?n[r]=this.dehydrateAstNode(i,t):_(i)?n[r]=this.dehydrateReference(i,t):i!==void 0&&(n[r]=i);return n}dehydrateReference(e,t){let n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=t.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,t){let n=t.cstNodes.get(e);return C(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=t.astNodes.get(e.astNode),S(e)?n.content=e.content.map(e=>this.dehydrateCstNode(e,t)):ee(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){let t=e.value,n=this.createHydrationContext(t);return`$cstNode`in t&&this.hydrateCstNode(t.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(t,n)}}createHydrationContext(e){let t=new Map,n=new Map;for(let n of ue(e))t.set(n,{});let r;if(e.$cstNode)for(let t of Wt(e.$cstNode)){let e;`fullText`in t?(e=new $C(t.fullText),r=e):`content`in t?e=new ZC:`tokenType`in t&&(e=this.hydrateCstLeafNode(t)),e&&(n.set(t,e),e.root=r)}return{astNodes:t,cstNodes:n}}hydrateAstNode(e,t){let n=t.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=t.cstNodes.get(e.$cstNode));for(let[r,i]of Object.entries(e))if(!r.startsWith(`$`))if(Array.isArray(i)){let e=[];n[r]=e;for(let a of i)g(a)?e.push(this.setParent(this.hydrateAstNode(a,t),n)):_(a)?e.push(this.hydrateReference(a,n,r,t)):e.push(a)}else g(i)?n[r]=this.setParent(this.hydrateAstNode(i,t),n):_(i)?n[r]=this.hydrateReference(i,n,r,t):i!==void 0&&(n[r]=i);return n}setParent(e,t){return e.$container=t,e}hydrateReference(e,t,n,r){return this.linker.buildReference(t,n,r.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,t,n=0){let r=t.cstNodes.get(e);if(typeof e.grammarSource==`number`&&(r.grammarSource=this.getGrammarElement(e.grammarSource)),r.astNode=t.astNodes.get(e.astNode),S(r))for(let i of e.content){let e=this.hydrateCstNode(i,t,n++);r.content.push(e)}return r}hydrateCstLeafNode(e){let t=this.getTokenType(e.tokenType),n=e.offset,r=e.length,i=e.startLine,a=e.startColumn,o=e.endLine,s=e.endColumn,c=e.hidden;return new XC(n,r,{start:{line:i,character:a},end:{line:o,character:s}},t,c)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let t of ue(this.grammar))he(t)&&this.grammarElementIdMap.set(t,e++)}};function hD(e){return{documentation:{CommentProvider:e=>new dD(e),DocumentationProvider:e=>new uD(e)},parser:{AsyncParser:e=>new fD(e),GrammarConfig:e=>nr(e),LangiumParser:e=>jw(e),CompletionParser:e=>Aw(e),ValueConverter:()=>new Pw,TokenBuilder:()=>new Nw,Lexer:e=>new NE(e),ParserErrorMessageProvider:()=>new sw,LexerErrorMessageProvider:()=>new jE},workspace:{AstNodeLocator:()=>new RT,AstNodeDescriptionProvider:e=>new IT(e),ReferenceDescriptionProvider:e=>new LT(e)},references:{Linker:e=>new lT(e),NameProvider:()=>new dT,ScopeProvider:e=>new ST(e),ScopeComputation:e=>new hT(e),References:e=>new fT(e)},serializer:{Hydrator:e=>new mD(e),JsonSerializer:e=>new TT(e)},validation:{DocumentValidator:e=>new jT(e),ValidationRegistry:e=>new kT(e)},shared:()=>e.shared}}function gD(e){return{ServiceRegistry:e=>new ET(e),workspace:{LangiumDocuments:e=>new sT(e),LangiumDocumentFactory:e=>new oT(e),DocumentBuilder:e=>new OE(e),IndexManager:e=>new kE(e),WorkspaceManager:e=>new AE(e),FileSystemProvider:t=>e.fileSystemProvider(t),WorkspaceLock:()=>new pD,ConfigurationProvider:e=>new BT(e)},profilers:{}}}var _D;(function(e){e.merge=(e,t)=>CD(CD({},e),t)})(_D||={});function vD(e,t,n,r,i,a,o,s,c){return bD([e,t,n,r,i,a,o,s,c].reduce(CD,{}))}var yD=Symbol(`isProxy`);function bD(e,t){let n=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw Error(`Cannot set property on injected service container`)},get:(r,i)=>i===yD?!0:SD(r,i,e,t||n),getOwnPropertyDescriptor:(r,i)=>(SD(r,i,e,t||n),Object.getOwnPropertyDescriptor(r,i)),has:(t,n)=>n in e,ownKeys:()=>[...Object.getOwnPropertyNames(e)]});return n}var xD=Symbol();function SD(e,t,n,r){if(t in e){if(e[t]instanceof Error)throw Error(`Construction failure. Please make sure that your dependencies are constructable. Cause: `+e[t]);if(e[t]===xD)throw Error(`Cycle detected. Please make "`+String(t)+`" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies`);return e[t]}else if(t in n){let i=n[t];e[t]=xD;try{e[t]=typeof i==`function`?i(r):bD(i,r)}catch(n){throw e[t]=n instanceof Error?n:void 0,n}return e[t]}else return}function CD(e,t){if(t){for(let[n,r]of Object.entries(t))if(r!=null)if(typeof r==`object`){let t=e[n];typeof t==`object`&&t?e[n]=CD(t,r):e[n]=CD({},r)}else e[n]=r}return e}var wD=class{stat(e){throw Error(`No file system is available.`)}statSync(e){throw Error(`No file system is available.`)}async exists(){return!1}existsSync(){return!1}readBinary(){throw Error(`No file system is available.`)}readBinarySync(){throw Error(`No file system is available.`)}readFile(){throw Error(`No file system is available.`)}readFileSync(){throw Error(`No file system is available.`)}async readDirectory(){return[]}readDirectorySync(){return[]}},TD={fileSystemProvider:()=>new wD},ED={Grammar:()=>void 0,LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[`.langium`],languageId:`langium`})},DD={AstReflection:()=>new Ut};function OD(){let e=vD(gD(TD),DD),t=vD(hD({shared:e}),ED);return e.ServiceRegistry.register(t),t}function kD(e){let t=OD(),n=t.serializer.JsonSerializer.deserialize(e);return t.shared.workspace.LangiumDocumentFactory.fromModel(n,nT.parse(`memory:/${n.name??`grammar`}.langium`)),n}var AD=Object.defineProperty,$=(e,t)=>AD(e,`name`,{value:t,configurable:!0}),jD;(e=>{e.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[\w ]+)\]/}})(jD||={});var MD;(e=>{e.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(MD||={});var ND;(e=>{e.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(ND||={});var PD;(e=>{e.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(PD||={});var FD;(e=>{e.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(FD||={});var ID;(e=>{e.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(ID||={});var LD;(e=>{e.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(LD||={});var RD;(e=>{e.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,STRING2:/"[^"]*"|'[^']*'/}})(RD||={});var zD;(e=>{e.Terminals={WARDLEY_NUMBER:/[0-9]+\.[0-9]+/,ARROW:/->/,LINK_PORT:/\+<>|\+>|\+</,LINK_ARROW:/-->|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/,LINK_LABEL:/;[^\n\r]+/,STRATEGY:/build|buy|outsource|market/,KW_WARDLEY:/wardley-beta/,KW_SIZE:/size/,KW_EVOLUTION:/evolution/,KW_ANCHOR:/anchor/,KW_COMPONENT:/component/,KW_LABEL:/label/,KW_INERTIA:/inertia/,KW_EVOLVE:/evolve/,KW_PIPELINE:/pipeline/,KW_NOTE:/note/,KW_ANNOTATIONS:/annotations/,KW_ANNOTATION:/annotation/,KW_ACCELERATOR:/accelerator/,KW_DEACCELERATOR:/deaccelerator/,NAME_WITH_SPACES:/(?!title\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \t]+[A-Za-z(][A-Za-z0-9_()&]*)*/,WS:/[ \t]+/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(zD||={}),{...jD.Terminals,...MD.Terminals,...ND.Terminals,...PD.Terminals,...FD.Terminals,...ID.Terminals,...RD.Terminals,...LD.Terminals,...zD.Terminals};var BD={$type:`Accelerator`,name:`name`,x:`x`,y:`y`},VD={$type:`Anchor`,evolution:`evolution`,name:`name`,visibility:`visibility`},HD={$type:`Annotation`,number:`number`,text:`text`,x:`x`,y:`y`},UD={$type:`Annotations`,x:`x`,y:`y`},WD={$type:`Architecture`,accDescr:`accDescr`,accTitle:`accTitle`,edges:`edges`,groups:`groups`,junctions:`junctions`,services:`services`,title:`title`};function GD(e){return qO.isInstance(e,WD.$type)}$(GD,`isArchitecture`);var KD={$type:`Axis`,label:`label`,name:`name`},qD={$type:`Branch`,name:`name`,order:`order`};function JD(e){return qO.isInstance(e,qD.$type)}$(JD,`isBranch`);var YD={$type:`Checkout`,branch:`branch`},XD={$type:`CherryPicking`,id:`id`,parent:`parent`,tags:`tags`},ZD={$type:`ClassDefStatement`,className:`className`,styleText:`styleText`},QD={$type:`Commit`,id:`id`,message:`message`,tags:`tags`,type:`type`};function $D(e){return qO.isInstance(e,QD.$type)}$($D,`isCommit`);var eO={$type:`Component`,decorator:`decorator`,evolution:`evolution`,inertia:`inertia`,label:`label`,name:`name`,visibility:`visibility`},tO={$type:`Curve`,entries:`entries`,label:`label`,name:`name`},nO={$type:`Deaccelerator`,name:`name`,x:`x`,y:`y`},rO={$type:`Decorator`,strategy:`strategy`},iO={$type:`Direction`,accDescr:`accDescr`,accTitle:`accTitle`,dir:`dir`,statements:`statements`,title:`title`},aO={$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`},sO={$type:`Evolution`,stages:`stages`},cO={$type:`EvolutionStage`,boundary:`boundary`,name:`name`,secondName:`secondName`},lO={$type:`Evolve`,component:`component`,target:`target`},uO={$type:`GitGraph`,accDescr:`accDescr`,accTitle:`accTitle`,statements:`statements`,title:`title`};function dO(e){return qO.isInstance(e,uO.$type)}$(dO,`isGitGraph`);var fO={$type:`Group`,icon:`icon`,id:`id`,in:`in`,title:`title`},pO={$type:`Info`,accDescr:`accDescr`,accTitle:`accTitle`,title:`title`};function mO(e){return qO.isInstance(e,pO.$type)}$(mO,`isInfo`);var hO={$type:`Item`,classSelector:`classSelector`,name:`name`},gO={$type:`Junction`,id:`id`,in:`in`},_O={$type:`Label`,negX:`negX`,negY:`negY`,offsetX:`offsetX`,offsetY:`offsetY`},vO={$type:`Leaf`,classSelector:`classSelector`,name:`name`,value:`value`},yO={$type:`Link`,arrow:`arrow`,from:`from`,fromPort:`fromPort`,linkLabel:`linkLabel`,to:`to`,toPort:`toPort`},bO={$type:`Merge`,branch:`branch`,id:`id`,tags:`tags`,type:`type`};function xO(e){return qO.isInstance(e,bO.$type)}$(xO,`isMerge`);var SO={$type:`Note`,evolution:`evolution`,text:`text`,visibility:`visibility`},CO={$type:`Option`,name:`name`,value:`value`},wO={$type:`Packet`,accDescr:`accDescr`,accTitle:`accTitle`,blocks:`blocks`,title:`title`};function TO(e){return qO.isInstance(e,wO.$type)}$(TO,`isPacket`);var EO={$type:`PacketBlock`,bits:`bits`,end:`end`,label:`label`,start:`start`};function DO(e){return qO.isInstance(e,EO.$type)}$(DO,`isPacketBlock`);var OO={$type:`Pie`,accDescr:`accDescr`,accTitle:`accTitle`,sections:`sections`,showData:`showData`,title:`title`};function kO(e){return qO.isInstance(e,OO.$type)}$(kO,`isPie`);var AO={$type:`PieSection`,label:`label`,value:`value`};function jO(e){return qO.isInstance(e,AO.$type)}$(jO,`isPieSection`);var MO={$type:`Pipeline`,components:`components`,parent:`parent`},NO={$type:`PipelineComponent`,evolution:`evolution`,label:`label`,name:`name`},PO={$type:`Radar`,accDescr:`accDescr`,accTitle:`accTitle`,axes:`axes`,curves:`curves`,options:`options`,title:`title`},FO={$type:`Section`,classSelector:`classSelector`,name:`name`},IO={$type:`Service`,icon:`icon`,iconText:`iconText`,id:`id`,in:`in`,title:`title`},LO={$type:`Size`,height:`height`,width:`width`},RO={$type:`Statement`},zO={$type:`Treemap`,accDescr:`accDescr`,accTitle:`accTitle`,title:`title`,TreemapRows:`TreemapRows`};function BO(e){return qO.isInstance(e,zO.$type)}$(BO,`isTreemap`);var VO={$type:`TreemapRow`,indent:`indent`,item:`item`},HO={$type:`TreeNode`,indent:`indent`,name:`name`},UO={$type:`TreeView`,accDescr:`accDescr`,accTitle:`accTitle`,nodes:`nodes`,title:`title`},WO={$type:`Wardley`,accDescr:`accDescr`,accelerators:`accelerators`,accTitle:`accTitle`,anchors:`anchors`,annotation:`annotation`,annotations:`annotations`,components:`components`,deaccelerators:`deaccelerators`,evolution:`evolution`,evolves:`evolves`,links:`links`,notes:`notes`,pipelines:`pipelines`,size:`size`,title:`title`};function GO(e){return qO.isInstance(e,WO.$type)}$(GO,`isWardley`);var KO=class extends x{constructor(){super(...arguments),this.types={Accelerator:{name:BD.$type,properties:{name:{name:BD.name},x:{name:BD.x},y:{name:BD.y}},superTypes:[]},Anchor:{name:VD.$type,properties:{evolution:{name:VD.evolution},name:{name:VD.name},visibility:{name:VD.visibility}},superTypes:[]},Annotation:{name:HD.$type,properties:{number:{name:HD.number},text:{name:HD.text},x:{name:HD.x},y:{name:HD.y}},superTypes:[]},Annotations:{name:UD.$type,properties:{x:{name:UD.x},y:{name:UD.y}},superTypes:[]},Architecture:{name:WD.$type,properties:{accDescr:{name:WD.accDescr},accTitle:{name:WD.accTitle},edges:{name:WD.edges,defaultValue:[]},groups:{name:WD.groups,defaultValue:[]},junctions:{name:WD.junctions,defaultValue:[]},services:{name:WD.services,defaultValue:[]},title:{name:WD.title}},superTypes:[]},Axis:{name:KD.$type,properties:{label:{name:KD.label},name:{name:KD.name}},superTypes:[]},Branch:{name:qD.$type,properties:{name:{name:qD.name},order:{name:qD.order}},superTypes:[RO.$type]},Checkout:{name:YD.$type,properties:{branch:{name:YD.branch}},superTypes:[RO.$type]},CherryPicking:{name:XD.$type,properties:{id:{name:XD.id},parent:{name:XD.parent},tags:{name:XD.tags,defaultValue:[]}},superTypes:[RO.$type]},ClassDefStatement:{name:ZD.$type,properties:{className:{name:ZD.className},styleText:{name:ZD.styleText}},superTypes:[]},Commit:{name:QD.$type,properties:{id:{name:QD.id},message:{name:QD.message},tags:{name:QD.tags,defaultValue:[]},type:{name:QD.type}},superTypes:[RO.$type]},Component:{name:eO.$type,properties:{decorator:{name:eO.decorator},evolution:{name:eO.evolution},inertia:{name:eO.inertia,defaultValue:!1},label:{name:eO.label},name:{name:eO.name},visibility:{name:eO.visibility}},superTypes:[]},Curve:{name:tO.$type,properties:{entries:{name:tO.entries,defaultValue:[]},label:{name:tO.label},name:{name:tO.name}},superTypes:[]},Deaccelerator:{name:nO.$type,properties:{name:{name:nO.name},x:{name:nO.x},y:{name:nO.y}},superTypes:[]},Decorator:{name:rO.$type,properties:{strategy:{name:rO.strategy}},superTypes:[]},Direction:{name:iO.$type,properties:{accDescr:{name:iO.accDescr},accTitle:{name:iO.accTitle},dir:{name:iO.dir},statements:{name:iO.statements,defaultValue:[]},title:{name:iO.title}},superTypes:[uO.$type]},Edge:{name:aO.$type,properties:{lhsDir:{name:aO.lhsDir},lhsGroup:{name:aO.lhsGroup,defaultValue:!1},lhsId:{name:aO.lhsId},lhsInto:{name:aO.lhsInto,defaultValue:!1},rhsDir:{name:aO.rhsDir},rhsGroup:{name:aO.rhsGroup,defaultValue:!1},rhsId:{name:aO.rhsId},rhsInto:{name:aO.rhsInto,defaultValue:!1},title:{name:aO.title}},superTypes:[]},Entry:{name:oO.$type,properties:{axis:{name:oO.axis,referenceType:KD.$type},value:{name:oO.value}},superTypes:[]},Evolution:{name:sO.$type,properties:{stages:{name:sO.stages,defaultValue:[]}},superTypes:[]},EvolutionStage:{name:cO.$type,properties:{boundary:{name:cO.boundary},name:{name:cO.name},secondName:{name:cO.secondName}},superTypes:[]},Evolve:{name:lO.$type,properties:{component:{name:lO.component},target:{name:lO.target}},superTypes:[]},GitGraph:{name:uO.$type,properties:{accDescr:{name:uO.accDescr},accTitle:{name:uO.accTitle},statements:{name:uO.statements,defaultValue:[]},title:{name:uO.title}},superTypes:[]},Group:{name:fO.$type,properties:{icon:{name:fO.icon},id:{name:fO.id},in:{name:fO.in},title:{name:fO.title}},superTypes:[]},Info:{name:pO.$type,properties:{accDescr:{name:pO.accDescr},accTitle:{name:pO.accTitle},title:{name:pO.title}},superTypes:[]},Item:{name:hO.$type,properties:{classSelector:{name:hO.classSelector},name:{name:hO.name}},superTypes:[]},Junction:{name:gO.$type,properties:{id:{name:gO.id},in:{name:gO.in}},superTypes:[]},Label:{name:_O.$type,properties:{negX:{name:_O.negX,defaultValue:!1},negY:{name:_O.negY,defaultValue:!1},offsetX:{name:_O.offsetX},offsetY:{name:_O.offsetY}},superTypes:[]},Leaf:{name:vO.$type,properties:{classSelector:{name:vO.classSelector},name:{name:vO.name},value:{name:vO.value}},superTypes:[hO.$type]},Link:{name:yO.$type,properties:{arrow:{name:yO.arrow},from:{name:yO.from},fromPort:{name:yO.fromPort},linkLabel:{name:yO.linkLabel},to:{name:yO.to},toPort:{name:yO.toPort}},superTypes:[]},Merge:{name:bO.$type,properties:{branch:{name:bO.branch},id:{name:bO.id},tags:{name:bO.tags,defaultValue:[]},type:{name:bO.type}},superTypes:[RO.$type]},Note:{name:SO.$type,properties:{evolution:{name:SO.evolution},text:{name:SO.text},visibility:{name:SO.visibility}},superTypes:[]},Option:{name:CO.$type,properties:{name:{name:CO.name},value:{name:CO.value,defaultValue:!1}},superTypes:[]},Packet:{name:wO.$type,properties:{accDescr:{name:wO.accDescr},accTitle:{name:wO.accTitle},blocks:{name:wO.blocks,defaultValue:[]},title:{name:wO.title}},superTypes:[]},PacketBlock:{name:EO.$type,properties:{bits:{name:EO.bits},end:{name:EO.end},label:{name:EO.label},start:{name:EO.start}},superTypes:[]},Pie:{name:OO.$type,properties:{accDescr:{name:OO.accDescr},accTitle:{name:OO.accTitle},sections:{name:OO.sections,defaultValue:[]},showData:{name:OO.showData,defaultValue:!1},title:{name:OO.title}},superTypes:[]},PieSection:{name:AO.$type,properties:{label:{name:AO.label},value:{name:AO.value}},superTypes:[]},Pipeline:{name:MO.$type,properties:{components:{name:MO.components,defaultValue:[]},parent:{name:MO.parent}},superTypes:[]},PipelineComponent:{name:NO.$type,properties:{evolution:{name:NO.evolution},label:{name:NO.label},name:{name:NO.name}},superTypes:[]},Radar:{name:PO.$type,properties:{accDescr:{name:PO.accDescr},accTitle:{name:PO.accTitle},axes:{name:PO.axes,defaultValue:[]},curves:{name:PO.curves,defaultValue:[]},options:{name:PO.options,defaultValue:[]},title:{name:PO.title}},superTypes:[]},Section:{name:FO.$type,properties:{classSelector:{name:FO.classSelector},name:{name:FO.name}},superTypes:[hO.$type]},Service:{name:IO.$type,properties:{icon:{name:IO.icon},iconText:{name:IO.iconText},id:{name:IO.id},in:{name:IO.in},title:{name:IO.title}},superTypes:[]},Size:{name:LO.$type,properties:{height:{name:LO.height},width:{name:LO.width}},superTypes:[]},Statement:{name:RO.$type,properties:{},superTypes:[]},TreeNode:{name:HO.$type,properties:{indent:{name:HO.indent},name:{name:HO.name}},superTypes:[]},TreeView:{name:UO.$type,properties:{accDescr:{name:UO.accDescr},accTitle:{name:UO.accTitle},nodes:{name:UO.nodes,defaultValue:[]},title:{name:UO.title}},superTypes:[]},Treemap:{name:zO.$type,properties:{accDescr:{name:zO.accDescr},accTitle:{name:zO.accTitle},title:{name:zO.title},TreemapRows:{name:zO.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:VO.$type,properties:{indent:{name:VO.indent},item:{name:VO.item}},superTypes:[]},Wardley:{name:WO.$type,properties:{accDescr:{name:WO.accDescr},accelerators:{name:WO.accelerators,defaultValue:[]},accTitle:{name:WO.accTitle},anchors:{name:WO.anchors,defaultValue:[]},annotation:{name:WO.annotation,defaultValue:[]},annotations:{name:WO.annotations,defaultValue:[]},components:{name:WO.components,defaultValue:[]},deaccelerators:{name:WO.deaccelerators,defaultValue:[]},evolution:{name:WO.evolution},evolves:{name:WO.evolves,defaultValue:[]},links:{name:WO.links,defaultValue:[]},notes:{name:WO.notes,defaultValue:[]},pipelines:{name:WO.pipelines,defaultValue:[]},size:{name:WO.size},title:{name:WO.title}},superTypes:[]}}}static{$(this,`MermaidAstReflection`)}},qO=new KO,JO,YO=$(()=>JO??=kD(`{"$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`),XO,ZO=$(()=>XO??=kD(`{"$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`),QO,$O=$(()=>QO??=kD(`{"$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`),ek,tk=$(()=>ek??=kD(`{"$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`),nk,rk=$(()=>nk??=kD(`{"$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`),ik,ak=$(()=>ik??=kD(`{"$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`),ok,sk=$(()=>ok??=kD(`{"$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`),ck,lk=$(()=>ck??=kD(`{"$type":"Grammar","isDeclared":true,"name":"TreeViewGrammar","rules":[{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"TreeView","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"treeView-beta"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"nodes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"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":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@9"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * TreeView grammar for Langium\\n * Converted from treemap 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 * treeView declaration.\\n */"}`),`TreeViewGrammarGrammar`),uk,dk=$(()=>uk??=kD(`{"$type":"Grammar","isDeclared":true,"name":"WardleyGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Wardley","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"size","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"anchors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"links","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"evolves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"pipelines","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"annotations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"annotation","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"deaccelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Size","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"width","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"height","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolution","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EvolutionStage","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"boundary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"secondName","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Anchor","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Component","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"decorator","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Keyword","value":")"}]}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Label","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"negX","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetX","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"negY","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetY","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Decorator","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"strategy","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Link","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"fromPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"arrow","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"cardinality":"?"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"toPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"linkLabel","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolve","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Assignment","feature":"component","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Pipeline","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PipelineComponent","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Note","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotations","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotation","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"Assignment","feature":"number","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CoordinateValue","dataType":"number","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Accelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Deaccelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"WARDLEY_NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"->"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_PORT","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<>"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+>"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_ARROW","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-->"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-.->"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":">"},"parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'<>/","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'</","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'>/","parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_LABEL","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRATEGY","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"build"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"buy"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"outsource"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"market"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_WARDLEY","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"wardley-beta"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_SIZE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"size"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLUTION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolution"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANCHOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"anchor"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_COMPONENT","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"component"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_LABEL","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"label"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_INERTIA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"inertia"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLVE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolve"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_PIPELINE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"pipeline"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_NOTE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"note"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATIONS","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotations"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotation"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"accelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_DEACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"deaccelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NAME_WITH_SPACES","definition":{"$type":"RegexToken","regex":"/(?!title\\\\s|accTitle|accDescr)[A-Za-z][A-Za-z0-9_()&]*(?:[ \\\\t]+[A-Za-z(][A-Za-z0-9_()&]*)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@47"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@48"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`),`WardleyGrammarGrammar`),fk={languageId:`architecture`,fileExtensions:[`.mmd`,`.mermaid`],caseInsensitive:!1,mode:`production`},pk={languageId:`gitGraph`,fileExtensions:[`.mmd`,`.mermaid`],caseInsensitive:!1,mode:`production`},mk={languageId:`info`,fileExtensions:[`.mmd`,`.mermaid`],caseInsensitive:!1,mode:`production`},hk={languageId:`packet`,fileExtensions:[`.mmd`,`.mermaid`],caseInsensitive:!1,mode:`production`},gk={languageId:`pie`,fileExtensions:[`.mmd`,`.mermaid`],caseInsensitive:!1,mode:`production`},_k={languageId:`radar`,fileExtensions:[`.mmd`,`.mermaid`],caseInsensitive:!1,mode:`production`},vk={languageId:`treemap`,fileExtensions:[`.mmd`,`.mermaid`],caseInsensitive:!1,mode:`production`},yk={languageId:`treeView`,fileExtensions:[`.mmd`,`.mermaid`],caseInsensitive:!1,mode:`production`},bk={languageId:`wardley`,fileExtensions:[`.mmd`,`.mermaid`],caseInsensitive:!1,mode:`production`},xk={AstReflection:$(()=>new KO,`AstReflection`)},Sk={Grammar:$(()=>YO(),`Grammar`),LanguageMetaData:$(()=>fk,`LanguageMetaData`),parser:{}},Ck={Grammar:$(()=>ZO(),`Grammar`),LanguageMetaData:$(()=>pk,`LanguageMetaData`),parser:{}},wk={Grammar:$(()=>$O(),`Grammar`),LanguageMetaData:$(()=>mk,`LanguageMetaData`),parser:{}},Tk={Grammar:$(()=>tk(),`Grammar`),LanguageMetaData:$(()=>hk,`LanguageMetaData`),parser:{}},Ek={Grammar:$(()=>rk(),`Grammar`),LanguageMetaData:$(()=>gk,`LanguageMetaData`),parser:{}},Dk={Grammar:$(()=>ak(),`Grammar`),LanguageMetaData:$(()=>_k,`LanguageMetaData`),parser:{}},Ok={Grammar:$(()=>sk(),`Grammar`),LanguageMetaData:$(()=>vk,`LanguageMetaData`),parser:{}},kk={Grammar:$(()=>lk(),`Grammar`),LanguageMetaData:$(()=>yk,`LanguageMetaData`),parser:{}},Ak={Grammar:$(()=>dk(),`Grammar`),LanguageMetaData:$(()=>bk,`LanguageMetaData`),parser:{}},jk={ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/accTitle[\t ]*:([^\n\r]*)/,TITLE:/title([\t ][^\n\r]*|)/},Mk=class extends Pw{static{$(this,`AbstractMermaidValueConverter`)}runConverter(e,t,n){let r=this.runCommonConverter(e,t,n);return r===void 0&&(r=this.runCustomConverter(e,t,n)),r===void 0?super.runConverter(e,t,n):r}runCommonConverter(e,t,n){let r=jk[e.name];if(r===void 0)return;let i=r.exec(t);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,`
|
|
94
|
+
`)}}},Nk=class extends Mk{static{$(this,`CommonValueConverter`)}runCustomConverter(e,t,n){}},Pk=class extends Nw{static{$(this,`AbstractMermaidTokenBuilder`)}constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,n){let r=super.buildKeywordTokens(e,t,n);return r.forEach(e=>{this.keywords.has(e.name)&&e.PATTERN!==void 0&&(e.PATTERN=RegExp(e.PATTERN.toString()+`(?:(?=%%)|(?!\\S))`))}),r}};(class extends Pk{static{$(this,`CommonTokenBuilder`)}});export{hD as _,Ck as a,Tk as c,kk as d,Ok as f,vD as g,TD as h,Nk as i,Ek as l,$ as m,Mk as n,wk as o,Ak as p,Sk as r,xk as s,Pk as t,Dk as u,gD as v};
|